From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933284AbcINTZ0 (ORCPT ); Wed, 14 Sep 2016 15:25:26 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:31055 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933158AbcINTZU (ORCPT ); Wed, 14 Sep 2016 15:25:20 -0400 Subject: Re: [PATCH] prctl,x86 Add PR_[GET|SET]_CPUID for controlling the CPUID instruction. To: Andy Lutomirski , Kyle Huey , Andrew Cooper References: <1473640169-24145-1-git-send-email-khuey@kylehuey.com> 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" From: Boris Ostrovsky Message-ID: Date: Wed, 14 Sep 2016 15:23:44 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/14/2016 02:52 PM, Andy Lutomirski wrote: > 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? The hypervisor uses CPUID faulting so we shouldn't advertise this feature to guests. -boris