netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next] bpf: remove set but not used variable 'dst_known'
@ 2020-04-13 11:37 Mao Wenan
  2020-04-14 22:05 ` Song Liu
  0 siblings, 1 reply; 8+ messages in thread
From: Mao Wenan @ 2020-04-13 11:37 UTC (permalink / raw)
  To: ast, daniel, kafai, songliubraving, yhs, andriin, john.fastabend,
	kpsingh
  Cc: netdev, bpf, linux-kernel, kernel-janitors

Fixes gcc '-Wunused-but-set-variable' warning:

kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
set but not used [-Wunused-but-set-variable]

It is not used since commit f1174f77b50c ("bpf/verifier:
rework value tracking")

Signed-off-by: Mao Wenan <maowenan@huawei.com>
---
 kernel/bpf/verifier.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 04c6630cc18f..c9f50969a689 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -5600,7 +5600,7 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
 {
 	struct bpf_reg_state *regs = cur_regs(env);
 	u8 opcode = BPF_OP(insn->code);
-	bool src_known, dst_known;
+	bool src_known;
 	s64 smin_val, smax_val;
 	u64 umin_val, umax_val;
 	s32 s32_min_val, s32_max_val;
@@ -5622,7 +5622,6 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
 
 	if (alu32) {
 		src_known = tnum_subreg_is_const(src_reg.var_off);
-		dst_known = tnum_subreg_is_const(dst_reg->var_off);
 		if ((src_known &&
 		     (s32_min_val != s32_max_val || u32_min_val != u32_max_val)) ||
 		    s32_min_val > s32_max_val || u32_min_val > u32_max_val) {
@@ -5634,7 +5633,6 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
 		}
 	} else {
 		src_known = tnum_is_const(src_reg.var_off);
-		dst_known = tnum_is_const(dst_reg->var_off);
 		if ((src_known &&
 		     (smin_val != smax_val || umin_val != umax_val)) ||
 		    smin_val > smax_val || umin_val > umax_val) {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH -next] bpf: remove set but not used variable 'dst_known'
  2020-04-13 11:37 [PATCH -next] bpf: remove set but not used variable 'dst_known' Mao Wenan
@ 2020-04-14 22:05 ` Song Liu
  2020-04-15  1:37   ` maowenan
  0 siblings, 1 reply; 8+ messages in thread
From: Song Liu @ 2020-04-14 22:05 UTC (permalink / raw)
  To: Mao Wenan
  Cc: Alexei Starovoitov, Daniel Borkmann, Martin Lau, Yonghong Song,
	Andrii Nakryiko, john.fastabend, kpsingh, netdev, bpf,
	linux-kernel, kernel-janitors



> On Apr 13, 2020, at 4:37 AM, Mao Wenan <maowenan@huawei.com> wrote:
> 
> Fixes gcc '-Wunused-but-set-variable' warning:
> 
> kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
> set but not used [-Wunused-but-set-variable]
> 
> It is not used since commit f1174f77b50c ("bpf/verifier:
> rework value tracking")

The fix makes sense. But I think f1174f77b50c introduced dst_known, 
so this statement is not accurate. 

> 
> Signed-off-by: Mao Wenan <maowenan@huawei.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH -next] bpf: remove set but not used variable 'dst_known'
  2020-04-14 22:05 ` Song Liu
@ 2020-04-15  1:37   ` maowenan
  2020-04-15  7:23     ` Song Liu
  0 siblings, 1 reply; 8+ messages in thread
From: maowenan @ 2020-04-15  1:37 UTC (permalink / raw)
  To: Song Liu
  Cc: Alexei Starovoitov, Daniel Borkmann, Martin Lau, Yonghong Song,
	Andrii Nakryiko, john.fastabend, kpsingh, netdev, bpf,
	linux-kernel, kernel-janitors

