Message ID | 20221126100634.106887-2-yuancan@huawei.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Johannes Berg |
Headers | show |
Series | Add check for nla_nest_start() | expand |
On 11/26/22 3:06 AM, Yuan Can wrote: > As the nla_nest_start() may fail with NULL returned, the return value needs > to be checked. > > Fixes: c7d759eb7b12 ("ethtool: add tunnel info interface") > Signed-off-by: Yuan Can <yuancan@huawei.com> > --- > net/ipv4/udp_tunnel_nic.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/ipv4/udp_tunnel_nic.c b/net/ipv4/udp_tunnel_nic.c > index bc3a043a5d5c..75a0caa4aebe 100644 > --- a/net/ipv4/udp_tunnel_nic.c > +++ b/net/ipv4/udp_tunnel_nic.c > @@ -624,6 +624,8 @@ __udp_tunnel_nic_dump_write(struct net_device *dev, unsigned int table, > continue; > > nest = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY); > + if (!nest) > + goto err_cancel; no need to call nla_nest_cancel if nest_start fails. > > if (nla_put_be16(skb, ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT, > utn->entries[table][j].port) ||
在 2022/11/28 3:39, David Ahern 写道: > On 11/26/22 3:06 AM, Yuan Can wrote: >> As the nla_nest_start() may fail with NULL returned, the return value needs >> to be checked. >> >> Fixes: c7d759eb7b12 ("ethtool: add tunnel info interface") >> Signed-off-by: Yuan Can <yuancan@huawei.com> >> --- >> net/ipv4/udp_tunnel_nic.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/net/ipv4/udp_tunnel_nic.c b/net/ipv4/udp_tunnel_nic.c >> index bc3a043a5d5c..75a0caa4aebe 100644 >> --- a/net/ipv4/udp_tunnel_nic.c >> +++ b/net/ipv4/udp_tunnel_nic.c >> @@ -624,6 +624,8 @@ __udp_tunnel_nic_dump_write(struct net_device *dev, unsigned int table, >> continue; >> >> nest = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY); >> + if (!nest) >> + goto err_cancel; > no need to call nla_nest_cancel if nest_start fails. Ok, thanks for the suggestion, it will be fixed in the next version.
diff --git a/net/ipv4/udp_tunnel_nic.c b/net/ipv4/udp_tunnel_nic.c index bc3a043a5d5c..75a0caa4aebe 100644 --- a/net/ipv4/udp_tunnel_nic.c +++ b/net/ipv4/udp_tunnel_nic.c @@ -624,6 +624,8 @@ __udp_tunnel_nic_dump_write(struct net_device *dev, unsigned int table, continue; nest = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY); + if (!nest) + goto err_cancel; if (nla_put_be16(skb, ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT, utn->entries[table][j].port) ||
As the nla_nest_start() may fail with NULL returned, the return value needs to be checked. Fixes: c7d759eb7b12 ("ethtool: add tunnel info interface") Signed-off-by: Yuan Can <yuancan@huawei.com> --- net/ipv4/udp_tunnel_nic.c | 2 ++ 1 file changed, 2 insertions(+)