ntfs3: avoid memcpy size warning

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>
This commit is contained in:
Lizhi Xu 2025-10-09 10:37:33 +08:00 committed by Konstantin Komarov
parent 5f33da04e6
commit c3856bb499
No known key found for this signature in database
GPG Key ID: A9B0331F832407B6
1 changed files with 2 additions and 1 deletions

View File

@ -1924,7 +1924,8 @@ indx_insert_into_buffer(struct ntfs_index *indx, struct ntfs_inode *ni,
* Undo critical operations. * Undo critical operations.
*/ */
indx_mark_free(indx, ni, new_vbn >> indx->idx2vbn_bits); 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); indx_write(indx, ni, n1, 0);
} }