CVE-2023-54274

RDMA/srpt: Add a check for valid 'mad_agent' pointer

State
Published
Severity
Not scored
Published
Dec 30, 2025
Updated
May 11, 2026
Reserved
Dec 30, 2025

Read the record on cve.org

Description

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

RDMA/srpt: Add a check for valid 'mad_agent' pointer

When unregistering MAD agent, srpt module has a non-null check for 'mad_agent' pointer before invoking ib_unregister_mad_agent(). This check can pass if 'mad_agent' variable holds an error value. The 'mad_agent' can have an error value for a short window when srpt_add_one() and srpt_remove_one() is executed simultaneously.

In srpt module, added a valid pointer check for 'sport->mad_agent' before unregistering MAD agent.

This issue can hit when RoCE driver unregisters ib_device

Stack Trace: ------------ BUG: kernel NULL pointer dereference, address: 000000000000004d PGD 145003067 P4D 145003067 PUD 2324fe067 PMD 0 Oops: 0002 [#1] PREEMPT SMP NOPTI CPU: 10 PID: 4459 Comm: kworker/u80:0 Kdump: loaded Tainted: P Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.5.4 01/13/2020 Workqueue: bnxt_re bnxt_re_task [bnxt_re] RIP: 0010:_raw_spin_lock_irqsave+0x19/0x40 Call Trace: ib_unregister_mad_agent+0x46/0x2f0 [ib_core] IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready ? __schedule+0x20b/0x560 srpt_unregister_mad_agent+0x93/0xd0 [ib_srpt] srpt_remove_one+0x20/0x150 [ib_srpt] remove_client_context+0x88/0xd0 [ib_core] bond0: (slave p2p1): link status definitely up, 100000 Mbps full duplex disable_device+0x8a/0x160 [ib_core] bond0: active interface up! ? kernfs_name_hash+0x12/0x80 (NULL device *): Bonding Info Received: rdev: 000000006c0b8247 __ib_unregister_device+0x42/0xb0 [ib_core] (NULL device *): Master: mode: 4 num_slaves:2 ib_unregister_device+0x22/0x30 [ib_core] (NULL device *): Slave: id: 105069936 name:p2p1 link:0 state:0 bnxt_re_stopqps_and_ib_uninit+0x83/0x90 [bnxt_re] bnxt_re_alloc_lag+0x12e/0x4e0 [bnxt_re]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a42d985bd5b234da8b61347a78dc3057bf7bb94d to before 8ec6acdb9b6a80eeb13e778dfedb5d72a88f14feAffected
  • a42d985bd5b234da8b61347a78dc3057bf7bb94d to before 00cc21e32ea1b8ebbabf5d645da9378d986bf8baAffected
  • a42d985bd5b234da8b61347a78dc3057bf7bb94d to before 4323aaedeba32076e652aad056afd7885bb96bb7Affected
  • a42d985bd5b234da8b61347a78dc3057bf7bb94d to before 5f6ef2a574b0e0e0ea46ed0022575442df9d0bf9Affected
  • a42d985bd5b234da8b61347a78dc3057bf7bb94d to before b713623bfef8cb1df9c769a3887fa10db63d1c54Affected
  • a42d985bd5b234da8b61347a78dc3057bf7bb94d to before eca5cd9474cd26d62f9756f536e2e656d3f62f3aAffected
LinuxLinux
  • 3.3Affected
  • before 3.3Not affected
  • 5.10.180 through 5.10.*Not affected
  • 5.15.111 through 5.15.*Not affected
  • 6.1.28 through 6.1.*Not affected
  • 6.2.15 through 6.2.*Not affected
  • 6.3.2 through 6.3.*Not affected
  • 6.4 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.