Commit fca6170f authored by Kees Cook's avatar Kees Cook Committed by Jakub Kicinski
Browse files

ipv4: fib: Fix fib_info_hash_alloc() allocation type



In preparation for making the kmalloc family of allocators type aware,
we need to make sure that the returned type from the allocation matches
the type of the variable being assigned. (Before, the allocator would
always return "void *", which can be implicitly cast to any pointer type.)

This was allocating many sizeof(struct hlist_head *) when it actually
wanted sizeof(struct hlist_head). Luckily these are the same size.
Adjust the allocation type to match the assignment.

Signed-off-by: default avatarKees Cook <kees@kernel.org>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20250426060529.work.873-kees@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ff61a4a5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -365,7 +365,7 @@ static struct hlist_head *fib_info_laddrhash_bucket(const struct net *net,
static struct hlist_head *fib_info_hash_alloc(unsigned int hash_bits)
{
	/* The second half is used for prefsrc */
	return kvcalloc((1 << hash_bits) * 2, sizeof(struct hlist_head *),
	return kvcalloc((1 << hash_bits) * 2, sizeof(struct hlist_head),
			GFP_KERNEL);
}