[PATCH] hfs/hfxplus: use kzalloc_flex()
From: Rosen Penev
Date: Fri Apr 24 2026 - 21:45:11 EST
Instead of doing the math manually, use kzalloc_flex() which does it in
a cleaner way.
Also clarifies which is the flexible array member.
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
fs/hfs/bnode.c | 6 ++----
fs/hfsplus/bnode.c | 6 ++----
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/fs/hfs/bnode.c b/fs/hfs/bnode.c
index 13d58c51fc46..b0165de7640d 100644
--- a/fs/hfs/bnode.c
+++ b/fs/hfs/bnode.c
@@ -344,7 +344,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hfs_btree *tree, u32 cnid)
struct hfs_bnode *node, *node2;
struct address_space *mapping;
struct page *page;
- int size, block, i, hash;
+ int block, i, hash;
loff_t off;
if (cnid >= tree->node_count) {
@@ -352,9 +352,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hfs_btree *tree, u32 cnid)
return NULL;
}
- size = sizeof(struct hfs_bnode) + tree->pages_per_bnode *
- sizeof(struct page *);
- node = kzalloc(size, GFP_KERNEL);
+ node = kzalloc_flex(*node, page, tree->pages_per_bnode, GFP_KERNEL);
if (!node)
return NULL;
node->tree = tree;
diff --git a/fs/hfsplus/bnode.c b/fs/hfsplus/bnode.c
index f8b5a8ae58ff..a717fa008ddd 100644
--- a/fs/hfsplus/bnode.c
+++ b/fs/hfsplus/bnode.c
@@ -455,7 +455,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hfs_btree *tree, u32 cnid)
struct hfs_bnode *node, *node2;
struct address_space *mapping;
struct page *page;
- int size, block, i, hash;
+ int block, i, hash;
loff_t off;
if (cnid >= tree->node_count) {
@@ -464,9 +464,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hfs_btree *tree, u32 cnid)
return NULL;
}
- size = sizeof(struct hfs_bnode) + tree->pages_per_bnode *
- sizeof(struct page *);
- node = kzalloc(size, GFP_KERNEL);
+ node = kzalloc_flex(*node, page, tree->pages_per_bnode);
if (!node)
return NULL;
node->tree = tree;
--
2.54.0