Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1500298pxk; Fri, 18 Sep 2020 14:23:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxgDkpA56jwwKB9YJ+4OB3KHEOurS2Otl3aIUV/Dn5hAQlug+QeVQYyMUCb98eyl4udwI6s X-Received: by 2002:a17:906:48d6:: with SMTP id d22mr38473141ejt.462.1600464188572; Fri, 18 Sep 2020 14:23:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600464188; cv=none; d=google.com; s=arc-20160816; b=y2Mzd4eKb1Um/jrGYxF9Dm5hfYMdbU7L0DELQM19H4hx2DYgYKmPteX23RPUIbKPW3 Icqm//aMO34S/QGZQae5nK6yK/gISARmJg7/A1YbM69vCMZUdNs133iGRzhJnpgz5gAd rn2BOPw/OLpDyL8/CvNgEXnzB6GXp2V3tU8MT365a7j7ceCnT5Djmkc5SAr0RmCJgbwD aFqJLA1EsyMRqi6jm3H1li80n9g+tc3jS56Uh2eoZxV4QJuEPIhb7y11szZSDwhRbijl qJ0xkrR7VC56QKsjdCtmAhILXUXnOa5lq+y69IVuxCGe0bzx3GF+8Dc3pS+ZpgOe0USD UtBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:ironport-sdr:ironport-sdr; bh=xZUAyiUIvkwVQ/BaE9CfOJ03oSDZourKfFVd5YQixB0=; b=o9ul7BPxR5vScdr8ONfV4SrXf7SZTwtKPVXCXiYU4jfAbszXsifS8tdmqA1LD3WU7G xwPUEqS9vGrtys0L3K+3XLFQ2yTlxzOMrFnYmlakDVuKJaX/qY/jUwqNxm/53xYDvo0a 8kNqsJc+s1vhSIj+9pj0kdjaR2n0e2B2yLXl9gdQu5L5Fh169jIZLK+tH3rdaiqX9gxq uNqbgPmn+QKeo28goK7BE/7JBb0sy2mHlaYPJ91nq0zygrtRc3dP8J97dELYshxc1ajp Kj6mC8S8sOwYtMVTrNWH4jgczWoQKv7QNKWCCmaJBZCCiql2QPTsuSOuOnpj9u4DEIze YkMQ== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r25si907446eds.157.2020.09.18.14.22.44; Fri, 18 Sep 2020 14:23:08 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726305AbgIRVVj (ORCPT + 99 others); Fri, 18 Sep 2020 17:21:39 -0400 Received: from mga02.intel.com ([134.134.136.20]:39891 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726247AbgIRVVj (ORCPT ); Fri, 18 Sep 2020 17:21:39 -0400 IronPort-SDR: /YNQjK+3CfGUAwbUQfkGYAZ53dm1qYamVyqqoLDI6HzqIqiodyvlX9vt5N81oy/t1oLXSPX9De BQoZU5nCnUdQ== X-IronPort-AV: E=McAfee;i="6000,8403,9748"; a="147718685" X-IronPort-AV: E=Sophos;i="5.77,274,1596524400"; d="scan'208";a="147718685" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2020 14:21:24 -0700 IronPort-SDR: cqPmBsZP+6LCDOndU195386/Bgju5YHVNwiypFk5BMbPE9dJG8qo+zu4vjlHNtpOUfjRfXM7d/ s8nIq35e4evA== X-IronPort-AV: E=Sophos;i="5.77,274,1596524400"; d="scan'208";a="381051016" Received: from yyu32-mobl1.amr.corp.intel.com (HELO [10.212.0.248]) ([10.212.0.248]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2020 14:21:13 -0700 Subject: Re: [PATCH v12 8/8] x86: Disallow vsyscall emulation when CET is enabled To: Pavel Machek , Dave Hansen Cc: x86@kernel.org, "H. Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , "H.J. Lu" , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Peter Zijlstra , Randy Dunlap , "Ravi V. Shankar" , Vedvyas Shanbhogue , Dave Martin , Weijiang Yang References: <20200918192312.25978-1-yu-cheng.yu@intel.com> <20200918192312.25978-9-yu-cheng.yu@intel.com> <20200918210026.GC4304@duo.ucw.cz> From: "Yu, Yu-cheng" Message-ID: <862eef02-eba2-e13f-ed67-f915f749ebca@intel.com> Date: Fri, 18 Sep 2020 14:21:10 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <20200918210026.GC4304@duo.ucw.cz> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 9/18/2020 2:00 PM, Pavel Machek wrote: > On Fri 2020-09-18 12:32:57, Dave Hansen wrote: >> On 9/18/20 12:23 PM, Yu-cheng Yu wrote: >>> Emulation of the legacy vsyscall page is required by some programs >>> built before 2013. Newer programs after 2013 don't use it. >>> Disable vsyscall emulation when Control-flow Enforcement (CET) is >>> enabled to enhance security. >> >> How does this "enhance security"? >> >> What is the connection between vsyscall emulation and CET? > > Boom. > > We don't break compatibility by default, and you should not tell > people to enable CET by default if you plan to do this. I would revise the wording if there is another version. What this patch does is: If an application is compiled for CET and the system supports it, then the application cannot do vsyscall emulation. Earlier we allow the emulation, and had a patch that fixes the shadow stack and endbr for the emulation code. Since newer programs mostly do no do the emulation, we changed the patch do block it when attempted. This patch would not block any legacy applications or any applications on older machines. Yu-cheng