Muhammad Usama Anjum 4cccb6221c fs/proc/task_mmu: move mmu notification mechanism inside mm lock
Move mmu notification mechanism inside mm lock to prevent race condition
in other components which depend on it.  The notifier will invalidate
memory range.  Depending upon the number of iterations, different memory
ranges would be invalidated.

The following warning would be removed by this patch:
WARNING: CPU: 0 PID: 5067 at arch/x86/kvm/../../../virt/kvm/kvm_main.c:734 kvm_mmu_notifier_change_pte+0x860/0x960 arch/x86/kvm/../../../virt/kvm/kvm_main.c:734

There is no behavioural and performance change with this patch when
there is no component registered with the mmu notifier.

[akpm@linux-foundation.org: narrow the scope of `range', per Sean]
Link: https://lkml.kernel.org/r/20240109112445.590736-1-usama.anjum@collabora.com
Fixes: 52526ca7fdb9 ("fs/proc/task_mmu: implement IOCTL to get and optionally clear info about PTEs")
Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Reported-by: syzbot+81227d2bd69e9dedb802@syzkaller.appspotmail.com
Link: https://lore.kernel.org/all/000000000000f6d051060c6785bc@google.com/
Reviewed-by: Sean Christopherson <seanjc@google.com>
Cc: Andrei Vagin <avagin@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Hildenbrand <david@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Cc: Peter Xu <peterx@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-01-12 15:20:46 -08:00
..
2023-11-04 09:20:04 -10:00
2023-11-07 12:11:26 -08:00
2023-11-07 12:11:26 -08:00
2023-12-29 11:58:34 -08:00
2024-01-08 11:26:50 -08:00
2023-10-30 09:47:13 -10:00
2023-11-07 12:11:26 -08:00
2023-11-03 22:24:11 +09:00
2023-11-07 12:11:26 -08:00
2024-01-08 11:11:51 -08:00
2023-12-29 11:58:34 -08:00
2023-11-07 12:11:26 -08:00
2023-11-03 15:15:47 -10:00
2023-11-07 12:11:26 -08:00
2023-11-07 12:11:26 -08:00
2023-10-30 09:47:13 -10:00
2024-01-09 13:24:06 -08:00
2023-10-30 19:26:39 -10:00
2023-10-30 09:47:13 -10:00
\n
2023-11-02 08:19:51 -10:00
2024-01-08 11:43:04 -08:00
2023-12-21 13:17:54 +01:00
2023-10-30 19:28:19 -10:00
2023-10-30 19:28:19 -10:00
2023-12-10 17:21:25 -08:00
2023-12-12 14:24:14 +01:00
2023-10-30 09:14:19 -10:00
2024-01-08 11:11:51 -08:00
2023-12-21 13:21:52 +01:00
2024-01-08 10:57:34 -08:00
2024-01-08 11:11:51 -08:00
2024-01-08 10:57:34 -08:00
2024-01-08 10:43:51 -08:00
2023-12-29 11:58:24 -08:00