CVE-2026-31642 PUBLISHED

rxrpc: Fix call removal to use RCU safe deletion

Assigner: Linux
Reserved: 09.03.2026 Published: 24.04.2026 Updated: 24.04.2026

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

rxrpc: Fix call removal to use RCU safe deletion

Fix rxrpc call removal from the rxnet->calls list to use list_del_rcu() rather than list_del_init() to prevent stuffing up reading /proc/net/rxrpc/calls from potentially getting into an infinite loop.

This, however, means that list_empty() no longer works on an entry that's been deleted from the list, making it harder to detect prior deletion. Fix this by:

Firstly, make rxrpc_destroy_all_calls() only dump the first ten calls that are unexpectedly still on the list. Limiting the number of steps means there's no need to call cond_resched() or to remove calls from the list here, thereby eliminating the need for rxrpc_put_call() to check for that.

rxrpc_put_call() can then be fixed to unconditionally delete the call from the list as it is the only place that the deletion occurs.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 2baec2c3f854d1f79c7bb28386484e144e864a14 to 93fc15be44a35b8e3c58d0238ac0d9b7c53465ff (excl.)
  • affected from 2baec2c3f854d1f79c7bb28386484e144e864a14 to c63abf25203b50243fe228090526f9dbf37727bd (excl.)
  • affected from 2baec2c3f854d1f79c7bb28386484e144e864a14 to 3be718f659683ad89fad6f1eb66bee99727cae64 (excl.)
  • affected from 2baec2c3f854d1f79c7bb28386484e144e864a14 to ac5f54691be06a32246179d41be2d73598036deb (excl.)
  • affected from 2baec2c3f854d1f79c7bb28386484e144e864a14 to 146d4ab94cf129ee06cd467cb5c71368a6b5bad6 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.13 is affected
  • unaffected from 0 to 4.13 (excl.)
  • unaffected from 6.6.135 to 6.6.* (incl.)
  • unaffected from 6.12.82 to 6.12.* (incl.)
  • unaffected from 6.18.23 to 6.18.* (incl.)
  • unaffected from 6.19.13 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References