{"api_version":"1","generated_at":"2026-07-23T13:17:15+00:00","cve":"CVE-2026-63809","urls":{"html":"https://cve.report/CVE-2026-63809","api":"https://cve.report/api/cve/CVE-2026-63809.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-63809","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-63809"},"summary":{"title":"bpf: use kvfree() for replaced sysctl write buffer","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: use kvfree() for replaced sysctl write buffer\n\nproc_sys_call_handler() allocates its temporary sysctl buffer with\nkvzalloc() and passes it to __cgroup_bpf_run_filter_sysctl(). Since\nkvzalloc() may fall back to vmalloc() for large allocations, freeing\nthat buffer with kfree() is wrong and can corrupt memory.\n\nUse kvfree() to safely handle both kmalloc and kvzalloc()/vmalloc\nallocations.\n\nThe bug was first flagged by an experimental analysis tool we are\ndeveloping for kernel memory-management bugs while analyzing\nv6.13-rc1. The tool is still under development and is not yet publicly\navailable. Manual inspection confirms that the bug is still\npresent in v7.1-rc5.\n\nReproduced the bug based on v7.1-rc4 in a QEMU x86_64 guest booted with\nKASAN and CONFIG_FAILSLAB enabled. To exercise the replacement path, the\ntest tree also included the accompanying fix for the stale ret == 1\ncheck in __cgroup_bpf_run_filter_sysctl(). The reproducer confines\nfailslab injections to the proc_sys_call_handler() range, uses\nstacktrace-depth=32, and injects fail-nth=1 while writing 8191 bytes to\n/proc/sys/kernel/domainname from a task in the target cgroup. Under\nthat setup, fail-nth=1 triggered the fault:\n\n  BUG: unable to handle page fault for address: ffffeb0200024d48\n  #PF: supervisor read access in kernel mode\n  #PF: error_code(0x0000) - not-present page\n  PGD 0 P4D 0\n  Oops: Oops: 0000  SMP KASAN NOPTI\n  CPU: 2 UID: 0 PID: 209 Comm: repro_proc_sys_ Not tainted 7.1.0-rc4-00686-g97625979a5d4  PREEMPT(lazy)\n  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014\n  RIP: 0010:kfree+0x6e/0x510\n  ...\n  Call Trace:\n   <TASK>\n   ? __cgroup_bpf_run_filter_sysctl+0x626/0xc30\n   __cgroup_bpf_run_filter_sysctl+0x74d/0xc30\n   ? __pfx___cgroup_bpf_run_filter_sysctl+0x10/0x10\n   ? srso_return_thunk+0x5/0x5f\n   ? __kvmalloc_node_noprof+0x345/0x870\n   ? proc_sys_call_handler+0x250/0x480\n   ? srso_return_thunk+0x5/0x5f\n   proc_sys_call_handler+0x3a2/0x480\n   ? __pfx_proc_sys_call_handler+0x10/0x10\n   ? srso_return_thunk+0x5/0x5f\n   ? selinux_file_permission+0x39f/0x500\n   ? srso_return_thunk+0x5/0x5f\n   ? lock_is_held_type+0x9e/0x120\n   vfs_write+0x98e/0x1000\n   ...\n   </TASK>\n\nWith this fix applied on top of the same test setup, rerunning the\nreproducer with fail-nth=1 yields no corresponding Oops reports.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-19 12:16:53","updated_at":"2026-07-20 15:16:47"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":7.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/838fe9c28121777c59a9406710a68fcf77bb8017","name":"https://git.kernel.org/stable/c/838fe9c28121777c59a9406710a68fcf77bb8017","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/81fc9a13acae99966232f0e055eb2e445263b89a","name":"https://git.kernel.org/stable/c/81fc9a13acae99966232f0e055eb2e445263b89a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d0a81ed5ff5d0f9c3f63a4f9e5a4642c363ecd3e","name":"https://git.kernel.org/stable/c/d0a81ed5ff5d0f9c3f63a4f9e5a4642c363ecd3e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4c21b5927d4364bfe7365f2700da5fea0ed0d004","name":"https://git.kernel.org/stable/c/4c21b5927d4364bfe7365f2700da5fea0ed0d004","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e1d1e203a6000804c5d3b8a4aa4e52303c0c7ab2","name":"https://git.kernel.org/stable/c/e1d1e203a6000804c5d3b8a4aa4e52303c0c7ab2","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/70df4de46577fab5e25418f014583155a147c902","name":"https://git.kernel.org/stable/c/70df4de46577fab5e25418f014583155a147c902","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/65bd0c0afb0e1bf3287458e342429b069624f7d4","name":"https://git.kernel.org/stable/c/65bd0c0afb0e1bf3287458e342429b069624f7d4","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/77355ef7a9f6b0d2bdf65be3b37f2c1f365e20d2","name":"https://git.kernel.org/stable/c/77355ef7a9f6b0d2bdf65be3b37f2c1f365e20d2","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-63809","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-63809","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected b7925acd82926ebbf94a0f0783a3961f4e558856 d0a81ed5ff5d0f9c3f63a4f9e5a4642c363ecd3e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4508943794efdd94171549c0bd52810e2f4ad9fe 77355ef7a9f6b0d2bdf65be3b37f2c1f365e20d2 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4508943794efdd94171549c0bd52810e2f4ad9fe e1d1e203a6000804c5d3b8a4aa4e52303c0c7ab2 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4508943794efdd94171549c0bd52810e2f4ad9fe 81fc9a13acae99966232f0e055eb2e445263b89a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4508943794efdd94171549c0bd52810e2f4ad9fe 838fe9c28121777c59a9406710a68fcf77bb8017 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4508943794efdd94171549c0bd52810e2f4ad9fe 65bd0c0afb0e1bf3287458e342429b069624f7d4 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4508943794efdd94171549c0bd52810e2f4ad9fe 70df4de46577fab5e25418f014583155a147c902 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4508943794efdd94171549c0bd52810e2f4ad9fe 4c21b5927d4364bfe7365f2700da5fea0ed0d004 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 66258ab303588936ee1ee0794d9a271be24f73cb git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.10.20 5.10.260 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.11.3 5.12 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.12","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.12 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.260 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.211 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.177 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.144 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.95 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.38 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.3 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"63809","cve":"CVE-2026-63809","epss":"0.001900000","percentile":"0.088700000","score_date":"2026-07-20","updated_at":"2026-07-21 00:13:14"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["kernel/bpf/cgroup.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"d0a81ed5ff5d0f9c3f63a4f9e5a4642c363ecd3e","status":"affected","version":"b7925acd82926ebbf94a0f0783a3961f4e558856","versionType":"git"},{"lessThan":"77355ef7a9f6b0d2bdf65be3b37f2c1f365e20d2","status":"affected","version":"4508943794efdd94171549c0bd52810e2f4ad9fe","versionType":"git"},{"lessThan":"e1d1e203a6000804c5d3b8a4aa4e52303c0c7ab2","status":"affected","version":"4508943794efdd94171549c0bd52810e2f4ad9fe","versionType":"git"},{"lessThan":"81fc9a13acae99966232f0e055eb2e445263b89a","status":"affected","version":"4508943794efdd94171549c0bd52810e2f4ad9fe","versionType":"git"},{"lessThan":"838fe9c28121777c59a9406710a68fcf77bb8017","status":"affected","version":"4508943794efdd94171549c0bd52810e2f4ad9fe","versionType":"git"},{"lessThan":"65bd0c0afb0e1bf3287458e342429b069624f7d4","status":"affected","version":"4508943794efdd94171549c0bd52810e2f4ad9fe","versionType":"git"},{"lessThan":"70df4de46577fab5e25418f014583155a147c902","status":"affected","version":"4508943794efdd94171549c0bd52810e2f4ad9fe","versionType":"git"},{"lessThan":"4c21b5927d4364bfe7365f2700da5fea0ed0d004","status":"affected","version":"4508943794efdd94171549c0bd52810e2f4ad9fe","versionType":"git"},{"status":"affected","version":"66258ab303588936ee1ee0794d9a271be24f73cb","versionType":"git"},{"lessThan":"5.10.260","status":"affected","version":"5.10.20","versionType":"semver"},{"lessThan":"5.12","status":"affected","version":"5.11.3","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["kernel/bpf/cgroup.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.12"},{"lessThan":"5.12","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.260","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.211","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.177","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.144","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.95","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.38","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.3","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.260","versionStartIncluding":"5.10.20","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.211","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.177","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.144","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.95","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.38","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.3","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"5.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11.3","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: use kvfree() for replaced sysctl write buffer\n\nproc_sys_call_handler() allocates its temporary sysctl buffer with\nkvzalloc() and passes it to __cgroup_bpf_run_filter_sysctl(). Since\nkvzalloc() may fall back to vmalloc() for large allocations, freeing\nthat buffer with kfree() is wrong and can corrupt memory.\n\nUse kvfree() to safely handle both kmalloc and kvzalloc()/vmalloc\nallocations.\n\nThe bug was first flagged by an experimental analysis tool we are\ndeveloping for kernel memory-management bugs while analyzing\nv6.13-rc1. The tool is still under development and is not yet publicly\navailable. Manual inspection confirms that the bug is still\npresent in v7.1-rc5.\n\nReproduced the bug based on v7.1-rc4 in a QEMU x86_64 guest booted with\nKASAN and CONFIG_FAILSLAB enabled. To exercise the replacement path, the\ntest tree also included the accompanying fix for the stale ret == 1\ncheck in __cgroup_bpf_run_filter_sysctl(). The reproducer confines\nfailslab injections to the proc_sys_call_handler() range, uses\nstacktrace-depth=32, and injects fail-nth=1 while writing 8191 bytes to\n/proc/sys/kernel/domainname from a task in the target cgroup. Under\nthat setup, fail-nth=1 triggered the fault:\n\n  BUG: unable to handle page fault for address: ffffeb0200024d48\n  #PF: supervisor read access in kernel mode\n  #PF: error_code(0x0000) - not-present page\n  PGD 0 P4D 0\n  Oops: Oops: 0000  SMP KASAN NOPTI\n  CPU: 2 UID: 0 PID: 209 Comm: repro_proc_sys_ Not tainted 7.1.0-rc4-00686-g97625979a5d4  PREEMPT(lazy)\n  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014\n  RIP: 0010:kfree+0x6e/0x510\n  ...\n  Call Trace:\n   <TASK>\n   ? __cgroup_bpf_run_filter_sysctl+0x626/0xc30\n   __cgroup_bpf_run_filter_sysctl+0x74d/0xc30\n   ? __pfx___cgroup_bpf_run_filter_sysctl+0x10/0x10\n   ? srso_return_thunk+0x5/0x5f\n   ? __kvmalloc_node_noprof+0x345/0x870\n   ? proc_sys_call_handler+0x250/0x480\n   ? srso_return_thunk+0x5/0x5f\n   proc_sys_call_handler+0x3a2/0x480\n   ? __pfx_proc_sys_call_handler+0x10/0x10\n   ? srso_return_thunk+0x5/0x5f\n   ? selinux_file_permission+0x39f/0x500\n   ? srso_return_thunk+0x5/0x5f\n   ? lock_is_held_type+0x9e/0x120\n   vfs_write+0x98e/0x1000\n   ...\n   </TASK>\n\nWith this fix applied on top of the same test setup, rerunning the\nreproducer with fail-nth=1 yields no corresponding Oops reports."}],"metrics":[{"cvssV3_1":{"baseScore":7.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"providerMetadata":{"dateUpdated":"2026-07-20T13:40:18.658Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/d0a81ed5ff5d0f9c3f63a4f9e5a4642c363ecd3e"},{"url":"https://git.kernel.org/stable/c/77355ef7a9f6b0d2bdf65be3b37f2c1f365e20d2"},{"url":"https://git.kernel.org/stable/c/e1d1e203a6000804c5d3b8a4aa4e52303c0c7ab2"},{"url":"https://git.kernel.org/stable/c/81fc9a13acae99966232f0e055eb2e445263b89a"},{"url":"https://git.kernel.org/stable/c/838fe9c28121777c59a9406710a68fcf77bb8017"},{"url":"https://git.kernel.org/stable/c/65bd0c0afb0e1bf3287458e342429b069624f7d4"},{"url":"https://git.kernel.org/stable/c/70df4de46577fab5e25418f014583155a147c902"},{"url":"https://git.kernel.org/stable/c/4c21b5927d4364bfe7365f2700da5fea0ed0d004"}],"title":"bpf: use kvfree() for replaced sysctl write buffer","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-63809","datePublished":"2026-07-19T12:02:11.905Z","dateReserved":"2026-07-19T07:54:57.013Z","dateUpdated":"2026-07-20T13:40:18.658Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-19 12:16:53","lastModifiedDate":"2026-07-20 15:16:47","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"63809","Ordinal":"1","Title":"bpf: use kvfree() for replaced sysctl write buffer","CVE":"CVE-2026-63809","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"63809","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: use kvfree() for replaced sysctl write buffer\n\nproc_sys_call_handler() allocates its temporary sysctl buffer with\nkvzalloc() and passes it to __cgroup_bpf_run_filter_sysctl(). Since\nkvzalloc() may fall back to vmalloc() for large allocations, freeing\nthat buffer with kfree() is wrong and can corrupt memory.\n\nUse kvfree() to safely handle both kmalloc and kvzalloc()/vmalloc\nallocations.\n\nThe bug was first flagged by an experimental analysis tool we are\ndeveloping for kernel memory-management bugs while analyzing\nv6.13-rc1. The tool is still under development and is not yet publicly\navailable. Manual inspection confirms that the bug is still\npresent in v7.1-rc5.\n\nReproduced the bug based on v7.1-rc4 in a QEMU x86_64 guest booted with\nKASAN and CONFIG_FAILSLAB enabled. To exercise the replacement path, the\ntest tree also included the accompanying fix for the stale ret == 1\ncheck in __cgroup_bpf_run_filter_sysctl(). The reproducer confines\nfailslab injections to the proc_sys_call_handler() range, uses\nstacktrace-depth=32, and injects fail-nth=1 while writing 8191 bytes to\n/proc/sys/kernel/domainname from a task in the target cgroup. Under\nthat setup, fail-nth=1 triggered the fault:\n\n  BUG: unable to handle page fault for address: ffffeb0200024d48\n  #PF: supervisor read access in kernel mode\n  #PF: error_code(0x0000) - not-present page\n  PGD 0 P4D 0\n  Oops: Oops: 0000  SMP KASAN NOPTI\n  CPU: 2 UID: 0 PID: 209 Comm: repro_proc_sys_ Not tainted 7.1.0-rc4-00686-g97625979a5d4  PREEMPT(lazy)\n  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014\n  RIP: 0010:kfree+0x6e/0x510\n  ...\n  Call Trace:\n   <TASK>\n   ? __cgroup_bpf_run_filter_sysctl+0x626/0xc30\n   __cgroup_bpf_run_filter_sysctl+0x74d/0xc30\n   ? __pfx___cgroup_bpf_run_filter_sysctl+0x10/0x10\n   ? srso_return_thunk+0x5/0x5f\n   ? __kvmalloc_node_noprof+0x345/0x870\n   ? proc_sys_call_handler+0x250/0x480\n   ? srso_return_thunk+0x5/0x5f\n   proc_sys_call_handler+0x3a2/0x480\n   ? __pfx_proc_sys_call_handler+0x10/0x10\n   ? srso_return_thunk+0x5/0x5f\n   ? selinux_file_permission+0x39f/0x500\n   ? srso_return_thunk+0x5/0x5f\n   ? lock_is_held_type+0x9e/0x120\n   vfs_write+0x98e/0x1000\n   ...\n   </TASK>\n\nWith this fix applied on top of the same test setup, rerunning the\nreproducer with fail-nth=1 yields no corresponding Oops reports.","Type":"Description","Title":"bpf: use kvfree() for replaced sysctl write buffer"}]}}}