Commit 23931d93 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'perf-urgent-2023-10-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 perf event fix from Ingo Molnar:
 "Fix an LBR sampling bug"

* tag 'perf-urgent-2023-10-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf/x86/lbr: Filter vsyscall addresses
parents 70f8c6f8 e5389977
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#include <asm/insn.h> #include <asm/insn.h>
#include <linux/mm.h>
#include "perf_event.h" #include "perf_event.h"
...@@ -132,9 +133,9 @@ static int get_branch_type(unsigned long from, unsigned long to, int abort, ...@@ -132,9 +133,9 @@ static int get_branch_type(unsigned long from, unsigned long to, int abort,
* The LBR logs any address in the IP, even if the IP just * The LBR logs any address in the IP, even if the IP just
* faulted. This means userspace can control the from address. * faulted. This means userspace can control the from address.
* Ensure we don't blindly read any address by validating it is * Ensure we don't blindly read any address by validating it is
* a known text address. * a known text address and not a vsyscall address.
*/ */
if (kernel_text_address(from)) { if (kernel_text_address(from) && !in_gate_area_no_mm(from)) {
addr = (void *)from; addr = (void *)from;
/* /*
* Assume we can get the maximum possible size * Assume we can get the maximum possible size
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment