Skip to contentSkip to conversation

fix skb leak in af_irda.c

PATCH Applied Arnaldo Carvalho de Melo 3 participants 5 messages Nov 1, 2003 – Nov 5, 2003

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix skb leak in af_irda.c

Hi David, Jean,

Please apply.

- Arnaldo

===== net/irda/af_irda.c 1.46 vs edited =====

net/irda/af_irda.c +3 -3
@@ -187,12 +187,12 @@
 
 	IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
+	dev_kfree_skb(skb);
+	// Should be ??? skb_queue_tail(&sk->sk_receive_queue, skb);
+
 	sk = self->sk;
 	if (sk == NULL)
 		return;
-
-	dev_kfree_skb(skb);
-	// Should be ??? skb_queue_tail(&sk->sk_receive_queue, skb);
 
 	/* How much header space do we need to reserve */
 	self->max_header_size = max_header_size;
#1 lore raw
Quoted 5 lines · Arnaldo Carvalho de Melo

Hi David, Jean,

Please apply.

- Arnaldo

Hum... It looks as if it didn't made into the kernel. Ok, I'll
add that in my patch queue and push that for you ;-)

	Have fun...

	Jean
#2 lore raw
Quoted 7 lines · On Tue, 4 Nov 2003 14:42:01 -0800 Jean Tourrilhes <[email protected]> wrote:
Quoted 3 lines · Arnaldo Carvalho de Melo

Hi David, Jean,

Please apply.

Hum... It looks as if it didn't made into the kernel. Ok, I'll
add that in my patch queue and push that for you ;-)

It isn't in because I was waiting for an acknowledgment from you Jean :-)

#3 lore raw
Quoted 6 lines · David S. Miller
Quoted 3 lines · On Tue, 4 Nov 2003 14:42:01 -0800 Jean Tourrilhes <[email protected]> wrote:
Quoted 2 lines · Arnaldo Carvalho de Melo

Hi David, Jean,

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Please apply.

Hum... It looks as if it didn't made into the kernel. Ok, I'll
add that in my patch queue and push that for you ;-)

It isn't in because I was waiting for an acknowledgment from you Jean :-)

	*Ahem*... Sorry about that...
	I personally would prefer the following patch. The difference

is mostly cosmetic. Tested with 2.6.0-test9. Anyway, both patches are obviously correct.
Thanks for keeping on top of those things...

Jean

---------------------------------------------------------

net/irda/af_irda.c renamed from net/irda/af_irda.d4.c +6 -2
diff -u -p linux/net/irda/af_irda.d4.c linux/net/irda/af_irda.c
@@ -188,8 +188,10 @@ static void irda_connect_confirm(void *i
 	IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
 	sk = self->sk;
-	if (sk == NULL)
+	if (sk == NULL) {
+		dev_kfree_skb(skb);
 		return;
+	}
 
 	dev_kfree_skb(skb);
 	// Should be ??? skb_queue_tail(&sk->sk_receive_queue, skb);
@@ -248,8 +250,10 @@ static void irda_connect_indication(void
 	IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
 	sk = self->sk;
-	if (sk == NULL)
+	if (sk == NULL) {
+		dev_kfree_skb(skb);
 		return;
+	}
 
 	/* How much header space do we need to reserve */
 	self->max_header_size = max_header_size;
#4 lore raw
Quoted 3 lines · On Tue, 4 Nov 2003 16:29:30 -0800 Jean Tourrilhes <[email protected]> wrote:

I personally would prefer the following patch. The difference
is mostly cosmetic. Tested with 2.6.0-test9. Anyway, both patches are obviously correct.

Applied, with attribution also given to Arnaldo.

Thanks.