On Thu, 2019-03-21 at 23:57 +0500, Mikhail Gavrilov wrote: > On Thu, 21 Mar 2019 at 20:48, Qian Cai <cai@xxxxxx> wrote: > > OK, those pages look similar enough. If you add this to __init_single_page() > > in > > mm/page_alloc.c : > > > > if (page == (void *)0xffffdcd2607ce000 || page == (void *)0xffffe4b7607ce000 > > || > > page == (void *)0xffffd27aa07ce000 || page == (void *)0xffffcf49607ce000) { > > printk("KK page = %px\n", page); > > dump_stack(); > > } > > > > to see where those pages have been initialized in the first place. > > In the new kernel panics "page" also does not repeated. > > $ journalctl | grep "page:" > Mar 21 20:46:56 localhost.localdomain kernel: page:fffffbbbe07ce000 is > uninitialized and poisoned > Mar 21 21:28:03 localhost.localdomain kernel: page:ffffdecc207ce000 is > uninitialized and poisoned > Mar 21 23:43:24 localhost.localdomain kernel: page:fffff91ce07ce000 is > uninitialized and poisoned That is OK. The above debug patch may still be useful to figure out where those pages come from (or you could add those 3 pages address to the patch as well). They may be initialized in a similar fashion or uninitialized to begin with.