2021-02-16 19:41:22

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] bpf: fix a warning message in mark_ptr_not_null_reg()

The WARN_ON() argument is a condition, and it generates a stack trace
but it doesn't print the warning.

Fixes: 4ddb74165ae5 ("bpf: Extract nullable reg type conversion into a helper function")
Signed-off-by: Dan Carpenter <[email protected]>
---
kernel/bpf/verifier.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 056df6be3e30..bd4d1dfca73c 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -1120,7 +1120,7 @@ static void mark_ptr_not_null_reg(struct bpf_reg_state *reg)
reg->type = PTR_TO_RDWR_BUF;
break;
default:
- WARN_ON("unknown nullable register type");
+ WARN(1, "unknown nullable register type");
}
}

--
2.30.0


2021-02-16 21:14:43

by KP Singh

[permalink] [raw]
Subject: Re: [PATCH] bpf: fix a warning message in mark_ptr_not_null_reg()

On Tue, Feb 16, 2021 at 8:37 PM Dan Carpenter <[email protected]> wrote:
>
> The WARN_ON() argument is a condition, and it generates a stack trace
> but it doesn't print the warning.
>
> Fixes: 4ddb74165ae5 ("bpf: Extract nullable reg type conversion into a helper function")
> Signed-off-by: Dan Carpenter <[email protected]>
> ---
> kernel/bpf/verifier.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> index 056df6be3e30..bd4d1dfca73c 100644
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c
> @@ -1120,7 +1120,7 @@ static void mark_ptr_not_null_reg(struct bpf_reg_state *reg)
> reg->type = PTR_TO_RDWR_BUF;
> break;
> default:
> - WARN_ON("unknown nullable register type");
> + WARN(1, "unknown nullable register type");

Should we use WARN_ONCE here? Also, I think the fix should be targeted
for bpf-next as
the patch that introduced this hasn't made it to bpf yet.

[...]

2021-02-17 02:07:32

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [PATCH] bpf: fix a warning message in mark_ptr_not_null_reg()

On 2/16/21 10:10 PM, KP Singh wrote:
> On Tue, Feb 16, 2021 at 8:37 PM Dan Carpenter <[email protected]> wrote:
>>
>> The WARN_ON() argument is a condition, and it generates a stack trace
>> but it doesn't print the warning.
>>
>> Fixes: 4ddb74165ae5 ("bpf: Extract nullable reg type conversion into a helper function")
>> Signed-off-by: Dan Carpenter <[email protected]>
>> ---
>> kernel/bpf/verifier.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
>> index 056df6be3e30..bd4d1dfca73c 100644
>> --- a/kernel/bpf/verifier.c
>> +++ b/kernel/bpf/verifier.c
>> @@ -1120,7 +1120,7 @@ static void mark_ptr_not_null_reg(struct bpf_reg_state *reg)
>> reg->type = PTR_TO_RDWR_BUF;
>> break;
>> default:
>> - WARN_ON("unknown nullable register type");
>> + WARN(1, "unknown nullable register type");
>
> Should we use WARN_ONCE here? Also, I think the fix should be targeted
> for bpf-next as
> the patch that introduced this hasn't made it to bpf yet.
>
> [...]

Usually we have something like `verbose(env, "kernel subsystem misconfigured verifier\n")`,
but in this case we'd need to drag env all the way to here. :/ I agree with WARN_ONCE().

2021-02-17 07:47:34

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH v2 bpf-next] bpf: fix a warning message in mark_ptr_not_null_reg()

The WARN_ON() argument is a condition, not an error message. So this
code will print a stack trace but will not print the warning message.
Fix that and also change it to only WARN_ONCE().

Fixes: 4ddb74165ae5 ("bpf: Extract nullable reg type conversion into a helper function")
Signed-off-by: Dan Carpenter <[email protected]>
---
v2: Use WARN_ONCE().

kernel/bpf/verifier.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 1dda9d81f12c..3d34ba492d46 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -1120,7 +1120,7 @@ static void mark_ptr_not_null_reg(struct bpf_reg_state *reg)
reg->type = PTR_TO_RDWR_BUF;
break;
default:
- WARN_ON("unknown nullable register type");
+ WARN_ONCE(1, "unknown nullable register type");
}
}

--
2.30.0

2021-02-17 22:33:44

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH v2 bpf-next] bpf: fix a warning message in mark_ptr_not_null_reg()

Hello:

This patch was applied to bpf/bpf-next.git (refs/heads/master):

On Wed, 17 Feb 2021 10:45:25 +0300 you wrote:
> The WARN_ON() argument is a condition, not an error message. So this
> code will print a stack trace but will not print the warning message.
> Fix that and also change it to only WARN_ONCE().
>
> Fixes: 4ddb74165ae5 ("bpf: Extract nullable reg type conversion into a helper function")
> Signed-off-by: Dan Carpenter <[email protected]>
>
> [...]

Here is the summary with links:
- [v2,bpf-next] bpf: fix a warning message in mark_ptr_not_null_reg()
https://git.kernel.org/bpf/bpf-next/c/7b1e385c9a48

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html