From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932872AbcINSwk (ORCPT ); Wed, 14 Sep 2016 14:52:40 -0400 Received: from mail-yb0-f176.google.com ([209.85.213.176]:35986 "EHLO mail-yb0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762136AbcINSwh (ORCPT ); Wed, 14 Sep 2016 14:52:37 -0400 MIME-Version: 1.0 In-Reply-To: References: <1473640169-24145-1-git-send-email-khuey@kylehuey.com> From: Andy Lutomirski Date: Wed, 14 Sep 2016 11:52:15 -0700 Message-ID: Subject: Re: [PATCH] prctl,x86 Add PR_[GET|SET]_CPUID for controlling the CPUID instruction. To: Kyle Huey , Andrew Cooper , Boris Ostrovsky Cc: Thomas Gleixner , John Stultz , Ingo Molnar , Michal Hocko , Andrew Morton , "Michael S. Tsirkin" , Alexander Shishkin , Aravind Gopalakrishnan , Vlastimil Babka , "Luis R. Rodriguez" , Mateusz Guzik , Alex Thorlton , "Rafael J. Wysocki" , Dmitry Vyukov , Vladimir Zapolskiy , Jiri Slaby , Andrey Ryabinin , Ben Segall , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , Denys Vlasenko , Paul Gortmaker , Srinivas Pandruvada , "Robert O'Callahan" , "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , Juergen Gross , Linux API , Fenghua Yu , Kees Cook , "Peter Zijlstra (Intel)" , Borislav Petkov , Len Brown , Huang Rui , "H. Peter Anvin" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 13, 2016 at 11:13 PM, Kyle Huey wrote: > On Mon, Sep 12, 2016 at 9:56 AM, Andy Lutomirski wrote: >> You should explicitly check that, if the >> feature is set under Xen PV, then the MSR actually works as >> advertised. This may require talking to the Xen folks to make sure >> you're testing the right configuration. > > This is interesting. When running under Xen PV the kernel is allowed > to read the real value of MSR_PLATFORM_INFO and see that CPUID > faulting is supported. But as you suggested, writing to > MSR_MISC_FEATURES_ENABLES doesn't actually enable CPUID faulting, at > least not in any way that works. > > It's not obvious to me how to test this, because when this feature > works, CPUID only faults in userspace, not in the kernel. Is there > existing code somewhere that runs tests like this in userspace? > Andrew, Boris: should we expect Xen PV to do anything sensible when we write to MSR_PLATFORM_INFO to turn on CPUID faulting? Should the Xen PV rdmsr hooks or perhaps the hypervisor mask out the feature if it isn't going to be supported? --Andy From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Lutomirski Subject: Re: [PATCH] prctl,x86 Add PR_[GET|SET]_CPUID for controlling the CPUID instruction. Date: Wed, 14 Sep 2016 11:52:15 -0700 Message-ID: References: <1473640169-24145-1-git-send-email-khuey@kylehuey.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Kyle Huey , Andrew Cooper , Boris Ostrovsky Cc: Thomas Gleixner , John Stultz , Ingo Molnar , Michal Hocko , Andrew Morton , "Michael S. Tsirkin" , Alexander Shishkin , Aravind Gopalakrishnan , Vlastimil Babka , "Luis R. Rodriguez" , Mateusz Guzik , Alex Thorlton , "Rafael J. Wysocki" , Dmitry Vyukov , Vladimir Zapolskiy , Jiri Slaby , Andrey Ryabinin , Ben Segall , maintainer:X86 ARCHITECTURE (32-BIT List-Id: linux-api@vger.kernel.org On Tue, Sep 13, 2016 at 11:13 PM, Kyle Huey wrote: > On Mon, Sep 12, 2016 at 9:56 AM, Andy Lutomirski wrote: >> You should explicitly check that, if the >> feature is set under Xen PV, then the MSR actually works as >> advertised. This may require talking to the Xen folks to make sure >> you're testing the right configuration. > > This is interesting. When running under Xen PV the kernel is allowed > to read the real value of MSR_PLATFORM_INFO and see that CPUID > faulting is supported. But as you suggested, writing to > MSR_MISC_FEATURES_ENABLES doesn't actually enable CPUID faulting, at > least not in any way that works. > > It's not obvious to me how to test this, because when this feature > works, CPUID only faults in userspace, not in the kernel. Is there > existing code somewhere that runs tests like this in userspace? > Andrew, Boris: should we expect Xen PV to do anything sensible when we write to MSR_PLATFORM_INFO to turn on CPUID faulting? Should the Xen PV rdmsr hooks or perhaps the hypervisor mask out the feature if it isn't going to be supported? --Andy