Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754287AbcCBTvA (ORCPT ); Wed, 2 Mar 2016 14:51:00 -0500 Received: from mail.skyhub.de ([78.46.96.112]:50960 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753862AbcCBTu7 (ORCPT ); Wed, 2 Mar 2016 14:50:59 -0500 Date: Wed, 2 Mar 2016 20:50:53 +0100 From: Borislav Petkov To: "H. Peter Anvin" Cc: Brian Gerst , X86 ML , LKML , Tom Lendacky Subject: Re: [RFC PATCH] x86: Make sure verify_cpu has a good stack Message-ID: <20160302195053.GG8362@pd.tnic> References: <1456917606-4979-1-git-send-email-bp@alien8.de> <20160302162530.GA8362@pd.tnic> <086BE61B-DCCC-4105-90A2-295A487C7F6F@zytor.com> <20160302181556.GD8362@pd.tnic> <56D73349.3020609@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <56D73349.3020609@zytor.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 842 Lines: 30 On Wed, Mar 02, 2016 at 10:39:05AM -0800, H. Peter Anvin wrote: > Well, we definitely should use %rip-relative addressing if we can. Right you are. > However, even so I believe this breaks if the kernel is loaded anywhere > but its default load address. I think we need to do something like: > > movq stack_start(%rip), %rax > leaq __START_KERNEL_map(%rip), %rdx > subq %rdx, %rax > movq %rax, %rsp > > The use of temporary registers avoids clobbering a valid stack pointer > for even a single instruction if we are given one. Yeah, we should be prudent and make this as sturdy as possible. I did this: CONFIG_PHYSICAL_START=0x100beef and it aligned startup_64 up to ffffffff82000000. It seems to boot fine in kvm. But better safe than sorry. Thanks. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply.