Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932305AbWHWDKZ (ORCPT ); Tue, 22 Aug 2006 23:10:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932309AbWHWDKY (ORCPT ); Tue, 22 Aug 2006 23:10:24 -0400 Received: from wx-out-0506.google.com ([66.249.82.238]:14015 "EHLO wx-out-0506.google.com") by vger.kernel.org with ESMTP id S932305AbWHWDKW (ORCPT ); Tue, 22 Aug 2006 23:10:22 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ApVWbcXuhjqApv9sJE+417cf+8I/rs/z5EdOZJnDfmXlhMEaXfiZrbQhPUhAo3Wn6LJhAWLINk4PhzMLIMwsegnJA6J1BeB2EAE3d8F5hFutfcMV/NjLHInTiYk9+cStGvlFh3Jma4MCB4CTp0dTos0pKgMPis9YmRsfMW2IHd4= Message-ID: Date: Wed, 23 Aug 2006 12:10:22 +0900 From: "Magnus Damm" To: "Eric W. Biederman" Subject: Re: [Fastboot] [PATCH] x86_64: Reload CS when startup_64 is used. Cc: "Andi Kleen" , "Magnus Damm" , fastboot@lists.osdl.org, linux-kernel@vger.kernel.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20060821095328.3132.40575.sendpatchset@cherry.local> <1156208306.21411.85.camel@localhost> <200608221003.12608.ak@suse.de> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2132 Lines: 46 On 8/22/06, Eric W. Biederman wrote: > "Magnus Damm" writes: > > On 8/22/06, Eric W. Biederman wrote: > >> > >> In long mode the %cs is largely a relic. However there are a few cases > >> like lret where it matters that we have a valid value. Without this > >> patch it is possible to enter the kernel in startup_64 without setting > >> %cs to a valid value. With this patch we don't care what %cs value > >> we enter the kernel with, so long as the cs shadow register indicates > >> it is a privileged code segment. > >> > >> Thanks to Magnus Damm for finding this problem and posting the > >> first workable patch. I have moved the jump to set %cs down a > >> few instructions so we don't need to take an extra jump. Which > >> keeps the code simpler. > >> > >> Signed-of-by: Eric W. Biederman > > > > While at it, could you please fix up the purgatory code in kexec-tools > > to include this fix so we can boot older versions of the kernel too? > > I guess I'm not opposed to a patch but I have some serious reservations > about a solution that limits my address to 32bits in 64bit mode, and > appears to break the gdt used for entering the 32bit kernel. The 32-bit pointer issue can easily be resolved. I don't understand what you mean with breaking the GDT though - to me it looks like the entry for CS in entry64.S is broken without my patch. You reload the GDT to a new one anyway in entry64-32.S so I'm not sure what this 32-bit breakage is that you are talking about. > I'm up way to late tonight. I just wanted to resolve the situation > when it was clear what was going on. Getting the fix in the kernel is hopefully solved now, thanks for the help. Next step in my mind is to fix up kexec-tools - I'll send an updated patch to fastboot later on today. Thanks, / magnus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/