---
id: CVE-2026-72163
title: 'ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits

  [BUG]
  A direct write over unwritten extents can panic the kernel in
  ocfs2_assure_trans_credits() when…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a68b896aa56e435506453ec8835bc991ec3ae687 <
    2d80e9c56718435a9c9f5f24dbc954989aead579
  - >-
    Linux >= 320273b5649bbcee87f9e65343077189699d2a7a <
    942b818b396c24c452681803ff291552317d2ef1
  - >-
    Linux >= 9ea2d1c6789722d58ec191f14f9a02518d55b6b4 <
    7146d191dae3a8efdb957993fb61a55713186266
  - >-
    Linux >= c05ffb693bfb42a48ef3ee88a55b57392984e111 <
    f14aaaa130356ee4adb44de947c098637c70df8f
  - >-
    Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 <
    6ad7532a23bc94076efe9f1486dd7f7493c090ff
  - >-
    Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 <
    bd73971fad89d5ee4ea0ba9b92d2ea08733c4a64
  - >-
    Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 <
    253ed993e0b36997ec7b04c1ff76103b38241de2
  - >-
    Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 <
    f9ab30c96b0f00c20c6dac93681bdae3a033d229
  - Linux 331d1079d58206ff7dc5518185f800b412f89bc6
  - Linux >= 5.10.221 < 5.10.261
  - Linux >= 5.15.162 < 5.15.212
  - Linux >= 6.1.97 < 6.1.178
  - Linux >= 6.6.37 < 6.6.145
  - Linux >= 6.9.8 < 6.10
  - Linux 6.10
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-06T16:52:16.664992Z'
published: '2026-08-15'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:55:21.558Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-72163'
references:
  - url: 'https://git.kernel.org/stable/c/2d80e9c56718435a9c9f5f24dbc954989aead579'
  - url: 'https://git.kernel.org/stable/c/942b818b396c24c452681803ff291552317d2ef1'
  - url: 'https://git.kernel.org/stable/c/7146d191dae3a8efdb957993fb61a55713186266'
  - url: 'https://git.kernel.org/stable/c/f14aaaa130356ee4adb44de947c098637c70df8f'
  - url: 'https://git.kernel.org/stable/c/6ad7532a23bc94076efe9f1486dd7f7493c090ff'
  - url: 'https://git.kernel.org/stable/c/bd73971fad89d5ee4ea0ba9b92d2ea08733c4a64'
  - url: 'https://git.kernel.org/stable/c/253ed993e0b36997ec7b04c1ff76103b38241de2'
  - url: 'https://git.kernel.org/stable/c/f9ab30c96b0f00c20c6dac93681bdae3a033d229'
tags:
  - cve.org
epss: 0.00216
epssPercentile: 0.12142
ingestedAt: '2026-11-06T18:00:12.591Z'
---

## Overview

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

ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits

[BUG]
A direct write over unwritten extents can panic the kernel in
ocfs2_assure_trans_credits() when the journal aborts during DIO
completion. The crash is a general protection fault from a NULL pointer
dereference.

[CAUSE]
ocfs2_dio_end_io_write() loops over a direct write's unwritten extents,
marking each written under a single journal handle. If the journal
aborts (for example after an I/O error) while the extent tree is being
updated, the handle is left aborted with its transaction pointer
cleared. The extent merge treats that failure as not critical and
reports success, so the loop keeps using the handle.
ocfs2_assure_trans_credits() reads the handle's remaining credits
without first checking whether the handle is aborted, and that read
dereferences the cleared transaction pointer.

[FIX]
A journal abort is recorded in the handle itself, so callers are
expected to test the handle rather than rely on a returned error.
Make ocfs2_assure_trans_credits() do that, as the other ocfs2 journal
helpers already do, and return -EROFS when the handle is aborted.

## Affected

- `Linux >= a68b896aa56e435506453ec8835bc991ec3ae687 < 2d80e9c56718435a9c9f5f24dbc954989aead579`
- `Linux >= 320273b5649bbcee87f9e65343077189699d2a7a < 942b818b396c24c452681803ff291552317d2ef1`
- `Linux >= 9ea2d1c6789722d58ec191f14f9a02518d55b6b4 < 7146d191dae3a8efdb957993fb61a55713186266`
- `Linux >= c05ffb693bfb42a48ef3ee88a55b57392984e111 < f14aaaa130356ee4adb44de947c098637c70df8f`
- `Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 < 6ad7532a23bc94076efe9f1486dd7f7493c090ff`
- `Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 < bd73971fad89d5ee4ea0ba9b92d2ea08733c4a64`
- `Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 < 253ed993e0b36997ec7b04c1ff76103b38241de2`
- `Linux >= be346c1a6eeb49d8fda827d2a9522124c2f72f36 < f9ab30c96b0f00c20c6dac93681bdae3a033d229`
- `Linux 331d1079d58206ff7dc5518185f800b412f89bc6`
- `Linux >= 5.10.221 < 5.10.261`
- `Linux >= 5.15.162 < 5.15.212`
- `Linux >= 6.1.97 < 6.1.178`
- `Linux >= 6.6.37 < 6.6.145`
- `Linux >= 6.9.8 < 6.10`
- `Linux 6.10`

## Remediation

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