On Wed, Apr 03, 2019 at 03:58:01PM -0500, Gustavo A. R. Silva wrote: > Make use of the struct_size() helper instead of an open-coded version > in order to avoid any potential type mistakes, in particular in the > context in which this code is being used. > > So, replace code of the following form: > > sizeof(*resp) + props_count * sizeof(struct gb_power_supply_props_desc) > > with: > > struct_size(resp, props, props_count) > > This code was detected with the help of Coccinelle. > > Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> > --- > drivers/staging/greybus/power_supply.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c > index 0529e5628c24..40cc2d462ba0 100644 > --- a/drivers/staging/greybus/power_supply.c > +++ b/drivers/staging/greybus/power_supply.c > @@ -520,8 +520,8 @@ static int gb_power_supply_prop_descriptors_get(struct gb_power_supply *gbpsy) > > op = gb_operation_create(connection, > GB_POWER_SUPPLY_TYPE_GET_PROP_DESCRIPTORS, > - sizeof(req), sizeof(*resp) + props_count * This patch looks good, but I noticed a bug here in the current code, which should be fixed before applying this clean up. sizeof(req) should have been sizeof(*req) above. > - sizeof(struct gb_power_supply_props_desc), > + sizeof(req), > + struct_size(resp, props, props_count), > GFP_KERNEL); > if (!op) > return -ENOMEM; I've just submitted a fix (and CCed you as well). Would you mind respinning on top of that one? Thanks, Johan _______________________________________________ greybus-dev mailing list greybus-dev@xxxxxxxxxxxxxxxx https://lists.linaro.org/mailman/listinfo/greybus-dev