From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754268AbeAQXf3 (ORCPT ); Wed, 17 Jan 2018 18:35:29 -0500 Received: from mail-eopbgr60066.outbound.protection.outlook.com ([40.107.6.66]:2028 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753805AbeAQXf1 (ORCPT ); Wed, 17 Jan 2018 18:35:27 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Robin.Murphy@arm.com; Date: Wed, 17 Jan 2018 23:35:08 +0000 From: Robin Murphy To: Nicolin Chen Cc: Marc Zyngier , mark.rutland@arm.com, catalin.marinas@arm.com, will.deacon@arm.com, oleg@redhat.com, cdall@linaro.org, tbaicar@codeaurora.org, julien.thierry@arm.com, Dave.Martin@arm.com, james.morse@arm.com, ard.biesheuvel@linaro.org, xiexiuqi@huawei.com, mingo@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, nd@arm.com Subject: Re: [PATCH RFC v1] arm64: Handle traps from accessing CNTVCT/CNTFRQ for CONFIG_COMPAT Message-ID: <20180117233508.45282a7b@m750.lan> In-Reply-To: <20180117204154.GA2935@Asurada-Nvidia> References: <1515645816-14063-1-git-send-email-nicoleotsuka@gmail.com> <20180116203218.GA6318@Asurada-Nvidia> <86r2qpec32.wl-marc.zyngier@arm.com> <20180116213745.GA9545@Asurada-Nvidia> <20180117021346.GA26166@Asurada-Nvidia> <83b9c187-7fbf-3e05-6321-de7fa05fd868@arm.com> <20180117204154.GA2935@Asurada-Nvidia> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Originating-IP: [51.7.168.236] X-ClientProxiedBy: LNXP265CA0070.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5d::34) To VI1PR0802MB2464.eurprd08.prod.outlook.com (2603:10a6:800:bb::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: b7df47f8-837e-4f49-c7ee-08d55e02fa41 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:VI1PR0802MB2464; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2464;3:20QfCsFztYrdkd8Z3TVaBmA2gAkUKqsu1iSpZHh4lsy+gmMHg2Zvm42rfKLZWWkw4DbAWkHsffqPXaaOn+rclJo3JG9z2B0vs/ztpB6RPdsIHKr6P5a4wFQ/2tsLh7gO2np+tnjd45F5I2p/NywcX0n+wrdRuzr0lCJxYEByuZ7+k9j7RKwEjsSqeKPzC5/Fry9xzqrT1RCwr8nyzAdVa6DgGzbMTpafbNUVJBI1SXaq7KghNF5cFH/vcOGOrj0X;25:mo+cqqgEx7wkj4DkqnaeuwO92arBAWXgJSBuRqzbDeP0mupI+15lgG3S4bNYLmvJzx27ByMqH7wVnQiGfCCUidKgZSBtEroseHTfd1aFMZI0pKKzfEqcJ0XfGmvyT5qH8qmg++tHO8pHYOEfhUNGfS9wq+mo+6cFXAc/STFOs0KkNb0kMDKVUVUu1wDBfVhaly52hlrvnaWJRTh1A3MdDx/L8f17V+QtSTx0R+m7+DOv2rmOhVnQ/0vEeOfxCd0YnErRkutjUZHbz0o77WlPqkHMpBQCzqfrfA5U3XtKGPPd25TX9PSpHEMmmQK++0fupSr2SaTa+vRcqBo9dQwY7A==;31:B+Ppfe/DHEjjhOgoEG5RChd2DVR81D815NSRrL6CJ6KBQ4sXFnLnuPORds0C5vl4foD91L8+KpGk7aJk/fM9nZKI4QKi6ixusauJ+6MnudgSf8z9i1HjvaqqrhRahR4He5o9msz1v/HlAnBGoF0LzhlQpOL2Fk94nigmP+OcbEFSZ1sCDjRmCF9vm8UDIViFf4N1je9C5g/vENP2z8xA7I4GpcdBqtUG0DHh6/BSf9o= X-MS-TrafficTypeDiagnostic: VI1PR0802MB2464: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2464;20:CyoVfORXprxyLN27H/UrXlKAgwEnywKGymR7maT5M2W5LnRJlyFqP9Q5bkIFBfoz0StaNZbLiDDWrCtasnhohrFP+HaM6cqYOx4lCY6PRN/h5ifeN6WKr0Gq6bgZxzPyJltltlsLKnWsYuOydxSrSMoM9HKBbyvaRDETMo8VciU=;4:YuoIiG48duDqJCLEYiDcw/+6Tp2jBWkQDOzheaKmLaS0cVympQ2ulIxcbIdX0UJzgXVhYfsLKoa4D4W2Uw9oT6x7HNcgNtg0OVVuH20UQgvqrz7S52xXzG8GeqXUjhJb8xOPbUoYdSFLKMvX6sgMW6oaZnStZAljRa0uwghX7lqRQALgdyT27tBhF431JPqHp8fZPAPyv/EntGxTqyruPhAqJYyzNUIgW2cDHnps79MDYk1hGl8IQV7RGtuGi/GLRAyb/ZKT99P8a0EyEuzLIyMi3gh8+SiJr3eg2MPVBxw6Zb/SlQRA59KU8x0PXV+3 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(85827821059158); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3231023)(2400053)(944501161)(93006095)(93001095)(3002001)(6055026)(6041268)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:VI1PR0802MB2464;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:VI1PR0802MB2464; X-Forefront-PRVS: 0555EC8317 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(376002)(396003)(346002)(39380400002)(366004)(39860400002)(51914003)(189003)(199004)(478600001)(72206003)(86362001)(1076002)(9686003)(97736004)(66066001)(55016002)(2906002)(3846002)(6116002)(47776003)(23726003)(69596002)(386003)(6506007)(52116002)(68736007)(1411001)(7696005)(81156014)(81166006)(8676002)(76176011)(8936002)(106356001)(105586002)(50226002)(53936002)(39060400002)(93886005)(21086003)(6666003)(2950100002)(16526018)(230700001)(50466002)(4326008)(36756003)(229853002)(25786009)(316002)(5660300001)(6246003)(305945005)(6916009)(26005)(7736002)(217873001)(39210200001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0802MB2464;H:m750.lan;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR0802MB2464;23:DcbV8/SK271X2Le7ksYWA3/L1LqYmZl3hRlyLU4?= =?us-ascii?Q?fkEqXf5rBdIQDsiN441A0iXkKI4iK9ikpSs0cH0IUX6iCa9zobQ3tU82P5lS?= =?us-ascii?Q?E1w+eFIw7RINombSWWY/J718A841JByleDu9Qfhk5eKzabWBdAqeiWggytgJ?= =?us-ascii?Q?MNWVEVdzYxUgCMZEpDKmImsKyd53KNT4PTw/p0jx+DXuJDsYI0p7aXaMInok?= =?us-ascii?Q?DLjmpMQwttO9L/sT4/8PLLytBMQ3OgAfq84utZbzOSP5sGPIdWp1yRFbdhCN?= =?us-ascii?Q?ZOah7/zkw6OpLos9aENbH2knH5M3v//YV0q/4PZ5celIdMMG4mOet7EjACEL?= =?us-ascii?Q?LnmUKdgseZGjCV0GZYHeRL7O1kQtDkz9oNiV6gnV5hcvR6y3eNeJXE5CREQE?= =?us-ascii?Q?JQbyhv26kcT1nk99yz+2Vzw3jwR2USdzEZfZAcqY9D+deFlG0G7Q53YxlF2U?= =?us-ascii?Q?hEMPk7ZfO81IDyzrc9e41IyRyV03+2hEgmJuOmQdpeimqmBsM26qbUx+2hz8?= =?us-ascii?Q?kplXdS9cS2fDHrawCulE8WchoFO09gyGH8efU9lzN3o6VAgtpQ6/fVjzn1o0?= =?us-ascii?Q?98eXr4nse2yI4jQ9BKPGxvANtPKwk1SzM0Hcdc+fq/ORKP7dDUpACbMD0Tmt?= =?us-ascii?Q?++qhOzJxVJpqaA8Z6a0hHsKiZI2qRYQGJweWQR47FiVo5WQnHz/erXl3WlL/?= =?us-ascii?Q?wtyQcQaDLpleIDhdmDCvVZTn3VHwkfoQAUqG6qKJ+Yd+k/ImbQP7uEfE6vN1?= =?us-ascii?Q?SGsD9v9NBeV1ufWAWDlQvf8wMr1CkcxP8djj7G67IVrufj42pWHNDiXulhN0?= =?us-ascii?Q?dtiRh3p9Nt2xOkGiCl+IZ9eI8TKkh1X3cq9qFm8N+iVOVIKiBe3SN9LM9+iQ?= =?us-ascii?Q?nljG4PmFoevsdwnBocdYvF62rZaerqYQge6zuHSjXeM/bAf4EHxJz7TOXyaG?= =?us-ascii?Q?nqPd+0VHm+amD/bHiwAuV/L4V53Xm+VvjuPLsZ/6/v13Plw0Gh6UDag6OmZh?= =?us-ascii?Q?Xosg0p0mUK4bSCpyKd2nr8cbMwbVXQIVr+piwF18K/DKixtWwsmgVeY2lljj?= =?us-ascii?Q?DH2fQdw1SqCUE0HurGyxb277wbKw/n/2GkIzvLy8xUdrvhwJfKBoBzodNa51?= =?us-ascii?Q?Ycq8edcotU41G+l3HqO0K/+VyfzXaxoKYJjWHRDJOwlMx9AR9Y+RfDIlEqKO?= =?us-ascii?Q?7DfamyTMXCdaZRlDILcRvT2mgfoCR8e1818kwkyxUUnxRuIpD1yVcZ52QiZd?= =?us-ascii?Q?V+KusKNao1BnIMBqYE6ilUpj15wwjFzMPaNvmQ//ZjZYpFgF+3yHLqW8dmRk?= =?us-ascii?Q?aNE+5QzulSZi2Shw76up0DEqhVlvHwUyW3opFoTC+wJ2Dtl+UppUdp09e7F8?= =?us-ascii?Q?eG6hCbw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2464;6:lLZpSoOlJ9buHPnEVcS3nB/vcKwpU0Ug/WWzg/yTJ++OJV3sz6DD9pV0adgEteT3Q8nZXKirbxxrdAhWtnEN2apMHNhB5nTxJAdRmN95OPQIgdZscrgzSSScYELMUjQnnESI0pXAerUnSXG0Cxr7l3HauK8jlGWNUhSd1cWVJn06pn1T/GpW0GzF2LYywAsDaGwQgsNJQemld4KEXXthI5BK4ZNN37GZ/YD6VdglcOd2Oa5i0FKDktxG3Ll5ejC21SZ3w2pYgygXHGvmJXMeMFcO8G6UMdMiwKIAbfgthFgz1goRgFCgEPcmFy8mKFunCp77NzXb+n3JV05bPFzlgypKzmMR1/7xwjpaNfIONaE=;5:XVoaGEOy8PSI6hd40A4wTCNR9RckKv6nrzywok0t9UGzjO0QUheRjt8UZg8U3NvAo0O/cyHVDWtyhJGSU5ELFYE1y1j+gw+LsE3sUmWlY7O5oIm0glUVoXyTPFh1ao9XHeEOGHndG7MU+ReTGum0DrRQ3ITS36aXYDzNiH5oMEc=;24:qK0qlyv54jn76oNLW5Q+3OOUM4JfgdVcdkmByDpxI3YF7ACsI+3eYiHF5tWYgs6mUaVM4yLHmwZcA6sGVzQCMEqNgDnJ1lb1yrtR5u4CoYE=;7:kYn8HZjRedoeZxRVd3sRb5hTeDQAVu5Y1f95+Vr8tALEmXlnjpsofyeaJjKohqI9yGiHeFdxj/06bTUA9GCrX9d9U+QJ9TU8yPidKeYOU8SySDmUMs922Ukedkqw8fr1RSFpnPROWcVJ5vZZFP41JXgT/+3jONG/qFyCqQkIXzzhBIQxDjCmp4KusMZjolidQvnwYzPIPDj/2w/DKS5LIzSz+tFEPTyARphynDrG2qFbiPj23z8BByDpT5moxU8u SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2018 23:35:21.3416 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b7df47f8-837e-4f49-c7ee-08d55e02fa41 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2464 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 17 Jan 2018 12:41:56 -0800 Nicolin Chen wrote: > On Wed, Jan 17, 2018 at 09:03:48AM +0000, Marc Zyngier wrote: > > > > So ignoring a condition for a Thumb instruction may cause its IT > > > scope shifting. For ARM mode, the only penalty could be two Rts > > > getting written -- which shouldn't corrupt userspace execution. > > > > > > Please correct me if I am wrong or not thorough. > > > > Consider the following: > > > > mov r0, #0 > > mov r1, #0 > > cmp r1, #3 > > mrrceq r0, r1, cntvct // simplified version > > > > Oh look, you've corrupted r0 and r1, which should never have be > > changed. Whatever uses the content r0 and r1 after the mrrc will > > misbehave. How is that an acceptable behaviour? How do you expect > > userspace to cope with such a brain damage? > > > > If you intend to emulate the CPU, you must emulate it fully, to the > > letter of the architecture. No ifs, no buts. > > Thanks for the explain. I see the point here. > > I saw your version for arm64 compat doesn't check if (rt != 31) > as MRS handler does. Is there any reason for that? Um, perhaps because it's *compat*? How do you envision an AArch32 MR{R}C instruction targeting r31, exactly? ;) Robin.