Re: [PATCH 051/190] Revert "power: supply: core: fix memory leak in HWMON error path"

From: Sebastian Reichel
Date: Wed Apr 21 2021 - 11:51:07 EST


Hi,

On Wed, Apr 21, 2021 at 02:58:46PM +0200, Greg Kroah-Hartman wrote:
> This reverts commit 1d7a7128a2e9e1f137c99b0a44e94d70a77343e3.
>
> Commits from @umn.edu addresses have been found to be submitted in "bad
> faith" to try to test the kernel community's ability to review "known
> malicious" changes. The result of these submissions can be found in a
> paper published at the 42nd IEEE Symposium on Security and Privacy
> entitled, "Open Source Insecurity: Stealthily Introducing
> Vulnerabilities via Hypocrite Commits" written by Qiushi Wu (University
> of Minnesota) and Kangjie Lu (University of Minnesota).
>
> Because of this, all submissions from this group must be reverted from
> the kernel tree and will need to be re-reviewed again to determine if
> they actually are a valid fix. Until that work is complete, remove this
> change to ensure that no problems are being introduced into the
> codebase.
>
> Cc: stable@xxxxxxxxxx
> Cc: Qiushi Wu <wu000273@xxxxxxx>
> Cc: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---

Change is quite simple, so doing another review now:

It is correct that power_supply_hwmon_bitmap_free() must be called
when devm_add_action() fails. This is not already done in the error
path, so the original patch is correct and the revert reintroduces a
memory leak in error path.

I suggest dropping the revert.

Thanks,

-- Sebastian

> drivers/power/supply/power_supply_hwmon.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/power/supply/power_supply_hwmon.c b/drivers/power/supply/power_supply_hwmon.c
> index bffe6d84c429..62ca29e0d47a 100644
> --- a/drivers/power/supply/power_supply_hwmon.c
> +++ b/drivers/power/supply/power_supply_hwmon.c
> @@ -356,7 +356,7 @@ int power_supply_add_hwmon_sysfs(struct power_supply *psy)
> goto error;
> }
>
> - ret = devm_add_action_or_reset(dev, power_supply_hwmon_bitmap_free,
> + ret = devm_add_action(dev, power_supply_hwmon_bitmap_free,
> psyhw->props);
> if (ret)
> goto error;
> --
> 2.31.1
>

Attachment: signature.asc
Description: PGP signature