提交 6b282765 编写于 作者: A Alexei Starovoitov

Merge branch 'Provide NULL and KERNEL_VERSION macros in bpf_helpers.h'

Andrii Nakryiko says:

====================

Provide NULL and KERNEL_VERSION macros in bpf_helpers.h. Patch #2 removes such
custom NULL definition from one of the selftests.

v2->v3:
  - instead of vmlinux.h, do this in bpf_helpers.h;
  - added KERNEL_VERSION, which comes up periodically as well;
  - I dropped strict compilation patches for now, because we run into new
    warnings (e.g., not checking read() result) in kernel-patches CI, which
    I can't even reproduce locally. Also -Wdiscarded-qualifiers pragma for
    jit_disasm.c is not supported by Clang, it needs to be
    -Wincompatible-pointer-types-discards-qualifiers for Clang; we don't have
    to deal with that in this patch set;
v1->v2:
  - fix few typos and wrong copy/paste;
  - fix #pragma push -> pop.
====================
Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
......@@ -40,8 +40,22 @@
#define __weak __attribute__((weak))
#endif
/* When utilizing vmlinux.h with BPF CO-RE, user BPF programs can't include
* any system-level headers (such as stddef.h, linux/version.h, etc), and
* commonly-used macros like NULL and KERNEL_VERSION aren't available through
* vmlinux.h. This just adds unnecessary hurdles and forces users to re-define
* them on their own. So as a convenience, provide such definitions here.
*/
#ifndef NULL
#define NULL ((void *)0)
#endif
#ifndef KERNEL_VERSION
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c))
#endif
/*
* Helper macro to manipulate data structures
* Helper macros to manipulate data structures
*/
#ifndef offsetof
#define offsetof(TYPE, MEMBER) ((unsigned long)&((TYPE *)0)->MEMBER)
......
......@@ -4,7 +4,6 @@
#include <bpf/bpf_core_read.h>
#include <bpf/bpf_helpers.h>
#define NULL 0
#define INLINE __always_inline
#define skb_shorter(skb, len) ((void *)(long)(skb)->data + (len) > (void *)(long)skb->data_end)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册