From 50c89bbfced88c3132480ef1b98af9a26bf12261 Mon Sep 17 00:00:00 2001 From: Ksawlii <ksawery.blaszczak@proton.me> Date: Sun, 24 Nov 2024 00:23:22 +0100 Subject: [PATCH] Revert "nilfs2: fix potential oob read in nilfs_btree_check_delete()" This reverts commit 4bb27977a9f3419e5b9d466f022b0cb4ce919d36. --- fs/nilfs2/btree.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c index 7c9f4d79b..7cfff27b4 100755 --- a/fs/nilfs2/btree.c +++ b/fs/nilfs2/btree.c @@ -1660,16 +1660,13 @@ static int nilfs_btree_check_delete(struct nilfs_bmap *btree, __u64 key) int nchildren, ret; root = nilfs_btree_get_root(btree); - nchildren = nilfs_btree_node_get_nchildren(root); - if (unlikely(nchildren == 0)) - return 0; - switch (nilfs_btree_height(btree)) { case 2: bh = NULL; node = root; break; case 3: + nchildren = nilfs_btree_node_get_nchildren(root); if (nchildren > 1) return 0; ptr = nilfs_btree_node_get_ptr(root, nchildren - 1, @@ -1678,12 +1675,12 @@ static int nilfs_btree_check_delete(struct nilfs_bmap *btree, __u64 key) if (ret < 0) return ret; node = (struct nilfs_btree_node *)bh->b_data; - nchildren = nilfs_btree_node_get_nchildren(node); break; default: return 0; } + nchildren = nilfs_btree_node_get_nchildren(node); maxkey = nilfs_btree_node_get_key(node, nchildren - 1); nextmaxkey = (nchildren > 1) ? nilfs_btree_node_get_key(node, nchildren - 2) : 0;