Re: [lkp-robot] [bisect done] e71e836f46 [ 17.567570] WARNING: CPU: 0 PID: 1 at arch/x86/include/asm/pgtable.h:540 __change_page_attr_set_clr

2018-04-10 Thread Fengguang Wu

Hi Dave,

On Tue, Apr 10, 2018 at 01:59:21PM -0700, Dave Hansen wrote:

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?


The 'e71e836f46' column means there are 0 boots (sorry boot_successes
might be a bit confusing) with clean dmesg and 26 boots with
warning/error dmesg. It indicates that WARNING is 100% reproducible.

   boot_successes + boot_failures = total test boots


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.


Right. The '0564258fb2' and '87e1e2f51c' columns mean the
'tip/x86/pti' and 'tip/master' branch HEADs boot clean.
So it's a transient warning inside the branch.

Thanks,
Fengguang


Re: [lkp-robot] [bisect done] e71e836f46 [ 17.567570] WARNING: CPU: 0 PID: 1 at arch/x86/include/asm/pgtable.h:540 __change_page_attr_set_clr

2018-04-10 Thread Dave Hansen
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.

If anyone is encountering real issues, please speak up.