X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fcore%2Fnetpoll.c;h=a1a9a7abff50981c1e26fdcca3d2b7b2fa315d59;hb=f35279d3f713e5c97b98cbdbf47d98f79942c11f;hp=c02a08da6d42a3f59afee93de979e81e090d633f;hpb=2652076507b662fc88ba16c27b59c7bdd9ccd956;p=linux-2.6 diff --git a/net/core/netpoll.c b/net/core/netpoll.c index c02a08da6d..a1a9a7abff 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -357,7 +357,6 @@ static void arp_reply(struct sk_buff *skb) unsigned char *arp_ptr; int size, type = ARPOP_REPLY, ptype = ETH_P_ARP; u32 sip, tip; - unsigned long flags; struct sk_buff *send_skb; struct netpoll *np = NULL; @@ -732,6 +731,9 @@ int netpoll_setup(struct netpoll *np) /* last thing to do is link it to the net device structure */ ndev->npinfo = npinfo; + /* avoid racing with NAPI reading npinfo */ + synchronize_rcu(); + return 0; release: