• P
    [PATCH] uml: fix proc-vs-interrupt context spinlock deadlock · 48af05ed
    Paolo 'Blaisorblade' Giarrusso 提交于
    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: NPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: Jeff Garzik <jeff@garzik.org>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    48af05ed
net_kern.c 19.1 KB