From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x227pjvGfnsj8UKdMGOHfaq9Sbl8E4JBnQaN3iNaoDf6ZqVWL084SJzgqsoelEGYFNyA6IUCQ ARC-Seal: i=1; a=rsa-sha256; t=1517372017; cv=none; d=google.com; s=arc-20160816; b=C7RXK9+jbJz+RU7TcJBzttQ6XHw/+TNIfXNkd4BGE+UGA8fRVQ0jo7x4V2f404AvZc trIIHXt0AC35lgDRBd8riIZo1nKx+U+NJw6JcFYqelHbC+lK/cY1P5F4J1SlqcjgFIZo qxEuu++OziXFh1w5SNlUVvF8wggrxOvhTcFasQnpCaXu0X8W+d7hJHxzPY8W3841YGNg 8dcBPrdK02Nio75rEIw35sOmlm5z8UT7it/AlqHRssCz82m3cMsN5hgbdqnSq9xCTxZ6 O5bfSSrWNPm1+DG7J9YZ+G1f7NJHCBwcPXjfsaiI7ynQHUkq4TbZxF7rcBKZw8d7WK/1 WLEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:arc-authentication-results; bh=XFTbDqhOqocE8TNxAR4EThgkd5BtAXs10gQ2czy1+HQ=; b=qr6T98vl0ExKvpARav2nksPUKF76PJFyzqRqlqS4Qa6HIgSFMRR/5w95fr41qf4TWj /dWbqiMrabSvrG0V8VrGQWjRgNAnYwtkDCJi5NVTtUzL5v2g2YrIMQa1CpkAVFUjBuZV w3f6GMaa5/SX0CjPAxKdQT99ZiQpC9hJncHLcbzvFZZsv3skPUaruHjYzTudS7oaQVz5 PPYkkX22CH06j/ESucbDcx4e0ExjNc08L3MxwbL5LPv5hAT1Jqlnig5tdp2gKh8tWihP df42uQ+szck12mseJ0kycRG2ZdsVmjzCOP7n++FBiW+/k5VZS9kQ6AXostzduGOzWSow oVNA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of jpoimboe@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=jpoimboe@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Authentication-Results: mx.google.com; spf=pass (google.com: domain of jpoimboe@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=jpoimboe@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Date: Tue, 30 Jan 2018 22:13:33 -0600 From: Josh Poimboeuf To: x86@kernel.org, Juergen Gross , Alok Kataria , Rusty Russell Cc: David Woodhouse , Thomas Gleixner , linux-kernel@vger.kernel.org, Dave Hansen , Ashok Raj , Tim Chen , Andy Lutomirski , Linus Torvalds , Greg KH , Andrea Arcangeli , Andi Kleen , Arjan Van De Ven , Dan Williams , Paolo Bonzini , Jun Nakajima , Asit Mallick , Jason Baron , Peter Zijlstra Subject: [PATCH] x86/paravirt: Remove 'noreplace-paravirt' cmdline option Message-ID: <20180131041333.2x6blhxirc2kclrq@treble> References: <20180123152539.374360046@infradead.org> <20180123152638.162540737@infradead.org> <20180129183850.b6mjtuz4j5d7wum6@treble> <20180129192108.GR2249@hirez.programming.kicks-ass.net> <20180130160237.nimxrlykl4ttsfuk@treble> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20180130160237.nimxrlykl4ttsfuk@treble> User-Agent: Mutt/1.6.0.1 (2016-04-01) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1591079879723595372?= X-GMAIL-MSGID: =?utf-8?q?1591079879723595372?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: The 'noreplace-paravirt' option disables paravirt patching, leaving the original pv indirect calls in place. That's highly incompatible with retpolines, unless we want to uglify paravirt even further and convert the paravirt calls to retpolines. As far as I can tell, the option doesn't seem to be useful for much other than introducing surprising corner cases and making the kernel vulnerable to Spectre v2. It was probably a debug option from the early paravirt days. So just remove it. Signed-off-by: Josh Poimboeuf --- Documentation/admin-guide/kernel-parameters.txt | 2 -- arch/x86/kernel/alternative.c | 14 -------------- 2 files changed, 16 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index a205567f537f..f6741a5d89e7 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2739,8 +2739,6 @@ norandmaps Don't use address space randomization. Equivalent to echo 0 > /proc/sys/kernel/randomize_va_space - noreplace-paravirt [X86,IA-64,PV_OPS] Don't patch paravirt_ops - noreplace-smp [X86-32,SMP] Don't replace SMP instructions with UP alternatives diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c index 30571fdaaf6f..a481763a3776 100644 --- a/arch/x86/kernel/alternative.c +++ b/arch/x86/kernel/alternative.c @@ -46,17 +46,6 @@ static int __init setup_noreplace_smp(char *str) } __setup("noreplace-smp", setup_noreplace_smp); -#ifdef CONFIG_PARAVIRT -static int __initdata_or_module noreplace_paravirt = 0; - -static int __init setup_noreplace_paravirt(char *str) -{ - noreplace_paravirt = 1; - return 1; -} -__setup("noreplace-paravirt", setup_noreplace_paravirt); -#endif - #define DPRINTK(fmt, args...) \ do { \ if (debug_alternative) \ @@ -599,9 +588,6 @@ void __init_or_module apply_paravirt(struct paravirt_patch_site *start, struct paravirt_patch_site *p; char insnbuf[MAX_PATCH_LEN]; - if (noreplace_paravirt) - return; - for (p = start; p < end; p++) { unsigned int used; -- 2.14.3