On 2025/5/12 23:25, Alexei Starovoitov wrote: > On Mon, May 12, 2025 at 4:12 AM Leon Hwang <leon.hwang@xxxxxxxxx> wrote: >> [...] >> >> However, since bpf_rdonly_cast() is a kfunc, it causes registers r1–r5 >> to be considered volatile. > > It is not. > See: > BTF_ID_FLAGS(func, bpf_rdonly_cast, KF_FASTCALL) > and relevant commits. Thanks for the reminder — you're right, bpf_rdonly_cast() is marked with KF_FASTCALL, so it doesn't make r1–r5 volatile. Thanks, Leon