• Paolo 'Blaisorblade' Giarrusso's avatar
    [PATCH] uml: fix proc-vs-interrupt context spinlock deadlock · 48af05ed
    Paolo 'Blaisorblade' Giarrusso authored
    This spinlock can be taken on interrupt too, so spin_lock_irq[save] must be
    used.
    
    However, Documentation/networking/netdevices.txt explains we are called with
    rtnl_lock() held - so we don't need to care about other concurrent opens.
    Verified also in LDD3 and by direct checking.  Also verified that the network
    layer (through a state machine) guarantees us that nobody will close the
    interface while it's being used.  Please correct me if I'm wrong.
    
    Also, we must check we don't sleep with irqs disabled!!!  But anyway, this is
    not news - we already can't sleep while holding a spinlock.  Who says this is
    guaranted really by the present code?
    Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: Jeff Garzik <jeff@garzik.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    48af05ed
net_kern.c 19.1 KB