On 2020/4/15 6:05, Song Liu wrote:
> 
> 
>> On Apr 13, 2020, at 4:37 AM, Mao Wenan <maowenan@huawei.com> wrote:
>>
>> Fixes gcc '-Wunused-but-set-variable' warning:
>>
>> kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
>> set but not used [-Wunused-but-set-variable]
>>
>> It is not used since commit f1174f77b50c ("bpf/verifier:
>> rework value tracking")
> 
> The fix makes sense. But I think f1174f77b50c introduced dst_known, 
> so this statement is not accurate. 
> 
thanks for review, yes, f1174f77b50c introduced dst_known, and below commit
doesn't deference variable dst_known. So I send v2 later?
3f50f132d840 ("bpf: Verifier, do explicit ALU32 bounds tracking")

>>
>> Signed-off-by: Mao Wenan <maowenan@huawei.com>
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH -next] bpf: remove set but not used variable 'dst_known'
  2020-04-15  1:37   ` maowenan
@ 2020-04-15  7:23     ` Song Liu
  2020-04-15  7:52       ` maowenan
  0 siblings, 1 reply; 8+ messages in thread
From: Song Liu @ 2020-04-15  7:23 UTC (permalink / raw)
  To: maowenan
  Cc: Alexei Starovoitov, Daniel Borkmann, Martin Lau, Yonghong Song,
	Andrii Nakryiko, john.fastabend, kpsingh, netdev, bpf,
	linux-kernel, kernel-janitors



> On Apr 14, 2020, at 6:37 PM, maowenan <maowenan@huawei.com> wrote:
> 
> On 2020/4/15 6:05, Song Liu wrote:
>> 
>> 
>>> On Apr 13, 2020, at 4:37 AM, Mao Wenan <maowenan@huawei.com> wrote:
>>> 
>>> Fixes gcc '-Wunused-but-set-variable' warning:
>>> 
>>> kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
>>> set but not used [-Wunused-but-set-variable]
>>> 
>>> It is not used since commit f1174f77b50c ("bpf/verifier:
>>> rework value tracking")
>> 
>> The fix makes sense. But I think f1174f77b50c introduced dst_known, 
>> so this statement is not accurate. 
>> 
> thanks for review, yes, f1174f77b50c introduced dst_known, and below commit
> doesn't deference variable dst_known. So I send v2 later?
> 3f50f132d840 ("bpf: Verifier, do explicit ALU32 bounds tracking")

I don't think we need to back port this to stable. So it is OK not to 
include Fixes tag. We can just remove this statement in the commit log.

bpf-next is not open yet. Please send v2 when bpf-next is open. 

Thanks,
Song


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH -next] bpf: remove set but not used variable 'dst_known'
  2020-04-15  7:23     ` Song Liu
@ 2020-04-15  7:52       ` maowenan
  2020-04-18  1:37         ` [PATCH bpf-next v2] " Mao Wenan
  0 siblings, 1 reply; 8+ messages in thread
From: maowenan @ 2020-04-15  7:52 UTC (permalink / raw)
  To: Song Liu
  Cc: Alexei Starovoitov, Daniel Borkmann, Martin Lau, Yonghong Song,
	Andrii Nakryiko, john.fastabend, kpsingh, netdev, bpf,
	linux-kernel, kernel-janitors

