]> git.ipfire.org Git - thirdparty/linux.git/commit
rtla: Make stop_tracing variable volatile
authorWander Lairson Costa <wander@redhat.com>
Tue, 6 Jan 2026 11:49:51 +0000 (08:49 -0300)
committerTomas Glozar <tglozar@redhat.com>
Wed, 7 Jan 2026 14:57:55 +0000 (15:57 +0100)
commitaf2962d68b970b15d8910be2b0386b4f147ed78b
tree56080ab24f15458cebd262ddd607647a7fd84115
parent02689ae385c5e84874620947ac010cf7b4950375
rtla: Make stop_tracing variable volatile

The stop_tracing global variable is accessed from both the signal
handler context and the main program flow without synchronization.
This creates a potential race condition where compiler optimizations
could cache the variable value in registers, preventing the signal
handler's updates from being visible to other parts of the program.

Add the volatile qualifier to stop_tracing in both common.c and
common.h to ensure all accesses to this variable bypass compiler
optimizations and read directly from memory. This guarantees that
when the signal handler sets stop_tracing, the change is immediately
visible to the main program loop, preventing potential hangs or
delayed shutdown when termination signals are received.

Signed-off-by: Wander Lairson Costa <wander@redhat.com>
Link: https://lore.kernel.org/r/20260106133655.249887-16-wander@redhat.com
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
tools/tracing/rtla/src/common.c
tools/tracing/rtla/src/common.h