IB/hfi1: Use kzalloc() for mmu_rb_handler allocation
authorMike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Mon, 29 Mar 2021 13:54:14 +0000 (09:54 -0400)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 7 Apr 2021 23:19:01 +0000 (20:19 -0300)
The code currently assumes that the mmu_notifier struct
embedded in mmu_rb_handler only contains two fields.

There are now extra fields:

struct mmu_notifier {
        struct hlist_node hlist;
        const struct mmu_notifier_ops *ops;
        struct mm_struct *mm;
        struct rcu_head rcu;
        unsigned int users;
};

Given that there in no init for the mmu_notifier, a kzalloc() should
be used to insure that any newly added fields are given a predictable
initial value of zero.

Fixes: 06e0ffa69312 ("IB/hfi1: Re-factor MMU notification code")
Link: https://lore.kernel.org/r/1617026056-50483-9-git-send-email-dennis.dalessandro@cornelisnetworks.com
Reviewed-by: Adam Goldman <adam.goldman@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hfi1/mmu_rb.c

index f3fb28e..d213f65 100644 (file)
@@ -89,7 +89,7 @@ int hfi1_mmu_rb_register(void *ops_arg,
        struct mmu_rb_handler *h;
        int ret;
 
-       h = kmalloc(sizeof(*h), GFP_KERNEL);
+       h = kzalloc(sizeof(*h), GFP_KERNEL);
        if (!h)
                return -ENOMEM;