diff options
author | Yonghong Song <yhs@fb.com> | 2023-01-18 12:48:15 -0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-01-18 18:44:16 -0800 |
commit | bdb7fdb0aca8b96cef9995d3a57e251c2289322f (patch) | |
tree | 47e2918f1c914a7f902ee7d8a79595c844eade76 /kernel/bpf | |
parent | 36024d023d139a0c8b552dc3b7f4dc7b4c139e8f (diff) |
bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers
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: 8b401f9ed244 ("bpf: implement bpf_send_signal() helper")
Tested-by: Hao Sun <sunhao.th@gmail.com>
Reported-by: Hao Sun <sunhao.th@gmail.com>
Signed-off-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20230118204815.3331855-1-yhs@fb.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/bpf')
0 files changed, 0 insertions, 0 deletions