Message ID | 20210118173954.17530-1-vadym.kochan@plvision.eu (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [RESEND] net: core: devlink: use right genl user_ptr when handling port param get/set | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Guessed tree name to be net-next |
netdev/subject_prefix | warning | Target tree name not specified in the subject |
netdev/cc_maintainers | warning | 1 maintainers not CCed: vasundhara-v.volam@broadcom.com |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 1 this patch: 1 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 16 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 1 this patch: 1 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
On Mon, 18 Jan 2021 19:39:54 +0200 Vadym Kochan wrote: > From: Oleksandr Mazur <oleksandr.mazur@plvision.eu> > > Fix incorrect user_ptr dereferencing when handling port param get/set: > > idx [0] stores the 'struct devlink' pointer; > idx [1] stores the 'struct devlink_port' pointer; > > Fixes: f4601dee25d5 ("devlink: Add port param get command") > Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu> > Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu> > --- > 1) Fixed plvision.com -> plvision.eu LGTM, but the fixes tag is wrong: Fixes: 637989b5d77e ("devlink: Always use user_ptr[0] for devlink and simplify post_doit") right? > diff --git a/net/core/devlink.c b/net/core/devlink.c > index ee828e4b1007..738d4344d679 100644 > --- a/net/core/devlink.c > +++ b/net/core/devlink.c > @@ -4146,7 +4146,7 @@ static int devlink_nl_cmd_port_param_get_dumpit(struct sk_buff *msg, > static int devlink_nl_cmd_port_param_get_doit(struct sk_buff *skb, > struct genl_info *info) > { > - struct devlink_port *devlink_port = info->user_ptr[0]; > + struct devlink_port *devlink_port = info->user_ptr[1]; > struct devlink_param_item *param_item; > struct sk_buff *msg; > int err; > @@ -4175,7 +4175,7 @@ static int devlink_nl_cmd_port_param_get_doit(struct sk_buff *skb, > static int devlink_nl_cmd_port_param_set_doit(struct sk_buff *skb, > struct genl_info *info) > { > - struct devlink_port *devlink_port = info->user_ptr[0]; > + struct devlink_port *devlink_port = info->user_ptr[1]; > > return __devlink_nl_cmd_param_set_doit(devlink_port->devlink, > devlink_port->index,
diff --git a/net/core/devlink.c b/net/core/devlink.c index ee828e4b1007..738d4344d679 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -4146,7 +4146,7 @@ static int devlink_nl_cmd_port_param_get_dumpit(struct sk_buff *msg, static int devlink_nl_cmd_port_param_get_doit(struct sk_buff *skb, struct genl_info *info) { - struct devlink_port *devlink_port = info->user_ptr[0]; + struct devlink_port *devlink_port = info->user_ptr[1]; struct devlink_param_item *param_item; struct sk_buff *msg; int err; @@ -4175,7 +4175,7 @@ static int devlink_nl_cmd_port_param_get_doit(struct sk_buff *skb, static int devlink_nl_cmd_port_param_set_doit(struct sk_buff *skb, struct genl_info *info) { - struct devlink_port *devlink_port = info->user_ptr[0]; + struct devlink_port *devlink_port = info->user_ptr[1]; return __devlink_nl_cmd_param_set_doit(devlink_port->devlink, devlink_port->index,