diff options
| author | DaeMyung Kang <charsyam@gmail.com> | 2026-05-21 13:17:51 +0300 |
|---|---|---|
| committer | Namjae Jeon <linkinjeon@kernel.org> | 2026-06-05 18:19:44 +0300 |
| commit | 8f4b6e8bda121ae3d4d8e332b789664604d3e9d2 (patch) | |
| tree | 95a63d4c725c068949c6aadb7297ccac16f821bf /include/linux/xarray.h | |
| parent | a9523a7d3b24b3a6b25ec1eb668ee6618cacf05e (diff) | |
| download | linux-8f4b6e8bda121ae3d4d8e332b789664604d3e9d2.tar.xz | |
ntfs: only alias volume $UpCase to default on exact match
load_and_init_upcase() currently aliases vol->upcase to the global
default upcase whenever the shared prefix matches, and then truncates
vol->upcase_len to that shorter prefix. The result is correct only by
accident: upcase[] accesses in name collation are gated by upcase_len,
so the prefix-equality alias produces the same fold output as keeping
the volume's own shorter table.
Still, prefix equality is not equality: the volume table is logically
distinct from the default and should not be replaced by it unless they
are byte-for-byte identical. Use memcmp() to compare the complete table
in one expression and drop the now-redundant upcase_len rewrite.
No user-visible change is expected for compliant volumes whose $UpCase
has exactly default_upcase_len entries; shorter volume tables are no
longer aliased to the default.
Cc: stable@vger.kernel.org # v7.1
Signed-off-by: DaeMyung Kang <charsyam@gmail.com>
Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'include/linux/xarray.h')
0 files changed, 0 insertions, 0 deletions
