[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_279220DDBEDD93995BCF998D8B25B18D8B07@qq.com>
Date: Tue, 17 Jun 2025 11:19:57 +0800
From: Edward Adam Davis <eadavis@...com>
To: syzbot+077d9ebda84f426a6a1e@...kaller.appspotmail.com
Cc: jfs-discussion@...ts.sourceforge.net,
linux-kernel@...r.kernel.org,
shaggy@...nel.org,
syzkaller-bugs@...glegroups.com
Subject: [PATCH] jfs: Issue a warning when leafidx is too large
When it is clear that leafidx is too large, a warn is triggered to
distinguish it from other sizes.
Reported-by: syzbot+077d9ebda84f426a6a1e@...kaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=077d9ebda84f426a6a1e
Signed-off-by: Edward Adam Davis <eadavis@...com>
---
fs/jfs/jfs_dmap.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
index 35e063c9f3a4..7e3c5f6826d8 100644
--- a/fs/jfs/jfs_dmap.c
+++ b/fs/jfs/jfs_dmap.c
@@ -2856,9 +2856,13 @@ static int dbJoin(dmtree_t *tp, int leafno, int newval, bool is_ctl)
static void dbAdjTree(dmtree_t *tp, int leafno, int newval, bool is_ctl)
{
int lp, pp, k;
- int max, size;
+ int max, size, max_idx;
size = is_ctl ? CTLTREESIZE : TREESIZE;
+ max_idx = is_ctl ? LPERCTL : LPERDMAP;
+
+ if (WARN_ON_ONCE(le32_to_cpu(tp->dmt_leafidx) >= max_idx))
+ return;
/* pick up the index of the leaf for this leafno.
*/
--
2.43.0
Powered by blists - more mailing lists