[PATCH bpf] bpf: fix unused-var without NETDEVICES

From: Matthieu Baerts
Date: Wed Jun 03 2020 - 04:12:04 EST


A recent commit added new variables only used if CONFIG_NETDEVICES is
set. A simple fix is to only declare these variables if the same
condition is valid.

Other solutions could be to move the code related to SO_BINDTODEVICE
option from _bpf_setsockopt() function to a dedicated one or only
declare these variables in the related "case" section.

Fixes: 70c58997c1e8 ("bpf: Allow SO_BINDTODEVICE opt in bpf_setsockopt")
Signed-off-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx>
---

Notes:
This fix currently applies on net-next and bpf-next only. Except that
net-next is now closed and -net will get commits from net-next after
Linus' pull.

I hope it is fine to have picked [PATCH bpf] and not bpf-next (or net).

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

diff --git a/net/core/filter.c b/net/core/filter.c
index d01a244b5087..ee08c6fcee1a 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -4286,9 +4286,11 @@ static const struct bpf_func_proto bpf_get_socket_uid_proto = {
static int _bpf_setsockopt(struct sock *sk, int level, int optname,
char *optval, int optlen, u32 flags)
{
+#ifdef CONFIG_NETDEVICES
char devname[IFNAMSIZ];
struct net *net;
int ifindex;
+#endif
int ret = 0;
int val;

--
2.25.1