From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757621Ab3ANT5h (ORCPT ); Mon, 14 Jan 2013 14:57:37 -0500 Received: from terminus.zytor.com ([198.137.202.10]:57308 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756149Ab3ANT5g (ORCPT ); Mon, 14 Jan 2013 14:57:36 -0500 Message-ID: <50F46304.3010108@zytor.com> Date: Mon, 14 Jan 2013 11:56:52 -0800 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Yinghai Lu CC: Borislav Petkov , Thomas Gleixner , Ingo Molnar , "Eric W. Biederman" , Andrew Morton , Jan Kiszka , Jason Wessel , linux-kernel@vger.kernel.org, Rob Landley , Matt Fleming , Gokul Caushik , Josh Triplett , Joe Millenbach Subject: Re: [PATCH v7u1 22/31] x86, boot: add fields to support load bzImage and ramdisk above 4G References: <1357260531-11115-1-git-send-email-yinghai@kernel.org> <1357260531-11115-23-git-send-email-yinghai@kernel.org> <20130113214132.GB17200@liondog.tnic> <50F4452D.2060000@zytor.com> <50F455A3.4070706@zytor.com> In-Reply-To: X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/14/2013 11:50 AM, Yinghai Lu wrote: > On Mon, Jan 14, 2013 at 10:59 AM, H. Peter Anvin wrote: >> No, there were other fields that were also left uninitialized, per your >> analysis from last year. I don't remember the details, but I seem to >> recall they included the EFI and graphics-related fields. >> >> So yes, just zero them all out. > > ? > Yep. > +static void sanitize_real_mode(struct boot_params *real_mode) > +{ > + if (real_mode->sentinel) { > + /*fields in boot_params are not valid, clear them */ > + memset(&real_mode->olpc_ofw_header, 0, > + (char *)&real_mode->alt_mem_k - > + (char *)&real_mode->olpc_ofw_header); > + memset(&real_mode->_pad7[0], 0, > + (char *)&real_mode->edd_mbr_sig_buffer[0] - > + (char *)&real_mode->_pad7[0]); > + memset(&real_mode->_pad8[0], 0, > + (char *)&real_mode->eddbuf[0] - > + (char *)&real_mode->_pad8[0]); > + memset(&real_mode->_pad9[0], 0, sizeof(real_mode->_pad9)); > + } > +} > + >