From: Yang Jihong <yangjihong1@huawei.com> To: <ast@kernel.org>, <daniel@iogearbox.net>, <andrii@kernel.org>, <martin.lau@linux.dev>, <song@kernel.org>, <yhs@fb.com>, <john.fastabend@gmail.com>, <kpsingh@kernel.org>, <sdf@google.com>, <haoluo@google.com>, <jolsa@kernel.org>, <illusionist.neo@gmail.com>, <linux@armlinux.org.uk>, <davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>, <mykolal@fb.com>, <shuah@kernel.org>, <benjamin.tissoires@redhat.com>, <memxor@gmail.com>, <asavkov@redhat.com>, <delyank@fb.com>, <bpf@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>, <linux-kselftest@vger.kernel.org> Cc: <yangjihong1@huawei.com> Subject: [PATCH bpf v2 0/5] bpf: Support kernel function call in 32-bit ARM Date: Mon, 7 Nov 2022 17:20:27 +0800 [thread overview] Message-ID: <20221107092032.178235-1-yangjihong1@huawei.com> (raw) 1. Patch1 is dependent patch to fix zext extension error in 32-bit ARM. 2. Patch2 and patch3 solve the problem that the bpf check fails because load's mem size is modified in CO_RE from the kernel and user modes, Currently, there are different opinions and a final solution needs to be selected. 3. Patch4 supports bpf fkunc in 32-bit ARM for EABI. 4. Patch5 is used to add test cases to cover some parameter scenarios states by AAPCS. The following is the test_progs result in the 32-bit ARM environment: # uname -m armv7l # echo 1 > /proc/sys/net/core/bpf_jit_enable # ./test_progs -t kfunc_call #1/1 kfunc_call/kfunc_syscall_test_fail:OK #1/2 kfunc_call/kfunc_syscall_test_null_fail:OK #1/3 kfunc_call/kfunc_call_test_get_mem_fail_rdonly:OK #1/4 kfunc_call/kfunc_call_test_get_mem_fail_use_after_free:OK #1/5 kfunc_call/kfunc_call_test_get_mem_fail_oob:OK #1/6 kfunc_call/kfunc_call_test_get_mem_fail_not_const:OK #1/7 kfunc_call/kfunc_call_test_mem_acquire_fail:OK #1/8 kfunc_call/kfunc_call_test1:OK #1/9 kfunc_call/kfunc_call_test2:OK #1/10 kfunc_call/kfunc_call_test4:OK #1/11 kfunc_call/kfunc_call_test_ref_btf_id:OK #1/12 kfunc_call/kfunc_call_test_get_mem:OK #1/13 kfunc_call/kfunc_syscall_test:OK #1/14 kfunc_call/kfunc_syscall_test_null:OK #1/17 kfunc_call/destructive:OK Yang Jihong (5): bpf: Adapt 32-bit return value kfunc for 32-bit ARM when zext extension bpf: Adjust sk size check for sk in bpf_skb_is_valid_access for CO_RE in 32-bit arch libbpf: Skip adjust mem size for load pointer in 32-bit arch in CO_RE bpf: Add kernel function call support in 32-bit ARM for EABI bpf:selftests: Add kfunc_call test for mixing 32-bit and 64-bit parameters arch/arm/net/bpf_jit_32.c | 142 ++++++++++++++++++ kernel/bpf/verifier.c | 3 + net/bpf/test_run.c | 18 +++ net/core/filter.c | 8 +- tools/lib/bpf/libbpf.c | 34 ++++- .../selftests/bpf/prog_tests/kfunc_call.c | 3 + .../selftests/bpf/progs/kfunc_call_test.c | 52 +++++++ 7 files changed, 254 insertions(+), 6 deletions(-) -- 2.30.GIT
WARNING: multiple messages have this Message-ID (diff)
From: Yang Jihong <yangjihong1@huawei.com> To: <ast@kernel.org>, <daniel@iogearbox.net>, <andrii@kernel.org>, <martin.lau@linux.dev>, <song@kernel.org>, <yhs@fb.com>, <john.fastabend@gmail.com>, <kpsingh@kernel.org>, <sdf@google.com>, <haoluo@google.com>, <jolsa@kernel.org>, <illusionist.neo@gmail.com>, <linux@armlinux.org.uk>, <davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>, <mykolal@fb.com>, <shuah@kernel.org>, <benjamin.tissoires@redhat.com>, <memxor@gmail.com>, <asavkov@redhat.com>, <delyank@fb.com>, <bpf@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>, <linux-kselftest@vger.kernel.org> Cc: <yangjihong1@huawei.com> Subject: [PATCH bpf v2 0/5] bpf: Support kernel function call in 32-bit ARM Date: Mon, 7 Nov 2022 17:20:27 +0800 [thread overview] Message-ID: <20221107092032.178235-1-yangjihong1@huawei.com> (raw) 1. Patch1 is dependent patch to fix zext extension error in 32-bit ARM. 2. Patch2 and patch3 solve the problem that the bpf check fails because load's mem size is modified in CO_RE from the kernel and user modes, Currently, there are different opinions and a final solution needs to be selected. 3. Patch4 supports bpf fkunc in 32-bit ARM for EABI. 4. Patch5 is used to add test cases to cover some parameter scenarios states by AAPCS. The following is the test_progs result in the 32-bit ARM environment: # uname -m armv7l # echo 1 > /proc/sys/net/core/bpf_jit_enable # ./test_progs -t kfunc_call #1/1 kfunc_call/kfunc_syscall_test_fail:OK #1/2 kfunc_call/kfunc_syscall_test_null_fail:OK #1/3 kfunc_call/kfunc_call_test_get_mem_fail_rdonly:OK #1/4 kfunc_call/kfunc_call_test_get_mem_fail_use_after_free:OK #1/5 kfunc_call/kfunc_call_test_get_mem_fail_oob:OK #1/6 kfunc_call/kfunc_call_test_get_mem_fail_not_const:OK #1/7 kfunc_call/kfunc_call_test_mem_acquire_fail:OK #1/8 kfunc_call/kfunc_call_test1:OK #1/9 kfunc_call/kfunc_call_test2:OK #1/10 kfunc_call/kfunc_call_test4:OK #1/11 kfunc_call/kfunc_call_test_ref_btf_id:OK #1/12 kfunc_call/kfunc_call_test_get_mem:OK #1/13 kfunc_call/kfunc_syscall_test:OK #1/14 kfunc_call/kfunc_syscall_test_null:OK #1/17 kfunc_call/destructive:OK Yang Jihong (5): bpf: Adapt 32-bit return value kfunc for 32-bit ARM when zext extension bpf: Adjust sk size check for sk in bpf_skb_is_valid_access for CO_RE in 32-bit arch libbpf: Skip adjust mem size for load pointer in 32-bit arch in CO_RE bpf: Add kernel function call support in 32-bit ARM for EABI bpf:selftests: Add kfunc_call test for mixing 32-bit and 64-bit parameters arch/arm/net/bpf_jit_32.c | 142 ++++++++++++++++++ kernel/bpf/verifier.c | 3 + net/bpf/test_run.c | 18 +++ net/core/filter.c | 8 +- tools/lib/bpf/libbpf.c | 34 ++++- .../selftests/bpf/prog_tests/kfunc_call.c | 3 + .../selftests/bpf/progs/kfunc_call_test.c | 52 +++++++ 7 files changed, 254 insertions(+), 6 deletions(-) -- 2.30.GIT _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2022-11-07 9:23 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-11-07 9:20 Yang Jihong [this message] 2022-11-07 9:20 ` [PATCH bpf v2 0/5] bpf: Support kernel function call in 32-bit ARM Yang Jihong 2022-11-07 9:20 ` [PATCH bpf v2 1/5] bpf: Adapt 32-bit return value kfunc for 32-bit ARM when zext extension Yang Jihong 2022-11-07 9:20 ` Yang Jihong 2022-11-08 23:12 ` Martin KaFai Lau 2022-11-08 23:12 ` Martin KaFai Lau 2022-11-26 9:45 ` Yang Jihong 2022-11-26 9:45 ` Yang Jihong 2022-11-07 9:20 ` [PATCH bpf v2 2/5] bpf: Adjust sk size check for sk in bpf_skb_is_valid_access for CO_RE in 32-bit arch Yang Jihong 2022-11-07 9:20 ` Yang Jihong 2022-11-07 9:20 ` [PATCH bpf v2 3/5] libbpf: Skip adjust mem size for load pointer in 32-bit arch in CO_RE Yang Jihong 2022-11-07 9:20 ` Yang Jihong 2022-11-08 1:22 ` Andrii Nakryiko 2022-11-08 1:22 ` Andrii Nakryiko 2022-11-08 2:44 ` Yang Jihong 2022-11-08 2:44 ` Yang Jihong 2022-11-07 9:20 ` [PATCH bpf v2 4/5] bpf: Add kernel function call support in 32-bit ARM for EABI Yang Jihong 2022-11-07 9:20 ` Yang Jihong 2022-11-07 12:33 ` Russell King (Oracle) 2022-11-07 12:33 ` Russell King (Oracle) 2022-11-08 0:52 ` Yang Jihong 2022-11-08 0:52 ` Yang Jihong 2022-11-07 9:20 ` [PATCH bpf v2 5/5] bpf:selftests: Add kfunc_call test for mixing 32-bit and 64-bit parameters Yang Jihong 2022-11-07 9:20 ` Yang Jihong
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221107092032.178235-1-yangjihong1@huawei.com \ --to=yangjihong1@huawei.com \ --cc=andrii@kernel.org \ --cc=asavkov@redhat.com \ --cc=ast@kernel.org \ --cc=benjamin.tissoires@redhat.com \ --cc=bpf@vger.kernel.org \ --cc=daniel@iogearbox.net \ --cc=davem@davemloft.net \ --cc=delyank@fb.com \ --cc=edumazet@google.com \ --cc=haoluo@google.com \ --cc=illusionist.neo@gmail.com \ --cc=john.fastabend@gmail.com \ --cc=jolsa@kernel.org \ --cc=kpsingh@kernel.org \ --cc=kuba@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=martin.lau@linux.dev \ --cc=memxor@gmail.com \ --cc=mykolal@fb.com \ --cc=netdev@vger.kernel.org \ --cc=pabeni@redhat.com \ --cc=sdf@google.com \ --cc=shuah@kernel.org \ --cc=song@kernel.org \ --cc=yhs@fb.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.