Skip to content
CVE PROGRAM SOURCE RECORD7.1 High

CVE-2026-93229

nfsd: add missing read barrier to rpc_status_get dumpit seqcount retry

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() ]

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to < f501f2f4ec1d2dfe39e21c98630314074a9b30b0affected
  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to < 1aea0482b98ecd7d0249204665f2ad4ad517f66baffected
  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to < 9b5f6475006cd8e3b5b99b8eb3cd74dbb1ce9df8affected
  • bd9d6a3efa9709e653aafbeb859289feccb8e70c to < a71f161a857117e8e0264deb7d14fff5c98adcf5affected

Linux Linux

Default version status: affected

  • 6.7affected
  • 0 to < 6.7unaffected
  • 6.12.109 to ≤ 6.12.*unaffected
  • 6.18.50 to ≤ 6.18.*unaffected
  • 7.2.4 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References