---
id: CVE-2026-53226
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  gpio: rockchip: fix generic IRQ chip leak on remove

  The driver allocates domain generic chips using
  irq_alloc_domain_generic_chips() during probe
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  gpio: rockchip: fix generic IRQ chip leak on remove

  The driver allocates domain generic chips using
  irq_alloc_domain_generic_chips() during probe. However, on driver
  r…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-401
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.15, < 6.18.36'
  - 'linux_kernel >= 6.19, < 7.0.13'
  - linux_kernel = 7.1
patched:
  - linux_kernel 7.0.13
published: '2026-06-25'
updated: '2026-07-02'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53226'
references:
  - url: 'https://git.kernel.org/stable/c/1c1e0fc88d6ef65bf15d517853251f75ab9d18c3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/1f34ea5f6114011092d9a5c8b901ad6741144a1d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/bace7b99bfa555fe833aee8827b8004c43666d02'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00119
epssPercentile: 0.01554
ingestedAt: '2026-07-03T13:02:28.069Z'
---

## Overview

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

gpio: rockchip: fix generic IRQ chip leak on remove

The driver allocates domain generic chips using
irq_alloc_domain_generic_chips() during probe. However, on driver
remove/teardown, the generic chips are not automatically freed when the
IRQ domain is removed because the domain flags do not include
IRQ_DOMAIN_FLAG_DESTROY_GC.

This causes both the domain generic chips structure and the associated
generic chips to be leaked. Additionally, the generic chips remain on
the global gc_list and may later be visited by generic IRQ chip suspend,
resume, or shutdown callbacks after the GPIO bank has been removed,
potentially resulting in a use-after-free and kernel crash.

Fix the resource leak by explicitly calling
irq_domain_remove_generic_chips() before removing the IRQ domain in
rockchip_gpio_remove().

## Affected

- `linux_kernel >= 5.15, < 6.18.36`
- `linux_kernel >= 6.19, < 7.0.13`
- `linux_kernel = 7.1`

## Remediation

Upgrade past the affected range:

- `linux_kernel 7.0.13`
