On Tue, 8 Mar 2022 20:38:15 -0800 Ian Rogers <irogers@xxxxxxxxxx> wrote: > Arithmetic on null pointers is undefined behavior, spotted by C compiler > sanitizers such as with clang. The builtin offset of is available in all > recent compilers, so unconditionally use it as discussed for libbpf in: > https://lore.kernel.org/all/a0a26308-a1d7-a57c-727c-000652a5d246@xxxxxx/ Applied, thanks Ian! -- Steve > > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx> > --- > tracecmd/include/list.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tracecmd/include/list.h b/tracecmd/include/list.h > index cf9dd47e..fa0de6df 100644 > --- a/tracecmd/include/list.h > +++ b/tracecmd/include/list.h > @@ -6,7 +6,7 @@ > #ifndef __LIST_H > #define __LIST_H > > -#define offset_of(type, field) (long)(&((type *)0)->field) > +#define offset_of(type, field) __builtin_offsetof(type, field) > #define container_of(p, type, field) (type *)((long)p - offset_of(type, field)) > > struct list_head {