Re: [linus:master] [mm/mmap] 04241ffe3f: Kernel_panic-not_syncing:Fatal_exception

From: Liam R. Howlett
Date: Wed Mar 01 2023 - 11:51:28 EST


* kernel test robot <oliver.sang@xxxxxxxxx> [230301 02:21]:
>
> Greeting,
>
> FYI, we noticed Kernel_panic-not_syncing:Fatal_exception due to commit (built with gcc-11):
>
> commit: 04241ffe3f0458d54c61cf6c9d58d703efda4dd5 ("mm/mmap: introduce dup_vma_anon() helper")
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>
> [test failed on linus/master f3a2439f20d918930cc4ae8f76fe1c1afd26958f]
> [test failed on linux-next/master 7f7a8831520f12a3cf894b0627641fad33971221]

I tracked the problem down in that commit. The fix is simple enough:

-----------------
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -802,10 +802,13 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma,
* If next doesn't have anon_vma, import from vma after
* next, if the vma overlaps with it.
*/
- if (remove != NULL && !next->anon_vma)
+ if (remove2 != NULL && !next->anon_vma)
----------------

However, that will not fix the problem in linux-next or linus/master
since this code is completely changed shortly after.

You need the fix from Vlastimil (Cc'ed). After cherry-picking
07dc4b186203 ("mm/mremap: fix dup_anon_vma() in vma_merge() case 4") on
top of linus/master, I don't get this particular failure anymore.

I do get the "kernel BUG at mm/filemap.c:155!", so it might be masking
another problem. (Added Matthew to Cc)

I think the right thing to do is to include Vlastimil's fix.

Thanks,
Liam

...