Re: [linus:master] [mm/mmap] 04241ffe3f: Kernel_panic-not_syncing:Fatal_exception
From: Vlastimil Babka
Date: Wed Mar 01 2023 - 14:10:33 EST
On 3/1/23 17:50, Liam R. Howlett wrote:
> * 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)
Oh I actually did notice that one too, but as it was only temporary within
the series and already baked into git, thought there's no benefit in
pointing it out. A problem for bisect obviously as was just confirmed.
> ----------------
>
> 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
Which tree is that?
The mm-hotfixes-stable commit is here:
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/?h=mm-hotfixes-stable&id=4c6759967826b87f56c73e0f1deb7b76379ccd23
> 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.
Great, thanks.
> Thanks,
> Liam
>
> ...
>