[PATCH v1] net/ethtool/tunnels: check the return value of nla_nest_start()

Li Zhong posted 1 patch 3 years, 6 months ago
net/ethtool/tunnels.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH v1] net/ethtool/tunnels: check the return value of nla_nest_start()
Posted by Li Zhong 3 years, 6 months ago
Check the return value of nla_nest_start(), which could be NULL on
error.

Signed-off-by: Li Zhong <floridsleeves@gmail.com>
---
 net/ethtool/tunnels.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/ethtool/tunnels.c b/net/ethtool/tunnels.c
index efde33536687..90974b625cf6 100644
--- a/net/ethtool/tunnels.c
+++ b/net/ethtool/tunnels.c
@@ -136,6 +136,8 @@ ethnl_tunnel_info_fill_reply(const struct ethnl_req_info *req_base,
 			goto err_cancel_table;
 
 		entry = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY);
+		if (!entry)
+			return -EMSGSIZE;
 
 		if (nla_put_be16(skb, ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
 				 htons(IANA_VXLAN_UDP_PORT)) ||
-- 
2.25.1
Re: [PATCH v1] net/ethtool/tunnels: check the return value of nla_nest_start()
Posted by Jakub Kicinski 3 years, 6 months ago
On Fri, 16 Sep 2022 19:26:02 -0700 Li Zhong wrote:
>  			goto err_cancel_table;
>  
>  		entry = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY);
> +		if (!entry)
> +			return -EMSGSIZE;

not even correct, and completely harmless
Re: [PATCH v1] net/ethtool/tunnels: check the return value of nla_nest_start()
Posted by Li Zhong 3 years, 6 months ago
On Tue, Sep 20, 2022 at 11:37 AM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Fri, 16 Sep 2022 19:26:02 -0700 Li Zhong wrote:
> >                       goto err_cancel_table;
> >
> >               entry = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY);
> > +             if (!entry)
> > +                     return -EMSGSIZE;
>
> not even correct, and completely harmless

Thanks for your reply. Maybe a more suitable way of error handling is 'goto
err_cancel_table;'?
Re: [PATCH v1] net/ethtool/tunnels: check the return value of nla_nest_start()
Posted by Jakub Kicinski 3 years, 6 months ago
On Tue, 20 Sep 2022 12:31:29 -0700 Li Zhong wrote:
> On Tue, Sep 20, 2022 at 11:37 AM Jakub Kicinski <kuba@kernel.org> wrote:
> > On Fri, 16 Sep 2022 19:26:02 -0700 Li Zhong wrote:  
> > >                       goto err_cancel_table;
> > >
> > >               entry = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY);
> > > +             if (!entry)
> > > +                     return -EMSGSIZE;  
> >
> > not even correct, and completely harmless  
> 
> Thanks for your reply. Maybe a more suitable way of error handling is 'goto
> err_cancel_table;'?

Yes, but you _most_ provide the detailed analysis of the impact 
in the commit message for the patches to be considered for merging.
Re: [PATCH v1] net/ethtool/tunnels: check the return value of nla_nest_start()
Posted by Li Zhong 3 years, 6 months ago
On Tue, Sep 20, 2022 at 12:41 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Tue, 20 Sep 2022 12:31:29 -0700 Li Zhong wrote:
> > On Tue, Sep 20, 2022 at 11:37 AM Jakub Kicinski <kuba@kernel.org> wrote:
> > > On Fri, 16 Sep 2022 19:26:02 -0700 Li Zhong wrote:
> > > >                       goto err_cancel_table;
> > > >
> > > >               entry = nla_nest_start(skb, ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY);
> > > > +             if (!entry)
> > > > +                     return -EMSGSIZE;
> > >
> > > not even correct, and completely harmless
> >
> > Thanks for your reply. Maybe a more suitable way of error handling is 'goto
> > err_cancel_table;'?
>
> Yes, but you _most_ provide the detailed analysis of the impact
> in the commit message for the patches to be considered for merging.

Thanks for the suggestion. The commit message is updated with more details.