lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220330154208.71aca532@gandalf.local.home>
Date:   Wed, 30 Mar 2022 15:42:08 -0400
From:   Steven Rostedt <rostedt@...dmis.org>
To:     LKML <linux-kernel@...r.kernel.org>
Cc:     Linus Torvalds <torvalds@...ux-foundation.org>,
        Zi Yan <ziy@...dia.com>,
        Mel Gorman <mgorman@...hsingularity.net>,
        David Hildenbrand <david@...hat.com>,
        Vlastimil Babka <vbabka@...e.cz>,
        Mike Rapoport <rppt@...ux.ibm.com>,
        Oscar Salvador <osalvador@...e.de>,
        Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org
Subject: [BUG] Crash on x86_32 for: mm: page_alloc: avoid merging
 non-fallbackable pageblocks with others

I started testing new patches and it crashed when doing the x86-32 test on
boot up.

Initializing HighMem for node 0 (000375fe:0021ee00)
BUG: kernel NULL pointer dereference, address: 00000878
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
*pdpt = 0000000000000000 *pde = f0000000f000eef3 
Oops: 0000 [#1] PREEMPT SMP PTI
CPU: 0 PID: 0 Comm: swapper Not tainted 5.17.0-test+ #469
Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
EIP: get_pfnblock_flags_mask+0x2c/0x36
Code: 6d ea ff 55 89 e5 56 89 ce 53 8b 18 89 d8 c1 eb 1e e8 f7 fb ff ff 69 db c0 02 00 00 89 c1 89 c2 c1 ea 05 8b 83 7c d7 79 c1 5b <8b> 04 90 d3 e8 21 f0 5e 5d c3 55 89 e5 57 56 89 d6 53 89 c3 64 a1
EAX: 00000000 EBX: f75f6000 ECX: 000043dc EDX: 0000021e
ESI: 00000007 EDI: 00000000 EBP: c15d9e34 ESP: c15d9e30
DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00210007
CR0: 80050033 CR2: 00000878 CR3: 01a48000 CR4: 000406b0
Call Trace:
 __free_one_page+0x168/0x22a
 free_pcppages_bulk+0xf0/0x1b9
 free_unref_page_commit+0xe4/0xed
 free_unref_page+0x77/0x9b
 free_the_page+0x16/0x18
 __free_pages+0x22/0x51
 add_highpages_with_active_regions+0xbb/0xea
 set_highmem_pages_init+0x69/0x7a
 mem_init+0x2d/0x141
 start_kernel+0x353/0x5f4
 ? set_intr_gate+0x47/0x5a
 ? early_idt_handler_common+0x44/0x44
 i386_start_kernel+0x48/0x4a
 startup_32_smp+0x161/0x164
Modules linked in:
CR2: 0000000000000878
---[ end trace 0000000000000000 ]---


I bisected it down to:

1dd214b8f21ca46d5431be9b2db8513c59e07a26
mm: page_alloc: avoid merging non-fallbackable pageblocks with others

To confirm, I went back to Linus's master branch (from last night), to
verify that it crashes. Then reverted this commit, recompiled and it booted
up fine without it.

Attached is the config that crashed.

-- Steve

Download attachment "config-bad" of type "application/octet-stream" (163078 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