Re: [PATCH] arm64: Change elfcore for_each_mte_vma() to use VMA iterator

From: Liam Howlett
Date: Wed Feb 23 2022 - 21:01:19 EST


* Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> [220223 09:11]:
> * Catalin Marinas <catalin.marinas@xxxxxxx> [220223 06:37]:
> > On Tue, Feb 22, 2022 at 06:54:38PM +0000, Liam Howlett wrote:
> > > Once the maple tree is upstream, then you can take the patch I posted.
> >
> > BTW, on the maple tree branch alone
> > (https://github.com/oracle/linux-uek.git maple/mainline), I get the
> > warning below and no core file generated. It's not MTE related as it
> > doesn't have my patches.
> >
> > [ 67.887638] WARNING: CPU: 1 PID: 528 at fs/coredump.c:1116 dump_vma_snapshot+0x98/0x18c
> > [ 67.888594] Modules linked in: crct10dif_ce sm3_ce sm3_generic sha3_ce sha3_generic sha512_ce sha512_arm64 drm fuse ip_tables x_tables ipv6
> > [ 67.890017] CPU: 1 PID: 528 Comm: mte-coredump Not tainted 5.17.0-rc4-00071-gc8cf067d6a99 #1
> > [ 67.890494] Hardware name: QEMU QEMU Virtual Machine, BIOS 0.0.0 02/06/2015
> > [ 67.891054] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > [ 67.891469] pc : dump_vma_snapshot+0x98/0x18c
> > [ 67.891787] lr : dump_vma_snapshot+0x74/0x18c
> > [ 67.892071] sp : ffff80000839b8f0
> > [ 67.892278] x29: ffff80000839b8f0 x28: ffffd4a81d76255c x27: 0000000000000000
> > [ 67.892894] x26: ffffd4a81da308e0 x25: 0000000000000000 x24: ffff80000839bc78
> > [ 67.893436] x23: ffff00000557cf00 x22: ffff00000557cf60 x21: ffff80000839b9e0
> > [ 67.893922] x20: ffff80000839b9e8 x19: ffff80000839b9dc x18: 0000000000000000
> > [ 67.894497] x17: 0000000000000000 x16: 0000ffff9e8effff x15: 0000000000000000
> > [ 67.895061] x14: 0000000000000000 x13: ffff0000025f9000 x12: ffff000001a2eb94
> > [ 67.895590] x11: ffff80000839b100 x10: ffff80000839b108 x9 : 0000000000000000
> > [ 67.896057] x8 : ffff80000839bb68 x7 : 0000000000000000 x6 : 0000000000896101
> > [ 67.896537] x5 : ffff0000016bf000 x4 : ffff80000839b8b0 x3 : 0000000000000001
> > [ 67.896961] x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000011
> > [ 67.897493] Call trace:
> > [ 67.897679] dump_vma_snapshot+0x98/0x18c
> > [ 67.898034] elf_core_dump+0x50/0xcf0
> > [ 67.898274] do_coredump+0xbdc/0xfc4
> > [ 67.898553] get_signal+0x524/0x7f0
> > [ 67.898775] do_notify_resume+0x224/0x1330
> > [ 67.899046] el0_da+0x50/0x60
> > [ 67.899431] el0t_64_sync_handler+0xec/0x130
> > [ 67.899726] el0t_64_sync+0x1a0/0x1a4
> >
>
> Thank you. I will look into this immediately. Was this with default
> config for arm64? Was it with a vm or real hardware?


I was able to reproduce it and have a fix for tomorrow.

Thanks,
Liam