summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Zhong <floridsleeves@gmail.com>2022-09-21 21:17:16 +0300
committerJakub Kicinski <kuba@kernel.org>2022-09-23 05:28:10 +0300
commit05cd823863fd32e9fcd5e8818a0a9070e54cfcc1 (patch)
tree4a94325226d760e9fd9aea976676f47e74850979
parent97cfede0d1475945458fb0a91f9fbf1366dd0827 (diff)
downloadlinux-05cd823863fd32e9fcd5e8818a0a9070e54cfcc1.tar.xz
ethtool: tunnels: check the return value of nla_nest_start()
Check the return value of nla_nest_start(). When starting the entry level nested attributes, if the tailroom of socket buffer is insufficient to store the attribute header and payload, the return value will be NULL. There is, however, no real bug here since if the skb is full nla_put_be16() will fail as well and we'll error out. Signed-off-by: Li Zhong <floridsleeves@gmail.com> Link: https://lore.kernel.org/r/20220921181716.1629541-1-floridsleeves@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--net/ethtool/tunnels.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ethtool/tunnels.c b/net/ethtool/tunnels.c
index efde33536687..67fb414ca859 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)
+ goto err_cancel_entry;
if (nla_put_be16(skb, ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
htons(IANA_VXLAN_UDP_PORT)) ||