NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/44369: raw_usrreq() may fail to release kernel lock



>Number:         44369
>Category:       kern
>Synopsis:       raw_usrreq() may fail to release kernel lock
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 11 10:10:00 +0000 2011
>Originator:     Dr. Wolfgang Stueknbrock
>Release:        NetBSD 5.1
>Organization:
Dr. Nagler & Company GmbH
>Environment:
        
        
System: NetBSD test-s0 4.0 NetBSD 4.0 (NSW-WS) #0: Tue Aug 17 17:28:09 CEST 
2010 wgstuken@test-s0:/usr/src/sys/arch/amd64/compile/NSW-WS amd64
Architecture: x86_64
Machine: amd64
>Description:
        In the routine raw_usrreq() in /usr/sry/sys/net/raw_usrreq.c a kernel 
lock is quired,
        but in case of PRU_SENSE it is not released again!
        Due to the fact, that the last change to this file in the cvs-rep is 
2009, all actual
        NetBSD version may be affected.
>How-To-Repeat:
        found while searching a deadlock in the kernel that seems to be related 
to the KERNEL_LOCK
>Fix:
        The following patch will solve the problem:
--- raw_usrreq.c        2011/01/11 09:58:39     1.1
+++ raw_usrreq.c        2011/01/11 09:59:59
@@ -276,7 +276,8 @@
                /*
                 * stat: don't bother with a blocksize.
                 */
-               return (0);
+               error = 0;
+               break;
 
        /*

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index