Skip to content
Heist/ feed
Back to feed
UnratedFix available

rxrpc: Fix call removal to use RCU safe deletion

Type: advisorySources: OSV

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.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.258, 5.15.209, 6.1.175, 6.12.82, 6.18.23, 6.19.13, 6.6.135
CVEs
CVE-2026-31642
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 04:28 UTC · Revision 1

Source evidence

rxrpc: Fix call removal to use RCU safe deletion

core-osv · Original source

Published 24 Apr 2026, 14:44 UTC

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.

osv:CVE-2026-31642

Kernel

Fixed versions: 5.10.258, 5.15.209, 6.1.175, 6.6.135, 6.12.82, 6.18.23, 6.19.13

Complete source record
{
  "id": "652dd9b2009eabbd7a2569975a69e94b92ff1f188a693eaedbf753508fcbe183",
  "url": "https://osv.dev/vulnerability/CVE-2026-31642",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "rxrpc: Fix call removal to use RCU safe deletion",
    "summary": "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.",
    "evidence": "osv:CVE-2026-31642",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.258",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.209",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.175",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.135",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.82",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.23",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.19.13",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-31642",
      "aliases": [
        "CVE-2026-31642"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2baec2c3f854d1f79c7bb28386484e144e864a14"
                },
                {
                  "fixed": "3e47a38e584b905359fe0ce5be5165d1e8592a90"
                },
                {
                  "fixed": "b15b1ce96777b88989a6a4de8d01efbcd81ad2d7"
                },
                {
                  "fixed": "280efb85e9759881a9d31d0874baa04583cb6c09"
                },
                {
                  "fixed": "93fc15be44a35b8e3c58d0238ac0d9b7c53465ff"
                },
                {
                  "fixed": "c63abf25203b50243fe228090526f9dbf37727bd"
                },
                {
                  "fixed": "3be718f659683ad89fad6f1eb66bee99727cae64"
                },
                {
                  "fixed": "ac5f54691be06a32246179d41be2d73598036deb"
                },
                {
                  "fixed": "146d4ab94cf129ee06cd467cb5c71368a6b5bad6"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31642.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "4.13.0"
                },
                {
                  "fixed": "5.10.258"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.209"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.175"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.135"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.82"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.23"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "6.19.13"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31642.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:33.228733462Z",
      "provider": "osv",
      "references": [
        "https://cert-portal.siemens.com/productcert/html/ssa-784472.html",
        "https://git.kernel.org/stable/c/146d4ab94cf129ee06cd467cb5c71368a6b5bad6",
        "https://git.kernel.org/stable/c/280efb85e9759881a9d31d0874baa04583cb6c09",
        "https://git.kernel.org/stable/c/3be718f659683ad89fad6f1eb66bee99727cae64",
        "https://git.kernel.org/stable/c/3e47a38e584b905359fe0ce5be5165d1e8592a90",
        "https://git.kernel.org/stable/c/93fc15be44a35b8e3c58d0238ac0d9b7c53465ff",
        "https://git.kernel.org/stable/c/ac5f54691be06a32246179d41be2d73598036deb",
        "https://git.kernel.org/stable/c/b15b1ce96777b88989a6a4de8d01efbcd81ad2d7",
        "https://git.kernel.org/stable/c/c63abf25203b50243fe228090526f9dbf37727bd",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31642.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-31642",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31642.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-31642",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 500247,
  "published_at": "2026-04-24T14:44:56.888+00:00"
}