Re: [REGRESSION] rseq: refactoring in v6.19 broke everyone on arm64 and tcmalloc everywhere
From: Mathieu Desnoyers
Date: Thu Apr 23 2026 - 08:29:54 EST
On 2026-04-23 01:53, Dmitry Vyukov wrote:
[...]
+linux-man
This part of the rseq man page needs to be fixed as well I think. The
kernel no longer reliably provides clearing of rseq_cs on preemption,
right?
https://git.kernel.org/pub/scm/libs/librseq/librseq.git/tree/doc/man/rseq.2#n241
I'm maintaining this manual page in librseq.
"and set to NULL by the kernel when it restarts an assembly
instruction sequence block,
as well as when the kernel detects that it is preempting or delivering
a signal outside of the range targeted by the rseq_cs."
I think you got two things confused here.
1) There is currently a bug on arm64 where it fails to honor the
rseq ABI contract wrt critical section abort. AFAIU there is a
fix proposed for this.
2) Thomas relaxed the implementation of cpu_id_start field updates
so it only stores to the rseq area when the current cpu actually
changes (migration).
So AFAIU the statement in the man page is still fine. It's just arm64
that needs fixing.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com