{"id":"CVE-2026-98058","revision":"968ffc45b8b7427ca49a4bdc0bf6623c","records":[{"revision":"968ffc45b8b7427ca49a4bdc0bf6623c","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-98058","aliases":[],"title":"bpf: Mark syscall helpers as sleepable","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Mark syscall helpers as sleepable\n\nbpf_sys_bpf() executes the bpf(2) syscall body, which can take mutexes,\nallocate with GFP_KERNEL, and wait for an RCU grace period.\nbpf_sys_close() reaches close_fd() and filp_close(), which can sleep as\nwell.\n\nBoth helpers are limited to BPF_PROG_TYPE_SYSCALL, whose main program is\nsleepable. That does not make every callback sleepable: a syscall program\ncan register a bpf_timer callback, and the verifier checks that callback\nin a non-sleepable context while retaining the syscall helper set.\n\nWithout .might_sleep on the prototypes, such a callback can invoke\nbpf_sys_bpf() from hrtimer softirq context and trigger a\nscheduling-while-atomic failure. bpf_sys_close() is exposed through the\nsame missing context check.\n\nSet .might_sleep on both prototypes so the existing helper-context check\nrejects them from timer callbacks and other atomic regions. Calls from the\nsleepable main body remain valid.","state":0,"publishedAt":"2026-09-25T10:24:04.19+00:00","modifiedAt":"2026-10-21T12:54:19.435+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"kernel/bpf/syscall.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"79a7f8bdb159d9914b58740f3d31d602a6e4aca8\",\n                            \"lessThan\": \"9496d857205e60241034b798d7745ff8830ba599\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"79a7f8bdb159d9914b58740f3d31d602a6e4aca8\",\n                            \"lessThan\": \"d8cfe9f71d302970ae393616960f2b3021d2b3b0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"79a7f8bdb159d9914b58740f3d31d602a6e4aca8\",\n                            \"lessThan\": \"65f636322ac402add6046c68e9ece77b9ffd71c9\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"79a7f8bdb159d9914b58740f3d31d602a6e4aca8\",\n                            \"lessThan\": \"3408e98f06ce06ea6a58ca6c39da9c23f0029c06\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"79a7f8bdb159d9914b58740f3d31d602a6e4aca8\",\n                            \"lessThan\": \"d05524794240b52fdc3b6c1220dd05505715824d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"kernel/bpf/syscall.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.14\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.14\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.160\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.114\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.57\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.7\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/9496d857205e60241034b798d7745ff8830ba599","https://git.kernel.org/stable/c/d8cfe9f71d302970ae393616960f2b3021d2b3b0","https://git.kernel.org/stable/c/65f636322ac402add6046c68e9ece77b9ffd71c9","https://git.kernel.org/stable/c/3408e98f06ce06ea6a58ca6c39da9c23f0029c06","https://git.kernel.org/stable/c/d05524794240b52fdc3b6c1220dd05505715824d"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98058","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-98058","identifiers":["CVE-2026-98058"]},"retained":false,"historicalAffected":[]}],"coverage":[]}