Unverified Commit 57a701dd authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!15116 netfilter: conntrack: clamp maximum hashtable size to INT_MAX

parents 2f9e5e28 3ffb502d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2314,12 +2314,15 @@ void *nf_ct_alloc_hashtable(unsigned int *sizep, int nulls)
	struct hlist_nulls_head *hash;
	unsigned int nr_slots, i;

	if (*sizep > (UINT_MAX / sizeof(struct hlist_nulls_head)))
	if (*sizep > (INT_MAX / sizeof(struct hlist_nulls_head)))
		return NULL;

	BUILD_BUG_ON(sizeof(struct hlist_nulls_head) != sizeof(struct hlist_head));
	nr_slots = *sizep = roundup(*sizep, PAGE_SIZE / sizeof(struct hlist_nulls_head));

	if (nr_slots > (INT_MAX / sizeof(struct hlist_nulls_head)))
		return NULL;

	hash = kvmalloc_array(nr_slots, sizeof(struct hlist_nulls_head),
			      GFP_KERNEL | __GFP_ZERO);