---
id: CVE-2023-53596
title: 'drivers: base: Free devm resources when unregistering a device'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  drivers: base: Free devm resources when unregistering a device

  In the current code, devres_release_all() only gets called if the device
  has a bus and has been probed.
  …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc <
    83e2ec36a92432e9445e853c12becbbae353b511
  - >-
    Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc <
    b9ef4b0aa91d2f9f5951faafdbbd47cf01799ec3
  - >-
    Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc <
    297992e5c63528e603666e36081836204fc36ec9
  - >-
    Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc <
    3bcc4c2a096e8342c8c719e595ce15de212694dd
  - >-
    Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc <
    c8c426fae26086a0ca8ab6cc6da2de79810ec038
  - >-
    Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc <
    699fb50d99039a50e7494de644f96c889279aca3
  - Linux 3.7
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:24:54.459587Z'
published: '2025-10-04'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:31:16.441Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2023-53596'
references:
  - url: 'https://git.kernel.org/stable/c/83e2ec36a92432e9445e853c12becbbae353b511'
  - url: 'https://git.kernel.org/stable/c/b9ef4b0aa91d2f9f5951faafdbbd47cf01799ec3'
  - url: 'https://git.kernel.org/stable/c/297992e5c63528e603666e36081836204fc36ec9'
  - url: 'https://git.kernel.org/stable/c/3bcc4c2a096e8342c8c719e595ce15de212694dd'
  - url: 'https://git.kernel.org/stable/c/c8c426fae26086a0ca8ab6cc6da2de79810ec038'
  - url: 'https://git.kernel.org/stable/c/699fb50d99039a50e7494de644f96c889279aca3'
tags:
  - cve.org
epss: 0.00158
epssPercentile: 0.04988
ingestedAt: '2026-11-05T22:38:31.815Z'
---

## Overview

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

drivers: base: Free devm resources when unregistering a device

In the current code, devres_release_all() only gets called if the device
has a bus and has been probed.

This leads to issues when using bus-less or driver-less devices where
the device might never get freed if a managed resource holds a reference
to the device. This is happening in the DRM framework for example.

We should thus call devres_release_all() in the device_del() function to
make sure that the device-managed actions are properly executed when the
device is unregistered, even if it has neither a bus nor a driver.

This is effectively the same change than commit 2f8d16a996da ("devres:
release resources on device_del()") that got reverted by commit
a525a3ddeaca ("driver core: free devres in device_release") over
memory leaks concerns.

This patch effectively combines the two commits mentioned above to
release the resources both on device_del() and device_release() and get
the best of both worlds.

## Affected

- `Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc < 83e2ec36a92432e9445e853c12becbbae353b511`
- `Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc < b9ef4b0aa91d2f9f5951faafdbbd47cf01799ec3`
- `Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc < 297992e5c63528e603666e36081836204fc36ec9`
- `Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc < 3bcc4c2a096e8342c8c719e595ce15de212694dd`
- `Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc < c8c426fae26086a0ca8ab6cc6da2de79810ec038`
- `Linux >= a525a3ddeaca69f405d98442ab3c0746e53168dc < 699fb50d99039a50e7494de644f96c889279aca3`
- `Linux 3.7`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