On 2020/4/15 15:23, Song Liu wrote:
> 
> 
>> On Apr 14, 2020, at 6:37 PM, maowenan <maowenan@huawei.com> wrote:
>>
>> On 2020/4/15 6:05, Song Liu wrote:
>>>
>>>
>>>> On Apr 13, 2020, at 4:37 AM, Mao Wenan <maowenan@huawei.com> wrote:
>>>>
>>>> Fixes gcc '-Wunused-but-set-variable' warning:
>>>>
>>>> kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
>>>> set but not used [-Wunused-but-set-variable]
>>>>
>>>> It is not used since commit f1174f77b50c ("bpf/verifier:
>>>> rework value tracking")
>>>
>>> The fix makes sense. But I think f1174f77b50c introduced dst_known, 
>>> so this statement is not accurate. 
>>>
>> thanks for review, yes, f1174f77b50c introduced dst_known, and below commit
>> doesn't deference variable dst_known. So I send v2 later?
>> 3f50f132d840 ("bpf: Verifier, do explicit ALU32 bounds tracking")
> 
> I don't think we need to back port this to stable. So it is OK not to 
> include Fixes tag. We can just remove this statement in the commit log.
> 
> bpf-next is not open yet. Please send v2 when bpf-next is open. 
> 
> Thanks,
> Song
> 
OK, I will do that.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH bpf-next v2] bpf: remove set but not used variable 'dst_known'
  2020-04-15  7:52       ` maowenan
@ 2020-04-18  1:37         ` Mao Wenan
  2020-04-18  6:13           ` Song Liu
  0 siblings, 1 reply; 8+ messages in thread
From: Mao Wenan @ 2020-04-18  1:37 UTC (permalink / raw)
  To: ast, daniel, kafai, songliubraving, yhs, andriin, john.fastabend,
	kpsingh
  Cc: netdev, bpf, linux-kernel, kernel-janitors

Fixes gcc '-Wunused-but-set-variable' warning:

kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
set but not used [-Wunused-but-set-variable], delete this
variable.

Signed-off-by: Mao Wenan <maowenan@huawei.com>
---
 v2: remove fixes tag in commit log. 
 kernel/bpf/verifier.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 04c6630cc18f..c9f50969a689 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -5600,7 +5600,7 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
 {
 	struct bpf_reg_state *regs = cur_regs(env);
 	u8 opcode = BPF_OP(insn->code);
-	bool src_known, dst_known;
+	bool src_known;
 	s64 smin_val, smax_val;
 	u64 umin_val, umax_val;
 	s32 s32_min_val, s32_max_val;
@@ -5622,7 +5622,6 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
 
 	if (alu32) {
 		src_known = tnum_subreg_is_const(src_reg.var_off);
-		dst_known = tnum_subreg_is_const(dst_reg->var_off);
 		if ((src_known &&
 		     (s32_min_val != s32_max_val || u32_min_val != u32_max_val)) ||
 		    s32_min_val > s32_max_val || u32_min_val > u32_max_val) {
@@ -5634,7 +5633,6 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
 		}
 	} else {
 		src_known = tnum_is_const(src_reg.var_off);
-		dst_known = tnum_is_const(dst_reg->var_off);
 		if ((src_known &&
 		     (smin_val != smax_val || umin_val != umax_val)) ||
 		    smin_val > smax_val || umin_val > umax_val) {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH bpf-next v2] bpf: remove set but not used variable 'dst_known'
  2020-04-18  1:37         ` [PATCH bpf-next v2] " Mao Wenan
@ 2020-04-18  6:13           ` Song Liu
  2020-04-21  3:23             ` Alexei Starovoitov
  0 siblings, 1 reply; 8+ messages in thread
From: Song Liu @ 2020-04-18  6:13 UTC (permalink / raw)
  To: Mao Wenan
  Cc: ast, daniel, Martin Lau, Yonghong Song, Andrii Nakryiko,
	john.fastabend, kpsingh, netdev, bpf, linux-kernel,
	kernel-janitors



> On Apr 17, 2020, at 6:37 PM, Mao Wenan <maowenan@huawei.com> wrote:
> 
> Fixes gcc '-Wunused-but-set-variable' warning:
> 
> kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
> set but not used [-Wunused-but-set-variable], delete this
> variable.
> 
> Signed-off-by: Mao Wenan <maowenan@huawei.com>

Acked-by: Song Liu <songliubraving@fb.com>

With one nit below. 

