]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
reiserfs: Initialize inode keys properly
authorJan Kara <jack@suse.cz>
Mon, 21 Sep 2020 13:08:50 +0000 (15:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Oct 2020 08:29:55 +0000 (10:29 +0200)
commit 4443390e08d34d5771ab444f601cf71b3c9634a4 upstream.

reiserfs_read_locked_inode() didn't initialize key length properly. Use
_make_cpu_key() macro for key initialization so that all key member are
properly initialized.

CC: stable@vger.kernel.org
Reported-by: syzbot+d94d02749498bb7bab4b@syzkaller.appspotmail.com
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/reiserfs/inode.c

index 683496322aa8b5a89b50d390ecbb748e5f4707ae..4b0fed69e03307f8dc659bfc333301860685fe86 100644 (file)
@@ -1552,11 +1552,7 @@ void reiserfs_read_locked_inode(struct inode *inode,
         * set version 1, version 2 could be used too, because stat data
         * key is the same in both versions
         */
-       key.version = KEY_FORMAT_3_5;
-       key.on_disk_key.k_dir_id = dirino;
-       key.on_disk_key.k_objectid = inode->i_ino;
-       key.on_disk_key.k_offset = 0;
-       key.on_disk_key.k_type = 0;
+       _make_cpu_key(&key, KEY_FORMAT_3_5, dirino, inode->i_ino, 0, 0, 3);
 
        /* look for the object's stat data */
        retval = search_item(inode->i_sb, &key, &path_to_sd);