CVE-2023-54097
N/A
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
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | dc62f951a6a8490bcccc7b6de36cd85bd57be740 < 824683dbec234a01bd49a0589ee3323594a6f4cf | affected |
| Linux | Linux | dc62f951a6a8490bcccc7b6de36cd85bd57be740 < dfce9bb3517a78507cf96f9b83948d0b81338afa | affected |
| Linux | Linux | dc62f951a6a8490bcccc7b6de36cd85bd57be740 < ad6481f49fb2c703efa3a929643934f24b666d6a | affected |
| Linux | Linux | dc62f951a6a8490bcccc7b6de36cd85bd57be740 < f25994f7a9ad53eb756bc4869497c3ebe281ad5e | affected |
| Linux | Linux | dc62f951a6a8490bcccc7b6de36cd85bd57be740 < c091bb49b3233307c7af73dae888f0799752af3d | affected |
| Linux | Linux | dc62f951a6a8490bcccc7b6de36cd85bd57be740 < 0ad07e02be0d3f0d554653382ffe53ae4879378d | affected |
| Linux | Linux | dc62f951a6a8490bcccc7b6de36cd85bd57be740 < c4a413e56d16a2ae84e6d8992f215c4dcc7fac20 | affected |
| Linux | Linux | 5.2 | affected |
| Linux | Linux | 0 < 5.2 | unaffected |
| Linux | Linux | 5.4.243 <= 5.4.* | unaffected |
| Linux | Linux | 5.10.180 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.111 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.28 <= 6.1.* | unaffected |
| Linux | Linux | 6.2.15 <= 6.2.* | unaffected |
| Linux | Linux | 6.3.2 <= 6.3.* | unaffected |
| Linux | Linux | 6.4 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/824683dbec234a01bd49a0589ee3323594a6f4cf
- https://git.kernel.org/stable/c/dfce9bb3517a78507cf96f9b83948d0b81338afa
- https://git.kernel.org/stable/c/ad6481f49fb2c703efa3a929643934f24b666d6a
- https://git.kernel.org/stable/c/f25994f7a9ad53eb756bc4869497c3ebe281ad5e
- https://git.kernel.org/stable/c/c091bb49b3233307c7af73dae888f0799752af3d
- https://git.kernel.org/stable/c/0ad07e02be0d3f0d554653382ffe53ae4879378d
- https://git.kernel.org/stable/c/c4a413e56d16a2ae84e6d8992f215c4dcc7fac20
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.