On Sun, Jul 01, 2018 at 07:36:24PM +0300, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > VMA lookup is supposed to be performed while mmap_sem is held. > > Fixes: f26c7c83395b ("i40iw: Add 2MB page support") > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 ++ > 1 file changed, 2 insertions(+) As discussed, this entire approach in the driver is wrong, but we may as well have right locking until it gets fixed :( Applied to for-next Thanks, Jason > diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c > index 8884ff71a634..7d85414742ff 100644 > --- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c > +++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c > @@ -1410,6 +1410,7 @@ static void i40iw_set_hugetlb_values(u64 addr, struct i40iw_mr *iwmr) > struct vm_area_struct *vma; > struct hstate *h; > > + down_read(¤t->mm->mmap_sem); > vma = find_vma(current->mm, addr); > if (vma && is_vm_hugetlb_page(vma)) { > h = hstate_vma(vma); > @@ -1418,6 +1419,7 @@ static void i40iw_set_hugetlb_values(u64 addr, struct i40iw_mr *iwmr) > iwmr->page_msk = huge_page_mask(h); > } > } > + up_read(¤t->mm->mmap_sem); > } > > /** -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html