Re: [ovs-dev] [PATCH 5/5] netdev-linux: Fix Clang's static analyzer uninitialized values warnings.
On 5/16/24 21:37, Mike Pattrick wrote: > Clang's static analyzer will complain about an uninitialized value > because in some error conditions we wouldn't set all values that are > used later. Some more details would be nice here. > > Now we initialize more values that are needed later even in error > conditions. > > Signed-off-by: Mike Pattrick > --- Same for the subject line and a Fixes tag. Also, there seems to be two separate issues fixed here, they should be separate patches with distinct names and Fixes tags as they may need to go to different branches (I didn't check). > lib/netdev-linux.c | 7 ++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c > index 25349c605..66dae3e1a 100644 > --- a/lib/netdev-linux.c > +++ b/lib/netdev-linux.c > @@ -2439,7 +2439,9 @@ netdev_linux_read_definitions(struct netdev_linux > *netdev, > int error = 0; > > error = netdev_linux_read_stringset_info(netdev, ); > -if (error || !len) { > +if (!len) { > +return -EOPNOTSUPP; > +} else if (error) { > return error; > } > strings = xzalloc(sizeof *strings + len * ETH_GSTRING_LEN); > @@ -2724,6 +2726,7 @@ netdev_linux_get_speed_locked(struct netdev_linux > *netdev, >uint32_t *current, uint32_t *max) > { > if (netdev_linux_netnsid_is_remote(netdev)) { > +*current = 0; > return EOPNOTSUPP; > } > > @@ -2733,6 +2736,8 @@ netdev_linux_get_speed_locked(struct netdev_linux > *netdev, > ? 0 : netdev->current_speed; > *max = MIN(UINT32_MAX, > netdev_features_to_bps(netdev->supported, 0) / > 100ULL); > +} else { > +*current = 0; > } > return netdev->get_features_error; > } We should be clearing both the current and a max for consistency. Best regards, Ilya Maximets. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH 5/5] netdev-linux: Fix Clang's static analyzer uninitialized values warnings.
Bleep bloop. Greetings Mike Pattrick, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: WARNING: The subject, ': ', is over 70 characters, i.e., 72. Subject: netdev-linux: Fix Clang's static analyzer uninitialized values warnings. Lines checked: 53, Warnings: 1, Errors: 0 Please check this out. If you feel there has been an error, please email acon...@redhat.com Thanks, 0-day Robot ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
[ovs-dev] [PATCH 5/5] netdev-linux: Fix Clang's static analyzer uninitialized values warnings.
Clang's static analyzer will complain about an uninitialized value because in some error conditions we wouldn't set all values that are used later. Now we initialize more values that are needed later even in error conditions. Signed-off-by: Mike Pattrick --- lib/netdev-linux.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index 25349c605..66dae3e1a 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -2439,7 +2439,9 @@ netdev_linux_read_definitions(struct netdev_linux *netdev, int error = 0; error = netdev_linux_read_stringset_info(netdev, ); -if (error || !len) { +if (!len) { +return -EOPNOTSUPP; +} else if (error) { return error; } strings = xzalloc(sizeof *strings + len * ETH_GSTRING_LEN); @@ -2724,6 +2726,7 @@ netdev_linux_get_speed_locked(struct netdev_linux *netdev, uint32_t *current, uint32_t *max) { if (netdev_linux_netnsid_is_remote(netdev)) { +*current = 0; return EOPNOTSUPP; } @@ -2733,6 +2736,8 @@ netdev_linux_get_speed_locked(struct netdev_linux *netdev, ? 0 : netdev->current_speed; *max = MIN(UINT32_MAX, netdev_features_to_bps(netdev->supported, 0) / 100ULL); +} else { +*current = 0; } return netdev->get_features_error; } -- 2.39.3 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev