On 6/3/26 15:11, Zhuo, Qiuxu wrote:
> Hi,
>
>
>
> Laiyi reported that the userspace rasdaemon fails to enable
> memory_failure_event
> on kernels >= v6.19.
>
>
>
> Kernel commit 31807483d395 ("mm/memory-failure: remove the selection of RAS"),
> merged in v6.19-rc1,
>
> moved the memory_failure_event tracepoint from the "ras" subsystem to
> "memory_failure".
>
> However, rasdaemon still tries to enable:
>
>
>
> ras:memory_failure_event
>
>
>
> while on v6.19+ kernels, the tracepoint is:
>
>
>
> memory_failure:memory_failure_event
>
>
>
> As a result, rasdaemon fails to start:
>
>
>
> …
>
> Can't write to set_event
>
> Huh! something got wrong. Aborting.
>
> …
>
>
>
> Reproducer:
>
>
>
> rasdaemon --enable
>
>
>
> Could you please let me know whether the preferred solution is to revert the
> kernel change,
>
> or to update rasdaemon to support both tracepoint names for backward/forward
> compatibility?
Likely the latter. BPF [1] documents:
Q: Are tracepoints part of the stable ABI?
A: NO. Tracepoints are tied to internal implementation details hence they are
subject to change and can break with newer kernels. BPF programs need to change
accordingly when this happens.
The Kernel ABI document explicitly doesn't list them AFAIKS.
There were previous discussions on the stability of tracepints [2], I don't know
what changed in the meantime. CCing Steve
[1] https://www.kernel.org/doc/html/latest/bpf/bpf_design_QA.html
[2] https://lwn.net/Articles/747256/
[3] https://www.kernel.org/doc/html/latest/admin-guide/abi.html
--
Cheers,
David