mirror-linux/arch/arm
Linus Torvalds 7acfa2c5f4 ring-buffer fixes for 7.1:
- Fix reporting MISSED EVENTS in trace iterator
 
   When the "trace" file is read with tracing enabled, if the writer
   were to pass the iterator reader, it resets, sets a "missed_events"
   flag and continues. The tracing output checks for missed events and
   if there are some, it prints out "[LOST EVENTS]" to let the user
   know events were dropped.
 
   But the clearing of the missed_events happened when the tracing system
   queried the ring buffer iterator about missed events. This was premature
   as the ring buffer is per CPU, and the tracing code reads all the
   CPU buffers and checks for missed events when it is read. If the
   CPU iterator that had missed events isn't printed next, the output
   for the LOST EVENTS is lost.
 
   Clear the missed_events flag when the iterator moves to the next event
   and not when the missed_events flag is queried. Also clear it on reset.
 
 - Flush and stop the persistent ring buffer on panic
 
   On panic the persistent ring buffer is used to debug what caused the
   panic. But on some architectures, it requires flushing the memory
   from cache, otherwise, the ring buffer persistent memory may not have
   the last events and this could also cause the ring buffer to be
   corrupted on the next boot.
 
 - Fix nr_subbufs initialization in simple_ring_buffer_init_mm
 
   The remote simple ring buffer  meta data nr_subbufs is initialized
   too early and gets cleared later on, making it zero and not reflect
   the actual number of sub-buffers.
 
 - Fix unload_page for simple_ring_buffer init rollback
 
   On error, the pages loaded need to be unloaded. To unload a page
   it is expected that: page = load_page(va); -> unload_page(page).
   But the code was doing: unload_page(va) and not unload_page(page).
 
 - Create output file from cmd_check_undefined
 
   The check for undefined symbols checks if the file *.o.checked exists
   and if so it skips doing the work. But the *.o.checked file never
   was created making every build do the work even when it was already
   done previously.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYKADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCag8l7BQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qga3AQDkyh7V4T+fxY5gc5jSKVx5U9bRAMpJ
 3GWGNCY9TGUyewEApUNO5MVGvXttyc1ONPHuBcShynj3resJk90sk491kw0=
 =aY8d
 -----END PGP SIGNATURE-----

Merge tag 'trace-ringbuffer-v7.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull ring-buffer fixes from Steven Rostedt:

 - Fix reporting MISSED EVENTS in trace iterator

   When the "trace" file is read with tracing enabled, if the writer
   were to pass the iterator reader, it resets, sets a "missed_events"
   flag and continues. The tracing output checks for missed events and
   if there are some, it prints out "[LOST EVENTS]" to let the user know
   events were dropped.

   But the clearing of the missed_events happened when the tracing
   system queried the ring buffer iterator about missed events. This was
   premature as the ring buffer is per CPU, and the tracing code reads
   all the CPU buffers and checks for missed events when it is read. If
   the CPU iterator that had missed events isn't printed next, the
   output for the LOST EVENTS is lost.

   Clear the missed_events flag when the iterator moves to the next
   event and not when the missed_events flag is queried. Also clear it
   on reset.

 - Flush and stop the persistent ring buffer on panic

   On panic the persistent ring buffer is used to debug what caused the
   panic. But on some architectures, it requires flushing the memory
   from cache, otherwise, the ring buffer persistent memory may not have
   the last events and this could also cause the ring buffer to be
   corrupted on the next boot.

 - Fix nr_subbufs initialization in simple_ring_buffer_init_mm

   The remote simple ring buffer meta data nr_subbufs is initialized too
   early and gets cleared later on, making it zero and not reflect the
   actual number of sub-buffers.

 - Fix unload_page for simple_ring_buffer init rollback

   On error, the pages loaded need to be unloaded. To unload a page it
   is expected that: page = load_page(va); -> unload_page(page). But the
   code was doing: unload_page(va) and not unload_page(page).

 - Create output file from cmd_check_undefined

   The check for undefined symbols checks if the file *.o.checked exists
   and if so it skips doing the work. But the *.o.checked file never was
   created making every build do the work even when it was already done
   previously.

