Commit d3b5c638 authored by Yonghong Song's avatar Yonghong Song Committed by zhaoxiaoqiang11
Browse files

bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers

stable inclusion
from stable-v5.10.168
commit 1b1f56cc0eaa104a8e0b8207a45dbe71687b5015
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7URR4

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1b1f56cc0eaa104a8e0b8207a45dbe71687b5015

----------------------------------------------------

[ Upstream commit bdb7fdb0 ]

In current bpf_send_signal() and bpf_send_signal_thread() helper
implementation, irq_work is used to handle nmi context. Hao Sun
reported in [1] that the current task at the entry of the helper
might be gone during irq_work callback processing. To fix the issue,
a reference is acquired for the current task before enqueuing into
the irq_work so that the queued task is still available during
irq_work callback processing.

  [1] https://lore.kernel.org/bpf/20230109074425.12556-1-sunhao.th@gmail.com/



Fixes: 8b401f9e ("bpf: implement bpf_send_signal() helper")
Tested-by: default avatarHao Sun <sunhao.th@gmail.com>
Reported-by: default avatarHao Sun <sunhao.th@gmail.com>
Signed-off-by: default avatarYonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20230118204815.3331855-1-yhs@fb.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarzhaoxiaoqiang11 <zhaoxiaoqiang11@jd.com>
parent cb892b45
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment