Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject sleepable kprobe_multi programs at attach time
kprobe.multi programs run in atomic/RCU context and cannot sleep. However, bpf_kprobe_multi_link_attach() did not validate whether the program being attached had the sleepable flag set, allowing sleepable helpers such as bpf_copy_from_user() to be invoked from a non-sleepable context.
This causes a "sleeping function called from invalid context" splat:
BUG: sleeping function called from invalid context at ./include/linux/uaccess.h:169 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1787, name: sudo preempt_count: 1, expected: 0 RCU nest depth: 2, expected: 0
Fix this by rejecting sleepable programs early in bpf_kprobe_multi_link_attach(), before any further processing.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 0dcac272540613d41c05e89679e4ddb978b612f1, < c2b5e13dee9cc83e664daf4c13077dcc618a44e9; >= 0dcac272540613d41c05e89679e4ddb978b612f1, < 89327ed787746a7aa4db3c97f91d2e294228932b; >= 0dcac272540613d41c05e89679e4ddb978b612f1, < d97b19fe5265f7901b2c862f88a4eb1b129a0b61; >= 0dcac272540613d41c05e89679e4ddb978b612f1, < dc9a060d76c12b23c5f378ee115d5e5d03d8bbf3; >= 0dcac272540613d41c05e89679e4ddb978b612f1, < f952157e695fd434bdc05af63a703bb082a78717; >= 0dcac272540613d41c05e89679e4ddb978b612f1, < eb7024bfcc5f68ed11ed9dd4891a3073c15f04a8 |
| Linux | Linux | 5.18 |
References
- https://git.kernel.org/stable/c/89327ed787746a7aa4db3c97f91d2e294228932b
- https://git.kernel.org/stable/c/c2b5e13dee9cc83e664daf4c13077dcc618a44e9
- https://git.kernel.org/stable/c/d97b19fe5265f7901b2c862f88a4eb1b129a0b61
- https://git.kernel.org/stable/c/dc9a060d76c12b23c5f378ee115d5e5d03d8bbf3Patch
- https://git.kernel.org/stable/c/eb7024bfcc5f68ed11ed9dd4891a3073c15f04a8Patch
- https://git.kernel.org/stable/c/f952157e695fd434bdc05af63a703bb082a78717Patch
Timeline
- Published
- May 1, 2026
- Last modified
- Nov 11, 2026
- NVD status
- Modified