]> www.infradead.org Git - users/hch/misc.git/commitdiff
ext4: free orphan info with kvfree
authorJan Kara <jack@suse.cz>
Tue, 7 Oct 2025 13:49:37 +0000 (15:49 +0200)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 10 Oct 2025 20:42:51 +0000 (16:42 -0400)
Orphan info is now getting allocated with kvmalloc_array(). Free it with
kvfree() instead of kfree() to avoid complaints from mm.

Reported-by: Chris Mason <clm@meta.com>
Fixes: 0a6ce20c1564 ("ext4: verify orphan file size is not too big")
Cc: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Message-ID: <20251007134936.7291-2-jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/orphan.c

index 33c3a89396b18b3c6ece0dab9e0f7cd7a252cf0f..82d5e750145559fa3badee386baa3e9a2256cac2 100644 (file)
@@ -513,7 +513,7 @@ void ext4_release_orphan_info(struct super_block *sb)
                return;
        for (i = 0; i < oi->of_blocks; i++)
                brelse(oi->of_binfo[i].ob_bh);
-       kfree(oi->of_binfo);
+       kvfree(oi->of_binfo);
 }
 
 static struct ext4_orphan_block_tail *ext4_orphan_block_tail(
@@ -637,7 +637,7 @@ int ext4_init_orphan_info(struct super_block *sb)
 out_free:
        for (i--; i >= 0; i--)
                brelse(oi->of_binfo[i].ob_bh);
-       kfree(oi->of_binfo);
+       kvfree(oi->of_binfo);
 out_put:
        iput(inode);
        return ret;