Message ID | 20190323232103.26673-1-jiri@resnulli.us |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net: devlink: skip info_get op call if it is not defined in dumpit | expand |
On Sun, 24 Mar 2019 00:21:03 +0100, Jiri Pirko wrote: > From: Jiri Pirko <jiri@mellanox.com> > > In dumpit, unlike doit, the check for info_get op being defined > is missing. Add it and avoid null pointer dereference in case driver > does not define this op. > > Fixes: f9cf22882c60 ("devlink: add device information API") > Reported-by: Ido Schimmel <idosch@mellanox.com> > Signed-off-by: Jiri Pirko <jiri@mellanox.com> Ugh, looks like the check got lost in v2 somehow. Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com> Thanks/sorry!
From: Jiri Pirko <jiri@resnulli.us> Date: Sun, 24 Mar 2019 00:21:03 +0100 > From: Jiri Pirko <jiri@mellanox.com> > > In dumpit, unlike doit, the check for info_get op being defined > is missing. Add it and avoid null pointer dereference in case driver > does not define this op. > > Fixes: f9cf22882c60 ("devlink: add device information API") > Reported-by: Ido Schimmel <idosch@mellanox.com> > Signed-off-by: Jiri Pirko <jiri@mellanox.com> Applied.
diff --git a/net/core/devlink.c b/net/core/devlink.c index 78e22cea4cc7..da0a29f30885 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -3897,6 +3897,11 @@ static int devlink_nl_cmd_info_get_dumpit(struct sk_buff *msg, continue; } + if (!devlink->ops->info_get) { + idx++; + continue; + } + mutex_lock(&devlink->lock); err = devlink_nl_info_fill(msg, devlink, DEVLINK_CMD_INFO_GET, NETLINK_CB(cb->skb).portid,