From mboxrd@z Thu Jan 1 00:00:00 1970 From: tip-bot for Sebastian Andrzej Siewior Subject: [tip:x86/fpu] x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset() Date: Mon, 3 Dec 2018 13:00:55 -0800 Message-ID: References: <20181128222035.2996-2-bigeasy@linutronix.de> Reply-To: riel@surriel.com, tglx@linutronix.de, x86@kernel.org, pbonzini@redhat.com, rkrcmar@redhat.com, linux-kernel@vger.kernel.org, Jason@zx2c4.com, mingo@redhat.com, mingo@kernel.org, kvm@vger.kernel.org, luto@kernel.org, bigeasy@linutronix.de, dave.hansen@linux.intel.com, hpa@zytor.com, bp@suse.de Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: rkrcmar@redhat.com, riel@surriel.com, x86@kernel.org, pbonzini@redhat.com, tglx@linutronix.de, Jason@zx2c4.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, luto@kernel.org, dave.hansen@linux.intel.com, bigeasy@linutronix.de, mingo@kernel.org, mingo@redhat.com, bp@suse.de, hpa@zytor.com To: linux-tip-commits@vger.kernel.org Return-path: In-Reply-To: <20181128222035.2996-2-bigeasy@linutronix.de> Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Commit-ID: d08452390179710dc7989242605e3c1faa62b64f Gitweb: https://git.kernel.org/tip/d08452390179710dc7989242605e3c1faa62b64f Author: Sebastian Andrzej Siewior AuthorDate: Wed, 28 Nov 2018 23:20:07 +0100 Committer: Borislav Petkov CommitDate: Mon, 3 Dec 2018 18:40:28 +0100 x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset() The xfeature mask is 64-bit so a shift from a number to its mask should have ULL suffix or else bits above position 31 will be lost. This is not a problem now but should XFEATURE_MASK_SUPERVISOR gain a bit >31 then this check won't catch it. Use BIT_ULL() to compute a mask from a number. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Borislav Petkov Reviewed-by: Rik van Riel Cc: "H. Peter Anvin" Cc: "Jason A. Donenfeld" Cc: Andy Lutomirski Cc: Dave Hansen Cc: Ingo Molnar Cc: Paolo Bonzini Cc: Radim Krčmář Cc: Thomas Gleixner Cc: kvm ML Cc: x86-ml Link: https://lkml.kernel.org/r/20181128222035.2996-2-bigeasy@linutronix.de --- arch/x86/kernel/fpu/xstate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c index 87a57b7642d3..69d5740ed254 100644 --- a/arch/x86/kernel/fpu/xstate.c +++ b/arch/x86/kernel/fpu/xstate.c @@ -444,7 +444,7 @@ static int xfeature_uncompacted_offset(int xfeature_nr) * format. Checking a supervisor state's uncompacted offset is * an error. */ - if (XFEATURE_MASK_SUPERVISOR & (1 << xfeature_nr)) { + if (XFEATURE_MASK_SUPERVISOR & BIT_ULL(xfeature_nr)) { WARN_ONCE(1, "No fixed offset for xstate %d\n", xfeature_nr); return -1; }