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

  RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled

  Fix missuse of spin_lock_irq()/spin_unlock_irq() when
  spin_lock_irqsave()/spin_lock_irqrestore() was ho…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled

  Fix missuse of spin_lock_irq()/spin_unlock_irq() when
  spin_lock_irqsave()/spin_lock_irqrestore() was ho…
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-667
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.9, < 5.10.227'
  - 'linux_kernel >= 5.11, < 5.15.168'
  - 'linux_kernel >= 5.16, < 6.1.113'
  - 'linux_kernel >= 6.2, < 6.6.54'
  - 'linux_kernel >= 6.7, < 6.10.13'
  - 'linux_kernel >= 6.11, < 6.11.2'
patched:
  - linux_kernel 6.11.2
published: '2024-10-21'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:18:57.483'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-47735'
references:
  - url: 'https://git.kernel.org/stable/c/07f0f643d7e570dbe8ef6f5c3367a43e3086a335'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/094a1821903f33fb91de4b71087773ee16aeb3a0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2656336a84fcb6802f6e6c233f4661891deea24f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/29c0f546d3fd66238b42cf25bcd5f193bb1cf794'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/425589d4af09c49574bd71ac31f811362a5126c3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/74d315b5af180220d561684d15897730135733a6'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a1a3403bb1826c8ec787f0d60c3e7b54f419129e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-265688.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-355557.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00189
epssPercentile: 0.08484
ingestedAt: '2026-10-15T03:30:12.750Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-10-21T12:59:57.677353Z'
---

## Overview

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

RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled

Fix missuse of spin_lock_irq()/spin_unlock_irq() when
spin_lock_irqsave()/spin_lock_irqrestore() was hold.

This was discovered through the lock debugging, and the corresponding
log is as follows:

raw_local_irq_restore() called with IRQs enabled
WARNING: CPU: 96 PID: 2074 at kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x30/0x40
...
Call trace:
 warn_bogus_irq_restore+0x30/0x40
 _raw_spin_unlock_irqrestore+0x84/0xc8
 add_qp_to_list+0x11c/0x148 [hns_roce_hw_v2]
 hns_roce_create_qp_common.constprop.0+0x240/0x780 [hns_roce_hw_v2]
 hns_roce_create_qp+0x98/0x160 [hns_roce_hw_v2]
 create_qp+0x138/0x258
 ib_create_qp_kernel+0x50/0xe8
 create_mad_qp+0xa8/0x128
 ib_mad_port_open+0x218/0x448
 ib_mad_init_device+0x70/0x1f8
 add_client_context+0xfc/0x220
 enable_device_and_get+0xd0/0x140
 ib_register_device.part.0+0xf4/0x1c8
 ib_register_device+0x34/0x50
 hns_roce_register_device+0x174/0x3d0 [hns_roce_hw_v2]
 hns_roce_init+0xfc/0x2c0 [hns_roce_hw_v2]
 __hns_roce_hw_v2_init_instance+0x7c/0x1d0 [hns_roce_hw_v2]
 hns_roce_hw_v2_init_instance+0x9c/0x180 [hns_roce_hw_v2]

## Affected

- `linux_kernel >= 4.9, < 5.10.227`
- `linux_kernel >= 5.11, < 5.15.168`
- `linux_kernel >= 5.16, < 6.1.113`
- `linux_kernel >= 6.2, < 6.6.54`
- `linux_kernel >= 6.7, < 6.10.13`
- `linux_kernel >= 6.11, < 6.11.2`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.11.2`
