• J
    net: macb: reduce scope of rx_fs_lock-protected regions · 7038cdb7
    Julia Cartwright 提交于
    Commit ae8223de ("net: macb: Added support for RX filtering")
    introduces a lock, rx_fs_lock which is intended to protect the list of
    rx_flow items and synchronize access to the hardware rx filtering
    registers.
    
    However, the region protected by this lock is overscoped, unnecessarily
    including things like slab allocation.  Reduce this lock scope to only
    include operations which must be performed atomically: list traversal,
    addition, and removal, and hitting the macb filtering registers.
    
    This fixes the use of kmalloc w/ GFP_KERNEL in atomic context.
    
    Fixes: ae8223de ("net: macb: Added support for RX filtering")
    Cc: Rafal Ozieblo <rafalo@cadence.com>
    Cc: Julia Lawall <julia.lawall@lip6.fr>
    Acked-by: NNicolas Ferre <nicolas.ferre@microchip.com>
    Signed-off-by: NJulia Cartwright <julia@ni.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    7038cdb7
macb_main.c 102.9 KB