From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: ARC-Seal: i=1; a=rsa-sha256; t=1520975186; cv=none; d=google.com; s=arc-20160816; b=P4ndzrROMo0TimJB1NmeJH0Axawm9VjrL8NpD8zmUFgNXRRN3rE+7NIhp+t+7cq5iR kpwFaeZ90Ocw9ZsKa7RZ8wKqtvUDh3nzLzniz1xzn0My1nQRW16wtibobAKg8yaKcI6o bKlE9EL2QZV/QehtFSdJ4OaD6YdXuUiJVR+zbsQIf5gsn8WfyhEvcFIifHReTVHZNbPc AqwMALimmfV8UrlnX+RjveA/sXVHq+o+eNupsuDY2nfH9opPS9dGEoyQ1o0X960M5bi4 AuhqtX3yRfBFL9Ct1i0UWNLPNdQSmy+xZKpgfZrJ9vDdRjhCdS+mtF6NLe1xbuJTZf0b ZFqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=SqWcnckQp9D2CggSkscr4SEbv2FWMjOmI4So6GXEZQ8=; b=Fi4XbH94Cu9Um7Nordjzqlj1YcD94tl/B041u/g+zCizt0PoB2+vHBD8BeeW2biCYR 1har/uMG6vFtgYnlfWZg2wws9vf25xljNI9fFrQTDavAqIzFnrkfjf0wkc+ps5oyxO4S 3SqRFBPqqez16un/dd5nA7gopecRPiqVf9Z56jvBkFzHbd7sxB4OCt/CaisHb4Q3EZC/ HEL8pEXXRwDiyh3RgPQ25hYgEVO+a67Qj87V6IhrYpeKjEmwwU1k0NdHNkxCRx1VN0Jc ykKHCs9iwM/OSXksMmlm7wFykuEqXoNUZjJs39Yb6fo3GMsDFprZ3UM1rRgqzrpD4h22 xM1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kCnNSA+J; spf=pass (google.com: domain of thgarnie@google.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=thgarnie@google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kCnNSA+J; spf=pass (google.com: domain of thgarnie@google.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=thgarnie@google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com X-Google-Smtp-Source: AG47ELsU/M/zWq/U/SA2gBeW9EDj/KKt9LIKMoXr8yJqN8ym+tVxMTc4yGKGGGLCEERItnPKrKFldQ== From: Thomas Garnier To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Greg Kroah-Hartman , Kate Stewart , Thomas Garnier , Arnd Bergmann , Philippe Ombredanne , Arnaldo Carvalho de Melo , Andrey Ryabinin , Matthias Kaehlcke , Kees Cook , Tom Lendacky , "Kirill A . Shutemov" , Andy Lutomirski , Dominik Brodowski , Borislav Petkov , Borislav Petkov , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Juergen Gross , Alok Kataria , Steven Rostedt , Tejun Heo , Christoph Lameter , Dennis Zhou , Boris Ostrovsky , David Woodhouse , Alexey Dobriyan , "Paul E . McKenney" , Andrew Morton , Nicolas Pitre , Randy Dunlap , "Luis R . Rodriguez" , Christopher Li , Jason Baron , Ashish Kalra , Kyle McMartin , Dou Liyang , Lukas Wunner , Petr Mladek , Sergey Senozhatsky , Masahiro Yamada , Ingo Molnar , Nicholas Piggin , Cao jin , "H . J . Lu" , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Dave Hansen , Rik van Riel , Jia Zhang , Jiri Slaby , Kyle Huey , Jonathan Corbet , Matthew Wilcox , Michal Hocko , Rob Landley , Baoquan He , Daniel Micay , =?UTF-8?q?Jan=20H=20=2E=20Sch=C3=B6nherr?= Cc: x86@kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, virtualization@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, kernel-hardening@lists.openwall.com Subject: [PATCH v2 24/27] x86/mm: Make the x86 GOT read-only Date: Tue, 13 Mar 2018 13:59:42 -0700 Message-Id: <20180313205945.245105-25-thgarnie@google.com> X-Mailer: git-send-email 2.16.2.660.g709887971b-goog In-Reply-To: <20180313205945.245105-1-thgarnie@google.com> References: <20180313205945.245105-1-thgarnie@google.com> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1594858077429197753?= X-GMAIL-MSGID: =?utf-8?q?1594858077429197753?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: The GOT is changed during early boot when relocations are applied. Make it read-only directly. This table exists only for PIE binary. Position Independent Executable (PIE) support will allow to extended the KASLR randomization range below the -2G memory limit. Signed-off-by: Thomas Garnier --- include/asm-generic/vmlinux.lds.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 1ab0e520d6fc..89398d042f78 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -295,6 +295,17 @@ VMLINUX_SYMBOL(__end_ro_after_init) = .; #endif +#ifdef CONFIG_X86_PIE +#define RO_GOT_X86 \ + .got : AT(ADDR(.got) - LOAD_OFFSET) { \ + VMLINUX_SYMBOL(__start_got) = .; \ + *(.got); \ + VMLINUX_SYMBOL(__end_got) = .; \ + } +#else +#define RO_GOT_X86 +#endif + /* * Read only Data */ @@ -351,6 +362,7 @@ VMLINUX_SYMBOL(__end_builtin_fw) = .; \ } \ \ + RO_GOT_X86 \ TRACEDATA \ \ /* Kernel symbol table: Normal symbols */ \ -- 2.16.2.660.g709887971b-goog