CVE-2026-93229

nfsd: add missing read barrier to rpc_status_get dumpit seqcount retry

State
Published
Severity
7.1 High
Published
Sep 24, 2026
Updated
Oct 19, 2026
Reserved
Sep 17, 2026

Read the record on cve.org

Description

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

nfsd: add missing read barrier to rpc_status_get dumpit seqcount retry

The hand-rolled seqcount-like protocol in nfsd_nl_rpc_status_get_dumpit() is missing a read memory barrier (smp_rmb) before its second counter check. The standard kernel read_seqcount_retry() includes smp_rmb() to ensure that all data reads complete before the counter is re-checked.

Without this barrier, on weakly-ordered architectures (ARM, POWER), the CPU may reorder field reads past the second counter check, making the retry logic ineffective: it could observe a consistent counter pair while reading fields that have been concurrently modified by the writer.

Add smp_rmb() before the second counter check to order the field reads ahead of it, matching the barrier semantics of the standard seqcount read-side. The begin-side smp_load_acquire() already pairs with the smp_store_release() in nfsd_dispatch(); with the smp_rmb() now ordering the field reads, the retry check no longer needs acquire semantics and reads the counter with a plain READ_ONCE(), as read_seqcount_retry() does.

[ cel: Use READ_ONCE instead of smp_load_acquire() ]

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to before f501f2f4ec1d2dfe39e21c98630314074a9b30b0Affected
  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to before 1aea0482b98ecd7d0249204665f2ad4ad517f66bAffected
  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to before 9b5f6475006cd8e3b5b99b8eb3cd74dbb1ce9df8Affected
  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to before a71f161a857117e8e0264deb7d14fff5c98adcf5Affected
LinuxLinux
  • 6.7Affected
  • before 6.7Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.