Re: [PATCH net-next v3 6/6] devlink: add missing NULL checks for devlink ops
From: Jiri Pirko <jiri@resnulli.us>
Date: 2019-02-24 11:13:02
Fri, Feb 22, 2019 at 11:07:57PM CET, jakub.kicinski@netronome.com wrote:
Commit 76726ccb7f46 ("devlink: add flash update command") and
commit 2d8dc5bbf4e7 ("devlink: Add support for reload")
access devlink ops without NULL-checking. Add the missing checks.
Note that all drivers currently implementing devlink pass non-NULL
ops, so this is not a problem.Wouldn't it be better to rather put WARN_ON&fail when driver calls devlink_alloc() with NULL ops and avoid these checks in the whole code?
quoted hunk ↗ jump to hunk
Reported-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Jakub Kicinski <redacted> --- net/core/devlink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/net/core/devlink.c b/net/core/devlink.c index 78c6ea1870ca..38cb0239dede 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c@@ -2651,7 +2651,7 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info)struct devlink *devlink = info->user_ptr[0]; int err; - if (!devlink->ops->reload) + if (!devlink->ops || !devlink->ops->reload) return -EOPNOTSUPP; err = devlink_resources_validate(devlink, NULL, info);@@ -2669,7 +2669,7 @@ static int devlink_nl_cmd_flash_update(struct sk_buff *skb,const char *file_name, *component; struct nlattr *nla_component; - if (!devlink->ops->flash_update) + if (!devlink->ops || !devlink->ops->flash_update) return -EOPNOTSUPP; if (!info->attrs[DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME]) -- 2.19.2