]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ntfs3: avoid memcpy size warning
authorLizhi Xu <lizhi.xu@windriver.com>
Thu, 9 Oct 2025 02:37:33 +0000 (10:37 +0800)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Mon, 10 Nov 2025 13:30:16 +0000 (14:30 +0100)
There are more entries after the structure, use unsafe_memcpy() to avoid
this warning.

syzbot reported:
memcpy: detected field-spanning write (size 3656) of single field "hdr1" at fs/ntfs3/index.c:1927 (size 16)
Call Trace:
 indx_insert_entry+0x1a0/0x460 fs/ntfs3/index.c:1996
 ni_add_name+0x4dd/0x820 fs/ntfs3/frecord.c:2995
 ni_rename+0x98/0x170 fs/ntfs3/frecord.c:3026
 ntfs_rename+0xab9/0xf00 fs/ntfs3/namei.c:332

Reported-by: syzbot+3a1878433bc1cb97b42a@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=3a1878433bc1cb97b42a
Signed-off-by: Lizhi Xu <lizhi.xu@windriver.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/index.c

index 6d1bf890929d92e54d9adeb4cbaa77af7c7c01e8..7157cfd70fdcb46306ade16985f04bcfa6204f0e 100644 (file)
@@ -1924,7 +1924,8 @@ indx_insert_into_buffer(struct ntfs_index *indx, struct ntfs_inode *ni,
                 * Undo critical operations.
                 */
                indx_mark_free(indx, ni, new_vbn >> indx->idx2vbn_bits);
-               memcpy(hdr1, hdr1_saved, used1);
+               unsafe_memcpy(hdr1, hdr1_saved, used1,
+                             "There are entries after the structure");
                indx_write(indx, ni, n1, 0);
        }