On Fri, Dec 04, 2020 at 06:24:49AM +0000, Bui Quang Minh wrote: > This error path > > err_add_pdata: > for (i = 0; i < mod_data.num; i++) > kfree(dum[i]); > > can be triggered when not all dum's elements are initialized. > > Fix this by initializing all dum's elements to NULL. > > Signed-off-by: Bui Quang Minh <minhquangbui99@xxxxxxxxx> > --- > drivers/usb/gadget/udc/dummy_hcd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c > index 0eeaead..a2cf009 100644 > --- a/drivers/usb/gadget/udc/dummy_hcd.c > +++ b/drivers/usb/gadget/udc/dummy_hcd.c > @@ -2734,7 +2734,7 @@ static int __init init(void) > { > int retval = -ENOMEM; > int i; > - struct dummy *dum[MAX_NUM_UDC]; > + struct dummy *dum[MAX_NUM_UDC] = {}; > > if (usb_disabled()) > return -ENODEV; Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Does this initialization end up using less memory than an explicit memset() call? Alan Stern