2009-12-03 21:14:14

by Ha, Tristram

[permalink] [raw]
Subject: [PATCH 2.6.32 1/3] net: Fix ks8851 snl NULL pointer dereference Oops

From: Tristram Ha <[email protected]>

This fixes the NULL pointer dereference Oops in the ks8851 snl network driver during transmission. All socket buffers from the queue are processed inside the loop, but new workqueues have been scheduled to run.

Signed-off-by: Tristram Ha <[email protected]>
---
diff -urpN linux-2.6.32.old/drivers/net/ks8851.c linux-2.6.32.new/drivers/net/ks8851.c
--- linux-2.6.32.old/drivers/net/ks8851.c 2009-11-03 11:37:49.000000000 -0800
+++ linux-2.6.32.new/drivers/net/ks8851.c 2009-12-02 15:31:39.000000000 -0800
@@ -1,4 +1,4 @@
-/* drivers/net/ks8651.c
+/* drivers/net/ks8851.c
*
* Copyright 2009 Simtec Electronics
* http://www.simtec.co.uk/
@@ -714,7 +714,7 @@ static void ks8851_tx_work(struct work_s
{
struct ks8851_net *ks = container_of(work, struct ks8851_net, tx_work);
struct sk_buff *txb;
- bool last = false;
+ bool last = skb_queue_empty(&ks->txq);

mutex_lock(&ks->lock);


2009-12-04 00:04:30

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 2.6.32 1/3] net: Fix ks8851 snl NULL pointer dereference Oops

From: "Ha, Tristram" <[email protected]>
Date: Thu, 3 Dec 2009 13:06:42 -0800

> From: Tristram Ha <[email protected]>
>
> This fixes the NULL pointer dereference Oops in the ks8851 snl network driver during transmission. All socket buffers from the queue are processed inside the loop, but new workqueues have been scheduled to run.
>
> Signed-off-by: Tristram Ha <[email protected]>

Applied.