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@xxxxxxxxx> > > Signed-off-by: Daniel Xu <dxu@xxxxxxxxx> > --- Could you please also add a selftest (or several) using __retval() annotation for this macro?