Re: [PATCH v8 14/21] mm/mmap: Avoid zeroing vma tree in mmap_region()

Lorenzo Stoakes
2024-10-02T21:13:57Z

On Wed, Oct 02, 2024 at 09:44:42PM +0100, Lorenzo Stoakes wrote:
> On Wed, Oct 02, 2024 at 10:39:06PM GMT, Bert Karwatzki wrote:
>
> [snip]
>
> > I just figured out what was wrong for me in "Ruins of Tasos", I didn't have the
> > 32bit vulkan drivers installed, so perhaps if you remove your 32bit vulkan
> > driver package you can get the crash, too.
>
> Thanks, unfortunately I use arch and it has a hard dependency on that. I might
> try to force it uninstalled anyway.
>
> Sorry to have to keep asking you to repro but for now the only way sadly :(
>
> Hopefully this final patch that I set should give us the final bits of
> information we need, can't be sure though.
>
> This is certainly a very strange thing! I wonder whether a driver is
> relying on old mmap() MAP_FIXED behaviour...

I realise (being tired) I missed one thing... if you have a sec could you add
this to the previously included patch?

Thanks!

Rather important, as this is the main munmap() entry point...

Again, hugely appreciate all your help!

----8<----
From 200301df3dbd1ca5b3ab2e9238af15602d72e839 Mon Sep 17 00:00:00 2001
From: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Date: Wed, 2 Oct 2024 22:09:21 +0100
Subject: [PATCH] munmap fix

---
mm/mmap.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/mm/mmap.c b/mm/mmap.c
index 8a1d5c0da86f..68817f83263c 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1658,6 +1658,8 @@ static int __vm_munmap(unsigned long start, size_t len, bool unlock)
LIST_HEAD(uf);
VMA_ITERATOR(vmi, mm, start);

+ ljs_dump(mm, start, start + len, 0, true);
+
if (mmap_write_lock_killable(mm))
return -EINTR;

--
2.46.2