The upstream bug tracker says "Please use your distribution's bug tracking tools. This bugzilla is for reporting bugs against upstream Linux kernels. If you did not compile your own kernel from scratch, you are probably in the wrong place."
Since I'm not using an upstream kernel, I'm not planning on reporting it there. I fully isolated the bug and found a workaround, so I don't personally need it to be fixed. I'm following the documented procedure for reporting kernel bugs out of courtesy. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2074202 Title: Segfault in perf (__perf_cpu_map__nr) on Linux 6.5.0-45 Status in linux package in Ubuntu: New Bug description: With package linux-tools-6.5.0-45-generic, perf will reproducibly segfault on startup: $ SYSFS_PATH=/nonexistent perf record /bin/echo Failed to read max cpus, using default of 4096 libperf: Miscounted nr_mmaps 0 vs 1 WARNING: No sample_id_all support, falling back to unordered processing perf: Segmentation fault Under gdb: Thread 1 "perf" received signal SIGSEGV, Segmentation fault. 0x0000555555739ca3 in __perf_cpu_map__nr (cpus=0x0) at cpumap.c:283 283 cpumap.c: No such file or directory. (gdb) bt #0 0x0000555555739ca3 in __perf_cpu_map__nr (cpus=0x0) at cpumap.c:283 #1 0x0000555555739f37 in perf_cpu_map__max (map=0x0) at cpumap.c:371 #2 0x00005555556ac264 in cpu_map_data__alloc (syn_data=syn_data@entry=0x7fffffff8860, header_size=header_size@entry=8) at util/synthetic-events.c:1273 #3 0x00005555556af6a6 in cpu_map_event__new (map=<optimized out>) at util/synthetic-events.c:1321 #4 perf_event__synthesize_cpu_map (tool=tool@entry=0x555555e62300 <record>, map=<optimized out>, process=process@entry=0x555555596d40 <process_synthesized_event>, machine=machine@entry=0x0) at util/synthetic-events.c:1341 #5 0x0000555555594ddf in record__synthesize (tail=tail@entry=false, rec=0x555555e62300 <record>) at builtin-record.c:2050 #6 0x000055555559891f in __cmd_record (argc=<optimized out>, argv=<optimized out>, rec=0x555555e62300 <record>) at builtin-record.c:2512 #7 0x000055555559b95f in cmd_record (argc=1, argv=0x7fffffffe450) at builtin-record.c:4260 #8 0x00005555556073f1 in run_builtin (p=p@entry=0x555555e64868 <commands+264>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe450) at perf.c:323 #9 0x000055555558580e in handle_internal_command (argv=0x7fffffffe450, argc=2) at perf.c:377 #10 run_argv (argv=<synthetic pointer>, argcp=<synthetic pointer>) at perf.c:421 #11 main (argc=2, argv=0x7fffffffe450) at perf.c:537 The SYSFS_PATH environment variable is for your convenient reproduction. My actual problem is that I'm trying to use perf inside a systemd-nspawn container. The /proc/mounts looks like this: tmpfs /sys tmpfs ro,nosuid,nodev,noexec,relatime,size=4096k,nr_inodes=1024,mode=555,inode64 0 0 ... sysfs /sys/block sysfs ro,nosuid,nodev,noexec,relatime 0 0 sysfs /sys/bus sysfs ro,nosuid,nodev,noexec,relatime 0 0 sysfs /sys/class sysfs ro,nosuid,nodev,noexec,relatime 0 0 sysfs /sys/dev sysfs ro,nosuid,nodev,noexec,relatime 0 0 sysfs /sys/devices sysfs ro,nosuid,nodev,noexec,relatime 0 0 sysfs /sys/kernel sysfs ro,nosuid,nodev,noexec,relatime 0 0 Perf looks for the first mount point with type "sysfs" and so concludes sysfs is mounted at /sys/block. Thus it can't find any relevant file and fails to detect relevant information about the system. Then it segfaults with a null pointer dereference. A workaround is to set SYSFS_PATH=/sys. Apologies if this is not the right place. Perf is in the kernel source tree so for most purposes it is a kernel bug. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2074202/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp