[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7d01f9f00701230352r6e951b08wea2255ce0baeb40d@mail.gmail.com>
Date: Tue, 23 Jan 2007 12:52:06 +0100
From: "Thibaut VARENE" <T-Bone@...isc-linux.org>
To: "Dale Farnsworth" <dale@...nsworth.org>
Cc: "Jarek Poplawski" <jarkao2@...pl>, netdev@...r.kernel.org,
mlachwani@...sta.com
Subject: Re: [PATCH] Re: kernel BUG in eth_alloc_tx_desc_index at drivers/net/mv643xx_eth.c:1069!
On 1/22/07, Dale Farnsworth <dale@...nsworth.org> wrote:
> Jarek and Thibaut,
>
> Thank you both very much for your work finding and fixing this bug.
> Jarek, can you verify that the following patch fixes the problem you
> were seeing?
>
> -Dale
Hi Dale,
The patch seems to work fine. Just thinking out loud (as I really
don't know this part of the kernel), here are a few remarks:
- As Jarek pointed out, you're checking twice the value of
mp->tx_desc_count, which means dereferencing a pointer and accessing
memory twice. I don't know how perf-critical this bit of code is, but
I wonder which of keeping the lock for a long time or doing what you
is better (I'm being anal and you probably know that better than me :)
- Also, lines 344-349, in the test condition, cmd_sts (an indirection
to mp content) is accessed (dunno if it's ok to do that outside of the
lock), and on line 346, mp->stats.tx.errors is incremented outside of
the spinlock protection. But then, I don't know what that lock is
meant to protect, just pointing this out :)
Thanks for your help, I hope the fix will go upstream asap :)
And about being the author of the patch, since I'm not, I don't really mind 8)
HTH
T-Bone
--
Thibaut VARENE
http://www.parisc-linux.org/~varenet/
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists