forked from analogdevicesinc/linux
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
Alexei Starovoitov says: ==================== pull-request: bpf-next 2020-07-13 The following pull-request contains BPF updates for your *net-next* tree. We've added 36 non-merge commits during the last 7 day(s) which contain a total of 62 files changed, 2242 insertions(+), 468 deletions(-). The main changes are: 1) Avoid trace_printk warning banner by switching bpf_trace_printk to use its own tracing event, from Alan. 2) Better libbpf support on older kernels, from Andrii. 3) Additional AF_XDP stats, from Ciara. 4) build time resolution of BTF IDs, from Jiri. 5) BPF_CGROUP_INET_SOCK_RELEASE hook, from Stanislav. ==================== Signed-off-by: David S. Miller <[email protected]>
- Loading branch information
Showing
62 changed files
with
2,242 additions
and
468 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
|
||
#ifndef _LINUX_BTF_IDS_H | ||
#define _LINUX_BTF_IDS_H | ||
|
||
#include <linux/compiler.h> /* for __PASTE */ | ||
|
||
/* | ||
* Following macros help to define lists of BTF IDs placed | ||
* in .BTF_ids section. They are initially filled with zeros | ||
* (during compilation) and resolved later during the | ||
* linking phase by resolve_btfids tool. | ||
* | ||
* Any change in list layout must be reflected in resolve_btfids | ||
* tool logic. | ||
*/ | ||
|
||
#define BTF_IDS_SECTION ".BTF_ids" | ||
|
||
#define ____BTF_ID(symbol) \ | ||
asm( \ | ||
".pushsection " BTF_IDS_SECTION ",\"a\"; \n" \ | ||
".local " #symbol " ; \n" \ | ||
".type " #symbol ", @object; \n" \ | ||
".size " #symbol ", 4; \n" \ | ||
#symbol ": \n" \ | ||
".zero 4 \n" \ | ||
".popsection; \n"); | ||
|
||
#define __BTF_ID(symbol) \ | ||
____BTF_ID(symbol) | ||
|
||
#define __ID(prefix) \ | ||
__PASTE(prefix, __COUNTER__) | ||
|
||
/* | ||
* The BTF_ID defines unique symbol for each ID pointing | ||
* to 4 zero bytes. | ||
*/ | ||
#define BTF_ID(prefix, name) \ | ||
__BTF_ID(__ID(__BTF_ID__##prefix##__##name##__)) | ||
|
||
/* | ||
* The BTF_ID_LIST macro defines pure (unsorted) list | ||
* of BTF IDs, with following layout: | ||
* | ||
* BTF_ID_LIST(list1) | ||
* BTF_ID(type1, name1) | ||
* BTF_ID(type2, name2) | ||
* | ||
* list1: | ||
* __BTF_ID__type1__name1__1: | ||
* .zero 4 | ||
* __BTF_ID__type2__name2__2: | ||
* .zero 4 | ||
* | ||
*/ | ||
#define __BTF_ID_LIST(name) \ | ||
asm( \ | ||
".pushsection " BTF_IDS_SECTION ",\"a\"; \n" \ | ||
".local " #name "; \n" \ | ||
#name ":; \n" \ | ||
".popsection; \n"); \ | ||
|
||
#define BTF_ID_LIST(name) \ | ||
__BTF_ID_LIST(name) \ | ||
extern u32 name[]; | ||
|
||
/* | ||
* The BTF_ID_UNUSED macro defines 4 zero bytes. | ||
* It's used when we want to define 'unused' entry | ||
* in BTF_ID_LIST, like: | ||
* | ||
* BTF_ID_LIST(bpf_skb_output_btf_ids) | ||
* BTF_ID(struct, sk_buff) | ||
* BTF_ID_UNUSED | ||
* BTF_ID(struct, task_struct) | ||
*/ | ||
|
||
#define BTF_ID_UNUSED \ | ||
asm( \ | ||
".pushsection " BTF_IDS_SECTION ",\"a\"; \n" \ | ||
".zero 4 \n" \ | ||
".popsection; \n"); | ||
|
||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.