Re: [PATCH v4 0/6] ntfs: validate attribute values on lookup
From: Namjae Jeon
Date: Fri Jun 05 2026 - 11:43:42 EST
On Sat, May 30, 2026 at 11:35 PM DaeMyung Kang <charsyam@xxxxxxxxx> wrote:
>
> This v4 supersedes the previous single-patch v3. Per review, it expands
> the lookup-time attribute value validation into a series so $VOLUME_NAME
> and $INDEX_ROOT can be validated safely.
>
> The first patch keeps the original $FILE_NAME corruption fix and moves
> the duplicated non-resident mapping-pairs metadata checks into the common
> attribute value validator. It also keeps resident value matching in the
> external attribute lookup path on the actual value length and fixes the
> matching attrlist duplicate check for resident attributes. The next
> patches prepare the volume label write and mount read paths to cope with
> a rejected $VOLUME_NAME, add $VOLUME_NAME validation, fix the
> ntfs_ir_truncate() shrink ordering issue, and then enable $INDEX_ROOT
> validation.
>
> Changes since v3:
> - Expand the single patch into a 6-patch series as requested.
> - Keep corruption messages using numeric attribute types and drop the
> attribute type name helper.
> - Move non-resident mapping-pairs metadata validation into the shared
> ntfs_attr_value_is_valid() helper.
> - Preserve resident @val matching in ntfs_external_attr_find() using the
> actual resident value length, and avoid reading the non-resident
> lowest_vcn union member when checking resident attrlist duplicates.
> - Make ntfs_write_volume_label() add a replacement only after successful
> removal or after -ENOENT, and propagate other lookup/removal errors.
> - Reinitialize the mount-time search context before the
> $VOLUME_INFORMATION lookup, since a rejected $VOLUME_NAME leaves the
> context in an undefined state.
> - Add $VOLUME_NAME-specific validation, and reject non-resident
> $VOLUME_NAME records like non-resident $FILE_NAME.
> - Include the ntfs_ir_truncate() shrink ordering fix.
> - Add $INDEX_ROOT-specific validation on top of the shrink fix.
>
> DaeMyung Kang (6):
> ntfs: validate attribute values on lookup
> ntfs: do not replace volume name after lookup errors
> ntfs: reinit search context before volume information lookup
> ntfs: validate resident volume name values on lookup
> ntfs: update index root allocated size before shrink
> ntfs: validate resident index root values on lookup
I have applied patches 0001 ~ 0004 first, as we are continuously
receiving similar patches. I skipped patch 0005 for now since it seems
like a workaround, and as you know, 0006 patch couldn't be applied due
to xfstests failures.
Thanks!