bpf: add BPF_SIZEOF and BPF_FIELD_SIZEOF macros
authorDaniel Borkmann <daniel@iogearbox.net>
Fri, 9 Sep 2016 00:45:29 +0000 (02:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 10 Sep 2016 02:36:04 +0000 (19:36 -0700)
commitf035a51536af9802f55d8c79bd87f184ebffb093
treeb10ca650031a03f3752a1ea9f7178282e8eb0a75
parent6088b5823b4cb132a838878747384cbfb5ce6646
bpf: add BPF_SIZEOF and BPF_FIELD_SIZEOF macros

Add BPF_SIZEOF() and BPF_FIELD_SIZEOF() macros to improve the code a bit
which otherwise often result in overly long bytes_to_bpf_size(sizeof())
and bytes_to_bpf_size(FIELD_SIZEOF()) lines. So place them into a macro
helper instead. Moreover, we currently have a BUILD_BUG_ON(BPF_FIELD_SIZEOF())
check in convert_bpf_extensions(), but we should rather make that generic
as well and add a BUILD_BUG_ON() test in all BPF_SIZEOF()/BPF_FIELD_SIZEOF()
users to detect any rewriter size issues at compile time. Note, there are
currently none, but we want to assert that it stays this way.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/filter.h
kernel/trace/bpf_trace.c
net/core/filter.c