Bug 817877

Summary: Mismatched rtnl_lock/rtnl_unlock in netpoll_setup
Product: Red Hat Enterprise Linux 6 Reporter: Stuart Hodgson <smhodgson>
Component: kernelAssignee: Herbert Xu <herbert.xu>
Status: CLOSED DUPLICATE QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: urgent    
Version: 6.3CC: sforsber, sghosh
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-30 01:06:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stuart Hodgson 2012-05-01 16:41:42 UTC
Description of problem:
While testing 6.3Beta update unloading of the sfc driver causes asserts on mutex_unlock.

Version-Release number of selected component (if applicable):
6.3Beta update, kernel 2.6.32-262.el6.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Boot system with sfc nic
2. Initialise netconsole
2. unload sfc driver
3. see asserts
  
Actual results:
Assert raised for each call to mutex_unlock via rtnl_unlock

Expected results:
No assertaions

Additional info:
After building the kernel sources with CONFIG_DEBUG_MUTEXS it could be seen that the first assertion in the mutex-debug code was seen in netpoll_setup during the initialisation of the netconsole.

Further looking at this shows a missmatch between rntl_lock/rtnl_unlock in the netpoll_setup/__netpoll_setup functions.


netpoll_setup(...) at net/core/netpoll.c:857
   ...
   rtnl_lock();
   __netpoll_setup();
   rtnl_unlock();
   ...

__netpoll_setup(...) at net/core/netpoll.c:754
   rtnl_unlock();

There is no match for this second unlock.

Possible Cause
The introduction of this seems to come from a backport of 
8fdd95ec162a8fbac7f41d6f54f90402fe3e8cb1 from kernel.org

There another patch
deb0d7c740a008a4e26806317497549b0e8907eb that removed this extra rtnl_unlock that may not have been backported.

Comment 2 RHEL Program Management 2012-05-05 04:17:28 UTC
Since RHEL 6.3 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 6 Herbert Xu 2012-05-30 01:06:25 UTC
This is the same as 816034.

*** This bug has been marked as a duplicate of bug 816034 ***