This problem is a mix between running certain versions of 32bit Linux kernel dom0 on certain versions of 64bit Xen hypervisor, combined with certain memory clamping settings.
Xen 4.4.1 + Linux 3.13.x -> at least boots without messages
Xen 4.5.1 + Linux 4.2.x -> boot without messages (dom0_mem=512M,4096M,unlimited)
Xen 4.5.1 + Linux 4.2.x -> bad page messages but boots (dom0_mem[1024M...3072M])
Xen 4.6 + Linux 4.2.x -> all cases as with Xen 4.5.1
Xen 4.6 + Linux 4.4.x
The boot for 512M,4096M, and unlimited looks good as well. Though trying to start a
domU without dom0_mem set caused a crash why ballooning (but I think this should be
a seperate bug)
Using a dom0_mem range between 1G and 3G it looks like still producing the bad page
flags bug message and additionally panicking + reboot. Unfortunately there is no clear
panic message, the serial console seems to be overwhelmed.
The bad page bug generally looks like this (the pfn numbers seem to be towards the end of the allocated range.
This problem is a mix between running certain versions of 32bit Linux kernel dom0 on certain versions of 64bit Xen hypervisor, combined with certain memory clamping settings.
Xen 4.4.1 + Linux 3.13.x -> at least boots without messages 512M,4096M, unlimited) 1024M.. .3072M] )
Xen 4.5.1 + Linux 4.2.x -> boot without messages (dom0_mem=
Xen 4.5.1 + Linux 4.2.x -> bad page messages but boots (dom0_mem[
Xen 4.6 + Linux 4.2.x -> all cases as with Xen 4.5.1
Xen 4.6 + Linux 4.4.x
The boot for 512M,4096M, and unlimited looks good as well. Though trying to start a
domU without dom0_mem set caused a crash why ballooning (but I think this should be
a seperate bug)
Using a dom0_mem range between 1G and 3G it looks like still producing the bad page
flags bug message and additionally panicking + reboot. Unfortunately there is no clear
panic message, the serial console seems to be overwhelmed.
The bad page bug generally looks like this (the pfn numbers seem to be towards the end of the allocated range.
[ 8.980150] BUG: Bad page state in process swapper/0 pfn:7fc22 CHECK_AT_ PREP flag set 0x41/0x52 from_freelist+ 0x2d3/0x610 pages_nodemask+ 0x153/0x910 isra.13+ 0x52/0x90 alloc_trace+ 0x175/0x1e0 save___ pv_queued_ spin_unlock+ 0x6/0x10 0x21d/0x240 node_range+ 0x10e/0x210 alloc+0x37/ 0xa0 node+0x66/ 0x70 alloc+0x37/ 0xa0 alloc+0x37/ 0xa0 alloc+0x37/ 0xa0 create+ 0x2c/0x90 check_init+ 0x11/0x11 init+0x2b/ 0x44 initcall+ 0xaa/0x200 check_init+ 0x11/0x11 env_string+ 0x12/0x54 init_freeable+ 0x126/0x1d9 init+0x10/ 0xe0 tail+0x11/ 0x50 kernel_ thread+ 0x21/0x30
[ 8.980238] page:f4566550 count:0 mapcount:0 mapping: (null) index:0x0
[ 8.980328] flags: 0x7000400(reserved)
[ 8.980486] page dumped because: PAGE_FLAGS_
[ 8.980575] bad because of flags:
[ 8.980688] flags: 0x400(reserved)
[ 8.980844] Modules linked in:
[ 8.980960] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G B 4.2.0-19-
generic #23-Ubuntu
[ 8.981084] Hardware name: Supermicro H8SGL/H8SGL, BIOS 3.0 08/31/2012
[ 8.981177] c1a649a7 23e07668 00000000 e9cafce4 c175e501 f4566550 e9cafd08 c
1166897
[ 8.981608] c19750a4 e9d183ec 0007fc22 007fffff c1975630 c1978e86 00000001 e
9cafd74
[ 8.982074] c1169f83 00000002 00000141 0004a872 c1af3644 00000000 ee44bce4 e
e44bce4
[ 8.982506] Call Trace:
[ 8.982582] [<c175e501>] dump_stack+
[ 8.982666] [<c1166897>] bad_page+0xb7/0x110
[ 8.982749] [<c1169f83>] get_page_
[ 8.982838] [<c116a4f3>] __alloc_
[ 8.982926] [<c122ee62>] ? find_entry.
[ 8.983013] [<c11b0f75>] ? kmem_cache_
[ 8.983102] [<c10b1c96>] ? __raw_callee_
[ 8.983223] [<c11b0ddd>] ? __kmalloc+
[ 8.983308] [<c119cc2e>] __vmalloc_
[ 8.983433] [<c1148fa7>] ? bpf_prog_
[ 8.983518] [<c119cd96>] __vmalloc_
[ 8.983604] [<c1148fa7>] ? bpf_prog_
[ 8.983689] [<c119cdd4>] __vmalloc+0x34/0x40
[ 8.983773] [<c1148fa7>] ? bpf_prog_
[ 8.983859] [<c1148fa7>] bpf_prog_
[ 8.983944] [<c167cc8c>] bpf_prog_
[ 8.984034] [<c1b6741e>] ? bsp_pm_
[ 8.984121] [<c1b68401>] ptp_classifier_
[ 8.984207] [<c1b6749a>] sock_init+0x7c/0x83
[ 8.984291] [<c100211a>] do_one_
[ 8.984376] [<c1b6741e>] ? bsp_pm_
[ 8.984463] [<c1b1654c>] ? repair_
[ 8.984551] [<c1b16cf6>] ? kernel_
[ 8.984726] [<c1755fb0>] kernel_
[ 8.984846] [<c10929b1>] ? schedule_
[ 8.984932] [<c1764141>] ret_from_
[ 8.985019] [<c1755fa0>] ? rest_init+0x70/0x70