On Tue, 2023-11-28 at 10:54 -0700, Daniel Xu wrote:
Similar to reading from CO-RE bitfields, we need a CO-RE aware bitfield
writing wrapper to make the verifier happy.
Two alternatives to this approach are:
1. Use the upcoming `preserve_static_offset` [0] attribute to disable
CO-RE on specific structs.
2. Use broader byte-sized writes to write to bitfields.
(1) is a bit a bit hard to use. It requires specific and
not-very-obvious annotations to bpftool generated vmlinux.h. It's also
not generally available in released LLVM versions yet.
(2) makes the code quite hard to read and write. And especially if
BPF_CORE_READ_BITFIELD() is already being used, it makes more sense to
to have an inverse helper for writing.
[0]: https://reviews.llvm.org/D133361
From: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Daniel Xu <redacted>
---
Could you please also add a selftest (or several) using __retval()
annotation for this macro?