On Mon 02-07-18 14:05:36, Pavel Tatashin wrote: [...] > void __dump_page(struct page *page, const char *reason) > { > + bool page_poisoned = PagePoisoned(page); > + int mapcount; > + > + /* > + * If struct page is poisoned don't access Page*() functions as that > + * leads to recursive loop. Page*() check for poisoned pages, and calls > + * dump_page() when detected. > + */ > + if (page_poisoned) { > + pr_emerg("page:%px is uninitialized and poisoned", page); > + goto hex_only; > + } Thanks for the updated comment. Exactly what I was looking for! -- Michal Hocko SUSE Labs