Messages in this thread | | | Subject | RE: RE: [PATCH v2 2/4] extcon: Added extcon_alloc_cables to simplify extcon register function | From | MyungJoo Ham <> | Date | Thu, 02 Mar 2023 15:33:12 +0900 |
| |
> > >--------- Original Message --------- >Sender : 이범우 <bw365.lee@samsung.com>Product S/W Lab(VD)/삼성전자 >Date : 2023-03-02 10:38 (GMT+9) >Title : RE: [PATCH v2 2/4] extcon: Added extcon_alloc_cables to simplify extcon register function > >Hello. > >As you can see, edev->cables are freed if extcon_alloc_cables() function return error handling in extcon_dev_register() >Other added functions are also same. > >Because it's functionalized, apart from this, do you want to mention that it should be freed within the function? >Please let me know your opinion. > >extcon_dev_register(struct extcon_dev *edev){ >... > > ret = extcon_alloc_cables(edev); > if (ret) > goto err_alloc_cables; > >... > >err_alloc_cables: > if (edev->max_supported) > kfree(edev->cables); > > >Regards, >Bumwoo
In such a case, you are doing kfree(NULL); with the following:
>+static int extcon_alloc_cables(struct extcon_dev *edev) { ... >+ if (!edev->max_supported) >+ return 0; >+ >+ edev->cables = kcalloc(edev->max_supported, >+ sizeof(struct extcon_cable), >+ GFP_KERNEL); >+ if (!edev->cables) >+ return -ENOMEM;
Cheers, MyungJoo
| |