CVE-2026-52941 PUBLISHED

net/smc: avoid NULL deref of conn->lnk in smc_msg_event tracepoint

Assigner: Linux
Reserved: 09.06.2026 Published: 24.06.2026 Updated: 24.06.2026

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

net/smc: avoid NULL deref of conn->lnk in smc_msg_event tracepoint

The smc_msg_event tracepoint class, shared by smc_tx_sendmsg and smc_rx_recvmsg, unconditionally dereferences smc->conn.lnk:

<pre>__string(name, smc->conn.lnk->ibname) </pre>

conn->lnk is only set for SMC-R; for SMC-D it is NULL. Other code on these paths already handles this (e.g. !conn->lnk in SMC_STAT_RMB_TX_SIZE_SMALL()). With the tracepoint enabled, the first sendmsg()/recvmsg() on an SMC-D socket crashes:

Oops: general protection fault, probably for non-canonical address KASAN: null-ptr-deref in range [...] RIP: 0010:strlen+0x1e/0xa0 Call Trace: trace_event_raw_event_smc_msg_event (net/smc/smc_tracepoint.h:44) smc_rx_recvmsg (net/smc/smc_rx.c:515) smc_recvmsg (net/smc/af_smc.c:2859) __sys_recvfrom (net/socket.c:2315) __x64_sys_recvfrom (net/socket.c:2326) do_syscall_64

The faulting address 0x3e0 is offsetof(struct smc_link, ibname), confirming the NULL ->lnk deref. Enabling the tracepoint requires root, but the trigger itself is unprivileged: socket(AF_SMC, ...) has no capability check, and SMC-D negotiation needs no admin step on s390 or on x86 with the loopback ISM device loaded.

Log an empty device name for SMC-D instead of dereferencing NULL.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from aff3083f10bff7a37eaa2b4e6bc5fb627ddd5f84 to 68200112534bb2acd1d7117dc2d5c124868d866d (excl.)
  • affected from aff3083f10bff7a37eaa2b4e6bc5fb627ddd5f84 to 720c76b930c52cd58f50eb6b10569d03dccc7959 (excl.)
  • affected from aff3083f10bff7a37eaa2b4e6bc5fb627ddd5f84 to b706d6d76a2a2793fe5ad0fbc2a75b6a460094ef (excl.)
  • affected from aff3083f10bff7a37eaa2b4e6bc5fb627ddd5f84 to d2ea0b8aef8746e147602eac87ca8538f4bc7e66 (excl.)
  • affected from aff3083f10bff7a37eaa2b4e6bc5fb627ddd5f84 to 561cf66fa9b6c86dfe4e687d2d1aeaaa6739917f (excl.)
  • affected from aff3083f10bff7a37eaa2b4e6bc5fb627ddd5f84 to 7bf563badd37cb796df5477d2b78bb64148a1268 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.16 is affected
  • unaffected from 0 to 5.16 (excl.)
  • unaffected from 6.1.175 to 6.1.* (incl.)
  • unaffected from 6.6.142 to 6.6.* (incl.)
  • unaffected from 6.12.92 to 6.12.* (incl.)
  • unaffected from 6.18.34 to 6.18.* (incl.)
  • unaffected from 7.0.11 to 7.0.* (incl.)
  • unaffected from 7.1 to * (incl.)

References