Message ID | 20221209120701.218937-1-horatiu.vultur@microchip.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: microchip: vcap: Fix initialization of value and mask | expand |
On 09 Dec 13:07, Horatiu Vultur wrote: >Fix the following smatch warning: > >smatch warnings: >drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c:103 vcap_debugfs_show_rule_keyfield() error: uninitialized symbol 'value'. >drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c:106 vcap_debugfs_show_rule_keyfield() error: uninitialized symbol 'mask'. > >In case the vcap field was VCAP_FIELD_U128 and the key was different >than IP6_S/DIP then the value and mask were not initialized, therefore >initialize them. > >Fixes: 610c32b2ce66 ("net: microchip: vcap: Add vcap_get_rule") >Reported-by: kernel test robot <lkp@intel.com> >Reported-by: Dan Carpenter <error27@gmail.com> >Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Reviewed-by: Saeed Mahameed <saeed@kernel.org>
On Fri, 9 Dec 2022 13:07:01 +0100 Horatiu Vultur wrote: > case VCAP_FIELD_U128: > + value = data->u128.value; > + mask = data->u128.value; If setting both to value is intentional - please mention in the commit message. Otherwise this looks odd.
The 12/12/2022 13:02, Jakub Kicinski wrote: > > On Fri, 9 Dec 2022 13:07:01 +0100 Horatiu Vultur wrote: > > case VCAP_FIELD_U128: > > + value = data->u128.value; > > + mask = data->u128.value; > > If setting both to value is intentional - please mention in the commit > message. Otherwise this looks odd. It should not be both set to value. Will fix this in th next version.
diff --git a/drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c b/drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c index 895bfff550d23..1237601ac9dc1 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c +++ b/drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c @@ -83,6 +83,8 @@ static void vcap_debugfs_show_rule_keyfield(struct vcap_control *vctrl, hex = true; break; case VCAP_FIELD_U128: + value = data->u128.value; + mask = data->u128.value; if (key == VCAP_KF_L3_IP6_SIP || key == VCAP_KF_L3_IP6_DIP) { u8 nvalue[16], nmask[16];
Fix the following smatch warning: smatch warnings: drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c:103 vcap_debugfs_show_rule_keyfield() error: uninitialized symbol 'value'. drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c:106 vcap_debugfs_show_rule_keyfield() error: uninitialized symbol 'mask'. In case the vcap field was VCAP_FIELD_U128 and the key was different than IP6_S/DIP then the value and mask were not initialized, therefore initialize them. Fixes: 610c32b2ce66 ("net: microchip: vcap: Add vcap_get_rule") Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> --- drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c | 2 ++ 1 file changed, 2 insertions(+)