[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230302063312epcms1p1e0cd1a2d74dbd3daa4c7b7407b975803@epcms1p1>
Date: Thu, 02 Mar 2023 15:33:12 +0900
From: MyungJoo Ham <myungjoo.ham@...sung.com>
To: Bumwoo Lee <bw365.lee@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: RE: [PATCH v2 2/4] extcon: Added extcon_alloc_cables to
simplify extcon register function
>
>
>--------- Original Message ---------
>Sender : 이범우 <bw365.lee@...sung.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
Powered by blists - more mailing lists