Re: [PATCH 5/6] treewide: use kv[mz]alloc* rather than opencoded variants
From: Vlastimil Babka <hidden>
Date: 2017-01-25 11:16:10
Also in:
linux-mm, lkml
On 01/24/2017 04:00 PM, Michal Hocko wrote:
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,
To be honest I do not really like how kcalloc...
how kcalloc what? [...]
quoted hunk ↗ jump to hunk
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. -- 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>