Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3776262ybt; Tue, 23 Jun 2020 10:25:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzUXvHfakW/jGJy3RkNHSLNDo/+U4lx9FYX78CgifNNd7NsTJRrQ5NP8+pSZuJmgBnxgqKd X-Received: by 2002:a17:906:2c18:: with SMTP id e24mr7832232ejh.335.1592933138260; Tue, 23 Jun 2020 10:25:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592933138; cv=none; d=google.com; s=arc-20160816; b=a6C5hmCzhxeRZ4/K1Tflc9yyl40k51ysikRivlmhs5Nghuja/E4EZpn5Utipt84a+U UAllcf+og1VQFRNyNfI2OUlAlwZY94yDBMUlM+p1+fI8YRnIlQc04LGuu68ovSb+4Cno ZYxkLxZn11zlJePnZZ0J7ysPEYBKSv/evelToOTGFem+WN42dC55DSko7TI3sXfuj5Kt mUqYOcWddDnFYp5Np0z5X37bkn9bapaeTOfJTFHwslrDf1brhNIElgwSQsAAmwP1sJCE GUvSHDpZHKTSD83n0dUZVsVnlCGKrsQqftXBGQ5WZeL42GqBIQotuSEsxKKXmGiRjWB6 WPCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=cpIYS12/HznaqAhbv7la5lCenZ7U9U86hjuSgCZ6kuA=; b=cvDU3xwZVnQsir7f5gecHhD/cPeWxAHh/sK+5+FCB4LZZGIfVHfgGxEo94CWkPMqRS sRHDkZJGGgO/rHH91sD4TpXQVYX9TnqtOftuvhk+9KJqXwJwFl/sfzLeyVBvaYM5MZzm Pl7TDc87x5ZVFUlCIkKsU0bykCWl3MGlWJ8i/zGYuYz9j88zPb2vU8UrLASQOc4KYTP+ zPGealavPF9h1cCb1cH9VSg2uhCxHkXsKvjO/t4kxiLAcSITRPhVYqTCHkrs/7LKriCC BqcYVlmrkXaOXHcwiNp3rQUDY7QjXcIrgDu4SriUc+ABZfTXYullBsEjleJ2dTgoHX/u YgZQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qc8si6312577ejb.150.2020.06.23.10.25.15; Tue, 23 Jun 2020 10:25:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733160AbgFWRYr (ORCPT + 99 others); Tue, 23 Jun 2020 13:24:47 -0400 Received: from mga11.intel.com ([192.55.52.93]:61940 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733146AbgFWRYn (ORCPT ); Tue, 23 Jun 2020 13:24:43 -0400 IronPort-SDR: YBsuKuWcgSbw/0Rd/oxW8g4E38jeuWJyj5YE7LM3BgTb2IvAhsBuZFouYLb/AU3b30ydIFbLK3 MzOl/gDvZpEg== X-IronPort-AV: E=McAfee;i="6000,8403,9661"; a="142391509" X-IronPort-AV: E=Sophos;i="5.75,272,1589266800"; d="scan'208";a="142391509" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2020 10:24:42 -0700 IronPort-SDR: PaPYECkHgeUaHkq7lCdP3ZCwMEDmqppl050a2yO2NE/0anFX160pq3w5j+HZVq7ZsApUZPE8Oq /vsOK4Gq1YYw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,272,1589266800"; d="scan'208";a="423080114" Received: from kcaccard-mobl.amr.corp.intel.com (HELO kcaccard-mobl1.jf.intel.com) ([10.213.182.184]) by orsmga004.jf.intel.com with ESMTP; 23 Jun 2020 10:24:40 -0700 From: Kristen Carlson Accardi To: keescook@chromium.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, x86@kernel.org, "H. Peter Anvin" Cc: arjan@linux.intel.com, linux-kernel@vger.kernel.org, kernel-hardening@lists.openwall.com, rick.p.edgecombe@intel.com, Kristen Carlson Accardi Subject: [PATCH v3 07/10] x86/boot/compressed: change definition of STATIC Date: Tue, 23 Jun 2020 10:23:24 -0700 Message-Id: <20200623172327.5701-8-kristen@linux.intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200623172327.5701-1-kristen@linux.intel.com> References: <20200623172327.5701-1-kristen@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In preparation for changes to the upcoming fgkaslr commit, change misc.c to not define STATIC as static, but instead set STATIC to "". This allows memptr to become accessible to multiple files. Signed-off-by: Kristen Carlson Accardi --- arch/x86/boot/compressed/kaslr.c | 4 ---- arch/x86/boot/compressed/misc.c | 7 ++++--- arch/x86/boot/compressed/misc.h | 6 ++++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c index d7408af55738..6f596bd5b6e5 100644 --- a/arch/x86/boot/compressed/kaslr.c +++ b/arch/x86/boot/compressed/kaslr.c @@ -39,10 +39,6 @@ #include #include -/* Macros used by the included decompressor code below. */ -#define STATIC -#include - #ifdef CONFIG_X86_5LEVEL unsigned int __pgtable_l5_enabled; unsigned int pgdir_shift __ro_after_init = 39; diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c index 9652d5c2afda..a55a4ec48422 100644 --- a/arch/x86/boot/compressed/misc.c +++ b/arch/x86/boot/compressed/misc.c @@ -26,9 +26,6 @@ * it is not safe to place pointers in static structures. */ -/* Macros used by the included decompressor code below. */ -#define STATIC static - /* * Use normal definitions of mem*() from string.c. There are already * included header files which expect a definition of memset() and by @@ -49,6 +46,10 @@ struct boot_params *boot_params; memptr free_mem_ptr; memptr free_mem_end_ptr; +#ifdef CONFIG_FG_KASLR +unsigned long malloc_ptr; +int malloc_count; +#endif static char *vidmem; static int vidport; diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h index 726e264410ff..d2ec7c745cfa 100644 --- a/arch/x86/boot/compressed/misc.h +++ b/arch/x86/boot/compressed/misc.h @@ -39,6 +39,12 @@ /* misc.c */ extern memptr free_mem_ptr; extern memptr free_mem_end_ptr; +#define STATIC +#ifdef CONFIG_FG_KASLR +#define STATIC_RW_DATA extern +#endif +#include + extern struct boot_params *boot_params; void __putstr(const char *s); void __puthex(unsigned long value); -- 2.20.1