[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231016171130.15952-1-ghandatmanas@gmail.com>
Date: Mon, 16 Oct 2023 22:41:30 +0530
From: Manas Ghandat <ghandatmanas@...il.com>
To: dave.kleikamp@...cle.com, shaggy@...nel.org
Cc: Manas Ghandat <ghandatmanas@...il.com>,
Linux-kernel-mentees@...ts.linuxfoundation.org,
jfs-discussion@...ts.sourceforge.net, linux-kernel@...r.kernel.org,
syzbot+9924e2a08d9ba0fd4ce2@...kaller.appspotmail.com
Subject: [PATCH] jfs: fix slab-out-of-bounds Read in dtSearch
Currently while searching for current page in the sorted entry table
of the page there is a out of bound access. Added a bound check to fix
the error.
Reported-by: syzbot+9924e2a08d9ba0fd4ce2@...kaller.appspotmail.com
Fixes: https://syzkaller.appspot.com/bug?extid=9924e2a08d9ba0fd4ce2
Signed-off-by: Manas Ghandat <ghandatmanas@...il.com>
---
fs/jfs/jfs_dtree.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c
index 92b7c533407c..cf67d32d5b7f 100644
--- a/fs/jfs/jfs_dtree.c
+++ b/fs/jfs/jfs_dtree.c
@@ -633,6 +633,9 @@ int dtSearch(struct inode *ip, struct component_name * key, ino_t * data,
for (base = 0, lim = p->header.nextindex; lim; lim >>= 1) {
index = base + (lim >> 1);
+ if (stbl[index] > 128 || stbl[index] < 0)
+ goto out;
+
if (p->header.flag & BT_LEAF) {
/* uppercase leaf name to compare */
cmp =
--
2.37.2
Powered by blists - more mailing lists