CVE-2026-52939

net/rds: fix NULL deref in rds_ib_send_cqe_handler() on masked atomic completion

published June 24, 2026

CVSS
—
EPSS
0%
Percentile
1.6
In the wild
Unconfirmed
What it is

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

net/rds: fix NULL deref in rds_ib_send_cqe_handler() on masked atomic completion

rds_ib_xmit_atomic() always programs a masked atomic opcode

(IB_WR_MASKED_ATOMIC_CMP_AND_SWP or IB_WR_MASKED_ATOMIC_FETCH_AND_ADD)

for every RDS atomic cmsg. But the completion-side switch in

rds_ib_send_unmap_op() only handles the non-masked opcodes, so a masked

atomic completion falls through to default and returns rm == NULL while

send->s_op is left set. rds_ib_send_cqe_handler() then dereferences the

NULL rm via rm->m_final_op, oopsing in softirq context. An unprivileged

AF_RDS sendmsg() of an atomic cmsg over an active RDS/IB connection

triggers it; on hardware that natively accepts masked atomics (mlx4,

mlx5) no extra setup is needed.

RDS/IB: rds_ib_send_unmap_op: unexpected opcode 0xd in WR!

Oops: general protection fault [#1] SMP KASAN

KASAN: null-ptr-deref in range [0x0000000000000190-0x0000000000000197]

RIP: rds_ib_send_cqe_handler+0x25c/0xb10 (net/rds/ib_send.c:282)

Call Trace:

<IRQ>

rds_ib_send_cqe_handler (net/rds/ib_send.c:282)

poll_scq (net/rds/ib_cm.c:274)

rds_ib_tasklet_fn_send (net/rds/ib_cm.c:294)

tasklet_action_common (kernel/softirq.c:943)

handle_softirqs (kernel/softirq.c:573)

run_ksoftirqd (kernel/softirq.c:479)

</IRQ>

Kernel panic - not syncing: Fatal exception in interrupt

Handle the masked atomic opcodes in the same case as the non-masked

ones: they map to the same struct rds_message.atomic union member, so

the existing container_of()/rds_ib_send_unmap_atomic() body is correct

for them.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00117 · 1.6th percentile
Published
2026-06-24T07:14Z
EPSS history
Timeline
  • 24 JUN 07:14Z
    net/rds: fix NULL deref in rds_ib_send_cqe_handler() on masked atomic completion
    cvelistv5