Messages in this thread | | | Date | Thu, 1 Sep 2016 18:53:25 +0200 | From | Michael Holzheu <> | Subject | Re: [PATCH] s390/hypfs: Use kmalloc_array() in diag0c_store() |
| |
Am Thu, 1 Sep 2016 17:39:02 +0200 schrieb Paolo Bonzini <pbonzini@redhat.com>:
> > > On 01/09/2016 12:32, Heiko Carstens wrote: > > On Thu, Sep 01, 2016 at 11:38:15AM +0200, SF Markus Elfring wrote: > >> From: Markus Elfring <elfring@users.sourceforge.net> > >> Date: Thu, 1 Sep 2016 11:30:58 +0200 > >> > >> A multiplication for the size determination of a memory allocation > >> indicated that an array data structure should be processed. > >> Thus use the corresponding function "kmalloc_array". > >> > >> This issue was detected by using the Coccinelle software. > >> > >> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> > >> --- > >> arch/s390/hypfs/hypfs_diag0c.c | 4 +++- > >> 1 file changed, 3 insertions(+), 1 deletion(-) > >> > >> diff --git a/arch/s390/hypfs/hypfs_diag0c.c > >> b/arch/s390/hypfs/hypfs_diag0c.c index 0f1927c..61418a8 100644 > >> --- a/arch/s390/hypfs/hypfs_diag0c.c > >> +++ b/arch/s390/hypfs/hypfs_diag0c.c > >> @@ -48,7 +48,9 @@ static void *diag0c_store(unsigned int *count) > >> > >> get_online_cpus(); > >> cpu_count = num_online_cpus(); > >> - cpu_vec = kmalloc(sizeof(*cpu_vec) * num_possible_cpus(), > >> GFP_KERNEL); > >> + cpu_vec = kmalloc_array(num_possible_cpus(), > >> + sizeof(*cpu_vec), > >> + GFP_KERNEL); > > > > How does this improve the situation? For any real life scenario > > this can't overflow, but it does add an extra (pointless) runtime > > check, since num_possible_cpus() is not a compile time constant. > > > > So, why is this an "issue"? > > It's not an issue but I for one still prefer consistent use of > kmalloc_array and kcalloc.
Hello Paolo,
I will keep this in mind for future code, but would prefer not changing this now.
Michael
| |