Re: [PATCH 5/6] treewide: use kv[mz]alloc* rather than opencoded variants
From: Michal Hocko <mhocko@kernel.org>
Date: 2017-01-25 13:09:12
Also in:
lkml, netdev
On Wed 25-01-17 12:15:59, Vlastimil Babka wrote:
On 01/24/2017 04:00 PM, Michal Hocko wrote:quoted
quoted
quoted
Well, I am not opposed to kvmalloc_array but I would argue that this conversion cannot introduce new overflow issues. The code would have to be broken already because even though kmalloc_array checks for the overflow but vmalloc fallback doesn't...Yeah I agree, but if some of the places were really wrong, after the conversion we won't see them anymore.quoted
If there is a general interest for this API I can add it.I think it would be better, yes.OK, fair enough. I will fold the following into the original patch. I was little bit reluctant to create kvcalloc so I've made the original callers more talkative and added | __GFP_ZERO.Fair enough,quoted
To be honest I do not really like how kcalloc...how kcalloc what?
how kcalloc hides the GFP_ZERO and the name doesn't reflect that.
[...]quoted
diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c index cdc55d5ee4ad..eca16612b1ae 100644 --- a/net/netfilter/x_tables.c +++ b/net/netfilter/x_tables.c@@ -712,10 +712,7 @@ EXPORT_SYMBOL(xt_check_entry_offsets); */ unsigned int *xt_alloc_entry_offsets(unsigned int size) { - if (size < (SIZE_MAX / sizeof(unsigned int))) - return kvzalloc(size * sizeof(unsigned int), GFP_KERNEL); - - return NULL; + return kvmalloc_array(size * sizeof(unsigned int), GFP_KERNEL | __GFP_ZERO);This one wouldn't compile.
fixed, thanks! -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>