[tip: perf/urgent] reiserfs: Initialize inode keys properly

From: tip-bot2 for Jan Kara
Date: Mon Oct 19 2020 - 13:02:52 EST


The following commit has been merged into the perf/urgent branch of tip:

Commit-ID: d3bb68fa8d43bcd889ce86249f73a70e3ba221aa
Gitweb: https://git.kernel.org/tip/d3bb68fa8d43bcd889ce86249f73a70e3ba221aa
Author: Jan Kara <jack@xxxxxxx>
AuthorDate: Mon, 21 Sep 2020 15:08:50 +02:00
Committer: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
CommitterDate: Sat, 17 Oct 2020 08:31:22 +02:00

reiserfs: Initialize inode keys properly

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@xxxxxxxxxxxxxxx
Reported-by: syzbot+d94d02749498bb7bab4b@xxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Jan Kara <jack@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
fs/reiserfs/inode.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
index 1509775..e43fed9 100644
--- a/fs/reiserfs/inode.c
+++ b/fs/reiserfs/inode.c
@@ -1551,11 +1551,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);