I missed that when extending the lockdep annotations to the
nonblocking case.

I missed this while testing since in the i915 mmu notifiers is hitting
a nice lockdep splat already before the point of going into oom killer
mode :-/

Reported-by: [email protected]
Fixes: d2b219ed03d4 ("mm/mmu_notifiers: add a lockdep map for 
invalidate_range_start/end")
Cc: Jason Gunthorpe <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: "Jérôme Glisse" <[email protected]>
Cc: Ralph Campbell <[email protected]>
Cc: Jason Gunthorpe <[email protected]>
Cc: Ira Weiny <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Sean Christopherson <[email protected]>
Cc: Jean-Philippe Brucker <[email protected]>
Cc: [email protected]
Signed-off-by: Daniel Vetter <[email protected]>
---
 include/linux/mmu_notifier.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
index 5a03417e5bf7..4edd98b06834 100644
--- a/include/linux/mmu_notifier.h
+++ b/include/linux/mmu_notifier.h
@@ -356,13 +356,14 @@ mmu_notifier_invalidate_range_start(struct 
mmu_notifier_range *range)
 static inline int
 mmu_notifier_invalidate_range_start_nonblock(struct mmu_notifier_range *range)
 {
+       int ret = 0;
        lock_map_acquire(&__mmu_notifier_invalidate_range_start_map);
        if (mm_has_notifiers(range->mm)) {
                range->flags &= ~MMU_NOTIFIER_RANGE_BLOCKABLE;
-               return __mmu_notifier_invalidate_range_start(range);
+               ret = __mmu_notifier_invalidate_range_start(range);
        }
        lock_map_release(&__mmu_notifier_invalidate_range_start_map);
-       return 0;
+       return ret;
 }
 
 static inline void
-- 
2.23.0

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to