Message ID | 20210112091403.10458-1-gilad.reti@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | BPF |
Headers | show |
Series | [bpf,1/2] bpf: support PTR_TO_MEM{,_OR_NULL} register spilling | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for bpf |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | success | CCed 10 of 10 maintainers |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 17 this patch: 17 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | fail | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 8 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 17 this patch: 17 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
On Tue, Jan 12, 2021 at 10:14 AM Gilad Reti <gilad.reti@gmail.com> wrote: > > Add support for pointer to mem register spilling, to allow the verifier > to track pointer to valid memory addresses. Such pointers are returned nit: pointers > for example by a successful call of the bpf_ringbuf_reserve helper. > > This patch was suggested as a solution by Yonghong Song. You can use the "Suggested-by:" tag for this. > > The patch was partially contibuted by CyberArk Software, Inc. nit: typo *contributed Also, I was wondering if "partially" here means someone collaborated with you on the patch? And, in that case: "Co-developed-by:" would be a better tag here. Acked-by: KP Singh <kpsingh@kernel.org> > > Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier > support for it") > Signed-off-by: Gilad Reti <gilad.reti@gmail.com> > --- > kernel/bpf/verifier.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > index 17270b8404f1..36af69fac591 100644 > --- a/kernel/bpf/verifier.c > +++ b/kernel/bpf/verifier.c > @@ -2217,6 +2217,8 @@ static bool is_spillable_regtype(enum bpf_reg_type type) > case PTR_TO_RDWR_BUF: > case PTR_TO_RDWR_BUF_OR_NULL: > case PTR_TO_PERCPU_BTF_ID: > + case PTR_TO_MEM: > + case PTR_TO_MEM_OR_NULL: > return true; > default: > return false; > -- > 2.27.0 >
On Tue, Jan 12, 2021 at 3:57 PM KP Singh <kpsingh@kernel.org> wrote: > > On Tue, Jan 12, 2021 at 10:14 AM Gilad Reti <gilad.reti@gmail.com> wrote: > > > > Add support for pointer to mem register spilling, to allow the verifier > > to track pointer to valid memory addresses. Such pointers are returned > > nit: pointers Thanks > > > for example by a successful call of the bpf_ringbuf_reserve helper. > > > > This patch was suggested as a solution by Yonghong Song. > > You can use the "Suggested-by:" tag for this. Thanks > > > > > The patch was partially contibuted by CyberArk Software, Inc. > > nit: typo *contributed Thanks. Should I submit a v2 of the patch to correct all of those? > > Also, I was wondering if "partially" here means someone collaborated with you > on the patch? And, in that case: > > "Co-developed-by:" would be a better tag here. No, I did it alone. I mentioned CyberArk since I work there and did some of the coding during my daily work, so they deserve credit. > > Acked-by: KP Singh <kpsingh@kernel.org> > > > > > > Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier > > support for it") > > Signed-off-by: Gilad Reti <gilad.reti@gmail.com> > > --- > > kernel/bpf/verifier.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > > index 17270b8404f1..36af69fac591 100644 > > --- a/kernel/bpf/verifier.c > > +++ b/kernel/bpf/verifier.c > > @@ -2217,6 +2217,8 @@ static bool is_spillable_regtype(enum bpf_reg_type type) > > case PTR_TO_RDWR_BUF: > > case PTR_TO_RDWR_BUF_OR_NULL: > > case PTR_TO_PERCPU_BTF_ID: > > + case PTR_TO_MEM: > > + case PTR_TO_MEM_OR_NULL: > > return true; > > default: > > return false; > > -- > > 2.27.0 > >
On Tue, Jan 12, 2021 at 3:24 PM Gilad Reti <gilad.reti@gmail.com> wrote: > > On Tue, Jan 12, 2021 at 3:57 PM KP Singh <kpsingh@kernel.org> wrote: > > > > On Tue, Jan 12, 2021 at 10:14 AM Gilad Reti <gilad.reti@gmail.com> wrote: > > > > > > Add support for pointer to mem register spilling, to allow the verifier > > > to track pointer to valid memory addresses. Such pointers are returned > > > > nit: pointers > > Thanks > > > > > > for example by a successful call of the bpf_ringbuf_reserve helper. > > > > > > This patch was suggested as a solution by Yonghong Song. > > > > You can use the "Suggested-by:" tag for this. > > Thanks > > > > > > > > > The patch was partially contibuted by CyberArk Software, Inc. > > > > nit: typo *contributed > > Thanks. Should I submit a v2 of the patch to correct all of those? I think it would be nice to do another revision which also addresses the comments on the other patch. > > > > > Also, I was wondering if "partially" here means someone collaborated with you > > on the patch? And, in that case: > > > > "Co-developed-by:" would be a better tag here. > > No, I did it alone. I mentioned CyberArk since I work there and did some of the > coding during my daily work, so they deserve credit. > > > > > Acked-by: KP Singh <kpsingh@kernel.org> > > > > > > > > > > Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier > > > support for it") > > > Signed-off-by: Gilad Reti <gilad.reti@gmail.com> > > > --- > > > kernel/bpf/verifier.c | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > > > index 17270b8404f1..36af69fac591 100644 > > > --- a/kernel/bpf/verifier.c > > > +++ b/kernel/bpf/verifier.c > > > @@ -2217,6 +2217,8 @@ static bool is_spillable_regtype(enum bpf_reg_type type) > > > case PTR_TO_RDWR_BUF: > > > case PTR_TO_RDWR_BUF_OR_NULL: > > > case PTR_TO_PERCPU_BTF_ID: > > > + case PTR_TO_MEM: > > > + case PTR_TO_MEM_OR_NULL: > > > return true; > > > default: > > > return false; > > > -- > > > 2.27.0 > > >
On Tue, Jan 12, 2021 at 1:14 AM Gilad Reti <gilad.reti@gmail.com> wrote: > > Add support for pointer to mem register spilling, to allow the verifier > to track pointer to valid memory addresses. Such pointers are returned > for example by a successful call of the bpf_ringbuf_reserve helper. > > This patch was suggested as a solution by Yonghong Song. > > The patch was partially contibuted by CyberArk Software, Inc. > > Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier > support for it") Surprised no one mentioned this yet. Fixes tag should always be on a single unwrapped line, however long it is, please fix. > Signed-off-by: Gilad Reti <gilad.reti@gmail.com> > --- > kernel/bpf/verifier.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > index 17270b8404f1..36af69fac591 100644 > --- a/kernel/bpf/verifier.c > +++ b/kernel/bpf/verifier.c > @@ -2217,6 +2217,8 @@ static bool is_spillable_regtype(enum bpf_reg_type type) > case PTR_TO_RDWR_BUF: > case PTR_TO_RDWR_BUF_OR_NULL: > case PTR_TO_PERCPU_BTF_ID: > + case PTR_TO_MEM: > + case PTR_TO_MEM_OR_NULL: > return true; > default: > return false; > -- > 2.27.0 >
On 1/12/21 8:46 PM, Andrii Nakryiko wrote: > On Tue, Jan 12, 2021 at 1:14 AM Gilad Reti <gilad.reti@gmail.com> wrote: >> >> Add support for pointer to mem register spilling, to allow the verifier >> to track pointer to valid memory addresses. Such pointers are returned >> for example by a successful call of the bpf_ringbuf_reserve helper. >> >> This patch was suggested as a solution by Yonghong Song. >> >> The patch was partially contibuted by CyberArk Software, Inc. >> >> Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier >> support for it") > > Surprised no one mentioned this yet. Fixes tag should always be on a > single unwrapped line, however long it is, please fix. Especially for first-time contributors there is usually some luxury that we would have fixed this up on the fly while applying. ;) But given a v2 is going to be sent anyway it's good to point it out for future reference, agree. Thanks, Daniel
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 17270b8404f1..36af69fac591 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -2217,6 +2217,8 @@ static bool is_spillable_regtype(enum bpf_reg_type type) case PTR_TO_RDWR_BUF: case PTR_TO_RDWR_BUF_OR_NULL: case PTR_TO_PERCPU_BTF_ID: + case PTR_TO_MEM: + case PTR_TO_MEM_OR_NULL: return true; default: return false;
Add support for pointer to mem register spilling, to allow the verifier to track pointer to valid memory addresses. Such pointers are returned for example by a successful call of the bpf_ringbuf_reserve helper. This patch was suggested as a solution by Yonghong Song. The patch was partially contibuted by CyberArk Software, Inc. Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier support for it") Signed-off-by: Gilad Reti <gilad.reti@gmail.com> --- kernel/bpf/verifier.c | 2 ++ 1 file changed, 2 insertions(+)