Bug 68011 - spin_unlock is missed in function (netpoll_send_skb_on_dev) in file (linux-3.12/net/core/netpoll.c)
Summary: spin_unlock is missed in function (netpoll_send_skb_on_dev) in file (linux-3....
Status: NEW
Alias: None
Product: Networking
Classification: Unclassified
Component: Other (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-01 19:52 UTC by Ahmed Tamrawi
Modified: 2014-01-03 14:04 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.12
Subsystem:
Regression: No
Bisected commit-id:


Attachments
An image showing the possible error/bug (859.68 KB, image/png)
2014-01-01 20:06 UTC, Ahmed Tamrawi
Details

Description Ahmed Tamrawi 2014-01-01 19:52:11 UTC
In function (netpoll_send_skb_on_dev) in file (linux-3.12/net/core/netpoll.c):

The structure (txq->_xmit_lock) gets successfully locked at line (383) by (__netif_tx_trylock(txq)) and unlocked by (__netif_tx_unlock(txq)) at line (398).

The problem occurs when the loop breaks at line (390) and the structure (txq->_xmit_lock) still locked. In that case, the structure (txq->_xmit_lock) never gets unlocked.

A possible solution is to call (__netif_tx_unlock(txq)) before the break at line (390)
Comment 1 Ahmed Tamrawi 2014-01-01 20:06:59 UTC
Created attachment 120491 [details]
An image showing the possible error/bug
Comment 2 Alan 2014-01-03 14:04:05 UTC
Please send a copy of this report to netdev@vger.kernel.org

Thanks

Note You need to log in before you can comment on or make changes to this bug.