Am 22.11.18 um 17:51 schrieb Daniel Vetter: > Just a bit of paranoia, since if we start pushing this deep into > callchains it's hard to spot all places where an mmu notifier > implementation might fail when it's not allowed to. > > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: "Christian König" <christian.koenig@xxxxxxx> > Cc: David Rientjes <rientjes@xxxxxxxxxx> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > Cc: "Jérôme Glisse" <jglisse@xxxxxxxxxx> > Cc: linux-mm@xxxxxxxxx > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Acked-by: Christian König <christian.koenig@xxxxxxx> > --- > mm/mmu_notifier.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c > index 5119ff846769..59e102589a25 100644 > --- a/mm/mmu_notifier.c > +++ b/mm/mmu_notifier.c > @@ -190,6 +190,8 @@ int __mmu_notifier_invalidate_range_start(struct mm_struct *mm, > pr_info("%pS callback failed with %d in %sblockable context.\n", > mn->ops->invalidate_range_start, _ret, > !blockable ? "non-" : ""); > + WARN(blockable,"%pS callback failure not allowed\n", > + mn->ops->invalidate_range_start); > ret = _ret; > } > }