bpf: Fix missing migration protection in __rhtab_map_lookup_and_delete_batch()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 7.2.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix missing migration protection in __rhtab_map_lookup_and_delete_batch() bpf_mem_cache_free_rcu() uses this_cpu_ptr() which requires migration to be disabled. All callers of rhtab_delete_elem() disable migration except __rhtab_map_lookup_and_delete_batch(), which calls it under rcu_read_lock() only. On CONFIG_PREEMPT_RCU, rcu_read_lock() does not disable preemption or migration, so the task can migrate between CPUs during the delete loop, causing this_cpu_ptr() to trigger: BUG: using smp_processor_id() in preemptible [00000000] code Fix by wrapping the delete loop in migrate_disable()/migrate_enable() in __rhtab_map_lookup_and_delete_batch(), matching the migration protection that the other callers already provide.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 818e0084822742fc00eacbf5df3476a5e72c7d0e · fixed in 94f41ec5fa578765b74ad5736c2f029e7aabc46d; From 818e0084822742fc00eacbf5df3476a5e72c7d0e · fixed in de020dc8049bfb2b22e3b6d99c031feb2e22d112
- Linux Linux
7.2
- KernelLinux
From 7.2.0 · fixed in 7.2.10