From: Leon Romanovsky Date: Mon, 3 Sep 2018 17:17:31 +0000 (+0300) Subject: RDMA/umem: Restore lockdep check while downgrading lock X-Git-Tag: v5.15~7737^2~197 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=50704e039ab1d7e6c035d8c27a0b314929bfbe10;p=platform%2Fkernel%2Flinux-starfive.git RDMA/umem: Restore lockdep check while downgrading lock Lockdep engine handles correctly downgrade of locks and it simply incorrect to disable lockdep checks prior to calling mmu_notifier. Remove lockdep_off and ensure locks correctness. Signed-off-by: Leon Romanovsky Signed-off-by: Jason Gunthorpe --- diff --git a/drivers/infiniband/core/umem_odp.c b/drivers/infiniband/core/umem_odp.c index 6ec748e..29e34e6 100644 --- a/drivers/infiniband/core/umem_odp.c +++ b/drivers/infiniband/core/umem_odp.c @@ -431,13 +431,7 @@ int ib_umem_odp_get(struct ib_ucontext *context, struct ib_umem *umem, atomic_set(&context->notifier_count, 0); INIT_HLIST_NODE(&context->mn.hlist); context->mn.ops = &ib_umem_notifiers; - /* - * Lock-dep detects a false positive for mmap_sem vs. - * umem_rwsem, due to not grasping downgrade_write correctly. - */ - lockdep_off(); ret_val = mmu_notifier_register(&context->mn, mm); - lockdep_on(); if (ret_val) { pr_err("Failed to register mmu_notifier %d\n", ret_val); ret_val = -EBUSY;