On 2025/5/12 23:25, Alexei Starovoitov wrote:
On Mon, May 12, 2025 at 4:12 AM Leon Hwang leon.hwang@linux.dev 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