]> git.hungrycats.org Git - linux/commitdiff
fs/ntfs3: Fix general protection fault in run_is_mapped_full
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Fri, 30 Aug 2024 10:50:18 +0000 (13:50 +0300)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Tue, 1 Oct 2024 09:19:08 +0000 (12:19 +0300)
Fixed deleating of a non-resident attribute in ntfs_create_inode()
rollback.

Reported-by: syzbot+9af29acd8f27fbce94bc@syzkaller.appspotmail.com
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/inode.c

index 81746a959b47a9b7c898a15136a4459ee3fa4082..5dc26140495731cda7566bcd82b381bbccccba7b 100644 (file)
@@ -1718,7 +1718,10 @@ out6:
        attr = ni_find_attr(ni, NULL, NULL, ATTR_EA, NULL, 0, NULL, NULL);
        if (attr && attr->non_res) {
                /* Delete ATTR_EA, if non-resident. */
-               attr_set_size(ni, ATTR_EA, NULL, 0, NULL, 0, NULL, false, NULL);
+               struct runs_tree run;
+               run_init(&run);
+               attr_set_size(ni, ATTR_EA, NULL, 0, &run, 0, NULL, false, NULL);
+               run_close(&run);
        }
 
        if (rp_inserted)