| From aa687eade4492a1f9e284053aed4742707cb21a2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 29 Mar 2021 09:54:14 -0400 |
| Subject: IB/hfi1: Use kzalloc() for mmu_rb_handler allocation |
| |
| From: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com> |
| |
| [ Upstream commit ca5f72568e034e1295a7ae350b1f786fcbfb2848 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/hw/hfi1/mmu_rb.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/infiniband/hw/hfi1/mmu_rb.c b/drivers/infiniband/hw/hfi1/mmu_rb.c |
| index f3fb28e3d5d7..d213f65d4cdd 100644 |
| --- a/drivers/infiniband/hw/hfi1/mmu_rb.c |
| +++ b/drivers/infiniband/hw/hfi1/mmu_rb.c |
| @@ -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; |
| |
| -- |
| 2.30.2 |
| |