---
id: CVE-2026-72240
title: 'mfd: sm501: Fix reference leak on failed device registration'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  mfd: sm501: Fix reference leak on failed device registration

  When platform_device_register() fails in sm501_register_device(), the
  embedded struct device in pdev has a…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    bbb1ecaed4ed7680e63d3a0f143f03de32de5d6e
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    e2dac91380a10e9e8d5883fb73ce9d9b390a629c
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    0baf9d43a7b7b43df2900bd8656e75b725028b6e
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    a3e340d506c1036a747fb0972aebf1063f7ef30e
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    760a1029692f1d788dc11aa636a3bf432e58b240
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    16a42c88c4667fa0bd944e438a667e059551f1f1
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    2ff8156fd500d54c61430b6834137fd0a07047ce
  - >-
    Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e <
    8c2f0b42fc252e1bf1c7746447091a468e784ca1
  - Linux 2.6.21
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-06T16:53:18.473739Z'
published: '2026-08-15'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:55:23.525Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-72240'
references:
  - url: 'https://git.kernel.org/stable/c/bbb1ecaed4ed7680e63d3a0f143f03de32de5d6e'
  - url: 'https://git.kernel.org/stable/c/e2dac91380a10e9e8d5883fb73ce9d9b390a629c'
  - url: 'https://git.kernel.org/stable/c/0baf9d43a7b7b43df2900bd8656e75b725028b6e'
  - url: 'https://git.kernel.org/stable/c/a3e340d506c1036a747fb0972aebf1063f7ef30e'
  - url: 'https://git.kernel.org/stable/c/760a1029692f1d788dc11aa636a3bf432e58b240'
  - url: 'https://git.kernel.org/stable/c/16a42c88c4667fa0bd944e438a667e059551f1f1'
  - url: 'https://git.kernel.org/stable/c/2ff8156fd500d54c61430b6834137fd0a07047ce'
  - url: 'https://git.kernel.org/stable/c/8c2f0b42fc252e1bf1c7746447091a468e784ca1'
tags:
  - cve.org
epss: 0.0022
epssPercentile: 0.12549
ingestedAt: '2026-11-06T18:00:12.585Z'
---

## Overview

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

mfd: sm501: Fix reference leak on failed device registration

When platform_device_register() fails in sm501_register_device(), the
embedded struct device in pdev has already been initialized by
device_initialize(), but the failure path only reports the error and
returns without dropping the device reference for the current platform
device:

  sm501_register_device()
    -> platform_device_register(pdev)
       -> device_initialize(&pdev->dev)
       -> setup_pdev_dma_masks(pdev)
       -> platform_device_add(pdev)

This leads to a reference leak when platform_device_register() fails.
Fix this by calling platform_device_put() before returning the error.

The issue was identified by a static analysis tool I developed and
confirmed by manual review.

## Affected

- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < bbb1ecaed4ed7680e63d3a0f143f03de32de5d6e`
- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < e2dac91380a10e9e8d5883fb73ce9d9b390a629c`
- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 0baf9d43a7b7b43df2900bd8656e75b725028b6e`
- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < a3e340d506c1036a747fb0972aebf1063f7ef30e`
- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 760a1029692f1d788dc11aa636a3bf432e58b240`
- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 16a42c88c4667fa0bd944e438a667e059551f1f1`
- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 2ff8156fd500d54c61430b6834137fd0a07047ce`
- `Linux >= b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 8c2f0b42fc252e1bf1c7746447091a468e784ca1`
- `Linux 2.6.21`

## Remediation

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