2022-02-23 15:34:55

by Dmitry Safonov

[permalink] [raw]
Subject: [PATCH net-next] net/ip6mr: Fix build with !CONFIG_IPV6_PIMSM_V2

The following build-error on my config:
net/ipv6/ip6mr.c: In function ‘ip6_mroute_setsockopt’:
net/ipv6/ip6mr.c:1656:14: error: unused variable ‘do_wrmifwhole’ [-Werror=unused-variable]
1656 | bool do_wrmifwhole;
| ^

Cc: Mobashshera Rasool <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: Hideaki YOSHIFUJI <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: [email protected]
Fixes: 4b340a5a726d
Signed-off-by: Dmitry Safonov <[email protected]>
---
net/ipv6/ip6mr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
index a9775c830194..4e74bc61a3db 100644
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -1653,7 +1653,6 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, sockptr_t optval,
mifi_t mifi;
struct net *net = sock_net(sk);
struct mr_table *mrt;
- bool do_wrmifwhole;

if (sk->sk_type != SOCK_RAW ||
inet_sk(sk)->inet_num != IPPROTO_ICMPV6)
@@ -1761,6 +1760,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, sockptr_t optval,
#ifdef CONFIG_IPV6_PIMSM_V2
case MRT6_PIM:
{
+ bool do_wrmifwhole;
int v;

if (optlen != sizeof(v))

base-commit: 922ea87ff6f2b63f413c6afa2c25b287dce76639
--
2.35.1


2022-02-25 07:40:53

by David Ahern

[permalink] [raw]
Subject: Re: [PATCH net-next] net/ip6mr: Fix build with !CONFIG_IPV6_PIMSM_V2

On 2/23/22 5:17 AM, Dmitry Safonov wrote:
> diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
> index a9775c830194..4e74bc61a3db 100644
> --- a/net/ipv6/ip6mr.c
> +++ b/net/ipv6/ip6mr.c
> @@ -1653,7 +1653,6 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, sockptr_t optval,
> mifi_t mifi;
> struct net *net = sock_net(sk);
> struct mr_table *mrt;
> - bool do_wrmifwhole;
>
> if (sk->sk_type != SOCK_RAW ||
> inet_sk(sk)->inet_num != IPPROTO_ICMPV6)
> @@ -1761,6 +1760,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, sockptr_t optval,
> #ifdef CONFIG_IPV6_PIMSM_V2
> case MRT6_PIM:
> {
> + bool do_wrmifwhole;
> int v;
>
> if (optlen != sizeof(v))
>
> base-commit: 922ea87ff6f2b63f413c6afa2c25b287dce76639

you could do one better and move it under the
'if (v != mrt->mroute_do_pim) {'

so that the do_wrmifwhole check is only done when needed

2022-02-26 02:02:54

by Dmitry Safonov

[permalink] [raw]
Subject: Re: [PATCH net-next] net/ip6mr: Fix build with !CONFIG_IPV6_PIMSM_V2

On 2/25/22 03:00, David Ahern wrote:
> On 2/23/22 5:17 AM, Dmitry Safonov wrote:
>> diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
>> index a9775c830194..4e74bc61a3db 100644
>> --- a/net/ipv6/ip6mr.c
>> +++ b/net/ipv6/ip6mr.c
>> @@ -1653,7 +1653,6 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, sockptr_t optval,
>> mifi_t mifi;
>> struct net *net = sock_net(sk);
>> struct mr_table *mrt;
>> - bool do_wrmifwhole;
>>
>> if (sk->sk_type != SOCK_RAW ||
>> inet_sk(sk)->inet_num != IPPROTO_ICMPV6)
>> @@ -1761,6 +1760,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, sockptr_t optval,
>> #ifdef CONFIG_IPV6_PIMSM_V2
>> case MRT6_PIM:
>> {
>> + bool do_wrmifwhole;
>> int v;
>>
>> if (optlen != sizeof(v))
>>
>> base-commit: 922ea87ff6f2b63f413c6afa2c25b287dce76639
>
> you could do one better and move it under the
> 'if (v != mrt->mroute_do_pim) {'
>
> so that the do_wrmifwhole check is only done when needed

I've tried to keep it simple and just to fix the build as I don't know
which tests to run.
Anyway, I sent v2:
https://lore.kernel.org/all/[email protected]/T/#u

Is it what you meant?

Thanks,
Dmitry