[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20090709.171656.216329696.davem@davemloft.net>
Date: Thu, 09 Jul 2009 17:16:56 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: divy@...lsio.com
Cc: rdreier@...co.com, netdev@...r.kernel.org
Subject: Re: [PATCH for 2.6.31] cxgb3: Fix crash caused by stashing wrong
netdev_queue
From: Divy Le Ray <divy@...lsio.com>
Date: Thu, 09 Jul 2009 14:15:21 -0700
> Roland Dreier wrote:
>> Commit c3a8c5b6 ("cxgb3: move away from LLTX") exposed a bug in how
>> cxgb3 looks up the netdev_queue it stashes away in a qset during
>> initialization. For multiport devices, the TX queue index it uses is
>> offset by the first_qset index of each port. This leads to a crash
>> once LLTX is removed, since hard_start_xmit is called with one TX
>> queue lock held, while the TX reclaim timer task grabs a different
>> (wrong) TX queue lock when it frees skbs.
>>
>> Fix this by removing the first_qset offset used to look up the TX
>> queue passed into t3_sge_alloc_qset() from setup_sge_qsets().
>>
>
> Thanks Roland!
> You were very fast to fix it, you beat us.
>
> Acked-by: Divy Le Ray <divy@...lsio.com>
>
>> Signed-off-by: Roland Dreier <rolandd@...co.com>
Applied.
--
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