Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp5977513pxb; Tue, 16 Feb 2021 12:26:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJx5CRPbqhJylHw164j9vY+8eAw2cN3+wFaUq00OmsaN0jaRQrQte1hZ0nF+pjLi0w4EFAOH X-Received: by 2002:a50:a086:: with SMTP id 6mr22416791edo.70.1613507217769; Tue, 16 Feb 2021 12:26:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613507217; cv=none; d=google.com; s=arc-20160816; b=BsNUMYXwZHVfeh2MNk2wQrwS/KSImYVY8nlMBxAX92Q/rO56hIB3bVTHdTWv3F1MSn 3nTRGdF0fqCWED9ZdC50DcX+4sIpFYMsyPfwKEdjr1Z1CrBT4Qy+pGWPXxqUThNWyXEa owtmHAa18qRpg5vBell7g+Ro4TolDS0QdHp5soyWttluHbboyo6QshfGcuz8KBmwYhjy srAngGYRMI3RTRV6jsAtkczTz280Ulfvm2Qa/NVlyQ++CB/vR0ppOZK24v2MTqZUCZTE KXtsILK0hpFwHCvof92BnKgGM3pFgyLnb81N746A6zHZnWj4vhkvEgUXDrrdcpwsUTve 3bFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:reply-to :in-reply-to:references:mime-version:dkim-signature; bh=tZqU1czaseR5DATd5gJSyCBbdbZ1TMSr4Wu5AJ6dG74=; b=JFZtH7nKw+TTHuKQKp6Cpnj7uoOkfYefxI397k6KdWJpGKzKaSVL7L+LrSGYEuhS4M YzK+WCWXiT4H1bjpztSNiFrPYR4glM/Fmx8uo0RFexnQ3T904gR5/maGzrsmRXArA2sM dPjnbF1CDZA5maWRegXeZD8/iCyWLkQbIRLOd2DlE+Np9IqQGyCXGwqTj8IGqIXj1Xns 8FohANbNKkbev0b3rnwyRPPCLoVsjVs1n+N++QtRqz003QhR6tKS1PAhRuhUOWIfTeG5 YBtGqc9i+3eRvRMB+qlXjWirczPOuw0LLMrprdd3xi6l+ZTx4ett5j5boQaMylNqSvMR CS3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=GCP2V0gF; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z7si851441edm.477.2021.02.16.12.26.34; Tue, 16 Feb 2021 12:26:57 -0800 (PST) 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=@gmail.com header.s=20161025 header.b=GCP2V0gF; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230198AbhBPUYR (ORCPT + 99 others); Tue, 16 Feb 2021 15:24:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230131AbhBPUYN (ORCPT ); Tue, 16 Feb 2021 15:24:13 -0500 Received: from mail-io1-xd34.google.com (mail-io1-xd34.google.com [IPv6:2607:f8b0:4864:20::d34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06308C061574 for ; Tue, 16 Feb 2021 12:23:33 -0800 (PST) Received: by mail-io1-xd34.google.com with SMTP id u8so11471052ior.13 for ; Tue, 16 Feb 2021 12:23:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc; bh=tZqU1czaseR5DATd5gJSyCBbdbZ1TMSr4Wu5AJ6dG74=; b=GCP2V0gFYflfNlHVGa8dUk80N+wup4NSZhDVUoX167kjm6hbdzA7bxPjb/Y5lPzmCP YoG1tzr1fgNWewD8mp9DMjSOvY2UzpvKjHgz3pY3awnypO3kXGynjiy9PDK7OaTA1PKk VolB64RdNFmsZK8U7uDmhnmHxdn+23An9BENB7zoaND3jG8fwkkenML/r2Zh25j2P0At nqSTEdFHl3eugbHYgYyODO/ZbA+RzyrPH78Cw2rpOOxYqaPwJutHSWxUMdDXPNTLu9xQ I0j+GbJXirK+t6ei0rfptkJ86HuPU9PQgKoi/zbYNGHGO4h8FJXWgs34+vEhxnZ5zRWU h5nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=tZqU1czaseR5DATd5gJSyCBbdbZ1TMSr4Wu5AJ6dG74=; b=hBS6ayDYH7bhhEbmNRyuyrtySYpO1qYPb8cHZnAZhyUfTyfrui0hv5snZEqYnxpQoL FzO9ovwdVBCVi6nro5+Eb+dhw8D555GiJn8+Zc6EnPUnU7+fxgc0N4gu5kOkRcMvVwXX n/kI/TMVhivGwAXVEfYzW79lnWYbJAfYJtuHFYrnVnkcOU4qWZdBWnmVmiraXrv10JpB PRgilYiRUf0dmj5q9XgPE/Gx9NtGlWH5M5Bn6VJZJHKf3Ldyja/c9REgxle4NWKnxdnF l+sZ0h4ul1El5oK8doHTKDOi/y1zeZVmmFaQdzR6eM2JNuBht8SzHru6B/EAsXxmiBIc fF9Q== X-Gm-Message-State: AOAM530lXZwkbmHwZbJvr5P+Iz8fppqjfveLQg1BlIM/aXKMqQMTUTK2 8jksV6ALrkBw042Jh4cX4wTTKROgvkWidSobzMI= X-Received: by 2002:a02:c6d8:: with SMTP id r24mr7396589jan.65.1613507012342; Tue, 16 Feb 2021 12:23:32 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Reply-To: sedat.dilek@gmail.com From: Sedat Dilek Date: Tue, 16 Feb 2021 21:23:20 +0100 Message-ID: Subject: Re: [PATCH v2 1/2] x86/stackprotector/32: Make the canary into a regular percpu variable To: Sean Christopherson Cc: Andy Lutomirski , x86@kernel.org, LKML , Nick Desaulniers , Brian Gerst , Joerg Roedel Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 16, 2021 at 5:21 PM Sean Christopherson wrote: > > On Sat, Feb 13, 2021, Andy Lutomirski wrote: > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > > index f923e14e87df..ec39073b4897 100644 > > --- a/arch/x86/kvm/svm/svm.c > > +++ b/arch/x86/kvm/svm/svm.c > > @@ -1467,12 +1467,8 @@ static void svm_vcpu_put(struct kvm_vcpu *vcpu) > > #ifdef CONFIG_X86_64 > > loadsegment(fs, svm->host.fs); > > wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gsbase); > > - load_gs_index(svm->host.gs); > > -#else > > -#ifdef CONFIG_X86_32_LAZY_GS > > - loadsegment(gs, svm->host.gs); > > -#endif > > This manually GS crud is gone as of commit e79b91bb3c91 ("KVM: SVM: use > vmsave/vmload for saving/restoring additional host state"), which is queued for > 5.12. > Link to the above KVM patch see [1]. As said the base for this patchset should be changed - for example it conflicts with [2]. Maybe wait for Linux v5.12-rc1? - Sedat - [1] https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?h=tags/kvm-5.12-1&id=e79b91bb3c916a52ce823ab60489c717c925c49f [2] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/tag/?h=x86-entry-2021-02-15 > > #endif > > + load_gs_index(svm->host.gs); > > > > for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++) > > wrmsrl(host_save_user_msrs[i].index, > > @@ -3705,13 +3701,11 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu, > > } else { > > __svm_vcpu_run(svm->vmcb_pa, (unsigned long *)&svm->vcpu.arch.regs); > > > > + /* Restore the percpu segment immediately. */ > > #ifdef CONFIG_X86_64 > > native_wrmsrl(MSR_GS_BASE, svm->host.gs_base); > > #else > > loadsegment(fs, svm->host.fs); > > -#ifndef CONFIG_X86_32_LAZY_GS > > - loadsegment(gs, svm->host.gs); > > -#endif > > #endif > > }