> ---
> v2: remove fixes tag in commit log. 
> kernel/bpf/verifier.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> index 04c6630cc18f..c9f50969a689 100644
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c
> @@ -5600,7 +5600,7 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
> {
> 	struct bpf_reg_state *regs = cur_regs(env);
> 	u8 opcode = BPF_OP(insn->code);
> -	bool src_known, dst_known;
> +	bool src_known;

This is not a hard rule, but we prefer to keep variable definition in 
"reverse Christmas tree" order. Since we are on this function, let's 
reorder these definitions to something like:

        u64 insn_bitness = (BPF_CLASS(insn->code) == BPF_ALU64) ? 64 : 32;
        struct bpf_reg_state *regs = cur_regs(env);
        u8 opcode = BPF_OP(insn->code);
        u32 dst = insn->dst_reg;
        s64 smin_val, smax_val;
        u64 umin_val, umax_val;
        bool src_known;
        int ret;



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH bpf-next v2] bpf: remove set but not used variable 'dst_known'
  2020-04-18  6:13           ` Song Liu
@ 2020-04-21  3:23             ` Alexei Starovoitov
  0 siblings, 0 replies; 8+ messages in thread
From: Alexei Starovoitov @ 2020-04-21  3:23 UTC (permalink / raw)
  To: Song Liu
  Cc: Mao Wenan, ast, daniel, Martin Lau, Yonghong Song,
	Andrii Nakryiko, john.fastabend, kpsingh, netdev, bpf,
	linux-kernel, kernel-janitors, kernel-team

On Sat, Apr 18, 2020 at 06:13:48AM +0000, Song Liu wrote:
> 
> 
> > On Apr 17, 2020, at 6:37 PM, Mao Wenan <maowenan@huawei.com> wrote:
> > 
> > Fixes gcc '-Wunused-but-set-variable' warning:
> > 
> > kernel/bpf/verifier.c:5603:18: warning: variable ‘dst_known’
> > set but not used [-Wunused-but-set-variable], delete this
> > variable.
> > 
> > Signed-off-by: Mao Wenan <maowenan@huawei.com>
> 
> Acked-by: Song Liu <songliubraving@fb.com>
> 
> With one nit below. 
> 
> > ---
> > v2: remove fixes tag in commit log. 
> > kernel/bpf/verifier.c | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> > 
> > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> > index 04c6630cc18f..c9f50969a689 100644
> > --- a/kernel/bpf/verifier.c
> > +++ b/kernel/bpf/verifier.c
> > @@ -5600,7 +5600,7 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
> > {
> > 	struct bpf_reg_state *regs = cur_regs(env);
> > 	u8 opcode = BPF_OP(insn->code);
> > -	bool src_known, dst_known;
> > +	bool src_known;
> 
> This is not a hard rule, but we prefer to keep variable definition in 
> "reverse Christmas tree" order. Since we are on this function, let's 
> reorder these definitions to something like:
> 
>         u64 insn_bitness = (BPF_CLASS(insn->code) == BPF_ALU64) ? 64 : 32;
>         struct bpf_reg_state *regs = cur_regs(env);
>         u8 opcode = BPF_OP(insn->code);
>         u32 dst = insn->dst_reg;
>         s64 smin_val, smax_val;
>         u64 umin_val, umax_val;
>         bool src_known;
>         int ret;

I don't want folks to keep re-sorting variables and making patches difficult
to backport, do git blame, causing bpf vs bpf-next conflicts, etc.

reverse xmas tree is not mandatory. It's a style preference.
I personally do it for new code, but very rarely for fixes.
And certainly not for this kind of cleanup.

Applied. Thanks

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-04-21  3:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-13 11:37 [PATCH -next] bpf: remove set but not used variable 'dst_known' Mao Wenan
2020-04-14 22:05 ` Song Liu
2020-04-15  1:37   ` maowenan
2020-04-15  7:23     ` Song Liu
2020-04-15  7:52       ` maowenan
2020-04-18  1:37         ` [PATCH bpf-next v2] " Mao Wenan
2020-04-18  6:13           ` Song Liu
2020-04-21  3:23             ` Alexei Starovoitov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).