|
Message-Id: <20180214201154.10186-1-willy@infradead.org> Date: Wed, 14 Feb 2018 12:11:46 -0800 From: Matthew Wilcox <willy@...radead.org> To: Andrew Morton <akpm@...ux-foundation.org> Cc: Matthew Wilcox <mawilcox@...rosoft.com>, linux-mm@...ck.org, Kees Cook <keescook@...omium.org>, linux-kernel@...r.kernel.org, kernel-hardening@...ts.openwall.com, Joe Perches <joe@...ches.com> Subject: [PATCH v2 0/8] Add kvzalloc_struct to complement kvzalloc_array From: Matthew Wilcox <mawilcox@...rosoft.com> 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[]; }; Using kvzalloc_struct() to allocate this will save precious thinking time and reduce the possibilities of bugs. v2: Minor fixes pointed out by Kees Added sample conversions I added a few more sample conversions for demonstration purposes, and one thing I noticed is that the kvmalloc family of functions live in <linux/mm.h> which (contrary to popular belief) is not already automatically included everywhere. Should they be moved to slab.h to be with kmalloc, a new file (malloc.h? kvmalloc.h?), or even kernel.h? Matthew Wilcox (8): mm: Add kernel-doc for kvfree mm: Add kvmalloc_ab_c and kvzalloc_struct Convert virtio_console to kvzalloc_struct Convert dax device to kvzalloc_struct Convert infiniband uverbs to kvzalloc_struct Convert v4l2 event to kvzalloc_struct Convert vhost to kvzalloc_struct Convert jffs2 acl to kvzalloc_struct drivers/char/virtio_console.c | 3 +-- drivers/dax/device.c | 2 +- drivers/infiniband/core/uverbs_cmd.c | 4 +-- drivers/media/v4l2-core/v4l2-event.c | 3 +-- drivers/vhost/vhost.c | 2 +- fs/jffs2/acl.c | 3 ++- fs/jffs2/acl.h | 1 + include/linux/mm.h | 51 ++++++++++++++++++++++++++++++++++++ include/rdma/ib_verbs.h | 5 +--- mm/util.c | 10 +++++++ 10 files changed, 71 insertions(+), 13 deletions(-) -- 2.15.1
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.