From patchwork Mon Apr 1 13:29:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juerg Haefliger X-Patchwork-Id: 1072780 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44XtV86rfJz9sR7; Tue, 2 Apr 2019 00:29:20 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1hAwzz-00065w-BO; Mon, 01 Apr 2019 13:29:15 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1hAwzx-000654-Q7 for kernel-team@lists.ubuntu.com; Mon, 01 Apr 2019 13:29:13 +0000 Received: from mail-ed1-f70.google.com ([209.85.208.70]) by youngberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1hAwzx-0003kx-Ij for kernel-team@lists.ubuntu.com; Mon, 01 Apr 2019 13:29:13 +0000 Received: by mail-ed1-f70.google.com with SMTP id m32so4421942edd.9 for ; Mon, 01 Apr 2019 06:29:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vP/TVvrnaYOMsYbzg5atlegwvF8odrRdUsQJYkVhodI=; b=W3xF0o+B0rPlulYP1BwT4zWkb4xZHTE0ny+tA9qpUmQ8VUpyI141irrm+O4cJJXPsf J6FISQyeusbl8HdxYJOhiX0k7CdfwtkOHSQ/r4O8mMbU+P7VGg4GKHxAd/yRsWNwNaIQ EwoPGg/1/8EdOWUNhvT063CCzTnyWVm/+FYpnF7UQ8oF+jqo/oUt9lMZUUDrXCgwzmtn GIm+feNOMPfJOzvRGJNXGpkFFBPIGotXCqeW8iQJXjcgUZuUzAiTnXTfj44EtnWZKCDO KoCENbZzMoPe9zOYHXBW/leVC3jRgwKMsaaG8701mqJmaaIXJDRDrPgNHgPVOwPH3PY6 GX3Q== X-Gm-Message-State: APjAAAXX3UyC2QTKHkxNZ53o5d8esVssu0uT8JJQSQ21MLhBhkOO7V9S L97+fXUV+VhyVxUvvyHnRvicWIVVvJK9P2gJsrKLn5VORInF6ycXRd+lhJXqqdhU+QEC0U+74s9 0hb7Wc6N9hF0K9ljcRmByod90o2z26KeyLMxA5wwDvg== X-Received: by 2002:a50:cac1:: with SMTP id f1mr17544338edi.74.1554125353103; Mon, 01 Apr 2019 06:29:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqy0PblEGV6Ip/rSNxWUC/bty60uSzy4qL6lKuH3OrYsh5KWD3zR3o+Uet9qhI3TCj9wYNoIBA== X-Received: by 2002:a50:cac1:: with SMTP id f1mr17544326edi.74.1554125352931; Mon, 01 Apr 2019 06:29:12 -0700 (PDT) Received: from gollum.fritz.box ([81.221.192.120]) by smtp.gmail.com with ESMTPSA id d37sm3231146ede.79.2019.04.01.06.29.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 01 Apr 2019 06:29:11 -0700 (PDT) From: Juerg Haefliger X-Google-Original-From: Juerg Haefliger To: kernel-team@lists.ubuntu.com Subject: [SRU][Xenial][PATCH 3/4] UBUNTU: SAUCE: x86: Move hunks and sync to upstream stable 4.9 Date: Mon, 1 Apr 2019 15:29:06 +0200 Message-Id: <20190401132907.24823-4-juergh@canonical.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190401132907.24823-1-juergh@canonical.com> References: <20190401132907.24823-1-juergh@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1820872 Trivial changes to reduce the delta between Xenial 4.4 and upstream stable 4.9 so that future cherry-picking results in fewer conflicts. Signed-off-by: Juerg Haefliger --- arch/x86/include/asm/nospec-branch.h | 7 ++++--- arch/x86/kernel/cpu/amd.c | 4 +--- arch/x86/kernel/cpu/bugs.c | 3 +-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/nospec-branch.h b/arch/x86/include/asm/nospec-branch.h index a6120d43caa7..46eb80b1b57b 100644 --- a/arch/x86/include/asm/nospec-branch.h +++ b/arch/x86/include/asm/nospec-branch.h @@ -202,9 +202,6 @@ enum spectre_v2_mitigation { SPECTRE_V2_IBRS_ENHANCED, }; -/* The Intel SPEC CTRL MSR base value cache */ -extern u64 x86_spec_ctrl_base; - /* The Speculative Store Bypass disable variants */ enum ssb_mitigation { SPEC_STORE_BYPASS_NONE, @@ -256,6 +253,9 @@ static inline void indirect_branch_prediction_barrier(void) X86_FEATURE_USE_IBPB); } +/* The Intel SPEC CTRL MSR base value cache */ +extern u64 x86_spec_ctrl_base; + /* * With retpoline, we must use IBRS to restrict branch prediction * before calling into firmware. @@ -265,6 +265,7 @@ static inline void indirect_branch_prediction_barrier(void) #define firmware_restrict_branch_speculation_start() \ do { \ u64 val = x86_spec_ctrl_base | SPEC_CTRL_IBRS; \ + \ preempt_disable(); \ alternative_msr_write(MSR_IA32_SPEC_CTRL, val, \ X86_FEATURE_USE_IBRS_FW); \ diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 081732f8a598..b3f68f9500cc 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -296,10 +296,8 @@ static int nearby_node(int apicid) static void amd_get_topology_early(struct cpuinfo_x86 *c) { -#ifdef CONFIG_SMP - if (boot_cpu_has(X86_FEATURE_TOPOEXT)) + if (cpu_has(c, X86_FEATURE_TOPOEXT)) smp_num_siblings = ((cpuid_ebx(0x8000001e) >> 8) & 0x3) + 1; -#endif } /* diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 63d5b84e680b..4759c11b2380 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -396,7 +396,7 @@ retpoline_auto: if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) { retpoline_amd: if (!boot_cpu_has(X86_FEATURE_LFENCE_RDTSC)) { - pr_err("Spectre mitigation: LFENCE not serializing. Switching to generic retpoline\n"); + pr_err("Spectre mitigation: LFENCE not serializing, switching to generic retpoline\n"); goto retpoline_generic; } mode = retp_compiler() ? SPECTRE_V2_RETPOLINE_AMD : @@ -860,7 +860,6 @@ static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr case X86_BUG_SPECTRE_V1: return sprintf(buf, "Mitigation: __user pointer sanitization\n"); - break; case X86_BUG_SPECTRE_V2: return sprintf(buf, "%s%s%s%s%s\n", spectre_v2_strings[spectre_v2_enabled],