diff options
author | Jiri Pirko <jiri@mellanox.com> | 2019-03-24 00:21:03 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-26 11:25:29 -0700 |
commit | c493b09b2792336f471d2206be180a4b4c1fc9ba (patch) | |
tree | 7259781362e5ebbe450ffdd305347fdeeea3b655 | |
parent | 450895d04ba13a96886eddfeddb11556ae8624f1 (diff) | |
download | linux-c493b09b2792336f471d2206be180a4b4c1fc9ba.tar.bz2 |
net: devlink: skip info_get op call if it is not defined in dumpit
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>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/devlink.c | 5 |
1 files changed, 5 insertions, 0 deletions
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, |