From: Jakub Kicinski Date: Fri, 26 Aug 2022 03:09:35 +0000 (-0700) Subject: ethtool: report missing header via ext_ack in the default handler X-Git-Tag: v6.1-rc5~319^2~313^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f5059e62921479610de903857857ff82ac7e57f;p=platform%2Fkernel%2Flinux-starfive.git ethtool: report missing header via ext_ack in the default handler The actual presence check for the header is in ethnl_parse_header_dev_get() but it's a few layers in, and already has a ton of arguments so let's just pick the low hanging fruit and check for missing header in the default request handler. Reviewed-by: Ido Schimmel Reviewed-by: Johannes Berg Signed-off-by: Jakub Kicinski Signed-off-by: Paolo Abeni --- diff --git a/net/ethtool/netlink.c b/net/ethtool/netlink.c index d5e77f1..f4e41a6 100644 --- a/net/ethtool/netlink.c +++ b/net/ethtool/netlink.c @@ -361,6 +361,9 @@ static int ethnl_default_doit(struct sk_buff *skb, struct genl_info *info) ops = ethnl_default_requests[cmd]; if (WARN_ONCE(!ops, "cmd %u has no ethnl_request_ops\n", cmd)) return -EOPNOTSUPP; + if (GENL_REQ_ATTR_CHECK(info, ops->hdr_attr)) + return -EINVAL; + req_info = kzalloc(ops->req_info_size, GFP_KERNEL); if (!req_info) return -ENOMEM;