diff mbox series

[V2,-next] mptcp/pm_netlink.c : add check for nla_put_in/6_addr

Message ID 20200422013433.qzlthtmx4c7mmlh3@host
State Superseded
Delegated to: David Miller
Headers show
Series [V2,-next] mptcp/pm_netlink.c : add check for nla_put_in/6_addr | expand

Commit Message

Bo YU April 22, 2020, 1:34 a.m. UTC
Normal there should be checked for nla_put_in6_addr like other
usage in net.

Detected by CoverityScan, CID# 1461639

Fixes: 01cacb00b35c("mptcp: add netlink-based PM")
Signed-off-by: Bo YU <tsu.yubo@gmail.com>
---
V2: Add check for nla_put_in_addr suggested by Paolo Abeni
---
 net/mptcp/pm_netlink.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

--
2.11.0

Comments

Paolo Abeni April 22, 2020, 10:12 a.m. UTC | #1
On Wed, 2020-04-22 at 09:34 +0800, Bo YU wrote:
> Normal there should be checked for nla_put_in6_addr like other
> usage in net.
> 
> Detected by CoverityScan, CID# 1461639
> 
> Fixes: 01cacb00b35c("mptcp: add netlink-based PM")
> Signed-off-by: Bo YU <tsu.yubo@gmail.com>
> ---
> V2: Add check for nla_put_in_addr suggested by Paolo Abeni

Thank you for addressing my feedback!

> ---
>  net/mptcp/pm_netlink.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
> index 86d61ab34c7c..0a39f0ebad76 100644
> --- a/net/mptcp/pm_netlink.c
> +++ b/net/mptcp/pm_netlink.c
> @@ -599,12 +599,15 @@ static int mptcp_nl_fill_addr(struct sk_buff *skb,
>  	    nla_put_s32(skb, MPTCP_PM_ADDR_ATTR_IF_IDX, entry->ifindex))
>  		goto nla_put_failure;
> 
> -	if (addr->family == AF_INET)
> +	if (addr->family == AF_INET &&
>  		nla_put_in_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR4,
> -				addr->addr.s_addr);
> +				addr->addr.s_addr))
> +		goto nla_put_failure;
> +

I'm very sorry about the nit-picking, but the above is now a single
statement, and indentation should be adjusted accordingly:
'nla_put_in_addr()' should be aligned with 'addr->family'.

The same applies to the chunk below.

>  #if IS_ENABLED(CONFIG_MPTCP_IPV6)
> -	else if (addr->family == AF_INET6)
> -		nla_put_in6_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR6, &addr->addr6);
> +	else if (addr->family == AF_INET6 &&
> +		nla_put_in6_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR6, &addr->addr6))
> +		goto nla_put_failure;
>  #endif
>  	nla_nest_end(skb, attr);
>  	return 0;

Otherwise LGTM, thanks!

Paolo
Bo YU April 22, 2020, 2:56 p.m. UTC | #2
On Wed, Apr 22, 2020 at 12:12:27PM +0200, Paolo Abeni wrote:
>On Wed, 2020-04-22 at 09:34 +0800, Bo YU wrote:
>> Normal there should be checked for nla_put_in6_addr like other
>> usage in net.
>>
>> Detected by CoverityScan, CID# 1461639
>>
>> Fixes: 01cacb00b35c("mptcp: add netlink-based PM")
>> Signed-off-by: Bo YU <tsu.yubo@gmail.com>
>> ---
>> V2: Add check for nla_put_in_addr suggested by Paolo Abeni
>
>Thank you for addressing my feedback!
>
>> ---
>>  net/mptcp/pm_netlink.c | 11 +++++++----
>>  1 file changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
>> index 86d61ab34c7c..0a39f0ebad76 100644
>> --- a/net/mptcp/pm_netlink.c
>> +++ b/net/mptcp/pm_netlink.c
>> @@ -599,12 +599,15 @@ static int mptcp_nl_fill_addr(struct sk_buff *skb,
>>  	    nla_put_s32(skb, MPTCP_PM_ADDR_ATTR_IF_IDX, entry->ifindex))
>>  		goto nla_put_failure;
>>
>> -	if (addr->family == AF_INET)
>> +	if (addr->family == AF_INET &&
>>  		nla_put_in_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR4,
>> -				addr->addr.s_addr);
>> +				addr->addr.s_addr))
>> +		goto nla_put_failure;
>> +
>
>I'm very sorry about the nit-picking, but the above is now a single
>statement, and indentation should be adjusted accordingly:
>'nla_put_in_addr()' should be aligned with 'addr->family'.
Ok, but i just want to make clear for that, do you mean:


	if (addr->family == AF_INET && nla_put_in_addr(skb,
			MPTCP_PM_ADDR_ATTR_ADDR4, addr->addr.s_addr))

