No description
Find a file
Ian Rogers 0fc5116204 libperf evlist: Avoid out-of-bounds access
[ Upstream commit 1947b92464 ]

Parallel testing appears to show a race between allocating and setting
evsel ids. As there is a bounds check on the xyarray it yields a segv
like:

```
AddressSanitizer:DEADLYSIGNAL

=================================================================

==484408==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010

==484408==The signal is caused by a WRITE memory access.

==484408==Hint: address points to the zero page.

    #0 0x55cef5d4eff4 in perf_evlist__id_hash tools/lib/perf/evlist.c:256
    #1 0x55cef5d4f132 in perf_evlist__id_add tools/lib/perf/evlist.c:274
    #2 0x55cef5d4f545 in perf_evlist__id_add_fd tools/lib/perf/evlist.c:315
    #3 0x55cef5a1923f in store_evsel_ids util/evsel.c:3130
    #4 0x55cef5a19400 in evsel__store_ids util/evsel.c:3147
    #5 0x55cef5888204 in __run_perf_stat tools/perf/builtin-stat.c:832
    #6 0x55cef5888c06 in run_perf_stat tools/perf/builtin-stat.c:960
    #7 0x55cef58932db in cmd_stat tools/perf/builtin-stat.c:2878
...
```

Avoid this crash by early exiting the perf_evlist__id_add_fd and
perf_evlist__id_add is the access is out-of-bounds.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Yang Jihong <yangjihong1@huawei.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240229070757.796244-1-irogers@google.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 13:10:07 +02:00
arch PCI: Disable D3cold on Asus B1400 PCI-NVMe bridge 2024-04-13 13:10:06 +02:00
block block: count BLK_OPEN_RESTRICT_WRITES openers 2024-04-10 16:38:10 +02:00
certs
crypto
Documentation x86/bhi: Mitigate KVM by default 2024-04-10 16:38:24 +02:00
drivers Revert "ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default" 2024-04-13 13:10:06 +02:00
fs ext4: forbid commit inconsistent quota data when errors=remount-ro 2024-04-13 13:10:05 +02:00
include SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int 2024-04-13 13:10:06 +02:00
init init: open /initrd.image with O_LARGEFILE 2024-04-03 15:32:37 +02:00
io_uring io_uring/kbuf: hold io_buffer_list reference over mmap 2024-04-10 16:38:16 +02:00
ipc
kernel rcu/nocb: Fix WARN_ON_ONCE() in the rcu_nocb_bypass_lock() 2024-04-13 13:10:04 +02:00
lib dump_stack: Do not get cpu_sync for panic CPU 2024-04-13 13:09:58 +02:00
LICENSES
mm x86/mm/pat: fix VM_PAT handling in COW mappings 2024-04-10 16:38:19 +02:00
net Bluetooth: Add new quirk for broken read key length on ATS2851 2024-04-13 13:10:02 +02:00
rust
samples
scripts kbuild: make -Woverride-init warnings more consistent 2024-04-10 16:38:00 +02:00
security selinux: avoid dereference of garbage after mount failure 2024-04-10 16:38:01 +02:00
sound ASoC: Intel: avs: Populate board selection with new I2S entries 2024-04-13 13:10:05 +02:00
tools libperf evlist: Avoid out-of-bounds access 2024-04-13 13:10:07 +02:00
usr
virt
.clang-format
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 6.8.5 2024-04-10 16:38:25 +02:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.