Received: by 2002:a4a:311b:0:0:0:0:0 with SMTP id k27-v6csp4806744ooa; Tue, 14 Aug 2018 10:49:02 -0700 (PDT) X-Google-Smtp-Source: AA+uWPzrurLLG8Db6lFJQnXdg3uZ+lBZHpPpZPgogowhdYIkC5O25Wfu6SjU7OPkqOryuzoFVSG3 X-Received: by 2002:a17:902:16a4:: with SMTP id h33-v6mr9635399plh.156.1534268942231; Tue, 14 Aug 2018 10:49:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534268942; cv=none; d=google.com; s=arc-20160816; b=w2tfbIBgzgEfSu2/s6zsvWYzANj+NI3sT8PUNSuGuc6DPsTCRcO2wOGZA3l5xpEBr1 m3/Mp01D5DmrpJRZ/5lAeQ85FdkL1pba/B8T1AX1XHyhcPxn5fwsJHVck9EzPZ+BO7HH vY/B+Y6i2tfpEuCggC2M63EIzG7HqduhT+clE8kGk2PzGWyFplxjVZi01Gfwr7rV/Zxt Y4JSqMla9MPqUSFBYeVQJVhYQ/vjU0p8mokIUmGSaRtRIAyokTChuGOFJNT8AgFQs0Wa JeAORYQIpkQa98ba7h+8w0JtsX82S3EnpFyPwvvnZis27xvDbJUAe6+aXFzVhYAHlHv8 /SJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=GUXDIosZw2gsTqMMkJmwnWHuezQ7CK+YiQTGifUsb4I=; b=NSoPo2sZ76cVBPpxwaRBtcuY6eaWtqDMSXd0lGdchVrNPlXWSxylx1UkSkpRexMRQl V0BfX1NsJp7tR6GRcTvQHDVAsLU5PF4Fz7AcXsDo1PC0IvHZP1YPxwYMeOjwVS8WHNej c6u8wQGHQ+esHnnc/ej9FPZwGqXhd/JsommbT/45gYDnK4bZRHJKEI5YUdviTnRSciMp dqi2DbGwlJvTzYmDN4VhimcA0bzmm7vcoWsDgn3Hczga2kNKPxEqpGrTh3KgQxvPoY8A 4z8d0ZZvA64YNHkoxgp77Y4iXNx7s4/WfFLQhgXNeyZUQDUDCCrxsjEDbngFWB5ELuSG IfHg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j14-v6si20526984pgh.22.2018.08.14.10.48.47; Tue, 14 Aug 2018 10:49:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2403774AbeHNUfQ (ORCPT + 99 others); Tue, 14 Aug 2018 16:35:16 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:60866 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390379AbeHNUfQ (ORCPT ); Tue, 14 Aug 2018 16:35:16 -0400 Received: from localhost (unknown [194.244.16.108]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id D07F6CB5; Tue, 14 Aug 2018 17:47:03 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andi Kleen , Thomas Gleixner , Josh Poimboeuf , Dave Hansen , David Woodhouse , Guenter Roeck Subject: [PATCH 4.4 28/43] x86/speculation/l1tf: Make sure the first page is always reserved Date: Tue, 14 Aug 2018 19:18:04 +0200 Message-Id: <20180814171518.959322808@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180814171517.014285600@linuxfoundation.org> References: <20180814171517.014285600@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Andi Kleen commit 10a70416e1f067f6c4efda6ffd8ea96002ac4223 upstream The L1TF workaround doesn't make any attempt to mitigate speculate accesses to the first physical page for zeroed PTEs. Normally it only contains some data from the early real mode BIOS. It's not entirely clear that the first page is reserved in all configurations, so add an extra reservation call to make sure it is really reserved. In most configurations (e.g. with the standard reservations) it's likely a nop. Signed-off-by: Andi Kleen Signed-off-by: Thomas Gleixner Reviewed-by: Josh Poimboeuf Acked-by: Dave Hansen Signed-off-by: David Woodhouse Signed-off-by: Guenter Roeck Signed-off-by: Greg Kroah-Hartman --- arch/x86/kernel/setup.c | 6 ++++++ 1 file changed, 6 insertions(+) --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -851,6 +851,12 @@ void __init setup_arch(char **cmdline_p) memblock_reserve(__pa_symbol(_text), (unsigned long)__bss_stop - (unsigned long)_text); + /* + * Make sure page 0 is always reserved because on systems with + * L1TF its contents can be leaked to user processes. + */ + memblock_reserve(0, PAGE_SIZE); + early_reserve_initrd(); /*