On 04/09/2018 06:12 PM, kernel test robot wrote:
+-----------------------------------------------------------------------+------------+------------+------------+------------+
| | 64c8075940 | e71e836f46 | 0564258fb2 | 87e1e2f51c |
+-----------------------------------------------------------------------+------------+------------+------------+------------+
| boot_successes | 35 | 0 | 19 | 11 |
| boot_failures | 0 | 26 | | |
| WARNING:at_arch/x86/include/asm/pgtable.h:#__change_page_attr_set_clr | 0 | 26 | | |
| RIP:__change_page_attr_set_clr | 0 | 26 | | |
+-----------------------------------------------------------------------+------------+------------+------------+------------+
LKP folks, does this mean that the system didn't boot in all the places
that we saw this warning? Or does this just say that it *had* the
warning 26 times?
I looked into this a bit. This LKP report points the finger at this
commit which trips over a new debugging WARN_ON() I added:
[patch 06/11] x86/mm: Remove extra filtering in pageattr code
It's because set_memory_nx() encounters the (unsupported) _PAGE_GLOBAL
bit while clearing _PAGE_NX. I never saw this in testing because this
patch:
[PATCH 10/11] x86/pti: never implicitly clear _PAGE_GLOBAL for kernel image
explicitly clears out _PAGE_GLOBAL long before the set_memory_nx() call.
So I *think* this is a transient issue resulting in bad ordering of the
_PAGE_GLOBAL patch set. I believe it is harmless.