In fact, i was upset by checkpatch about over 80 chars warning.
This is my originally version patch to fix it :(. If i was wrong
to understand your means, please  correct me. Thank you.

>
>The same applies to the chunk below.
>
>>  #if IS_ENABLED(CONFIG_MPTCP_IPV6)
>> -	else if (addr->family == AF_INET6)
>> -		nla_put_in6_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR6, &addr->addr6);
>> +	else if (addr->family == AF_INET6 &&
>> +		nla_put_in6_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR6, &addr->addr6))
>> +		goto nla_put_failure;
>>  #endif
>>  	nla_nest_end(skb, attr);
>>  	return 0;
>
>Otherwise LGTM, thanks!
>
>Paolo
>
Paolo Abeni April 22, 2020, 3:48 p.m. UTC | #3
On Wed, 2020-04-22 at 22:56 +0800, Bo YU wrote:
> On Wed, Apr 22, 2020 at 12:12:27PM +0200, Paolo Abeni wrote:
> > On Wed, 2020-04-22 at 09:34 +0800, Bo YU wrote:
> > > Normal there should be checked for nla_put_in6_addr like other
> > > usage in net.
> > > 
> > > Detected by CoverityScan, CID# 1461639
> > > 
> > > Fixes: 01cacb00b35c("mptcp: add netlink-based PM")
> > > Signed-off-by: Bo YU <tsu.yubo@gmail.com>
> > > ---
> > > V2: Add check for nla_put_in_addr suggested by Paolo Abeni
> > 
> > Thank you for addressing my feedback!
> > 
> > > ---
> > >  net/mptcp/pm_netlink.c | 11 +++++++----
> > >  1 file changed, 7 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
> > > index 86d61ab34c7c..0a39f0ebad76 100644
> > > --- a/net/mptcp/pm_netlink.c
> > > +++ b/net/mptcp/pm_netlink.c
> > > @@ -599,12 +599,15 @@ static int mptcp_nl_fill_addr(struct sk_buff *skb,
> > >  	    nla_put_s32(skb, MPTCP_PM_ADDR_ATTR_IF_IDX, entry->ifindex))
> > >  		goto nla_put_failure;
> > > 
> > > -	if (addr->family == AF_INET)
> > > +	if (addr->family == AF_INET &&
> > >  		nla_put_in_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR4,
> > > -				addr->addr.s_addr);
> > > +				addr->addr.s_addr))
> > > +		goto nla_put_failure;
> > > +
> > 
> > I'm very sorry about the nit-picking, but the above is now a single
> > statement, and indentation should be adjusted accordingly:
> > 'nla_put_in_addr()' should be aligned with 'addr->family'.
> Ok, but i just want to make clear for that, do you mean:
> 
> 
> 	if (addr->family == AF_INET && nla_put_in_addr(skb,
> 			MPTCP_PM_ADDR_ATTR_ADDR4, addr->addr.s_addr))
> 
> In fact, i was upset by checkpatch about over 80 chars warning.
> This is my originally version patch to fix it :(. If i was wrong
> to understand your means, please  correct me. Thank you.

I mean:
	if (addr->family == AF_INET &&
	    nla_put_in_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR4,
			    addr->addr.s_addr))

note that [the first char of]  'nla_put_in_addr' is aligned with [the
first char of] 'addr->family', and 'addr->addr.s_addr' with 'skb'.

Please, nota that the same applies to nla_put_in6_addr() below.

Thanks!

Paolo
diff mbox series

Patch

diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 86d61ab34c7c..0a39f0ebad76 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -599,12 +599,15 @@  static int mptcp_nl_fill_addr(struct sk_buff *skb,
 	    nla_put_s32(skb, MPTCP_PM_ADDR_ATTR_IF_IDX, entry->ifindex))
 		goto nla_put_failure;

-	if (addr->family == AF_INET)
+	if (addr->family == AF_INET &&
 		nla_put_in_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR4,
-				addr->addr.s_addr);
+				addr->addr.s_addr))
+		goto nla_put_failure;
+
 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
-	else if (addr->family == AF_INET6)
-		nla_put_in6_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR6, &addr->addr6);
+	else if (addr->family == AF_INET6 &&
+		nla_put_in6_addr(skb, MPTCP_PM_ADDR_ATTR_ADDR6, &addr->addr6))
+		goto nla_put_failure;
 #endif
 	nla_nest_end(skb, attr);
 	return 0;