CVE-2023-54097

Summary

In the Linux kernel, the following vulnerability has been resolved:

regulator: stm32-pwr: fix of_iomap leak

Smatch reports: drivers/regulator/stm32-pwr.c:166 stm32_pwr_regulator_probe() warn: 'base' from of_iomap() not released on lines: 151,166.

In stm32_pwr_regulator_probe(), base is not released when devm_kzalloc() fails to allocate memory or devm_regulator_register() fails to register a new regulator device, which may cause a leak.

To fix this issue, replace of_iomap() with devm_platform_ioremap_resource(). devm_platform_ioremap_resource() is a specialized function for platform devices. It allows 'base' to be automatically released whether the probe function succeeds or fails.

Besides, use IS_ERR(base) instead of !base as the return value of devm_platform_ioremap_resource() can either be a pointer to the remapped memory or an ERR_PTR() encoded error code if the operation fails.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxdc62f951a6a8490bcccc7b6de36cd85bd57be740 < 824683dbec234a01bd49a0589ee3323594a6f4cfaffected
LinuxLinuxdc62f951a6a8490bcccc7b6de36cd85bd57be740 < dfce9bb3517a78507cf96f9b83948d0b81338afaaffected
LinuxLinuxdc62f951a6a8490bcccc7b6de36cd85bd57be740 < ad6481f49fb2c703efa3a929643934f24b666d6aaffected
LinuxLinuxdc62f951a6a8490bcccc7b6de36cd85bd57be740 < f25994f7a9ad53eb756bc4869497c3ebe281ad5eaffected
LinuxLinuxdc62f951a6a8490bcccc7b6de36cd85bd57be740 < c091bb49b3233307c7af73dae888f0799752af3daffected
LinuxLinuxdc62f951a6a8490bcccc7b6de36cd85bd57be740 < 0ad07e02be0d3f0d554653382ffe53ae4879378daffected
LinuxLinuxdc62f951a6a8490bcccc7b6de36cd85bd57be740 < c4a413e56d16a2ae84e6d8992f215c4dcc7fac20affected
LinuxLinux5.2affected
LinuxLinux0 < 5.2unaffected
LinuxLinux5.4.243 <= 5.4.*unaffected
LinuxLinux5.10.180 <= 5.10.*unaffected
LinuxLinux5.15.111 <= 5.15.*unaffected
LinuxLinux6.1.28 <= 6.1.*unaffected
LinuxLinux6.2.15 <= 6.2.*unaffected
LinuxLinux6.3.2 <= 6.3.*unaffected
LinuxLinux6.4 <= *unaffected

Weaknesses

References