diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2022-10-24 10:32:00 -0700 | 
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2022-10-24 10:32:01 -0700 | 
| commit | e28c44450b14474009a7ac84eb2bd631357c9635 (patch) | |
| tree | 144c59a73c514a0335bb4a40cc59c79e8250ac83 /tools | |
| parent | ec791d8149ff60c40ad2074af3b92a39c916a03f (diff) | |
| parent | bed54aeb6ac1ced7e0ea27a82ee52af856610ff0 (diff) | |
Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Alexei Starovoitov says:
====================
pull-request: bpf 2022-10-23
We've added 7 non-merge commits during the last 18 day(s) which contain
a total of 8 files changed, 69 insertions(+), 5 deletions(-).
The main changes are:
1) Wait for busy refill_work when destroying bpf memory allocator, from Hou.
2) Allow bpf_user_ringbuf_drain() callbacks to return 1, from David.
3) Fix dispatcher patchable function entry to 5 bytes nop, from Jiri.
4) Prevent decl_tag from being referenced in func_proto, from Stanislav.
* tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:
  bpf: Use __llist_del_all() whenever possbile during memory draining
  bpf: Wait for busy refill_work when destroying bpf memory allocator
  bpf: Fix dispatcher patchable function entry to 5 bytes nop
  bpf: prevent decl_tag from being referenced in func_proto
  selftests/bpf: Add reproducer for decl_tag in func_proto return type
  selftests/bpf: Make bpf_user_ringbuf_drain() selftest callback return 1
  bpf: Allow bpf_user_ringbuf_drain() callbacks to return 1
====================
Link: https://lore.kernel.org/r/20221023192244.81137-1-alexei.starovoitov@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/testing/selftests/bpf/prog_tests/btf.c | 13 | ||||
| -rw-r--r-- | tools/testing/selftests/bpf/progs/user_ringbuf_success.c | 4 | 
2 files changed, 15 insertions, 2 deletions
| diff --git a/tools/testing/selftests/bpf/prog_tests/btf.c b/tools/testing/selftests/bpf/prog_tests/btf.c index 127b8caa3dc1..24dd6214394e 100644 --- a/tools/testing/selftests/bpf/prog_tests/btf.c +++ b/tools/testing/selftests/bpf/prog_tests/btf.c @@ -3936,6 +3936,19 @@ static struct btf_raw_test raw_tests[] = {  	.err_str = "Invalid type_id",  },  { +	.descr = "decl_tag test #16, func proto, return type", +	.raw_types = { +		BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4),				/* [1] */ +		BTF_VAR_ENC(NAME_TBD, 1, 0),						/* [2] */ +		BTF_TYPE_ENC(NAME_TBD, BTF_INFO_ENC(BTF_KIND_DECL_TAG, 0, 0), 2), (-1),	/* [3] */ +		BTF_FUNC_PROTO_ENC(3, 0),						/* [4] */ +		BTF_END_RAW, +	}, +	BTF_STR_SEC("\0local\0tag1"), +	.btf_load_err = true, +	.err_str = "Invalid return type", +}, +{  	.descr = "type_tag test #1",  	.raw_types = {  		BTF_TYPE_INT_ENC(0, BTF_INT_SIGNED, 0, 32, 4),	/* [1] */ diff --git a/tools/testing/selftests/bpf/progs/user_ringbuf_success.c b/tools/testing/selftests/bpf/progs/user_ringbuf_success.c index 099c23d9aa21..b39093dd5715 100644 --- a/tools/testing/selftests/bpf/progs/user_ringbuf_success.c +++ b/tools/testing/selftests/bpf/progs/user_ringbuf_success.c @@ -47,14 +47,14 @@ record_sample(struct bpf_dynptr *dynptr, void *context)  		if (status) {  			bpf_printk("bpf_dynptr_read() failed: %d\n", status);  			err = 1; -			return 0; +			return 1;  		}  	} else {  		sample = bpf_dynptr_data(dynptr, 0, sizeof(*sample));  		if (!sample) {  			bpf_printk("Unexpectedly failed to get sample\n");  			err = 2; -			return 0; +			return 1;  		}  		stack_sample = *sample;  	} | 
