• Cong Wang's avatar
    802: fix a possible race condition · cfbe800b
    Cong Wang authored
    (Resend with a better changelog)
    
    garp_pdu_queue() should ways be called with this spin lock.
    garp_uninit_applicant() only holds rtnl lock which is not
    enough here.  A possible race can happen as garp_pdu_rcv()
    is called in BH context:
    
    	garp_pdu_rcv()
    	  |->garp_pdu_parse_msg()
    	    |->garp_pdu_parse_attr()
    	      |-> garp_gid_event()
    
    Found by code inspection.
    
    Cc: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: David Ward <david.ward@ll.mit.edu>
    Cc: "Jorge Boncompte [DTI2]" <jorge@dti2.net>
    Signed-off-by: default avatarCong Wang <amwang@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cfbe800b
garp.c 17.7 KB