diff mbox series

bpf: hide a possibly unused variable

Message ID 20180220211658.2653840-1-arnd@arndb.de
State New
Headers show
Series bpf: hide a possibly unused variable | expand

Commit Message

Arnd Bergmann Feb. 20, 2018, 9:16 p.m. UTC
The only user of this variable is inside of an #ifdef, causing
a warning without CONFIG_INET:

net/core/filter.c: In function '____bpf_sock_ops_cb_flags_set':
net/core/filter.c:3382:6: error: unused variable 'val' [-Werror=unused-variable]
  int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;

This adds the same #ifdef around the declaration.

Fixes: b13d88072172 ("bpf: Adds field bpf_sock_ops_cb_flags to tcp_sock")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 net/core/filter.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.9.0

Comments

Daniel Borkmann Feb. 20, 2018, 9:44 p.m. UTC | #1
Hi Arnd,

On 02/20/2018 10:16 PM, Arnd Bergmann wrote:
> The only user of this variable is inside of an #ifdef, causing

> a warning without CONFIG_INET:

> 

> net/core/filter.c: In function '____bpf_sock_ops_cb_flags_set':

> net/core/filter.c:3382:6: error: unused variable 'val' [-Werror=unused-variable]

>   int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;

> 

> This adds the same #ifdef around the declaration.

> 

> Fixes: b13d88072172 ("bpf: Adds field bpf_sock_ops_cb_flags to tcp_sock")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> ---

>  net/core/filter.c | 2 ++

>  1 file changed, 2 insertions(+)

> 

> diff --git a/net/core/filter.c b/net/core/filter.c

> index 08ab4c65a998..c3dc6d60b4bb 100644

> --- a/net/core/filter.c

> +++ b/net/core/filter.c

> @@ -3379,7 +3379,9 @@ BPF_CALL_2(bpf_sock_ops_cb_flags_set, struct bpf_sock_ops_kern *, bpf_sock,

>  	   int, argval)

>  {

>  	struct sock *sk = bpf_sock->sk;

> +#ifdef CONFIG_INET

>  	int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;

> +#endif


Looks good, thanks for the fix!

Could you move the existing '#ifdef CONFIG_INET' to the beginning of
the function given the only error in case of !CONFIG_INET is -EINVAL
anyway? That would at least not increase the ifdef ugliness further.

Thanks a lot,
Daniel

>  	if (!sk_fullsock(sk))

>  		return -EINVAL;

>
Arnd Bergmann Feb. 20, 2018, 10:08 p.m. UTC | #2
On Tue, Feb 20, 2018 at 10:44 PM, Daniel Borkmann <daniel@iogearbox.net> wrote:
> Hi Arnd,

>

> On 02/20/2018 10:16 PM, Arnd Bergmann wrote:

>> The only user of this variable is inside of an #ifdef, causing

>> a warning without CONFIG_INET:

>>

>> net/core/filter.c: In function '____bpf_sock_ops_cb_flags_set':

>> net/core/filter.c:3382:6: error: unused variable 'val' [-Werror=unused-variable]

>>   int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;

>>

>> This adds the same #ifdef around the declaration.

>>

>> Fixes: b13d88072172 ("bpf: Adds field bpf_sock_ops_cb_flags to tcp_sock")

>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>> ---

>>  net/core/filter.c | 2 ++

>>  1 file changed, 2 insertions(+)

>>

>> diff --git a/net/core/filter.c b/net/core/filter.c

>> index 08ab4c65a998..c3dc6d60b4bb 100644

>> --- a/net/core/filter.c

>> +++ b/net/core/filter.c

>> @@ -3379,7 +3379,9 @@ BPF_CALL_2(bpf_sock_ops_cb_flags_set, struct bpf_sock_ops_kern *, bpf_sock,

>>          int, argval)

>>  {

>>       struct sock *sk = bpf_sock->sk;

>> +#ifdef CONFIG_INET

>>       int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;

>> +#endif

>

> Looks good, thanks for the fix!

>

> Could you move the existing '#ifdef CONFIG_INET' to the beginning of

> the function given the only error in case of !CONFIG_INET is -EINVAL

> anyway? That would at least not increase the ifdef ugliness further.


Sure, sent a new version now. I decided to clean up that #ifdef
check as well, since a IS_ENABLED() check is nicer anway.

       Arnd
Daniel Borkmann Feb. 20, 2018, 10:12 p.m. UTC | #3
On 02/20/2018 11:08 PM, Arnd Bergmann wrote:
> On Tue, Feb 20, 2018 at 10:44 PM, Daniel Borkmann <daniel@iogearbox.net> wrote:

>> Hi Arnd,

>>

>> On 02/20/2018 10:16 PM, Arnd Bergmann wrote:

>>> The only user of this variable is inside of an #ifdef, causing

>>> a warning without CONFIG_INET:

>>>

>>> net/core/filter.c: In function '____bpf_sock_ops_cb_flags_set':

>>> net/core/filter.c:3382:6: error: unused variable 'val' [-Werror=unused-variable]

>>>   int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;

>>>

>>> This adds the same #ifdef around the declaration.

>>>

>>> Fixes: b13d88072172 ("bpf: Adds field bpf_sock_ops_cb_flags to tcp_sock")

>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>>> ---

>>>  net/core/filter.c | 2 ++

>>>  1 file changed, 2 insertions(+)

>>>

>>> diff --git a/net/core/filter.c b/net/core/filter.c

>>> index 08ab4c65a998..c3dc6d60b4bb 100644

>>> --- a/net/core/filter.c

>>> +++ b/net/core/filter.c

>>> @@ -3379,7 +3379,9 @@ BPF_CALL_2(bpf_sock_ops_cb_flags_set, struct bpf_sock_ops_kern *, bpf_sock,

>>>          int, argval)

>>>  {

>>>       struct sock *sk = bpf_sock->sk;

>>> +#ifdef CONFIG_INET

>>>       int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;

>>> +#endif

>>

>> Looks good, thanks for the fix!

>>

>> Could you move the existing '#ifdef CONFIG_INET' to the beginning of

>> the function given the only error in case of !CONFIG_INET is -EINVAL

>> anyway? That would at least not increase the ifdef ugliness further.

> 

> Sure, sent a new version now. I decided to clean up that #ifdef

> check as well, since a IS_ENABLED() check is nicer anway.


Looks great, thanks! I'll get it into bpf once the pending pr got pulled.
diff mbox series

Patch

diff --git a/net/core/filter.c b/net/core/filter.c
index 08ab4c65a998..c3dc6d60b4bb 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -3379,7 +3379,9 @@  BPF_CALL_2(bpf_sock_ops_cb_flags_set, struct bpf_sock_ops_kern *, bpf_sock,
 	   int, argval)
 {
 	struct sock *sk = bpf_sock->sk;
+#ifdef CONFIG_INET
 	int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;
+#endif
 
 	if (!sk_fullsock(sk))
 		return -EINVAL;