diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2018-02-09 09:39:42 -0500 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2018-02-09 09:39:42 -0500 |
commit | 0afa6b4412988019db14c6bfb8c6cbdf120ca9ad (patch) | |
tree | 1df23fb04c2fc0fbee7783369ead6c5ec0941e86 /net/tipc/msg.c | |
parent | f515f86b34b2e7d4b24cc9b7375c9e749895088e (diff) | |
download | linux-0afa6b4412988019db14c6bfb8c6cbdf120ca9ad.tar.gz linux-0afa6b4412988019db14c6bfb8c6cbdf120ca9ad.tar.bz2 linux-0afa6b4412988019db14c6bfb8c6cbdf120ca9ad.zip |
SUNRPC: Don't call __UDPX_INC_STATS() from a preemptible context
Calling __UDPX_INC_STATS() from a preemptible context leads to a
warning of the form:
BUG: using __this_cpu_add() in preemptible [00000000] code: kworker/u5:0/31
caller is xs_udp_data_receive_workfn+0x194/0x270
CPU: 1 PID: 31 Comm: kworker/u5:0 Not tainted 4.15.0-rc8-00076-g90ea9f1 #2
Workqueue: xprtiod xs_udp_data_receive_workfn
Call Trace:
dump_stack+0x85/0xc1
check_preemption_disabled+0xce/0xe0
xs_udp_data_receive_workfn+0x194/0x270
process_one_work+0x318/0x620
worker_thread+0x20a/0x390
? process_one_work+0x620/0x620
kthread+0x120/0x130
? __kthread_bind_mask+0x60/0x60
ret_from_fork+0x24/0x30
Since we're taking a spinlock in those functions anyway, let's fix the
issue by moving the call so that it occurs under the spinlock.
Reported-by: kernel test robot <fengguang.wu@intel.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'net/tipc/msg.c')
0 files changed, 0 insertions, 0 deletions