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 5/6] KVM: PPC: e500: Use kmalloc_array() in kvmppc_e500_tlb_init()
    From
    Date
    From: Markus Elfring <elfring@users.sourceforge.net>
    Date: Sun, 28 Aug 2016 18:40:08 +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".

    * Replace the specification of a data structure by a pointer dereference
    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 | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    diff --git a/arch/powerpc/kvm/e500_mmu.c b/arch/powerpc/kvm/e500_mmu.c
    index 2be2afc4..0a2eeb1 100644
    --- a/arch/powerpc/kvm/e500_mmu.c
    +++ b/arch/powerpc/kvm/e500_mmu.c
    @@ -905,8 +905,6 @@ static int vcpu_mmu_init(struct kvm_vcpu *vcpu,
    int kvmppc_e500_tlb_init(struct kvmppc_vcpu_e500 *vcpu_e500)
    {
    struct kvm_vcpu *vcpu = &vcpu_e500->vcpu;
    - int entry_size = sizeof(struct kvm_book3e_206_tlb_entry);
    - int entries = KVM_E500_TLB0_SIZE + KVM_E500_TLB1_SIZE;

    if (e500_mmu_host_init(vcpu_e500))
    goto err;
    @@ -921,7 +919,10 @@ int kvmppc_e500_tlb_init(struct kvmppc_vcpu_e500 *vcpu_e500)
    vcpu_e500->gtlb_params[1].ways = KVM_E500_TLB1_SIZE;
    vcpu_e500->gtlb_params[1].sets = 1;

    - vcpu_e500->gtlb_arch = kmalloc(entries * entry_size, GFP_KERNEL);
    + vcpu_e500->gtlb_arch = kmalloc_array(KVM_E500_TLB0_SIZE +
    + KVM_E500_TLB1_SIZE,
    + sizeof(*vcpu_e500->gtlb_arch),
    + GFP_KERNEL);
    if (!vcpu_e500->gtlb_arch)
    return -ENOMEM;

    --
    2.9.3
    \
     
     \ /
      Last update: 2016-09-17 09:58    [W:5.718 / U:2.460 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site