diff options
author | Jia-Ju Bai <baijiaju1990@163.com> | 2017-06-05 20:23:40 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-11-10 07:42:46 -0800 |
commit | e7d5fa96ef7bee036b751af01f62ade7d482b13d (patch) | |
tree | 03093f1f337193ae966f1b8e83cb204d364bfb9d /net/tipc/socket.c | |
parent | 0da0e51729959e047e2e6f4a8e3554826b8cc607 (diff) |
rxe: Fix a sleep-in-atomic bug in post_one_send
[ Upstream commit 07d432bb97f19dd5e784175152f9fce3b2646133 ]
The driver may sleep under a spin lock, and the function call path is:
post_one_send (acquire the lock by spin_lock_irqsave)
init_send_wqe
copy_from_user --> may sleep
There is no flow that makes "qp->is_user" true, and copy_from_user may
cause bug when a non-user pointer is used. So the lines of copy_from_user
and check of "qp->is_user" are removed.
Signed-off-by: Jia-Ju Bai <baijiaju1990@163.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Acked-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/tipc/socket.c')
0 files changed, 0 insertions, 0 deletions