lkml.org 
[lkml]   [2016]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 4/6] KVM: PPC: e500: Replace kzalloc() calls by kcalloc() in two functions
    From
    Date
    From: Markus Elfring <elfring@users.sourceforge.net>
    Date: Sun, 28 Aug 2016 18:30:38 +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 "kcalloc".

    Suggested-by: Paolo Bonzini <pbonzini@redhat.com>

    This issue was detected also by using the Coccinelle software.

    * Replace the specification of data structures by pointer dereferences
    to make the corresponding size determination a bit safer according to
    the Linux coding style convention.

    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    ---
    arch/powerpc/kvm/e500_mmu.c | 23 +++++++++++------------
    1 file changed, 11 insertions(+), 12 deletions(-)

    diff --git a/arch/powerpc/kvm/e500_mmu.c b/arch/powerpc/kvm/e500_mmu.c
    index e9c19e9..2be2afc4 100644
    --- a/arch/powerpc/kvm/e500_mmu.c
    +++ b/arch/powerpc/kvm/e500_mmu.c
    @@ -799,22 +799,21 @@ int kvm_vcpu_ioctl_config_tlb(struct kvm_vcpu *vcpu,
    goto put_pages;
    }

    - privs[0] = kzalloc(sizeof(struct tlbe_priv) * params.tlb_sizes[0],
    - GFP_KERNEL);
    + privs[0] = kcalloc(params.tlb_sizes[0], sizeof(*privs[0]), GFP_KERNEL);
    if (!privs[0]) {
    ret = -ENOMEM;
    goto put_pages;
    }

    - privs[1] = kzalloc(sizeof(struct tlbe_priv) * params.tlb_sizes[1],
    - GFP_KERNEL);
    + privs[1] = kcalloc(params.tlb_sizes[1], sizeof(*privs[1]), GFP_KERNEL);
    if (!privs[1]) {
    ret = -ENOMEM;
    goto free_privs_first;
    }

    - g2h_bitmap = kzalloc(sizeof(u64) * params.tlb_sizes[1],
    - GFP_KERNEL);
    + g2h_bitmap = kcalloc(params.tlb_sizes[1],
    + sizeof(*g2h_bitmap),
    + GFP_KERNEL);
    if (!g2h_bitmap) {
    ret = -ENOMEM;
    goto free_privs_second;
    @@ -929,20 +928,20 @@ int kvmppc_e500_tlb_init(struct kvmppc_vcpu_e500 *vcpu_e500)
    vcpu_e500->gtlb_offset[0] = 0;
    vcpu_e500->gtlb_offset[1] = KVM_E500_TLB0_SIZE;

    - vcpu_e500->gtlb_priv[0] = kzalloc(sizeof(struct tlbe_ref) *
    - vcpu_e500->gtlb_params[0].entries,
    + vcpu_e500->gtlb_priv[0] = kcalloc(vcpu_e500->gtlb_params[0].entries,
    + sizeof(struct tlbe_ref),
    GFP_KERNEL);
    if (!vcpu_e500->gtlb_priv[0])
    goto err;

    - vcpu_e500->gtlb_priv[1] = kzalloc(sizeof(struct tlbe_ref) *
    - vcpu_e500->gtlb_params[1].entries,
    + vcpu_e500->gtlb_priv[1] = kcalloc(vcpu_e500->gtlb_params[1].entries,
    + sizeof(struct tlbe_ref),
    GFP_KERNEL);
    if (!vcpu_e500->gtlb_priv[1])
    goto err;

    - vcpu_e500->g2h_tlb1_map = kzalloc(sizeof(u64) *
    - vcpu_e500->gtlb_params[1].entries,
    + vcpu_e500->g2h_tlb1_map = kcalloc(vcpu_e500->gtlb_params[1].entries,
    + sizeof(*vcpu_e500->g2h_tlb1_map),
    GFP_KERNEL);
    if (!vcpu_e500->g2h_tlb1_map)
    goto err;
    --
    2.9.3
    \
     
     \ /
      Last update: 2016-09-17 09:58    [W:4.041 / U:0.336 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site