* tag 'trace-ringbuffer-v7.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  tracing: Create output file from cmd_check_undefined
  tracing: Fix unload_page for simple_ring_buffer init rollback
  tracing: Fix nr_subbufs initialization in simple_ring_buffer_init_mm()
  ring-buffer: Flush and stop persistent ring buffer on panic
  ring-buffer: Fix reporting of missed events in iterator
2026-05-21 14:05:09 -07:00
..
boot ARM: dts: renesas: rskrza1: Drop superfluous cells 2026-04-27 11:14:30 +02:00
common Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
configs Delete some obsolete networking code 2026-04-24 09:41:58 -07:00
crypto lib/crypto: arm/ghash: Migrate optimized code into library 2026-03-23 15:24:54 -07:00
include ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
kernel ARM development for 7.1-rc1 2026-04-25 07:44:26 -07:00
lib arm: move the XOR code to lib/raid/ 2026-04-02 23:36:18 -07:00
mach-actions
mach-alpine
mach-artpec
mach-aspeed
mach-at91 Devicetree updates for v7.0: 2026-02-11 18:27:08 -08:00
mach-axxia
mach-bcm
mach-berlin
mach-clps711x
mach-davinci
mach-digicolor
mach-dove
mach-ep93xx
mach-exynos ARM: samsung: exynos5250: Allow CPU1 to boot 2026-02-26 22:13:27 +01:00
mach-footbridge Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mach-gemini ARM: gemini: fix typos in comments 2025-11-21 22:16:39 +01:00
mach-highbank
mach-hisi
mach-imx Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mach-ixp4xx
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek ARM: mediatek: add MT6582 smp bring up code 2025-10-13 11:46:58 +02:00
mach-meson
mach-milbeaut
mach-mmp
mach-mstar
mach-mv78xx0
mach-mvebu Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mach-mxs Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mach-nomadik
mach-npcm arm: npcm: drop unused Kconfig ERRATA symbol 2026-01-08 17:11:35 +10:30
mach-omap1 soc: ARM code changes for 7.1 2026-04-16 20:45:14 -07:00
mach-omap2 ARM: omap2: dead code cleanup in kconfig for ARCH_OMAP4 2026-03-30 14:21:20 -07:00
mach-orion5x Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mach-pxa syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
mach-qcom
mach-realtek
mach-rockchip ARM: rockchip: remove REGULATOR conditional to PM 2025-09-18 21:05:39 +02:00
mach-rpc Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mach-s3c ASoC: codec: arizona: Convert to use GPIO descriptors 2026-03-16 13:11:47 +00:00
mach-s5pv210 syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
mach-sa1100 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mach-shmobile ARM: shmobile: rcar-gen2: Use of_phandle_args_equal() helper 2026-03-16 10:59:59 +01:00
mach-socfpga
mach-spear
mach-sti ARM: sti: removal of stih415/stih416 related entries 2025-08-18 15:48:00 +02:00
mach-stm32
mach-sunxi
mach-tegra ARM: tegra: paz00: Configure WiFi rfkill switch through device tree 2026-03-28 00:56:36 +01:00
mach-ux500
mach-versatile ARM: integrator: Fix early initialization 2026-05-07 14:03:21 +02:00
mach-vt8500
mach-zynq Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mm ARM development for 7.1-rc1 2026-04-25 07:44:26 -07:00
net bpf, arm32: Reject BPF-to-BPF calls and callbacks in the JIT 2026-04-17 12:05:45 -07:00
nwfpe
plat-orion treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
probes Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
tools rseq: Implement sys_rseq_slice_yield() 2026-01-22 11:11:17 +01:00
vdso ARM: VDSO: Provide clock_getres_time64() 2026-01-13 14:42:23 +01:00
vfp
xen ARM: xen: validate hypervisor compatible before parsing its version 2026-04-10 10:45:42 +02:00
Kbuild
Kconfig ARM: 9463/1: Allow to enable RT 2026-04-24 15:14:59 +01:00
Kconfig-nommu
Kconfig.debug
Kconfig.platforms ARM: mach-hpe: Rework support and directory structure 2025-09-15 15:07:38 +02:00
Makefile ARM: mach-hpe: Rework support and directory structure 2025-09-15 15:07:38 +02:00