[PATCH] Signed-off-by: giladreti <gilad.reti@gmail.com>

Subsystems: bpf [core], bpf [general] (safe dynamic programs and tools), the rest

STALE2101d

5 messages, 4 authors, 2021-01-11 · open the first message on its own page

[PATCH] Signed-off-by: giladreti <gilad.reti@gmail.com>

From: giladreti <hidden>
Date: 2021-01-11 15:32:14

Added 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.
---
 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

Re: [PATCH] Signed-off-by: giladreti <gilad.reti@gmail.com>

From: Marek Behún <kabel@kernel.org>
Date: 2021-01-11 15:52:35

The Signed-off-by line should be last in the commit message, not first.
First line (which becomes e-mail subject) should describe what the
commit does (in a short one liner) and where it does it.

So for your patch it could be something like
  bpf: support pointer to mem register spilling in verifier

The commit message should be written in present simple tense, not past
simple, ie. not "Added support" but "Add support".

Also we need your name and surname in From: header and Signed-off-by:
tag. So instead of
  giladreti [off-list ref]
it should be
  Gilad Reti [off-list ref]
if that is your real time. If it is not, please provide your real name.

On Mon, 11 Jan 2021 17:31:23 +0200
giladreti [off-list ref] wrote:
quoted hunk
Added 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.
---
 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;

Re: [PATCH] Signed-off-by: giladreti <gilad.reti@gmail.com>

From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2021-01-11 15:56:45

Hello Gilad,

On 1/11/21 4:31 PM, giladreti wrote:
Added 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 SoB should not be in subject line but as part of the commit message instead
and with proper name, e.g.

Signed-off-by: Gilad Reti <redacted>

For subject line, please use a short summary that fits the patch prefixed with
the subsystem "bpf: [...]", see also [0] as an example. Thanks.

It would be good if you could also add a BPF selftest for this [1].

  [0] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=e22d7f05e445165e58feddb4e40cc9c0f94453bc
  [1] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/
      https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/verifier/spill_fill.c
quoted hunk
---
  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;

Re: [PATCH] Signed-off-by: giladreti <gilad.reti@gmail.com>

From: Gilad Reti <hidden>
Date: 2021-01-11 16:05:34

On Mon, Jan 11, 2021, 17:55 Daniel Borkmann [off-list ref] wrote:
Hello Gilad,

On 1/11/21 4:31 PM, giladreti wrote:
quoted
Added 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 SoB should not be in subject line but as part of the commit message instead
and with proper name, e.g.

Signed-off-by: Gilad Reti <redacted>

For subject line, please use a short summary that fits the patch prefixed with
the subsystem "bpf: [...]", see also [0] as an example. Thanks.

It would be good if you could also add a BPF selftest for this [1].

   [0] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=e22d7f05e445165e58feddb4e40cc9c0f94453bc
   [1] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/
       https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/verifier/spill_fill.c
Sure. Thanks for your guidance. As you can probably tell, I am new to
kernel code contribution (in fact this is a first time for me).
Should I try to submit this patch again?

Sorry in advance for all the overhead I may be causing to you...
quoted
---
  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;

Re: [PATCH] Signed-off-by: giladreti <gilad.reti@gmail.com>

From: Andrii Nakryiko <hidden>
Date: 2021-01-11 20:40:08

On Mon, Jan 11, 2021 at 8:06 AM Gilad Reti [off-list ref] wrote:
On Mon, Jan 11, 2021, 17:55 Daniel Borkmann [off-list ref] wrote:
quoted
Hello Gilad,

On 1/11/21 4:31 PM, giladreti wrote:
quoted
Added 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 SoB should not be in subject line but as part of the commit message instead
and with proper name, e.g.

Signed-off-by: Gilad Reti <redacted>

For subject line, please use a short summary that fits the patch prefixed with
the subsystem "bpf: [...]", see also [0] as an example. Thanks.

It would be good if you could also add a BPF selftest for this [1].

   [0] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=e22d7f05e445165e58feddb4e40cc9c0f94453bc
   [1] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/
       https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/verifier/spill_fill.c
Sure. Thanks for your guidance. As you can probably tell, I am new to
kernel code contribution (in fact this is a first time for me).
Should I try to submit this patch again?
In addition to all already mentioned things, also make sure you have
[PATCH bpf] prefix in the subject, to identify that this is a bug fix
for the bpf tree.

Also you missed adding Fixes tag, please add this:

Fixes: 457f44363a88 ("bpf: Implement BPF ring buffer and verifier
support for it")

And yes, please re-submit with all the feedback incorporated
(including the selftest).
Sorry in advance for all the overhead I may be causing to you...
quoted
quoted
---
  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;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help