CVE-2026-89527: svcrdma: Use svc_xprt_put to free listener on create failure

Published Sep 11, 2026
·
Updated

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

svcrdma: Use svcxprtput to free listener on create failure

svcrdmacreate() calls kfree(cmaxprt) when svcrdmacreatelistenid() fails. svcxprtinit() has already acquired a net namespace reference via getnettrack(); kfree bypasses svcxprtfree() which releases it.

Replace the kfree() with svcxprtput() so the krefinit birth reference drops to zero and svcxprtfree() dispatches svcrdmafree() to clean up properly. sccmid is still NULL at that point; the preceding patch added the necessary NULL guard in svcrdmafree().

svcxprtfree() also drops the module reference via moduleput(), but the caller svcxprtcreate() does the same on xpocreate failure, double-putting the single trymoduleget() it acquired. Take a compensating moduleget() before the svcxprtput() to keep the count balanced, matching the convention in svcrdmaaccept()'s error path.

Event History

Sep 11, 2026
CVE Published
via MITRE·07:44 PM
Data Sourced
via MITRE·07:44 PM
Description

Frequently Asked Questions

1

When does the affected error path run?

It runs when svc_rdma_create_listen_id() fails during svc_rdma_create(). At that point, the listener's sc_cm_id is still NULL.

2

What cleanup is missed on this path?

Freeing the listener directly bypasses svc_xprt_free(), leaving the net namespace reference acquired by svc_xprt_init() unreleased. The corrected path also balances module references so the caller's failure cleanup does not double-put the module reference.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203