On Wed, 2018-02-14 at 11:23 -0800, Kees Cook wrote: > On Wed, Feb 14, 2018 at 10:47 AM, Joe Perches <joe@xxxxxxxxxxx> wrote: > > On Wed, 2018-02-14 at 10:26 -0800, Matthew Wilcox wrote: > > > From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> > > > > > > We all know the perils of multiplying a value provided from userspace > > > by a constant and then allocating the resulting number of bytes. That's > > > why we have kvmalloc_array(), so we don't have to think about it. > > > This solves the same problem when we embed one of these arrays in a > > > struct like this: > > > > > > struct { > > > int n; > > > unsigned long array[]; > > > }; > > > > I think expanding the number of allocation functions > > is not necessary. > > I think removing common mispatterns in favor of overflow-protected > allocation functions makes sense. Function symmetry matters too. These allocation functions are specific to kvz<foo> and are not symmetric for k<foo>, v<foo>, devm_<foo> <foo>_node, and the like. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>