net: netif_rx() must disable preemption
authorEric Dumazet <eric.dumazet@gmail.com>
Thu, 15 Apr 2010 07:14:07 +0000 (00:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Apr 2010 07:14:07 +0000 (00:14 -0700)
commitb0e28f1effd1d840b36e961edc1def81e01b1ca1
tree41e4299d3039dda9e3977c1a8625d09554e6fe4e
parentfea069152614cdeefba4b2bf80afcddb9c217fc8
net: netif_rx() must disable preemption

Eric Paris reported netif_rx() is calling smp_processor_id() from
preemptible context, in particular when caller is
ip_dev_loopback_xmit().

RPS commit added this smp_processor_id() call, this patch makes sure
preemption is disabled. rps_get_cpus() wants rcu_read_lock() anyway, we
can dot it a bit earlier.

Reported-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c