CVE-2026-98058
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
bpf: Mark syscall helpers as sleepable
In the Linux kernel, the following vulnerability has been resolved: bpf: Mark syscall helpers as sleepable bpf_sys_bpf() executes the bpf(2) syscall body, which can take mutexes, allocate with GFP_KERNEL, and wait for an RCU grace period. bpf_sys_close() reaches close_fd() and filp_close(), which can sleep as well. Both helpers are limited to BPF_PROG_TYPE_SYSCALL, whose main program is sleepable. That does not make every callback sleepable: a syscall program can register a bpf_timer callback, and the verifier checks that callback in a non-sleepable context while retaining the syscall helper set. Without .might_sleep on the prototypes, such a callback can invoke bpf_sys_bpf() from hrtimer softirq context and trigger a scheduling-while-atomic failure. bpf_sys_close() is exposed through the same missing context check. Set .might_sleep on both prototypes so the existing helper-context check rejects them from timer callbacks and other atomic regions. Calls from the sleepable main body remain valid.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 79a7f8bdb159d9914b58740f3d31d602a6e4aca8 | affected | git | 9496d857205e60241034b798d7745ff8830ba599 | Unavailable | None listed |
| 79a7f8bdb159d9914b58740f3d31d602a6e4aca8 | affected | git | d8cfe9f71d302970ae393616960f2b3021d2b3b0 | Unavailable | None listed |
| 79a7f8bdb159d9914b58740f3d31d602a6e4aca8 | affected | git | 65f636322ac402add6046c68e9ece77b9ffd71c9 | Unavailable | None listed |
| 79a7f8bdb159d9914b58740f3d31d602a6e4aca8 | affected | git | 3408e98f06ce06ea6a58ca6c39da9c23f0029c06 | Unavailable | None listed |
| 79a7f8bdb159d9914b58740f3d31d602a6e4aca8 | affected | git | d05524794240b52fdc3b6c1220dd05505715824d | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 5.14 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 5.14 | Unavailable | None listed |
| 6.6.160 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.114 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.57 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.2.7 | unaffected | semver | Unavailable | 7.2.* | None listed |
| 7.3 | unaffected | original_commit_for_fix | Unavailable | * | None listed |