2022-09-17 03:08:30

by Li Zhong

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

Check the return value of nla_nest_start(), which could be NULL on
error.

Signed-off-by: Li Zhong <[email protected]>
---
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


2022-09-20 19:55:21

by Jakub Kicinski

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

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

2022-09-20 20:24:48

by Jakub Kicinski

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

On Tue, 20 Sep 2022 12:31:29 -0700 Li Zhong wrote:
> On Tue, Sep 20, 2022 at 11:37 AM Jakub Kicinski <[email protected]> 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.

2022-09-20 20:42:51

by Li Zhong

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

On Tue, Sep 20, 2022 at 11:37 AM Jakub Kicinski <[email protected]> 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;'?

2022-09-21 08:48:28

by Li Zhong

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

On Tue, Sep 20, 2022 at 12:41 PM Jakub Kicinski <[email protected]> wrote:
>
> On Tue, 20 Sep 2022 12:31:29 -0700 Li Zhong wrote:
> > On Tue, Sep 20, 2022 at 11:37 AM Jakub Kicinski <[email protected]> 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.