All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-s390@vger.kernel.org, Michal Hocko <mhocko@suse.com>,
	linux-ia64@vger.kernel.org,
	Pavel Tatashin <pasha.tatashin@soleen.com>,
	linux-sh@vger.kernel.org,
	"Aneesh Kumar K . V" <aneesh.kumar@linux.ibm.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Alexander Duyck <alexander.duyck@gmail.com>,
	linux-mm@kvack.org, Dan Williams <dan.j.williams@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	Toshiki Fukasawa <t-fukasawa@vx.jp.nec.com>,
	linux-arm-kernel@lists.infradead.org,
	Oscar Salvador <osalvador@suse.de>
Subject: Re: [PATCH v6 04/10] mm/memory_hotplug: Don't access uninitialized memmaps in shrink_zone_span()
Date: Tue, 19 Nov 2019 14:16:22 +0000	[thread overview]
Message-ID: <8bbbd4f1-e2c9-b654-ab73-aa4314135f21@redhat.com> (raw)
In-Reply-To: <20191014121719.cb9b9efe51a7e9e985b38075@linux-foundation.org>

On 14.10.19 21:17, Andrew Morton wrote:
> On Mon, 14 Oct 2019 11:32:13 +0200 David Hildenbrand <david@redhat.com> wrote:
> 
>>> Fixes: d0dc12e86b31 ("mm/memory_hotplug: optimize memory hotplug")
>>
>> @Andrew, can you convert that to
>>
>> Fixes: f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded
>> memory to zones until online") # visible after d0dc12e86b319
>>
>> and add
>>
>> Cc: stable@vger.kernel.org # v4.13+
> 
> Done, thanks.
> 

Just a note that Toshiki reported a BUG (race between delayed
initialization of ZONE_DEVICE memmaps without holding the memory
hotplug lock and concurrent zone shrinking).

https://lkml.org/lkml/2019/11/14/1040

"Iteration of create and destroy namespace causes the panic as below:

[   41.207694] kernel BUG at mm/page_alloc.c:535!
[   41.208109] invalid opcode: 0000 [#1] SMP PTI
[   41.208508] CPU: 7 PID: 2766 Comm: ndctl Not tainted 5.4.0-rc4 #6
[   41.209064] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014
[   41.210175] RIP: 0010:set_pfnblock_flags_mask+0x95/0xf0
[   41.210643] Code: 04 41 83 e2 3c 48 8d 04 a8 48 c1 e0 07 48 03 04 dd e0 59 55 bb 48 8b 58 68 48 39 da 73 0e 48 c7 c6 70 ac 11 bb e8 1b b2 fd ff <0f> 0b 48 03 58 78 48 39 da 73 e9 49 01 ca b9 3f 00 00 00 4f 8d 0c
[   41.212354] RSP: 0018:ffffac0d41557c80 EFLAGS: 00010246
[   41.212821] RAX: 000000000000004a RBX: 0000000000244a00 RCX: 0000000000000000
[   41.213459] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffbb1197dc
[   41.214100] RBP: 000000000000000c R08: 0000000000000439 R09: 0000000000000059
[   41.214736] R10: 0000000000000000 R11: ffffac0d41557b08 R12: ffff8be475ea72b0
[   41.215376] R13: 000000000000fa00 R14: 0000000000250000 R15: 00000000fffc0bb5
[   41.216008] FS:  00007f30862ab600(0000) GS:ffff8be57bc40000(0000) knlGS:0000000000000000
[   41.216771] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   41.217299] CR2: 000055e824d0d508 CR3: 0000000231dac000 CR4: 00000000000006e0
[   41.217934] Call Trace:
[   41.218225]  memmap_init_zone_device+0x165/0x17c
[   41.218642]  memremap_pages+0x4c1/0x540
[   41.218989]  devm_memremap_pages+0x1d/0x60
[   41.219367]  pmem_attach_disk+0x16b/0x600 [nd_pmem]
[   41.219804]  ? devm_nsio_enable+0xb8/0xe0
[   41.220172]  nvdimm_bus_probe+0x69/0x1c0
[   41.220526]  really_probe+0x1c2/0x3e0
[   41.220856]  driver_probe_device+0xb4/0x100
[   41.221238]  device_driver_attach+0x4f/0x60
[   41.221611]  bind_store+0xc9/0x110
[   41.221919]  kernfs_fop_write+0x116/0x190
[   41.222326]  vfs_write+0xa5/0x1a0
[   41.222626]  ksys_write+0x59/0xd0
[   41.222927]  do_syscall_64+0x5b/0x180
[   41.223264]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   41.223714] RIP: 0033:0x7f30865d0ed8
[   41.224037] Code: 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 8d 05 45 78 0d 00 8b 00 85 c0 75 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 41 54 49 89 d4 55
[   41.225920] RSP: 002b:00007fffe5d30a78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[   41.226608] RAX: ffffffffffffffda RBX: 000055e824d07f40 RCX: 00007f30865d0ed8
[   41.227242] RDX: 0000000000000007 RSI: 000055e824d07f40 RDI: 0000000000000004
[   41.227870] RBP: 0000000000000007 R08: 0000000000000007 R09: 0000000000000006
[   41.228753] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000004
[   41.229419] R13: 00007f30862ab528 R14: 0000000000000001 R15: 000055e824d07f40

While creating a namespace and initializing memmap, if you destroy the namespace
and shrink the zone, it will initialize the memmap outside the zone and
trigger VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page) in
set_pfnblock_flags_mask()."


This BUG is also mitigated by this commit, where we for now stop to
shrink the ZONE_DEVICE zone until we can do it in a safe and clean
way.

-- 

Thanks,

David / dhildenb

WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, x86@kernel.org,
	Oscar Salvador <osalvador@suse.de>,
	Michal Hocko <mhocko@suse.com>,
	Pavel Tatashin <pasha.tatashin@soleen.com>,
	Dan Williams <dan.j.williams@intel.com>,
	"Aneesh Kumar K . V" <aneesh.kumar@linux.ibm.com>,
	Toshiki Fukasawa <t-fukasawa@vx.jp.nec.com>,
	Alexander Duyck <alexander.duyck@gmail.com>
Subject: Re: [PATCH v6 04/10] mm/memory_hotplug: Don't access uninitialized memmaps in shrink_zone_span()
Date: Tue, 19 Nov 2019 15:16:22 +0100	[thread overview]
Message-ID: <8bbbd4f1-e2c9-b654-ab73-aa4314135f21@redhat.com> (raw)
In-Reply-To: <20191014121719.cb9b9efe51a7e9e985b38075@linux-foundation.org>

On 14.10.19 21:17, Andrew Morton wrote:
> On Mon, 14 Oct 2019 11:32:13 +0200 David Hildenbrand <david@redhat.com> wrote:
> 
>>> Fixes: d0dc12e86b31 ("mm/memory_hotplug: optimize memory hotplug")
>>
>> @Andrew, can you convert that to
>>
>> Fixes: f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded
>> memory to zones until online") # visible after d0dc12e86b319
>>
>> and add
>>
>> Cc: stable@vger.kernel.org # v4.13+
> 
> Done, thanks.
> 

Just a note that Toshiki reported a BUG (race between delayed
initialization of ZONE_DEVICE memmaps without holding the memory
hotplug lock and concurrent zone shrinking).

https://lkml.org/lkml/2019/11/14/1040

"Iteration of create and destroy namespace causes the panic as below:

[   41.207694] kernel BUG at mm/page_alloc.c:535!
[   41.208109] invalid opcode: 0000 [#1] SMP PTI
[   41.208508] CPU: 7 PID: 2766 Comm: ndctl Not tainted 5.4.0-rc4 #6
[   41.209064] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014
[   41.210175] RIP: 0010:set_pfnblock_flags_mask+0x95/0xf0
[   41.210643] Code: 04 41 83 e2 3c 48 8d 04 a8 48 c1 e0 07 48 03 04 dd e0 59 55 bb 48 8b 58 68 48 39 da 73 0e 48 c7 c6 70 ac 11 bb e8 1b b2 fd ff <0f> 0b 48 03 58 78 48 39 da 73 e9 49 01 ca b9 3f 00 00 00 4f 8d 0c
[   41.212354] RSP: 0018:ffffac0d41557c80 EFLAGS: 00010246
[   41.212821] RAX: 000000000000004a RBX: 0000000000244a00 RCX: 0000000000000000
[   41.213459] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffbb1197dc
[   41.214100] RBP: 000000000000000c R08: 0000000000000439 R09: 0000000000000059
[   41.214736] R10: 0000000000000000 R11: ffffac0d41557b08 R12: ffff8be475ea72b0
[   41.215376] R13: 000000000000fa00 R14: 0000000000250000 R15: 00000000fffc0bb5
[   41.216008] FS:  00007f30862ab600(0000) GS:ffff8be57bc40000(0000) knlGS:0000000000000000
[   41.216771] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   41.217299] CR2: 000055e824d0d508 CR3: 0000000231dac000 CR4: 00000000000006e0
[   41.217934] Call Trace:
[   41.218225]  memmap_init_zone_device+0x165/0x17c
[   41.218642]  memremap_pages+0x4c1/0x540
[   41.218989]  devm_memremap_pages+0x1d/0x60
[   41.219367]  pmem_attach_disk+0x16b/0x600 [nd_pmem]
[   41.219804]  ? devm_nsio_enable+0xb8/0xe0
[   41.220172]  nvdimm_bus_probe+0x69/0x1c0
[   41.220526]  really_probe+0x1c2/0x3e0
[   41.220856]  driver_probe_device+0xb4/0x100
[   41.221238]  device_driver_attach+0x4f/0x60
[   41.221611]  bind_store+0xc9/0x110
[   41.221919]  kernfs_fop_write+0x116/0x190
[   41.222326]  vfs_write+0xa5/0x1a0
[   41.222626]  ksys_write+0x59/0xd0
[   41.222927]  do_syscall_64+0x5b/0x180
[   41.223264]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   41.223714] RIP: 0033:0x7f30865d0ed8
[   41.224037] Code: 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 8d 05 45 78 0d 00 8b 00 85 c0 75 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 41 54 49 89 d4 55
[   41.225920] RSP: 002b:00007fffe5d30a78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[   41.226608] RAX: ffffffffffffffda RBX: 000055e824d07f40 RCX: 00007f30865d0ed8
[   41.227242] RDX: 0000000000000007 RSI: 000055e824d07f40 RDI: 0000000000000004
[   41.227870] RBP: 0000000000000007 R08: 0000000000000007 R09: 0000000000000006
[   41.228753] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000004
[   41.229419] R13: 00007f30862ab528 R14: 0000000000000001 R15: 000055e824d07f40

While creating a namespace and initializing memmap, if you destroy the namespace
and shrink the zone, it will initialize the memmap outside the zone and
trigger VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page) in
set_pfnblock_flags_mask()."


This BUG is also mitigated by this commit, where we for now stop to
shrink the ZONE_DEVICE zone until we can do it in a safe and clean
way.

-- 

Thanks,

David / dhildenb


WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-s390@vger.kernel.org, Michal Hocko <mhocko@suse.com>,
	linux-ia64@vger.kernel.org,
	Pavel Tatashin <pasha.tatashin@soleen.com>,
	linux-sh@vger.kernel.org,
	"Aneesh Kumar K . V" <aneesh.kumar@linux.ibm.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Alexander Duyck <alexander.duyck@gmail.com>,
	linux-mm@kvack.org, Dan Williams <dan.j.williams@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	Toshiki Fukasawa <t-fukasawa@vx.jp.nec.com>,
	linux-arm-kernel@lists.infradead.org,
	Oscar Salvador <osalvador@suse.de>
Subject: Re: [PATCH v6 04/10] mm/memory_hotplug: Don't access uninitialized memmaps in shrink_zone_span()
Date: Tue, 19 Nov 2019 15:16:22 +0100	[thread overview]
Message-ID: <8bbbd4f1-e2c9-b654-ab73-aa4314135f21@redhat.com> (raw)
In-Reply-To: <20191014121719.cb9b9efe51a7e9e985b38075@linux-foundation.org>

On 14.10.19 21:17, Andrew Morton wrote:
> On Mon, 14 Oct 2019 11:32:13 +0200 David Hildenbrand <david@redhat.com> wrote:
> 
>>> Fixes: d0dc12e86b31 ("mm/memory_hotplug: optimize memory hotplug")
>>
>> @Andrew, can you convert that to
>>
>> Fixes: f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded
>> memory to zones until online") # visible after d0dc12e86b319
>>
>> and add
>>
>> Cc: stable@vger.kernel.org # v4.13+
> 
> Done, thanks.
> 

Just a note that Toshiki reported a BUG (race between delayed
initialization of ZONE_DEVICE memmaps without holding the memory
hotplug lock and concurrent zone shrinking).

https://lkml.org/lkml/2019/11/14/1040

"Iteration of create and destroy namespace causes the panic as below:

[   41.207694] kernel BUG at mm/page_alloc.c:535!
[   41.208109] invalid opcode: 0000 [#1] SMP PTI
[   41.208508] CPU: 7 PID: 2766 Comm: ndctl Not tainted 5.4.0-rc4 #6
[   41.209064] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014
[   41.210175] RIP: 0010:set_pfnblock_flags_mask+0x95/0xf0
[   41.210643] Code: 04 41 83 e2 3c 48 8d 04 a8 48 c1 e0 07 48 03 04 dd e0 59 55 bb 48 8b 58 68 48 39 da 73 0e 48 c7 c6 70 ac 11 bb e8 1b b2 fd ff <0f> 0b 48 03 58 78 48 39 da 73 e9 49 01 ca b9 3f 00 00 00 4f 8d 0c
[   41.212354] RSP: 0018:ffffac0d41557c80 EFLAGS: 00010246
[   41.212821] RAX: 000000000000004a RBX: 0000000000244a00 RCX: 0000000000000000
[   41.213459] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffbb1197dc
[   41.214100] RBP: 000000000000000c R08: 0000000000000439 R09: 0000000000000059
[   41.214736] R10: 0000000000000000 R11: ffffac0d41557b08 R12: ffff8be475ea72b0
[   41.215376] R13: 000000000000fa00 R14: 0000000000250000 R15: 00000000fffc0bb5
[   41.216008] FS:  00007f30862ab600(0000) GS:ffff8be57bc40000(0000) knlGS:0000000000000000
[   41.216771] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   41.217299] CR2: 000055e824d0d508 CR3: 0000000231dac000 CR4: 00000000000006e0
[   41.217934] Call Trace:
[   41.218225]  memmap_init_zone_device+0x165/0x17c
[   41.218642]  memremap_pages+0x4c1/0x540
[   41.218989]  devm_memremap_pages+0x1d/0x60
[   41.219367]  pmem_attach_disk+0x16b/0x600 [nd_pmem]
[   41.219804]  ? devm_nsio_enable+0xb8/0xe0
[   41.220172]  nvdimm_bus_probe+0x69/0x1c0
[   41.220526]  really_probe+0x1c2/0x3e0
[   41.220856]  driver_probe_device+0xb4/0x100
[   41.221238]  device_driver_attach+0x4f/0x60
[   41.221611]  bind_store+0xc9/0x110
[   41.221919]  kernfs_fop_write+0x116/0x190
[   41.222326]  vfs_write+0xa5/0x1a0
[   41.222626]  ksys_write+0x59/0xd0
[   41.222927]  do_syscall_64+0x5b/0x180
[   41.223264]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   41.223714] RIP: 0033:0x7f30865d0ed8
[   41.224037] Code: 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 8d 05 45 78 0d 00 8b 00 85 c0 75 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 41 54 49 89 d4 55
[   41.225920] RSP: 002b:00007fffe5d30a78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[   41.226608] RAX: ffffffffffffffda RBX: 000055e824d07f40 RCX: 00007f30865d0ed8
[   41.227242] RDX: 0000000000000007 RSI: 000055e824d07f40 RDI: 0000000000000004
[   41.227870] RBP: 0000000000000007 R08: 0000000000000007 R09: 0000000000000006
[   41.228753] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000004
[   41.229419] R13: 00007f30862ab528 R14: 0000000000000001 R15: 000055e824d07f40

While creating a namespace and initializing memmap, if you destroy the namespace
and shrink the zone, it will initialize the memmap outside the zone and
trigger VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page) in
set_pfnblock_flags_mask()."


This BUG is also mitigated by this commit, where we for now stop to
shrink the ZONE_DEVICE zone until we can do it in a safe and clean
way.

-- 

Thanks,

David / dhildenb


WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-s390@vger.kernel.org, Michal Hocko <mhocko@suse.com>,
	linux-ia64@vger.kernel.org,
	Pavel Tatashin <pasha.tatashin@soleen.com>,
	linux-sh@vger.kernel.org,
	"Aneesh Kumar K . V" <aneesh.kumar@linux.ibm.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Alexander Duyck <alexander.duyck@gmail.com>,
	linux-mm@kvack.org, Dan Williams <dan.j.williams@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	Toshiki Fukasawa <t-fukasawa@vx.jp.nec.com>,
	linux-arm-kernel@lists.infradead.org,
	Oscar Salvador <osalvador@suse.de>
Subject: Re: [PATCH v6 04/10] mm/memory_hotplug: Don't access uninitialized memmaps in shrink_zone_span()
Date: Tue, 19 Nov 2019 15:16:22 +0100	[thread overview]
Message-ID: <8bbbd4f1-e2c9-b654-ab73-aa4314135f21@redhat.com> (raw)
In-Reply-To: <20191014121719.cb9b9efe51a7e9e985b38075@linux-foundation.org>

On 14.10.19 21:17, Andrew Morton wrote:
> On Mon, 14 Oct 2019 11:32:13 +0200 David Hildenbrand <david@redhat.com> wrote:
> 
>>> Fixes: d0dc12e86b31 ("mm/memory_hotplug: optimize memory hotplug")
>>
>> @Andrew, can you convert that to
>>
>> Fixes: f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded
>> memory to zones until online") # visible after d0dc12e86b319
>>
>> and add
>>
>> Cc: stable@vger.kernel.org # v4.13+
> 
> Done, thanks.
> 

Just a note that Toshiki reported a BUG (race between delayed
initialization of ZONE_DEVICE memmaps without holding the memory
hotplug lock and concurrent zone shrinking).

https://lkml.org/lkml/2019/11/14/1040

"Iteration of create and destroy namespace causes the panic as below:

[   41.207694] kernel BUG at mm/page_alloc.c:535!
[   41.208109] invalid opcode: 0000 [#1] SMP PTI
[   41.208508] CPU: 7 PID: 2766 Comm: ndctl Not tainted 5.4.0-rc4 #6
[   41.209064] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014
[   41.210175] RIP: 0010:set_pfnblock_flags_mask+0x95/0xf0
[   41.210643] Code: 04 41 83 e2 3c 48 8d 04 a8 48 c1 e0 07 48 03 04 dd e0 59 55 bb 48 8b 58 68 48 39 da 73 0e 48 c7 c6 70 ac 11 bb e8 1b b2 fd ff <0f> 0b 48 03 58 78 48 39 da 73 e9 49 01 ca b9 3f 00 00 00 4f 8d 0c
[   41.212354] RSP: 0018:ffffac0d41557c80 EFLAGS: 00010246
[   41.212821] RAX: 000000000000004a RBX: 0000000000244a00 RCX: 0000000000000000
[   41.213459] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffbb1197dc
[   41.214100] RBP: 000000000000000c R08: 0000000000000439 R09: 0000000000000059
[   41.214736] R10: 0000000000000000 R11: ffffac0d41557b08 R12: ffff8be475ea72b0
[   41.215376] R13: 000000000000fa00 R14: 0000000000250000 R15: 00000000fffc0bb5
[   41.216008] FS:  00007f30862ab600(0000) GS:ffff8be57bc40000(0000) knlGS:0000000000000000
[   41.216771] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   41.217299] CR2: 000055e824d0d508 CR3: 0000000231dac000 CR4: 00000000000006e0
[   41.217934] Call Trace:
[   41.218225]  memmap_init_zone_device+0x165/0x17c
[   41.218642]  memremap_pages+0x4c1/0x540
[   41.218989]  devm_memremap_pages+0x1d/0x60
[   41.219367]  pmem_attach_disk+0x16b/0x600 [nd_pmem]
[   41.219804]  ? devm_nsio_enable+0xb8/0xe0
[   41.220172]  nvdimm_bus_probe+0x69/0x1c0
[   41.220526]  really_probe+0x1c2/0x3e0
[   41.220856]  driver_probe_device+0xb4/0x100
[   41.221238]  device_driver_attach+0x4f/0x60
[   41.221611]  bind_store+0xc9/0x110
[   41.221919]  kernfs_fop_write+0x116/0x190
[   41.222326]  vfs_write+0xa5/0x1a0
[   41.222626]  ksys_write+0x59/0xd0
[   41.222927]  do_syscall_64+0x5b/0x180
[   41.223264]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   41.223714] RIP: 0033:0x7f30865d0ed8
[   41.224037] Code: 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 8d 05 45 78 0d 00 8b 00 85 c0 75 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 41 54 49 89 d4 55
[   41.225920] RSP: 002b:00007fffe5d30a78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[   41.226608] RAX: ffffffffffffffda RBX: 000055e824d07f40 RCX: 00007f30865d0ed8
[   41.227242] RDX: 0000000000000007 RSI: 000055e824d07f40 RDI: 0000000000000004
[   41.227870] RBP: 0000000000000007 R08: 0000000000000007 R09: 0000000000000006
[   41.228753] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000004
[   41.229419] R13: 00007f30862ab528 R14: 0000000000000001 R15: 000055e824d07f40

While creating a namespace and initializing memmap, if you destroy the namespace
and shrink the zone, it will initialize the memmap outside the zone and
trigger VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page) in
set_pfnblock_flags_mask()."


This BUG is also mitigated by this commit, where we for now stop to
shrink the ZONE_DEVICE zone until we can do it in a safe and clean
way.

-- 

Thanks,

David / dhildenb


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-11-19 14:16 UTC|newest]

Thread overview: 263+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-06  8:56 [PATCH v6 00/10] mm/memory_hotplug: Shrink zones before removing memory David Hildenbrand
2019-10-06  8:56 ` David Hildenbrand
2019-10-06  8:56 ` [PATCH v6 01/10] mm/memunmap: Don't access uninitialized memmap in memunmap_pages() David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06 19:58   ` Damian Tometzki
2019-10-06 19:58     ` Damian Tometzki
2019-10-06 19:58     ` Damian Tometzki
2019-10-06 19:58     ` Damian Tometzki
2019-10-06 20:13     ` David Hildenbrand
2019-10-06 20:13       ` David Hildenbrand
2019-10-06 20:13       ` David Hildenbrand
2019-10-14  9:05   ` David Hildenbrand
2019-10-14  9:05     ` David Hildenbrand
2019-10-14  9:05     ` David Hildenbrand
2019-10-14  9:05     ` David Hildenbrand
2019-10-06  8:56 ` [PATCH v6 02/10] mm/memmap_init: Update variable name in memmap_init_zone David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56 ` [PATCH v6 03/10] mm/memory_hotplug: Don't access uninitialized memmaps in shrink_pgdat_span() David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-14  9:31   ` David Hildenbrand
2019-10-14  9:31     ` David Hildenbrand
2019-10-14  9:31     ` David Hildenbrand
2019-10-14  9:31     ` David Hildenbrand
2019-10-06  8:56 ` [PATCH v6 04/10] mm/memory_hotplug: Don't access uninitialized memmaps in shrink_zone_span() David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-14  9:32   ` David Hildenbrand
2019-10-14  9:32     ` David Hildenbrand
2019-10-14  9:32     ` David Hildenbrand
2019-10-14  9:32     ` David Hildenbrand
2019-10-14 19:17     ` Andrew Morton
2019-10-14 19:17       ` Andrew Morton
2019-10-14 19:17       ` Andrew Morton
2019-10-14 19:17       ` Andrew Morton
2019-11-19 14:16       ` David Hildenbrand [this message]
2019-11-19 14:16         ` David Hildenbrand
2019-11-19 14:16         ` David Hildenbrand
2019-11-19 14:16         ` David Hildenbrand
2019-11-19 20:44         ` Andrew Morton
2019-11-19 20:44           ` Andrew Morton
2019-11-19 20:44           ` Andrew Morton
2019-11-19 20:44           ` Andrew Morton
2019-10-06  8:56 ` [PATCH v6 05/10] mm/memory_hotplug: Shrink zones when offlining memory David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-14  9:39   ` David Hildenbrand
2019-10-14  9:39     ` David Hildenbrand
2019-10-14 19:16     ` Andrew Morton
2019-10-14 19:16       ` Andrew Morton
2019-10-27 22:45   ` David Hildenbrand
2019-10-27 22:45     ` David Hildenbrand
2019-11-30 23:21     ` Andrew Morton
2019-11-30 23:21       ` Andrew Morton
2019-11-30 23:43       ` David Hildenbrand
2019-11-30 23:43         ` David Hildenbrand
2019-12-18 17:08       ` David Hildenbrand
2019-12-18 17:08         ` David Hildenbrand
2019-12-18 20:16         ` Andrew Morton
2019-12-18 20:16           ` Andrew Morton
2019-12-03 15:10   ` Oscar Salvador
2019-12-03 15:10     ` Oscar Salvador
2019-12-03 15:27     ` David Hildenbrand
2019-12-03 15:27       ` David Hildenbrand
2019-12-03 15:27       ` David Hildenbrand
2019-12-03 15:27       ` David Hildenbrand
2019-10-06  8:56 ` [PATCH v6 06/10] mm/memory_hotplug: Poison memmap in remove_pfn_range_from_zone() David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-16 14:01   ` David Hildenbrand
2019-10-16 14:01     ` David Hildenbrand
2019-10-16 14:01     ` David Hildenbrand
2019-10-16 14:01     ` David Hildenbrand
2020-02-04  8:59   ` Oscar Salvador
2020-02-04  8:59     ` Oscar Salvador
2020-02-04  8:59     ` Oscar Salvador
2020-02-04  8:59     ` Oscar Salvador
2019-10-06  8:56 ` [PATCH v6 07/10] mm/memory_hotplug: We always have a zone in find_(smallest|biggest)_section_pfn David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2020-02-04  9:06   ` Oscar Salvador
2020-02-04  9:06     ` Oscar Salvador
2020-02-04  9:06     ` Oscar Salvador
2020-02-04  9:06     ` Oscar Salvador
2020-02-05  8:57   ` Wei Yang
2020-02-05  8:57     ` Wei Yang
2020-02-05  8:57     ` Wei Yang
2020-02-05  8:57     ` Wei Yang
2020-02-05  8:59     ` David Hildenbrand
2020-02-05  8:59       ` David Hildenbrand
2020-02-05  8:59       ` David Hildenbrand
2020-02-05  8:59       ` David Hildenbrand
2020-02-05  9:26       ` Wei Yang
2020-02-05  9:26         ` Wei Yang
2020-02-05  9:26         ` Wei Yang
2020-02-05  9:26         ` Wei Yang
2019-10-06  8:56 ` [PATCH v6 08/10] mm/memory_hotplug: Don't check for "all holes" in shrink_zone_span() David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2020-02-04  9:13   ` Oscar Salvador
2020-02-04  9:13     ` Oscar Salvador
2020-02-04  9:13     ` Oscar Salvador
2020-02-04  9:13     ` Oscar Salvador
2020-02-04  9:20     ` David Hildenbrand
2020-02-04  9:20       ` David Hildenbrand
2020-02-04  9:20       ` David Hildenbrand
2020-02-04  9:20       ` David Hildenbrand
2020-02-04 14:25   ` Baoquan He
2020-02-04 14:25     ` Baoquan He
2020-02-04 14:25     ` Baoquan He
2020-02-04 14:25     ` Baoquan He
2020-02-04 14:42     ` David Hildenbrand
2020-02-04 14:42       ` David Hildenbrand
2020-02-04 14:42       ` David Hildenbrand
2020-02-04 14:42       ` David Hildenbrand
2020-02-05 12:43       ` Baoquan He
2020-02-05 12:43         ` Baoquan He
2020-02-05 12:43         ` Baoquan He
2020-02-05 12:43         ` Baoquan He
2020-02-05 13:20         ` David Hildenbrand
2020-02-05 13:20           ` David Hildenbrand
2020-02-05 13:20           ` David Hildenbrand
2020-02-05 13:20           ` David Hildenbrand
2020-02-05 13:34           ` Baoquan He
2020-02-05 13:34             ` Baoquan He
2020-02-05 13:34             ` Baoquan He
2020-02-05 13:34             ` Baoquan He
2020-02-05 13:38             ` David Hildenbrand
2020-02-05 13:38               ` David Hildenbrand
2020-02-05 13:38               ` David Hildenbrand
2020-02-05 13:38               ` David Hildenbrand
2020-02-05 14:12               ` Baoquan He
2020-02-05 14:12                 ` Baoquan He
2020-02-05 14:12                 ` Baoquan He
2020-02-05 14:12                 ` Baoquan He
2020-02-05 14:16                 ` David Hildenbrand
2020-02-05 14:16                   ` David Hildenbrand
2020-02-05 14:16                   ` David Hildenbrand
2020-02-05 14:16                   ` David Hildenbrand
2020-02-05 14:26                   ` Baoquan He
2020-02-05 14:26                     ` Baoquan He
2020-02-05 14:26                     ` Baoquan He
2020-02-05 14:26                     ` Baoquan He
2020-02-05  9:59   ` Wei Yang
2020-02-05  9:59     ` Wei Yang
2020-02-05  9:59     ` Wei Yang
2020-02-05  9:59     ` Wei Yang
2020-02-05 14:48     ` Baoquan He
2020-02-05 14:48       ` Baoquan He
2020-02-05 14:48       ` Baoquan He
2020-02-05 14:48       ` Baoquan He
2020-02-05 22:56       ` Wei Yang
2020-02-05 22:56         ` Wei Yang
2020-02-05 22:56         ` Wei Yang
2020-02-05 22:56         ` Wei Yang
2020-02-05 23:08         ` Baoquan He
2020-02-05 23:08           ` Baoquan He
2020-02-05 23:08           ` Baoquan He
2020-02-05 23:08           ` Baoquan He
2020-02-05 23:26           ` Wei Yang
2020-02-05 23:26             ` Wei Yang
2020-02-05 23:26             ` Wei Yang
2020-02-05 23:26             ` Wei Yang
2020-02-05 23:30             ` Baoquan He
2020-02-05 23:30               ` Baoquan He
2020-02-05 23:30               ` Baoquan He
2020-02-05 23:30               ` Baoquan He
2020-02-05 23:34               ` Wei Yang
2020-02-05 23:34                 ` Wei Yang
2020-02-05 23:34                 ` Wei Yang
2020-02-05 23:34                 ` Wei Yang
2020-02-05 14:54     ` David Laight
2020-02-05 14:54       ` David Laight
2020-02-05 14:54       ` David Laight
2020-02-05 14:54       ` David Laight
2020-02-05 14:54       ` David Laight
2020-02-05 14:55       ` David Hildenbrand
2020-02-05 14:55         ` David Hildenbrand
2020-02-05 14:55         ` David Hildenbrand
2020-02-05 14:55         ` David Hildenbrand
2020-02-05 14:55         ` David Hildenbrand
2019-10-06  8:56 ` [PATCH v6 09/10] mm/memory_hotplug: Drop local variables " David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2020-02-04  9:26   ` Oscar Salvador
2020-02-04  9:26     ` Oscar Salvador
2020-02-04  9:26     ` Oscar Salvador
2020-02-04  9:26     ` Oscar Salvador
2020-02-04  9:29     ` David Hildenbrand
2020-02-04  9:29       ` David Hildenbrand
2020-02-04  9:29       ` David Hildenbrand
2020-02-04  9:29       ` David Hildenbrand
2020-02-05 10:07   ` Wei Yang
2020-02-05 10:07     ` Wei Yang
2020-02-05 10:07     ` Wei Yang
2020-02-05 10:07     ` Wei Yang
2019-10-06  8:56 ` [PATCH v6 10/10] mm/memory_hotplug: Cleanup __remove_pages() David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2019-10-06  8:56   ` David Hildenbrand
2020-02-04  9:46   ` Oscar Salvador
2020-02-04  9:46     ` Oscar Salvador
2020-02-04  9:46     ` Oscar Salvador
2020-02-04  9:46     ` Oscar Salvador
2020-02-04 12:41     ` David Hildenbrand
2020-02-04 12:41       ` David Hildenbrand
2020-02-04 12:41       ` David Hildenbrand
2020-02-04 12:41       ` David Hildenbrand
2020-02-04 13:13       ` Segher Boessenkool
2020-02-04 13:13         ` Segher Boessenkool
2020-02-04 13:13         ` Segher Boessenkool
2020-02-04 13:13         ` Segher Boessenkool
2020-02-04 13:38         ` David Hildenbrand
2020-02-04 13:38           ` David Hildenbrand
2020-02-04 13:38           ` David Hildenbrand
2020-02-04 13:38           ` David Hildenbrand
2020-02-05 12:51           ` Segher Boessenkool
2020-02-05 12:51             ` Segher Boessenkool
2020-02-05 12:51             ` Segher Boessenkool
2020-02-05 12:51             ` Segher Boessenkool
2020-02-05 13:17             ` David Hildenbrand
2020-02-05 13:17               ` David Hildenbrand
2020-02-05 13:17               ` David Hildenbrand
2020-02-05 13:17               ` David Hildenbrand
2020-02-05 13:18               ` David Hildenbrand
2020-02-05 13:18                 ` David Hildenbrand
2020-02-05 13:18                 ` David Hildenbrand
2020-02-05 13:18                 ` David Hildenbrand
2020-02-05 13:23                 ` David Hildenbrand
2020-02-05 13:23                   ` David Hildenbrand
2020-02-05 13:23                   ` David Hildenbrand
2020-02-05 13:23                   ` David Hildenbrand
2020-02-05 11:48   ` Wei Yang
2020-02-05 11:48     ` Wei Yang
2020-02-05 11:48     ` Wei Yang
2020-02-05 11:48     ` Wei Yang
2019-12-02  9:09 ` [PATCH v6 00/10] mm/memory_hotplug: Shrink zones before removing memory David Hildenbrand
2019-12-02  9:09   ` David Hildenbrand
2019-12-03 13:36   ` Oscar Salvador
2019-12-03 13:36     ` Oscar Salvador
2020-01-31  4:40     ` Andrew Morton
2020-01-31  4:40       ` Andrew Morton
2020-01-31  9:18       ` David Hildenbrand
2020-01-31  9:18         ` David Hildenbrand
2020-01-31 10:03         ` Michal Hocko
2020-01-31 10:03           ` Michal Hocko
2020-01-31 10:36           ` David Hildenbrand
2020-01-31 10:36             ` David Hildenbrand
2020-02-04  1:46         ` Andrew Morton
2020-02-04  1:46           ` Andrew Morton
2020-02-04  8:45           ` David Hildenbrand
2020-02-04  8:45             ` David Hildenbrand
2020-02-04  9:51             ` Oscar Salvador
2020-02-04  9:51               ` Oscar Salvador

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8bbbd4f1-e2c9-b654-ab73-aa4314135f21@redhat.com \
    --to=david@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.duyck@gmail.com \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=dan.j.williams@intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mhocko@suse.com \
    --cc=osalvador@suse.de \
    --cc=pasha.tatashin@soleen.com \
    --cc=t-fukasawa@vx.jp.nec.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.