Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: perf: Fix null pointer access in is_include_guest_event() A typical module unload occurring event when there is an active perf connection leads to freeing of the pmu pointer. The call log is something like: .. __pmu_detach_event pmu_detach_event pmu_detach_events perf_pmu_unregister .. __pmu_detach_event() sets event->pmu to null. When the perf connection finally is closed, the following stack trace is observed: Oops: general protection fault, kernel NULL pointer dereference ... RIP: 0010:_free_event+0x3e/0x370 ... Call Trace: ... perf_event_release_kernel+0x260/0x2d0 perf_release+0x12/0x20 A call to mediated_pmu_unaccount_event() inside _free_event() is the root cause of this crash. Adding a check inside is_include_guest_event() ensures we don't accidentally access a null pmu ptr. In addition to this, we will now call mediated_pmu_unaccount_event() before clearing the pmu ptr so that nr_include_guest_events counts are maintained correctly.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected eff95e170275d9e80b968f335cd03d0ac250d2d1 before 7fa9a465ae8f07c0e4685db6edb6a6f984dbd784; affected eff95e170275d9e80b968f335cd03d0ac250d2d1 before 88aed0422f39b22406f35f1e758cea25e7bbcfb5 |
| Linux / Linux | affected 7.0; unaffected 0 before 7.0; unaffected 7.2.8 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.