Commit f234ae2
net: dev: Remove preempt_disable() and get_cpu() in netif_rx_internal().
The preempt_disable() () section was introduced in commit
cece194 ("net: disable preemption before call smp_processor_id()")
and adds it in case this function is invoked from preemtible context and
because get_cpu() later on as been added.
The get_cpu() usage was added in commit
b0e28f1 ("net: netif_rx() must disable preemption")
because ip_dev_loopback_xmit() invoked netif_rx() with enabled preemption
causing a warning in smp_processor_id(). The function netif_rx() should
only be invoked from an interrupt context which implies disabled
preemption. The commit
e30b38c ("ip: Fix ip_dev_loopback_xmit()")
was addressing this and replaced netif_rx() with in netif_rx_ni() in
ip_dev_loopback_xmit().
Based on the discussion on the list, the former patch (b0e28f1)
should not have been applied only the latter (e30b38c).
Remove get_cpu() and preempt_disable() since the function is supposed to
be invoked from context with stable per-CPU pointers. Bottom halves have
to be disabled at this point because the function may raise softirqs
which need to be processed.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Reviewed-by: Eric Dumazet <[email protected]>
Reviewed-by: Toke Høiland-Jørgensen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>1 parent 88f62ae commit f234ae2
1 file changed
+1
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4796 | 4796 | | |
4797 | 4797 | | |
4798 | 4798 | | |
4799 | | - | |
4800 | 4799 | | |
4801 | 4800 | | |
4802 | 4801 | | |
| |||
4806 | 4805 | | |
4807 | 4806 | | |
4808 | 4807 | | |
4809 | | - | |
4810 | 4808 | | |
4811 | 4809 | | |
4812 | 4810 | | |
4813 | 4811 | | |
4814 | 4812 | | |
4815 | | - | |
4816 | | - | |
| 4813 | + | |
4817 | 4814 | | |
4818 | 4815 | | |
4819 | 4816 | | |
| |||
0 commit comments