Description
In the Linux kernel, the following vulnerability has been resolved: xfs: initialise error in xfs_defer_finish_one() xfs_defer_finish_one() declares error without an initialiser and only assigns it inside the loop over dfp->dfp_work. When that list is empty the loop body never runs, control falls through to the "Done with the dfp, free it" path, and the function returns an indeterminate value. An item-less pending item reaches this through xfs_defer_add_barrier(), which xfs_reap_ag_blocks() uses on any CONFIG_XFS_ONLINE_REPAIR kernel. xfs_defer_finish_noroll() treats any non-EAGAIN return as fatal, so a non-zero stack value turns a successful barrier into a SHUTDOWN_CORRUPT_INCORE in the middle of a repair. Zero is the correct result: reaching the free path means the item loop drained without a non-zero error.
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
3f3cec031099c37513727efc978a12b6346e326d to < 30748a24b9f04f9a83599ba907cc8fbff0729f3caffected3f3cec031099c37513727efc978a12b6346e326d to < ba949a14446b7346e92e676ee3fe2bb79d9ce450affected3f3cec031099c37513727efc978a12b6346e326d to < 6b507c239884f7d4bf8339f6e9eb8bfcb540afdeaffected3f3cec031099c37513727efc978a12b6346e326d to < 6176d21d7bd609632c5b7e87a3adb9be29ec1e72affected
Linux Linux
Default version status: affected
6.8affected0 to < 6.8unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected