[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210812144001.GA837928@roeck-us.net>
Date: Thu, 12 Aug 2021 07:40:01 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Mike Rapoport <rppt@...nel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Albert Ou <aou@...s.berkeley.edu>,
Andy Lutomirski <luto@...nel.org>,
Borislav Petkov <bp@...en8.de>,
Catalin Marinas <catalin.marinas@....com>,
Christian Borntraeger <borntraeger@...ibm.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Frank Rowand <frowand.list@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"H. Peter Anvin" <hpa@...or.com>,
Heiko Carstens <hca@...ux.ibm.com>,
Ingo Molnar <mingo@...hat.com>,
"Kirill A. Shutemov" <kirill@...temov.name>,
Len Brown <lenb@...nel.org>, Marc Zyngier <maz@...nel.org>,
Mike Rapoport <rppt@...ux.ibm.com>,
Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Peter Zijlstra <peterz@...radead.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Rob Herring <robh+dt@...nel.org>,
Russell King <linux@...linux.org.uk>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Thomas Gleixner <tglx@...utronix.de>,
Vasily Gorbik <gor@...ux.ibm.com>,
Will Deacon <will@...nel.org>, devicetree@...r.kernel.org,
kvmarm@...ts.cs.columbia.edu, linux-acpi@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-mips@...r.kernel.org, linux-mm@...ck.org,
linux-riscv@...ts.infradead.org, linux-s390@...r.kernel.org,
x86@...nel.org
Subject: Re: [PATCH v4 0/2] memblock: make memblock_find_in_range method
private
Mike,
On Thu, Aug 12, 2021 at 09:59:05AM +0300, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@...ux.ibm.com>
>
> Hi,
>
> This is v4 of "memblock: make memblock_find_in_range method private" patch
> that essentially replaces memblock_find_in_range() + memblock_reserve()
> calls with equivalent calls to memblock_phys_alloc() and prevents usage of
> memblock_find_in_range() outside memblock itself.
>
> The patch uncovered an issue with top down memory mapping on x86 and this
> version has a preparation patch that addresses this issue.
>
> Guenter, I didn't add your Tested-by because the patch that addresses the
> crashes differs from the one you've tested.
>
Unfortunately I am still seeing crashes.
1G of memory, x86_64:
[ 0.000000] efi: EFI v2.70 by EDK II
[ 0.000000] efi: SMBIOS=0x3fbcc000 ACPI=0x3fbfa000 ACPI 2.0=0x3fbfa014 MEMATTR=0x3f229018
[ 0.000000] SMBIOS 2.8 present.
[ 0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[ 0.000000] tsc: Fast TSC calibration using PIT
[ 0.000000] tsc: Detected 3792.807 MHz processor
[ 0.001816] last_pfn = 0x3ff50 max_arch_pfn = 0x400000000
[ 0.002595] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT
[ 0.022989] Using GB pages for direct mapping
[ 0.025601] Kernel panic - not syncing: alloc_low_pages: can not alloc memory
[ 0.025910] CPU: 0 PID: 0 Comm: swapper Not tainted 5.14.0-rc5+ #1
[ 0.026133] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[ 0.026462] Call Trace:
[ 0.026942] ? dump_stack_lvl+0x57/0x7d
[ 0.027475] ? panic+0x10a/0x2de
[ 0.027600] ? alloc_low_pages+0x117/0x156
[ 0.027704] ? phys_pmd_init+0x234/0x342
[ 0.027817] ? phys_pud_init+0x171/0x337
[ 0.027926] ? __kernel_physical_mapping_init+0xec/0x276
[ 0.028062] ? init_memory_mapping+0x1ea/0x2ca
[ 0.028199] ? init_range_memory_mapping+0xdf/0x12e
[ 0.028326] ? init_mem_mapping+0x1e9/0x261
[ 0.028432] ? setup_arch+0x5ff/0xb6d
[ 0.028535] ? start_kernel+0x71/0x6b4
[ 0.028636] ? secondary_startup_64_no_verify+0xc2/0xcb
[ 0.029479] ---[ end Kernel panic - not syncing: alloc_low_pages: can not alloc memory ]---
Complete log:
https://kerneltests.org/builders/qemu-x86_64-testing/builds/67/steps/qemubuildcommand/logs/stdio
x86, default memory size, all efi boots affected:
[ 0.025676] BUG: unable to handle page fault for address: cf3c1000
[ 0.025932] #PF: supervisor write access in kernel mode
[ 0.026022] #PF: error_code(0x0002) - not-present page
[ 0.026122] *pde = 00000000
[ 0.026308] Oops: 0002 [#1] SMP
[ 0.026468] CPU: 0 PID: 0 Comm: swapper Not tainted 5.14.0-rc5+ #1
[ 0.026616] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[ 0.026848] EIP: alloc_low_pages+0xa0/0x13f
[ 0.027355] Code: 00 74 77 a3 cc ba 62 ca 8b 45 f0 8d 90 00 00 0c 00 31 c0 c1 e2 0c 85 f6 74 16 89 d7 b9 00 04 00 00 83 c3 01 81 c2 00 10 00 00 <f3> ab 39 f3 75 ea 8b 45 f0 8d 65 f4 5b 5e c1 e0 0c 5f 5d 2d 00 00
[ 0.027802] EAX: 00000000 EBX: 00000001 ECX: 00000400 EDX: cf3c2000
[ 0.027903] ESI: 00000001 EDI: cf3c1000 EBP: ca389e28 ESP: ca389e18
[ 0.028006] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00200086
[ 0.028125] CR0: 80050033 CR2: cf3c1000 CR3: 0a69f000 CR4: 00040690
[ 0.028287] Call Trace:
[ 0.028603] one_page_table_init+0x15/0x6d
[ 0.028751] kernel_physical_mapping_init+0xdd/0x19b
[ 0.028839] init_memory_mapping+0x146/0x1f1
[ 0.028921] init_range_memory_mapping+0xfe/0x144
[ 0.029001] init_mem_mapping+0x145/0x185
[ 0.029066] setup_arch+0x5ff/0xa75
[ 0.029128] ? vprintk+0x4c/0x100
[ 0.029187] start_kernel+0x66/0x5ba
[ 0.029246] ? set_intr_gate+0x42/0x55
[ 0.029306] ? early_idt_handler_common+0x44/0x44
[ 0.029380] i386_start_kernel+0x43/0x45
[ 0.029441] startup_32_smp+0x161/0x164
[ 0.029567] Modules linked in:
[ 0.029776] CR2: 00000000cf3c1000
[ 0.030406] random: get_random_bytes called from oops_exit+0x35/0x60 with crng_init=0
[ 0.031121] ---[ end trace 544692cd05e387e2 ]---
[ 0.031357] EIP: alloc_low_pages+0xa0/0x13f
[ 0.031427] Code: 00 74 77 a3 cc ba 62 ca 8b 45 f0 8d 90 00 00 0c 00 31 c0 c1 e2 0c 85 f6 74 16 89 d7 b9 00 04 00 00 83 c3 01 81 c2 00 10 00 00 <f3> ab 39 f3 75 ea 8b 45 f0 8d 65 f4 5b 5e c1 e0 0c 5f 5d 2d 00 00
[ 0.031698] EAX: 00000000 EBX: 00000001 ECX: 00000400 EDX: cf3c2000
[ 0.031787] ESI: 00000001 EDI: cf3c1000 EBP: ca389e28 ESP: ca389e18
[ 0.031876] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00200086
[ 0.031972] CR0: 80050033 CR2: cf3c1000 CR3: 0a69f000 CR4: 00040690
[ 0.032198] Kernel panic - not syncing: Attempted to kill the idle task!
[ 0.032521] ---[ end Kernel panic - not syncing: Attempted to kill the idle
task! ]--
Complete log:
https://kerneltests.org/builders/qemu-x86-testing/builds/65/steps/qemubuildcommand/logs/stdio
Guenter
Powered by blists - more mailing lists