[PATCH] hfs: Prevent the use of bnodes without entries
From: Edward Adam Davis
Date: Thu Jul 24 2025 - 11:17:34 EST
If the number of entries in the bnode is 0, the bnode is considered
invalid.
Reported-by: syzbot+41ba9c82bce8d7101765@xxxxxxxxxxxxxxxxxxxxxxxxx
Closes: https://syzkaller.appspot.com/bug?extid=41ba9c82bce8d7101765
Tested-by: syzbot+41ba9c82bce8d7101765@xxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Edward Adam Davis <eadavis@xxxxxx>
---
fs/hfs/bfind.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/hfs/bfind.c b/fs/hfs/bfind.c
index ef9498a6e88a..1d6f2bbafa7a 100644
--- a/fs/hfs/bfind.c
+++ b/fs/hfs/bfind.c
@@ -133,6 +133,8 @@ int hfs_brec_find(struct hfs_find_data *fd)
goto invalid;
if (bnode->type != (--height ? HFS_NODE_INDEX : HFS_NODE_LEAF))
goto invalid;
+ if (!bnode->num_recs)
+ goto invalid;
bnode->parent = parent;
res = __hfs_brec_find(bnode, fd);
--
2.43.0