From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754679AbcBVUA1 (ORCPT ); Mon, 22 Feb 2016 15:00:27 -0500 Received: from mga14.intel.com ([192.55.52.115]:56912 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753135AbcBVUA0 (ORCPT ); Mon, 22 Feb 2016 15:00:26 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,485,1449561600"; d="scan'208";a="918694310" Subject: Re: [PATCH 08/10] x86/xsaves: Fix PTRACE frames for XSAVES To: Yu-cheng Yu , x86@kernel.org, "H. Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org References: <1456167621-3974-1-git-send-email-yu-cheng.yu@intel.com> Cc: Andy Lutomirski , Borislav Petkov , Sai Praneeth Prakhya , "Ravi V. Shankar" , Fenghua Yu From: Dave Hansen Message-ID: <56CB68C2.6010003@linux.intel.com> Date: Mon, 22 Feb 2016 12:00:02 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1456167621-3974-1-git-send-email-yu-cheng.yu@intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/22/2016 11:00 AM, Yu-cheng Yu wrote: > + if (xsave->header.xfeatures & XFEATURE_MASK_SUPERVISOR) > + xsave->header.xfeatures = xfeatures | XFEATURE_MASK_SUPERVISOR; > + else > + xsave->header.xfeatures = xfeatures; This is dangerous. It says, "if any supervisor feature bit is set, then set *ALL* of the known bits". There's no way that can work. Don't you just want to or in the new bits that were in the passed-in 'xfeatures': xsave->header.xfeatures |= xfeatures; 'xfeatures' is known not to contain any supervisor bits.