From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9BD7AC63777 for ; Thu, 3 Dec 2020 08:36:58 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 12FF921D1A for ; Thu, 3 Dec 2020 08:36:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 12FF921D1A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=H0rphtT8nSI0NbbZBAi33xhd1CVgtT7M3Z7TlOXWPBA=; b=bLAE596f+jnDhYt45rMZw40eG 3KntdsThvI54u6+W+kMZubzdGcg2bsMiP763U9e2vl0N5I6gaUy6dtU55HE447kNGHBqiIjOmbRRE IuH64xr6UMkMGgv5YfYzDi3noN0xkjEjfInAcj1Qi9V0bM8siY7bHOdJn9bq3QJh+hNJmVOQFEGY5 itMe7VhjfmxV1XYOrDLlAC3H2yURFS7DSYQ52l3NKvA+23R2u1fy8xuLWVqfjohRikrqfmWg30Pso SVVyKXztfORMyMO1zN5ZBOb8Sp6ACGkxTbDNAqTJgixl7rWBi/LauxEVzLYo06l2/qqUuWdWCYfID BcNGAsc2A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kkk5K-0004lm-QF; Thu, 03 Dec 2020 08:35:30 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kkk5I-0004lA-FT for linux-arm-kernel@lists.infradead.org; Thu, 03 Dec 2020 08:35:29 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 043A120C56; Thu, 3 Dec 2020 08:35:27 +0000 (UTC) Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1kkk5E-00FbN6-Ic; Thu, 03 Dec 2020 08:35:24 +0000 MIME-Version: 1.0 Date: Thu, 03 Dec 2020 08:35:24 +0000 From: Marc Zyngier To: Rongwei Wang Subject: Re: [PATCH 0/3] arm64:msr: Add MSR driver In-Reply-To: <4513911D-77BF-4459-B8DF-9889395C16AC@linux.alibaba.com> References: <20201130174833.41315-1-rongwei.wang@linux.alibaba.com> <5e7f7225982b2df63e62ea60ec632376@misterjones.org> <855BA92C-5B22-4F14-965A-B1F72A872B8D@linux.alibaba.com> <059ed4a8768ff3881005796cb4a10d5e@kernel.org> <6FA68A07-F718-46F5-81B4-586A5ED3E479@linux.alibaba.com> <7e9ae04f3394a85aa3b8fe8947a44009@kernel.org> <4513911D-77BF-4459-B8DF-9889395C16AC@linux.alibaba.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: <4f89671e080eb23b084c0e0942f111e6@kernel.org> X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: rongwei.wang@linux.alibaba.com, catalin.marinas@arm.com, will@kernel.org, bjorn.andersson@linaro.org, shawnguo@kernel.org, gshan@redhat.com, geert+renesas@glider.be, Anson.Huang@nxp.com, masahiroy@kernel.org, michael@walle.cc, krzk@kernel.org, linux-kernel@vger.kernel.org, vkoul@kernel.org, olof@lixom.net, vincenzo.frascino@arm.com, ardb@kernel.org, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201203_033528_708155_524D621F X-CRM114-Status: GOOD ( 16.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: vkoul@kernel.org, gshan@redhat.com, Anson.Huang@nxp.com, geert+renesas@glider.be, catalin.marinas@arm.com, masahiroy@kernel.org, linux-kernel@vger.kernel.org, krzk@kernel.org, bjorn.andersson@linaro.org, michael@walle.cc, olof@lixom.net, shawnguo@kernel.org, vincenzo.frascino@arm.com, Will Deacon , ardb@kernel.org, linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMC0xMi0wMyAwNTo0NSwgUm9uZ3dlaSBXYW5nIHdyb3RlOgo+PiAyMDIw5bm0MTLmnIgx 5pelIOS4i+WNiDExOjM377yMTWFyYyBaeW5naWVyIDxtYXpAa2VybmVsLm9yZz4g5YaZ6YGT77ya Cj4+IAo+PiBPbiAyMDIwLTEyLTAxIDE0OjI1LCB3YW5ncm9uZ3dlaSB3cm90ZToKPj4+PiAyMDIw 5bm0MTLmnIgx5pelIOS4i+WNiDQ6MTLvvIxNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3JnPiDl hpnpgZPvvJoKPj4+PiBPbiAyMDIwLTEyLTAxIDAzOjA5LCB3YW5ncm9uZ3dlaSB3cm90ZToKPj4+ Pj4gSGkKPj4+Pj4gV2UgaGF2ZSB2YWxpZGF0ZSB0aGlzIGRyaXZlciBpbiB2bSBhbmQgcGh5c2lj YWwgbWFjaGluZSwgYW5kIHdvcmtzIAo+Pj4+PiBmaW5lLgo+Pj4+IEJ1dCB3aGF0IGRvZXMgIndv cmsgZmluZSIgbWVhbj8gTm9uZSBvZiB0aGVzZSBzeXN0ZW0gcmVnaXN0ZXJzIGFyZSAKPj4+PiBz dXBwb3NlZAo+Pj4+IHRvIGJlIGFjY2Vzc2libGUgZnJvbSB1c2Vyc3BhY2UsIHNvIHBsZWFzZSBl eHBsYWluICp3aGF0KiB5b3UgYXJlIAo+Pj4+IHRyeWluZyB0bwo+Pj4+IGRvIHdpdGggdGhpcywg b3RoZXIgdGhhdCBpbnRyb2R1Y2luZyBzZWN1cml0eSBob2xlcyBhbmQgZ2VuZXJhbCAKPj4+PiBz eXN0ZW0KPj4+PiBpbnN0YWJpbGl0eT8KPj4+IEkgdGhpbmsgSSBrbm93IHdoYXQgeW91IG1lYW4u IERvIHlvdSB3YW50IG1lIHRvIGRlc2NyaWJlIGhvdyB3ZSAKPj4+IGFjaGlldmVkIGl0Pwo+Pj4g SW4geDg2LCB0aGUgZGlmZmVyZW50IHJlZ2lzdGVycyBjYW4gYmUgYWNjZXNzZWQgZGlyZWN0bHkg dXNpbmcgdGhlCj4+PiByZG1zciBhbmQgd3Jtc3IgaW5zdHJ1Y3Rpb25zLCBidXQgaW4gQVJNLCBz aW5jZSB0aGVzZSB0d28gCj4+PiBpbnN0cnVjdGlvbnMKPj4+IGFyZSBtaXNzaW5nLCBzbyB3ZSBt b2RpZnkgdGhlIGNvZGUgc2VnbWVudCBkdXJpbmcgcnVudGltZSwgc2ltaWxhciB0bwo+Pj4gdGhl IHByaW5jaXBsZSBvZiBzdGF0aWNfa2V5Lgo+PiAKPj4gWy4uLl0KPj4gCj4+IFRoZXNlIGFyZSBp bXBsZW1lbnRhdGlvbiBkZXRhaWxzLCBub25lIG9mIHdoaWNoIGFuc3dlciBteSBxdWVzdGlvbjoK Pj4gCj4+IFdoYXQgbWFrZXMgeW91IHRoaW5rIHRoaXMgaXMgYSBnb29kIGlkZWE/IEkgY2Fubm90 IHNlZSBhbnkgbGVnaXRpbWF0ZQo+IEluIGZhY3QsIEkgdGhpbmsgdGhpcyB0b29sIHVzZWZ1bCBt YWlubHkgaW4gdGhlIGZvbGxvd2luZyBzY2VuYXJpb3M6Cj4gCTEuIHBlcmZvcm1hbmNlIGRlYnVn Cj4gCTIuIEFybS1jb3JlIGZlYXR1cmVzIHRlc3QKPiAJMy4gRGVidWctdG9vbCBmb3Iga2VybmVs IGRldmVsb3Blcgo+IEFsc28sIGZvciBleGFtcGxlLCBNU1ItQVJNIGlzIG5lZWRlZCBmb3IgY2hp cCB2ZXJpZmljYXRpb24gYW5kCj4gc3lzdGVtLWxldmVsIGZ1bmN0aW9uYWwgdmVyaWZpY2F0aW9u Lgo+IEEgc2ltcGxlIGV4YW1wbGUsIHBlcmYgc3RhdCBjYW4gdGVzdCBwbXUsIGJ1dCB0aGUgb3Zl cmZsb3cgaW50ZXJydXB0Cj4gZnVuY3Rpb24gYW5kIGZvcmNlZCBvdmVyZmxvdyBmdW5jdGlvbiBv ZiBwbXUgaXMgbm90IGNvdmVyZWQuCgpCdXQgd2hhdCBkb2VzIGl0IG1lYW4gdG8gY2hhbmdlIHJh bmRvbSBzeXN0ZW0gcmVnaXN0ZXJzIHdoaWxlIHRoZSBrZXJuZWwKaXRzZWxmIGlzIHVzaW5nIHRo ZW0gaW4gcGFyYWxsZWw/IEFsbCB5b3UgYXJlIGludHJvZHVjaW5nIGlzIGEgYnVuY2ggb2YKdW5j b250cm9sbGVkLCB1bmV4cGVjdGVkLCBhbmQgcG9zc2libHkgZmF0YWwgc2lkZSBlZmZlY3RzLgoK SW50cm9kdWNpbmcgc3VjaCBhbiBpbnRlcmZhY2UgbWFrZXMgdGhlIGtlcm5lbCB1bnNhZmUsIGlu c2VjdXJlLCBhbmQKYW5kIHZpb2xhdGVzIGFsbCB0aGUgcG9zc2libGUgZ3VhcmFudGVlcyB0aGF0 IHdlIGFyZSB0cnlpbmcgaGFyZCB0bwpwcm92aWRlLiBBZnRlciBhbGwsIHdoeSB3b3VsZCB3ZSBl dmVuIHRyeSB0byBtaXRpZ2F0ZSBzaWRlIGNoYW5uZWwKdnVsbmVyYWJpbGl0aWVzIGlmIHdlIHdl cmUgdG8gaW50cm9kdWNlIHN1Y2ggYSB0aGluZz8KCj4gSW4gYm90aCBjYXNlcywgd2UgbmVlZCBh IHNwZWNpYWwgaW50ZXJmYWNlIHRvIGNvbmZpZ3VyZSBpdCwgd2hpY2ggY2FuCj4gYmUgY29uc2lk ZXJlZCBhcyB0ZXN0aW5nIHJlcXVpcmVtZW50cywgc28gaXQgY2FuIG9ubHkgYmUgdGVzdGVkIGJ5 Cj4gY29uZmlndXJpbmcgKGFjY2VzcykgcmVnaXN0ZXJzLCBlLmcuLCBkZXZtZW0gY29tbWFuZCBm b3IgbWVtbWFwCj4gcmVnaXN0ZXJzLCBNU1ItQVJNIGRyaXZlciBmb3Igc3lzdGVtIHJlZ2lzdGVy cy4KCmRldm1lbSB3YXMgYSB0ZXJyaWJsZSBtaXN0YWtlLiBVbnByaXZpbGVnZWQgc3lzcmVnIGFj Y2VzcyBpcyBhbm90aGVyCmluc3RhbmNlIG9mIHRoZSBzYW1lIG1pc3Rha2UuCgpUaGUga2VybmVs IGlzIG5vdCBhIHZhbGlkYXRpb24gdG9vbC4gSXQgaXMgZGVzaWduZWQgdG8gb3BlcmF0ZSBzYWZl bHksCnNlY3VyZWx5LCBhbmQgcmVsaWFibHkuIFdoYXQgeW91IHByb3Bvc2UgaXMgdGhlIG5lZ2F0 aW9uIG9mIHRoZXNlIGdvYWxzCmZvciBkdWJpb3VzIHB1cnBvc2VzLCBhbmQgSSB0aGluayBJIHJl cHJlc2VudCBhIGxhcmdlIG51bWJlciBvZiBrZXJuZWwKZGV2ZWxvcGVycyB3aGVuIEkgc2F5IHRo YXQgd2UgcmVhbGx5IGRvIG5vdCB3YW50IGl0LgoKVGhpcyB3aWxsIChob3BlZnVsbHkpIGJlIG15 IGxhc3QgbWVzc2FnZSBvbiB0aGlzIHN1YmplY3QuCgpUaGFua3MsCgogICAgICAgICBNLgotLSAK SmF6eiBpcyBub3QgZGVhZC4gSXQganVzdCBzbWVsbHMgZnVubnkuLi4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63CACC64E7B for ; Thu, 3 Dec 2020 08:36:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0CA4B21D1A for ; Thu, 3 Dec 2020 08:36:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729777AbgLCIgK (ORCPT ); Thu, 3 Dec 2020 03:36:10 -0500 Received: from mail.kernel.org ([198.145.29.99]:58180 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725912AbgLCIgH (ORCPT ); Thu, 3 Dec 2020 03:36:07 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 043A120C56; Thu, 3 Dec 2020 08:35:27 +0000 (UTC) Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1kkk5E-00FbN6-Ic; Thu, 03 Dec 2020 08:35:24 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Thu, 03 Dec 2020 08:35:24 +0000 From: Marc Zyngier To: Rongwei Wang Cc: catalin.marinas@arm.com, Will Deacon , bjorn.andersson@linaro.org, shawnguo@kernel.org, gshan@redhat.com, geert+renesas@glider.be, Anson.Huang@nxp.com, masahiroy@kernel.org, michael@walle.cc, krzk@kernel.org, linux-kernel@vger.kernel.org, vkoul@kernel.org, olof@lixom.net, vincenzo.frascino@arm.com, ardb@kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 0/3] arm64:msr: Add MSR driver In-Reply-To: <4513911D-77BF-4459-B8DF-9889395C16AC@linux.alibaba.com> References: <20201130174833.41315-1-rongwei.wang@linux.alibaba.com> <5e7f7225982b2df63e62ea60ec632376@misterjones.org> <855BA92C-5B22-4F14-965A-B1F72A872B8D@linux.alibaba.com> <059ed4a8768ff3881005796cb4a10d5e@kernel.org> <6FA68A07-F718-46F5-81B4-586A5ED3E479@linux.alibaba.com> <7e9ae04f3394a85aa3b8fe8947a44009@kernel.org> <4513911D-77BF-4459-B8DF-9889395C16AC@linux.alibaba.com> User-Agent: Roundcube Webmail/1.4.9 Message-ID: <4f89671e080eb23b084c0e0942f111e6@kernel.org> X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: rongwei.wang@linux.alibaba.com, catalin.marinas@arm.com, will@kernel.org, bjorn.andersson@linaro.org, shawnguo@kernel.org, gshan@redhat.com, geert+renesas@glider.be, Anson.Huang@nxp.com, masahiroy@kernel.org, michael@walle.cc, krzk@kernel.org, linux-kernel@vger.kernel.org, vkoul@kernel.org, olof@lixom.net, vincenzo.frascino@arm.com, ardb@kernel.org, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020-12-03 05:45, Rongwei Wang wrote: >> 2020年12月1日 下午11:37,Marc Zyngier 写道: >> >> On 2020-12-01 14:25, wangrongwei wrote: >>>> 2020年12月1日 下午4:12,Marc Zyngier 写道: >>>> On 2020-12-01 03:09, wangrongwei wrote: >>>>> Hi >>>>> We have validate this driver in vm and physical machine, and works >>>>> fine. >>>> But what does "work fine" mean? None of these system registers are >>>> supposed >>>> to be accessible from userspace, so please explain *what* you are >>>> trying to >>>> do with this, other that introducing security holes and general >>>> system >>>> instability? >>> I think I know what you mean. Do you want me to describe how we >>> achieved it? >>> In x86, the different registers can be accessed directly using the >>> rdmsr and wrmsr instructions, but in ARM, since these two >>> instructions >>> are missing, so we modify the code segment during runtime, similar to >>> the principle of static_key. >> >> [...] >> >> These are implementation details, none of which answer my question: >> >> What makes you think this is a good idea? I cannot see any legitimate > In fact, I think this tool useful mainly in the following scenarios: > 1. performance debug > 2. Arm-core features test > 3. Debug-tool for kernel developer > Also, for example, MSR-ARM is needed for chip verification and > system-level functional verification. > A simple example, perf stat can test pmu, but the overflow interrupt > function and forced overflow function of pmu is not covered. But what does it mean to change random system registers while the kernel itself is using them in parallel? All you are introducing is a bunch of uncontrolled, unexpected, and possibly fatal side effects. Introducing such an interface makes the kernel unsafe, insecure, and and violates all the possible guarantees that we are trying hard to provide. After all, why would we even try to mitigate side channel vulnerabilities if we were to introduce such a thing? > In both cases, we need a special interface to configure it, which can > be considered as testing requirements, so it can only be tested by > configuring (access) registers, e.g., devmem command for memmap > registers, MSR-ARM driver for system registers. devmem was a terrible mistake. Unprivileged sysreg access is another instance of the same mistake. The kernel is not a validation tool. It is designed to operate safely, securely, and reliably. What you propose is the negation of these goals for dubious purposes, and I think I represent a large number of kernel developers when I say that we really do not want it. This will (hopefully) be my last message on this subject. Thanks, M. -- Jazz is not dead. It just smells funny...