---
id: CVE-2026-31556
title: 'xfs: scrub: unlock dquot before early return in quota scrub'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  xfs: scrub: unlock dquot before early return in quota scrub

  xchk_quota_item can return early after calling xchk_fblock_process_error.
  When that helper returns false, t…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 <
    e822f535273af0e8968eab7acc0cea0b90dd25af
  - >-
    Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 <
    3b0c3414b308e6822cda90bf99f7eac94d4cca2b
  - >-
    Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 <
    d128fc0c5c2b19224927d4fd2a46c2fe6a1f606f
  - >-
    Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 <
    268378b6ad20569af0d1957992de1c8b16c6e900
  - Linux 6.8
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T21:38:48.222789Z'
published: '2026-04-24'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T21:45:07.864Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31556'
references:
  - url: 'https://git.kernel.org/stable/c/e822f535273af0e8968eab7acc0cea0b90dd25af'
  - url: 'https://git.kernel.org/stable/c/3b0c3414b308e6822cda90bf99f7eac94d4cca2b'
  - url: 'https://git.kernel.org/stable/c/d128fc0c5c2b19224927d4fd2a46c2fe6a1f606f'
  - url: 'https://git.kernel.org/stable/c/268378b6ad20569af0d1957992de1c8b16c6e900'
tags:
  - cve.org
epss: 0.00122
epssPercentile: 0.01991
ingestedAt: '2026-11-05T23:41:31.968Z'
---

## Overview

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

xfs: scrub: unlock dquot before early return in quota scrub

xchk_quota_item can return early after calling xchk_fblock_process_error.
When that helper returns false, the function returned immediately without
dropping dq->q_qlock, which can leave the dquot lock held and risk lock
leaks or deadlocks in later quota operations.

Fix this by unlocking dq->q_qlock before the early return.

## Affected

- `Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 < e822f535273af0e8968eab7acc0cea0b90dd25af`
- `Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 < 3b0c3414b308e6822cda90bf99f7eac94d4cca2b`
- `Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 < d128fc0c5c2b19224927d4fd2a46c2fe6a1f606f`
- `Linux >= 7d1f0e167a067ed741dec08b7614d76893422b04 < 268378b6ad20569af0d1957992de1c8b16c6e900`
- `Linux 6.8`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
