Re: [Xen-devel] [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-25 Thread David Vrabel
On 25/04/16 08:52, Thomas Gleixner wrote:
> On Mon, 25 Apr 2016, Jan Beulich wrote:
> On 22.04.16 at 20:03,  wrote:
 +#define hugepages_supported() cpu_has_pse
  
>>>
>>> Please don't use the cpu_has_* macros anymore, they are going away soon.
>>>
>>> In this case it should be static_cpu_has(X86_FEATURE_PSE).
>>
>> I can certainly do that, but this
>> - will (mildly) harm backportability
>> - imo should have been requested much earlier (when the patch was
>>   still under discussion)
> 
> It's requested now as cpu_has_* is going away. So instead of making silly
> arguments you should have sent a delta patch fixing this.

Ingo fixed this up in the x86/asm branch[1] so I assumed this patch
didn't need updating.

David

[1]
https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?h=x86/asm=b2eafe890d4a09bfa63ab31ff018d7d6bb8cfefc


Re: [Xen-devel] [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-25 Thread David Vrabel
On 25/04/16 08:52, Thomas Gleixner wrote:
> On Mon, 25 Apr 2016, Jan Beulich wrote:
> On 22.04.16 at 20:03,  wrote:
 +#define hugepages_supported() cpu_has_pse
  
>>>
>>> Please don't use the cpu_has_* macros anymore, they are going away soon.
>>>
>>> In this case it should be static_cpu_has(X86_FEATURE_PSE).
>>
>> I can certainly do that, but this
>> - will (mildly) harm backportability
>> - imo should have been requested much earlier (when the patch was
>>   still under discussion)
> 
> It's requested now as cpu_has_* is going away. So instead of making silly
> arguments you should have sent a delta patch fixing this.

Ingo fixed this up in the x86/asm branch[1] so I assumed this patch
didn't need updating.

David

[1]
https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?h=x86/asm=b2eafe890d4a09bfa63ab31ff018d7d6bb8cfefc


Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-25 Thread Thomas Gleixner
On Mon, 25 Apr 2016, Jan Beulich wrote:
> >>> On 22.04.16 at 20:03,  wrote:
> >> +#define hugepages_supported() cpu_has_pse
> >>  
> > 
> > Please don't use the cpu_has_* macros anymore, they are going away soon.
> > 
> > In this case it should be static_cpu_has(X86_FEATURE_PSE).
> 
> I can certainly do that, but this
> - will (mildly) harm backportability
> - imo should have been requested much earlier (when the patch was
>   still under discussion)

It's requested now as cpu_has_* is going away. So instead of making silly
arguments you should have sent a delta patch fixing this.

Thanks,

tglx


Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-25 Thread Thomas Gleixner
On Mon, 25 Apr 2016, Jan Beulich wrote:
> >>> On 22.04.16 at 20:03,  wrote:
> >> +#define hugepages_supported() cpu_has_pse
> >>  
> > 
> > Please don't use the cpu_has_* macros anymore, they are going away soon.
> > 
> > In this case it should be static_cpu_has(X86_FEATURE_PSE).
> 
> I can certainly do that, but this
> - will (mildly) harm backportability
> - imo should have been requested much earlier (when the patch was
>   still under discussion)

It's requested now as cpu_has_* is going away. So instead of making silly
arguments you should have sent a delta patch fixing this.

Thanks,

tglx


Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-25 Thread Jan Beulich
>>> On 22.04.16 at 20:03,  wrote:
> On 04/22/2016 02:47 AM, tip-bot for Jan Beulich wrote:
>> Commit-ID:  103f6112f253017d7062cd74d17f4a514ed4485c
>> Gitweb: 
> http://git.kernel.org/tip/103f6112f253017d7062cd74d17f4a514ed4485c 
>> Author: Jan Beulich 
>> AuthorDate: Thu, 21 Apr 2016 00:27:04 -0600
>> Committer:  Ingo Molnar 
>> CommitDate: Fri, 22 Apr 2016 10:05:00 +0200
>> 
>> 
>> diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h
>> index f8a29d2..e6a8613 100644
>> --- a/arch/x86/include/asm/hugetlb.h
>> +++ b/arch/x86/include/asm/hugetlb.h
>> @@ -4,6 +4,7 @@
>>  #include 
>>  #include 
>>  
>> +#define hugepages_supported() cpu_has_pse
>>  
> 
> Please don't use the cpu_has_* macros anymore, they are going away soon.
> 
> In this case it should be static_cpu_has(X86_FEATURE_PSE).

I can certainly do that, but this
- will (mildly) harm backportability
- imo should have been requested much earlier (when the patch was
  still under discussion)

Jan



Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-25 Thread Jan Beulich
>>> On 22.04.16 at 20:03,  wrote:
> On 04/22/2016 02:47 AM, tip-bot for Jan Beulich wrote:
>> Commit-ID:  103f6112f253017d7062cd74d17f4a514ed4485c
>> Gitweb: 
> http://git.kernel.org/tip/103f6112f253017d7062cd74d17f4a514ed4485c 
>> Author: Jan Beulich 
>> AuthorDate: Thu, 21 Apr 2016 00:27:04 -0600
>> Committer:  Ingo Molnar 
>> CommitDate: Fri, 22 Apr 2016 10:05:00 +0200
>> 
>> 
>> diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h
>> index f8a29d2..e6a8613 100644
>> --- a/arch/x86/include/asm/hugetlb.h
>> +++ b/arch/x86/include/asm/hugetlb.h
>> @@ -4,6 +4,7 @@
>>  #include 
>>  #include 
>>  
>> +#define hugepages_supported() cpu_has_pse
>>  
> 
> Please don't use the cpu_has_* macros anymore, they are going away soon.
> 
> In this case it should be static_cpu_has(X86_FEATURE_PSE).

I can certainly do that, but this
- will (mildly) harm backportability
- imo should have been requested much earlier (when the patch was
  still under discussion)

Jan



Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-22 Thread Borislav Petkov
On Fri, Apr 22, 2016 at 11:03:53AM -0700, H. Peter Anvin wrote:
> Please don't use the cpu_has_* macros anymore, they are going away soon.
> 
> In this case it should be static_cpu_has(X86_FEATURE_PSE).

Ingo fixed this up while merging:

b2eafe890d4a ("Merge branch 'x86/urgent' into x86/asm, to fix semantic 
conflict")

The cpu_has_* things are gone now in tip! \o/

:-)

-- 
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.


Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-22 Thread Borislav Petkov
On Fri, Apr 22, 2016 at 11:03:53AM -0700, H. Peter Anvin wrote:
> Please don't use the cpu_has_* macros anymore, they are going away soon.
> 
> In this case it should be static_cpu_has(X86_FEATURE_PSE).

Ingo fixed this up while merging:

b2eafe890d4a ("Merge branch 'x86/urgent' into x86/asm, to fix semantic 
conflict")

The cpu_has_* things are gone now in tip! \o/

:-)

-- 
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.


Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-22 Thread H. Peter Anvin
On 04/22/2016 02:47 AM, tip-bot for Jan Beulich wrote:
> Commit-ID:  103f6112f253017d7062cd74d17f4a514ed4485c
> Gitweb: http://git.kernel.org/tip/103f6112f253017d7062cd74d17f4a514ed4485c
> Author: Jan Beulich 
> AuthorDate: Thu, 21 Apr 2016 00:27:04 -0600
> Committer:  Ingo Molnar 
> CommitDate: Fri, 22 Apr 2016 10:05:00 +0200
> 
> 
> diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h
> index f8a29d2..e6a8613 100644
> --- a/arch/x86/include/asm/hugetlb.h
> +++ b/arch/x86/include/asm/hugetlb.h
> @@ -4,6 +4,7 @@
>  #include 
>  #include 
>  
> +#define hugepages_supported() cpu_has_pse
>  

Please don't use the cpu_has_* macros anymore, they are going away soon.

In this case it should be static_cpu_has(X86_FEATURE_PSE).

-hpa




Re: [tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-22 Thread H. Peter Anvin
On 04/22/2016 02:47 AM, tip-bot for Jan Beulich wrote:
> Commit-ID:  103f6112f253017d7062cd74d17f4a514ed4485c
> Gitweb: http://git.kernel.org/tip/103f6112f253017d7062cd74d17f4a514ed4485c
> Author: Jan Beulich 
> AuthorDate: Thu, 21 Apr 2016 00:27:04 -0600
> Committer:  Ingo Molnar 
> CommitDate: Fri, 22 Apr 2016 10:05:00 +0200
> 
> 
> diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h
> index f8a29d2..e6a8613 100644
> --- a/arch/x86/include/asm/hugetlb.h
> +++ b/arch/x86/include/asm/hugetlb.h
> @@ -4,6 +4,7 @@
>  #include 
>  #include 
>  
> +#define hugepages_supported() cpu_has_pse
>  

Please don't use the cpu_has_* macros anymore, they are going away soon.

In this case it should be static_cpu_has(X86_FEATURE_PSE).

-hpa




[tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-22 Thread tip-bot for Jan Beulich
Commit-ID:  103f6112f253017d7062cd74d17f4a514ed4485c
Gitweb: http://git.kernel.org/tip/103f6112f253017d7062cd74d17f4a514ed4485c
Author: Jan Beulich 
AuthorDate: Thu, 21 Apr 2016 00:27:04 -0600
Committer:  Ingo Molnar 
CommitDate: Fri, 22 Apr 2016 10:05:00 +0200

x86/mm/xen: Suppress hugetlbfs in PV guests

Huge pages are not normally available to PV guests. Not suppressing
hugetlbfs use results in an endless loop of page faults when user mode
code tries to access a hugetlbfs mapped area (since the hypervisor
denies such PTEs to be created, but error indications can't be
propagated out of xen_set_pte_at(), just like for various of its
siblings), and - once killed in an oops like this:

  kernel BUG at .../fs/hugetlbfs/inode.c:428!
  invalid opcode:  [#1] SMP
  ...
  RIP: e030:[]  [] 
remove_inode_hugepages+0x25b/0x320
  ...
  Call Trace:
   [] hugetlbfs_evict_inode+0x15/0x40
   [] evict+0xbd/0x1b0
   [] __dentry_kill+0x19a/0x1f0
   [] dput+0x1fe/0x220
   [] __fput+0x155/0x200
   [] task_work_run+0x60/0xa0
   [] do_exit+0x160/0x400
   [] do_group_exit+0x3b/0xa0
   [] get_signal+0x1ed/0x470
   [] do_signal+0x14/0x110
   [] prepare_exit_to_usermode+0xe9/0xf0
   [] retint_user+0x8/0x13

This is CVE-2016-3961 / XSA-174.

Reported-by: Vitaly Kuznetsov 
Signed-off-by: Jan Beulich 
Cc: Andrew Morton 
Cc: Andy Lutomirski 
Cc: Boris Ostrovsky 
Cc: Borislav Petkov 
Cc: Brian Gerst 
Cc: David Vrabel 
Cc: Denys Vlasenko 
Cc: H. Peter Anvin 
Cc: Juergen Gross 
Cc: Linus Torvalds 
Cc: Luis R. Rodriguez 
Cc: Peter Zijlstra 
Cc: Thomas Gleixner 
Cc: Toshi Kani 
Cc: sta...@vger.kernel.org
Cc: xen-devel 
Link: http://lkml.kernel.org/r/57188ed80278000e4...@prv-mh.provo.novell.com
Signed-off-by: Ingo Molnar 
---
 arch/x86/include/asm/hugetlb.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h
index f8a29d2..e6a8613 100644
--- a/arch/x86/include/asm/hugetlb.h
+++ b/arch/x86/include/asm/hugetlb.h
@@ -4,6 +4,7 @@
 #include 
 #include 
 
+#define hugepages_supported() cpu_has_pse
 
 static inline int is_hugepage_only_range(struct mm_struct *mm,
 unsigned long addr,


[tip:x86/asm] x86/mm/xen: Suppress hugetlbfs in PV guests

2016-04-22 Thread tip-bot for Jan Beulich
Commit-ID:  103f6112f253017d7062cd74d17f4a514ed4485c
Gitweb: http://git.kernel.org/tip/103f6112f253017d7062cd74d17f4a514ed4485c
Author: Jan Beulich 
AuthorDate: Thu, 21 Apr 2016 00:27:04 -0600
Committer:  Ingo Molnar 
CommitDate: Fri, 22 Apr 2016 10:05:00 +0200

x86/mm/xen: Suppress hugetlbfs in PV guests

Huge pages are not normally available to PV guests. Not suppressing
hugetlbfs use results in an endless loop of page faults when user mode
code tries to access a hugetlbfs mapped area (since the hypervisor
denies such PTEs to be created, but error indications can't be
propagated out of xen_set_pte_at(), just like for various of its
siblings), and - once killed in an oops like this:

  kernel BUG at .../fs/hugetlbfs/inode.c:428!
  invalid opcode:  [#1] SMP
  ...
  RIP: e030:[]  [] 
remove_inode_hugepages+0x25b/0x320
  ...
  Call Trace:
   [] hugetlbfs_evict_inode+0x15/0x40
   [] evict+0xbd/0x1b0
   [] __dentry_kill+0x19a/0x1f0
   [] dput+0x1fe/0x220
   [] __fput+0x155/0x200
   [] task_work_run+0x60/0xa0
   [] do_exit+0x160/0x400
   [] do_group_exit+0x3b/0xa0
   [] get_signal+0x1ed/0x470
   [] do_signal+0x14/0x110
   [] prepare_exit_to_usermode+0xe9/0xf0
   [] retint_user+0x8/0x13

This is CVE-2016-3961 / XSA-174.

Reported-by: Vitaly Kuznetsov 
Signed-off-by: Jan Beulich 
Cc: Andrew Morton 
Cc: Andy Lutomirski 
Cc: Boris Ostrovsky 
Cc: Borislav Petkov 
Cc: Brian Gerst 
Cc: David Vrabel 
Cc: Denys Vlasenko 
Cc: H. Peter Anvin 
Cc: Juergen Gross 
Cc: Linus Torvalds 
Cc: Luis R. Rodriguez 
Cc: Peter Zijlstra 
Cc: Thomas Gleixner 
Cc: Toshi Kani 
Cc: sta...@vger.kernel.org
Cc: xen-devel 
Link: http://lkml.kernel.org/r/57188ed80278000e4...@prv-mh.provo.novell.com
Signed-off-by: Ingo Molnar 
---
 arch/x86/include/asm/hugetlb.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/include/asm/hugetlb.h b/arch/x86/include/asm/hugetlb.h
index f8a29d2..e6a8613 100644
--- a/arch/x86/include/asm/hugetlb.h
+++ b/arch/x86/include/asm/hugetlb.h
@@ -4,6 +4,7 @@
 #include 
 #include 
 
+#define hugepages_supported() cpu_has_pse
 
 static inline int is_hugepage_only_range(struct mm_struct *mm,
 unsigned long addr,