In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Fix segfault with PEBS-via-PT with samplefreq Currently, using PEBS-via-PT with a sample frequency instead of a sample period, causes a segfault. For example: BUG: kernel NULL pointer dereference, address: 0000000000000195 <NMI> ? _diebody.cold+0x19/0x27 ? pagefaultoops+0xca/0x290 ? excpagefault+0x7e/0x1b0 ? asmexcpagefault+0x26/0x30 ? intelpmupebseventupdatenodrain+0x40/0x60 ? intelpmupebseventupdatenodrain+0x32/0x60 intelpmudrainpebsicl+0x333/0x350 handlepmicommon+0x272/0x3c0 intelpmuhandleirq+0x10a/0x2e0 perfeventnmihandler+0x2a/0x50 That happens because intelpmupebseventupdatenodrain() assumes all the pebsenabled bits represent counter indexes, which is not always the case. In this particular case, bits 60 and 61 are set for PEBS-via-PT purposes. The behaviour of PEBS-via-PT with sample frequency is questionable because although a PMI is generated (PEBSPMIAFTEREACHRECORD), the period is not adjusted anyway. Putting that aside, fix intelpmupebseventupdateno_drain() by passing the mask of counter bits instead of 'size'. Note, prior to the Fixes commit, 'size' would be limited to the maximum counter index, so the issue was not hit.