Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp765978pxa; Wed, 19 Aug 2020 14:26:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzuFxsbvXEbY1hbtpP40Rq0EdmWdQo6Z/UP6IN9RXQJzRFs+2mUlrm8s0kXTUDp3QubweHK X-Received: by 2002:a17:906:74d0:: with SMTP id z16mr256843ejl.51.1597872383559; Wed, 19 Aug 2020 14:26:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597872383; cv=none; d=google.com; s=arc-20160816; b=RavZlrfrZIGTRegwVL+vCHlIoXFpad0w1tmdcGVuKT/MgZDm8h1XaPMtsWiEqW0vxp ITfYCYrcPgNa9Gz0RygsqePj2mLxlHcXYCj6PNXUV5+aqyHPEJlT9ZYjoqyLRewLe7ls yj1fRVMb7g2bIxz79iH0ax7aog3vY8nsjEnQhbNV/WtjBJVEkALoPpe/iGb75q0l3k4t 0CNSRVYCwMHUCzzY8qrPp6+BRHaDI3tZfDqFAvUdtgbjGLKPSjvKJSMuRY2h5Rjb9YjQ j6fW76NYC/NbQvOk8Z/SByt5QP/LaIrSM4Z6BHV1deam+AS28yQUfDVOBDqeboXyOdgJ A4cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=JVgmG0y8yau+KES1JFHS/x8WNS/kHJhcDhZTlFKrXO4=; b=BS6fWhPsQrTKSZMHjowIB/G37E0ty3OABnF7Iix6Z1mZKaf8VM9FkI1C4NZAR9KcHl W3J6g3mHcOguMwSCKqztxIwWrU/bdV3tMWKwYr0IjiWPvcbW+1LI2Q22DQrCgaEj8Kgr DnzCDyxg+KcNItWuPfRPsjLGGUUQenC1U4WrTI7dL7fk4VwlFrKMI0CiFJdsa4cAmOol 7p7/NSaUfNkUyEMCZqPK9HjbXDefciDuwW/nsL1SNXyHh0qBjrzmyE1CKir5ZcliMIms /8o8scb9UeMd4LWfBa8SgHoznwTxnt+AVRa2qVGwzGeCrdQ6ETfhO2mchg4Naq+xhvu4 9plQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=a5F+qyGs; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j12si15627067ejc.680.2020.08.19.14.25.58; Wed, 19 Aug 2020 14:26:23 -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; dkim=pass header.i=@kernel.org header.s=default header.b=a5F+qyGs; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726868AbgHSVZY (ORCPT + 99 others); Wed, 19 Aug 2020 17:25:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:57916 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726646AbgHSVZX (ORCPT ); Wed, 19 Aug 2020 17:25:23 -0400 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 55EED21741 for ; Wed, 19 Aug 2020 21:25:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1597872322; bh=29gaIAhdf/a0EPBadbMUPY0OWcKjqoIog1Z9TAi24LA=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=a5F+qyGspdHjnA7RLj9YFPAbKT7iI5iRUROOn/LYb/LPypw9i7gVlCFZhyZ8CVlah LE3StroBw4g62DbjBgbPm1tm12TE5ay1GoGIpD87bklMX1ttYq3zGnhuagcMwXsGX/ I23v//6oXnbrBFmHQdq5l2+5eHCmoLnpD8yEq+Yw= Received: by mail-wr1-f47.google.com with SMTP id z18so86380wrm.12 for ; Wed, 19 Aug 2020 14:25:22 -0700 (PDT) X-Gm-Message-State: AOAM533vOWOP03eiWUOs7IWw7RETZu9a8Qh5H/1HRaQvQcFOjX0//vYF R/qdApKGDPjCfE5SbO6G6+OkTIVm64FvpM/TL925zQ== X-Received: by 2002:adf:e90f:: with SMTP id f15mr23603wrm.18.1597872320735; Wed, 19 Aug 2020 14:25:20 -0700 (PDT) MIME-Version: 1.0 References: <39d57e4d-5db4-f536-6f5e-6b0414c0dccc@amd.com> <7dedb0ab-56a6-5d96-577b-21ab1ecdad24@amd.com> In-Reply-To: <7dedb0ab-56a6-5d96-577b-21ab1ecdad24@amd.com> From: Andy Lutomirski Date: Wed, 19 Aug 2020 14:25:09 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: FSGSBASE causing panic on 5.9-rc1 To: Tom Lendacky , Joerg Roedel , "Christopherson, Sean J" , Paolo Bonzini , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson Cc: Linux Kernel Mailing List , X86 ML , Andy Lutomirski , "Chang S. Bae" , Thomas Gleixner , Sasha Levin , Borislav Petkov , Peter Zijlstra , Ingo Molnar 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 On Wed, Aug 19, 2020 at 11:19 AM Tom Lendacky wrote: > > On 8/19/20 1:07 PM, Tom Lendacky wrote: > > It looks like the FSGSBASE support is crashing my second generation EPYC > > system. I was able to bisect it to: > > > > b745cfba44c1 ("x86/cpu: Enable FSGSBASE on 64bit by default and add a chicken bit") > > > > The panic only happens when using KVM. Doing kernel builds or stress > > on bare-metal appears fine. But if I fire up, in this case, a 64-vCPU > > guest and do a kernel build within the guest, I get the following: > > I should clarify that this panic is on the bare-metal system, not in the > guest. And that specifying nofsgsbase on the bare-metal command line fixes > the issue. I certainly see some oddities: We have this code: static void svm_vcpu_put(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); int i; avic_vcpu_put(vcpu); ++vcpu->stat.host_state_reload; kvm_load_ldt(svm->host.ldt); #ifdef CONFIG_X86_64 loadsegment(fs, svm->host.fs); wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gsbase); load_gs_index(svm->host.gs); Surely that should do load_gs_index() *before* wrmsrl(). But that's not the problem at hand. There are also some open-coded rdmsr and wrmsrs of MSR_GS_BASE -- surely these should be x86_gsbase_read_cpu() and x86_gsbase_write_cpu(). (Those functions don't actually exist, but the fsbase equivalents do, and we should add them.) But that's also not the problem at hand. I haven't actually spotted the bug yet... --Andy