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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BBF7CC54E67 for ; Thu, 28 Mar 2024 05:44:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AxC4MaS+nED3AYofpbFTxOR+voIOScSN/eb+tKOluvg=; b=RqDoCE7n2n6UCz QW53BvkXgvW+flj1+2j9Mu/Nfz3wX2lH7kEtaJGOHyjYogdpm8a2EZFguUMq0VyaXLzjg4SSNHtiS XYbSEPJxbWD0yxU+8X//n3N5d9UeQBN1jlNBf2dDYn2buQoTYsErHp18+sNmTNtgBqJiEk6mgbmO9 JvwvFlL+LwGHuA7Wpq7W0CVRhcVUsZwdk/7Z6tlxwiMBmA53SEMv1mYp44vcOKrDDTMwIxtlHhUIC kjl+D7szcXkbt6l2Bi+BNODIR9/DgMig3gAMGFg1Zv4VUpyEGBsxLjchk4k01hhAlTFlqkFL6CZOE Y+kd12hTVhP9Ig9FwrzA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpiZE-0000000CbHS-2upl; Thu, 28 Mar 2024 05:44:48 +0000 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpiZA-0000000CbGX-2LWF; Thu, 28 Mar 2024 05:44:45 +0000 Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4SIqh013913; Thu, 28 Mar 2024 05:44:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : subject : from : to : cc : date : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=pp1; bh=j0SWms8hODj0cUzE9l0AaXEGYpd3vYPfb3RMtj2pLNY=; b=RDR/iIjfEk0SJAnO9sYtDRf/fCuthJ1wBEqMaB8Fb9xjGQpYmlVmxUOQvpLyPK6GOJBs vtw3wKzpo/+B8O7S55UCTCoFvX2f25u54RLP/618T9QBAgTqIHj9gycBsJWRhuJJQYKL hjVZW7fx6PHWzZU9ea9bjzRKQ5SJz3d1lgzmgmcKsXh8L/p0uXmlqu6lyzatmUGdsUjy z5tFSTweHYAR9a3sxvOGIcxbyqA9sDWbqWSyjsEhZxB6+pFPpVDWEew+NZlxRVLGaaA1 yAifRtS0jWfGVt/B9gFqq/gwQBHqneyXJzDXObojM1Gga0dRDzWCuRLzmhznKAhe2IDl YA== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3x51hj05b9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:32 +0000 Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4oUhs028623; Thu, 28 Mar 2024 05:44:30 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3x2adpkjhp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:30 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 42S5iQZR16056650 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 28 Mar 2024 05:44:28 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D5672004E; Thu, 28 Mar 2024 05:44:26 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B90332004B; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from [9.66.88.97] (unknown [9.66.88.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id A2EBF60112; Thu, 28 Mar 2024 16:44:18 +1100 (AEDT) Message-ID: <2f25b9a2ec5d8b0fb4020e4f2e699ee067496b0a.camel@linux.ibm.com> Subject: Re: [PATCH v11 09/11] poweprc: mm: Implement *_user_accessible_page() for ptes From: Rohan McLure To: Christophe Leroy , "linuxppc-dev@lists.ozlabs.org" Cc: "mpe@ellerman.id.au" , "linux-mm@kvack.org" , "linux-riscv@lists.infradead.org" , "linux-arm-kernel@lists.infradead.org" , "x86@kernel.org" Date: Thu, 28 Mar 2024 16:44:13 +1100 In-Reply-To: <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> References: <20240328045535.194800-3-rmclure@linux.ibm.com> <20240328045535.194800-12-rmclure@linux.ibm.com> <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-ORIG-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-28_04,2024-03-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 adultscore=0 mlxlogscore=845 bulkscore=0 impostorscore=0 mlxscore=0 clxscore=1015 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2403210000 definitions=main-2403280034 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240327_224444_615854_37F4C7D8 X-CRM114-Status: GOOD ( 39.27 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVGh1LCAyMDI0LTAzLTI4IGF0IDA1OjQwICswMDAwLCBDaHJpc3RvcGhlIExlcm95IHdyb3Rl Ogo+IAo+IAo+IExlIDI4LzAzLzIwMjQgw6AgMDU6NTUsIFJvaGFuIE1jTHVyZSBhIMOpY3JpdMKg Ogo+ID4gUGFnZSB0YWJsZSBjaGVja2luZyBkZXBlbmRzIG9uIGFyY2hpdGVjdHVyZXMgcHJvdmlk aW5nIGFuCj4gPiBpbXBsZW1lbnRhdGlvbiBvZiBwe3RlLG1kLHVkfV91c2VyX2FjY2Vzc2libGVf cGFnZS4gV2l0aAo+ID4gcmVmYWN0b3Jpc2F0aW9ucyBtYWRlIG9uIHBvd2VycGMvbW0sIHRoZSBw dGVfYWNjZXNzX3Blcm1pdHRlZCgpIGFuZAo+ID4gc2ltaWxhciBtZXRob2RzIHZlcmlmeSB3aGV0 aGVyIGEgdXNlcmxhbmQgcGFnZSBpcyBhY2Nlc3NpYmxlIHdpdGgKPiA+IHRoZQo+ID4gcmVxdWly ZWQgcGVybWlzc2lvbnMuCj4gPiAKPiA+IFNpbmNlIHBhZ2UgdGFibGUgY2hlY2tpbmcgaXMgdGhl IG9ubHkgdXNlciBvZgo+ID4gcHt0ZSxtZCx1ZH1fdXNlcl9hY2Nlc3NpYmxlX3BhZ2UoKSwgaW1w bGVtZW50IHRoZXNlIGZvciBhbGwKPiA+IHBsYXRmb3JtcywKPiA+IHVzaW5nIHNvbWUgb2YgdGhl IHNhbWUgcHJlbGltaW5hcnkgY2hlY2tzIHRha2VuIGJ5Cj4gPiBwdGVfYWNjZXNzX3Blcm1pdHRl ZCgpCj4gPiBvbiB0aGF0IHBsYXRmb3JtLgo+ID4gCj4gPiBTaW5jZSBDb21taXQgOGU5YmQ0MWU0 Y2UxICgicG93ZXJwYy9ub2hhc2g6IFJlcGxhY2UgcHRlX3VzZXIoKSBieQo+ID4gcHRlX3JlYWQo KSIpCj4gPiBwdGVfdXNlcigpIGlzIG5vIGxvbmdlciByZXF1aXJlZCB0byBiZSBwcmVzZW50IG9u IGFsbCBwbGF0Zm9ybXMgYXMKPiA+IGl0Cj4gPiBtYXkgYmUgZXF1aXZhbGVudCB0byBvciBpbXBs aWVkIGJ5IHB0ZV9yZWFkKCkuIEhlbmNlCj4gPiBpbXBsZW1lbnRhdGlvbnMgb2YKPiA+IHB0ZV91 c2VyX2FjY2Vzc2libGVfcGFnZSgpIGFyZSBzcGVjaWFsaXNlZC4KPiA+IAo+ID4gU2lnbmVkLW9m Zi1ieTogUm9oYW4gTWNMdXJlIDxybWNsdXJlQGxpbnV4LmlibS5jb20+Cj4gPiAtLS0KPiA+IHY5 OiBOZXcgaW1wbGVtZW50YXRpb24KPiA+IHYxMDogTGV0IGJvb2szcy82NCB1c2UgcHRlX3VzZXIo KSwgYnV0IG90aGVyd2lzZSBkZWZhdWx0IG90aGVyCj4gPiBwbGF0Zm9ybXMKPiA+IHRvIHVzaW5n IHRoZSBhZGRyZXNzIHByb3ZpZGVkIHdpdGggdGhlIGNhbGwgdG8gaW5mZXIgd2hldGhlciBpdCBp cwo+ID4gYQo+ID4gdXNlciBwYWdlIG9yIG5vdC4gcG1kL3B1ZCB2YXJpYW50cyB3aWxsIHdhcm4g b24gYWxsIG90aGVyCj4gPiBwbGF0Zm9ybXMsIGFzCj4gPiB0aGV5IHNob3VsZCBub3QgYmUgdXNl ZCBmb3IgdXNlciBwYWdlIG1hcHBpbmdzCj4gPiB2MTE6IENvbmRpdGlvbmFsbHkgZGVmaW5lIHB7 bSx1fWRfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UoKSwgYXMgbm90Cj4gPiBhbGwKPiA+IHBsYXRmb3Jt cyBoYXZlIHB7bSx1fWRfbGVhZigpLCBwe20sdX1kX3B0ZSgpIHN0dWJzLgo+IAo+IFNlZSBteSBj b21tZW50IHRvIHYxMCBwYXRjaCAxMC4KPiAKPiBwe20sdX1kX2xlYWYoKSBpcyBkZWZpbmVkIGZv ciBhbGwgcGxhdGZvcm1zIChUaGVyZSBpcyBhIGZhbGxiYWNrIAo+IGRlZmluaXRpb24gaW4gaW5j bHVkZS9saW51eC9wZ3RhYmxlLmgpIHNvCj4gcHttLHV9ZF91c2VyX2FjY2Vzc2libGVfcGFnZSgp IAo+IGNhbiBiZSBkZWZpbmVkIGZvciBhbGwgcGxhdGZvcm1zLCBubyBuZWVkIGZvciBhIGNvbmRp dGlvbmFsbHkgZGVmaW5lLgoKVGhlIGlzc3VlIEkgc2VlIGlzIHRoYXQgdGhlIGRlZmluaXRpb24g aW4gaW5jbHVkZS9saW51eC9wZ3RhYmxlLmgKb2NjdXJzIGFmdGVyIHRoaXMgaGVhZGVyIGlzIGlu Y2x1ZGVkLiBQcmlvciB0byB0aGUgcmVtb3ZhbCBvZiBhIGxvY2FsCmRlZmluaXRpb24gb2YgcHtt LHV9ZF9sZWFmKCkgZXRjIHdlIGRpZG4ndCBydW4gaW50byB0aGlzIGlzc3VlLCBidXQgd2UKc3Rp bGwgZG8gbm93LgoKTm90IGluc2lzdGVudCBvbiBkb2luZyBpdCB0aGlzIHdheSB3aXRoIGlmbmRl Ziwgc28gYW1lbmFibGUgdG8Kc3VnZ2VzdGlvbnMgaWYgeW91IGhhdmUgYSBwcmVmZXJlbmNlLgoK PiAKPiA+IC0tLQo+ID4gwqAgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2szcy8zMi9wZ3Rh YmxlLmggfMKgIDUgKysrKysKPiA+IMKgIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3Mv NjQvcGd0YWJsZS5oIHwgMTcKPiA+ICsrKysrKysrKysrKysrKysrCj4gPiDCoCBhcmNoL3Bvd2Vy cGMvaW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaMKgwqDCoCB8wqAgNSArKysrKwo+ID4gwqAg YXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3BndGFibGUuaMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oCA4ICsrKysrKysrCj4gPiDCoCA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKykKPiA+ IAo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0 YWJsZS5oCj4gPiBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5o Cj4gPiBpbmRleCA1Mjk3MWVlMzA3MTcuLjgzZjdiOThlZjQ5ZiAxMDA2NDQKPiA+IC0tLSBhL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oCj4gPiArKysgYi9hcmNo L3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzMyL3BndGFibGUuaAo+ID4gQEAgLTQzNiw2ICs0 MzYsMTEgQEAgc3RhdGljIGlubGluZSBib29sIHB0ZV9hY2Nlc3NfcGVybWl0dGVkKHB0ZV90Cj4g PiBwdGUsIGJvb2wgd3JpdGUpCj4gPiDCoMKgCXJldHVybiB0cnVlOwo+ID4gwqAgfQo+ID4gwqAg Cj4gPiArc3RhdGljIGlubGluZSBib29sIHB0ZV91c2VyX2FjY2Vzc2libGVfcGFnZShwdGVfdCBw dGUsIHVuc2lnbmVkCj4gPiBsb25nIGFkZHIpCj4gPiArewo+ID4gKwlyZXR1cm4gcHRlX3ByZXNl bnQocHRlKSAmJiAhaXNfa2VybmVsX2FkZHIoYWRkcik7Cj4gPiArfQo+ID4gKwo+ID4gwqAgLyog Q29udmVyc2lvbiBmdW5jdGlvbnM6IGNvbnZlcnQgYSBwYWdlIGFuZCBwcm90ZWN0aW9uIHRvIGEg cGFnZQo+ID4gZW50cnksCj4gPiDCoMKgICogYW5kIGEgcGFnZSBlbnRyeSBhbmQgcGFnZSBkaXJl Y3RvcnkgdG8gdGhlIHBhZ2UgdGhleSByZWZlciB0by4KPiA+IMKgwqAgKgo+ID4gZGlmZiAtLWdp dCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCj4gPiBiL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCj4gPiBpbmRleCBmYWM1 NjE1ZTZiYzUuLmQ4NjQwZGRiY2FkMSAxMDA2NDQKPiA+IC0tLSBhL2FyY2gvcG93ZXJwYy9pbmNs dWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCj4gPiArKysgYi9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vYm9vazNzLzY0L3BndGFibGUuaAo+ID4gQEAgLTUzOCw2ICs1MzgsMTEgQEAgc3RhdGlj IGlubGluZSBib29sIHB0ZV9hY2Nlc3NfcGVybWl0dGVkKHB0ZV90Cj4gPiBwdGUsIGJvb2wgd3Jp dGUpCj4gPiDCoMKgCXJldHVybiBhcmNoX3B0ZV9hY2Nlc3NfcGVybWl0dGVkKHB0ZV92YWwocHRl KSwgd3JpdGUsIDApOwo+ID4gwqAgfQo+ID4gwqAgCj4gPiArc3RhdGljIGlubGluZSBib29sIHB0 ZV91c2VyX2FjY2Vzc2libGVfcGFnZShwdGVfdCBwdGUsIHVuc2lnbmVkCj4gPiBsb25nIGFkZHIp Cj4gPiArewo+ID4gKwlyZXR1cm4gcHRlX3ByZXNlbnQocHRlKSAmJiBwdGVfdXNlcihwdGUpOwo+ ID4gK30KPiA+ICsKPiA+IMKgIC8qCj4gPiDCoMKgICogQ29udmVyc2lvbiBmdW5jdGlvbnM6IGNv bnZlcnQgYSBwYWdlIGFuZCBwcm90ZWN0aW9uIHRvIGEgcGFnZQo+ID4gZW50cnksCj4gPiDCoMKg ICogYW5kIGEgcGFnZSBlbnRyeSBhbmQgcGFnZSBkaXJlY3RvcnkgdG8gdGhlIHBhZ2UgdGhleSBy ZWZlciB0by4KPiA+IEBAIC0xNDQxLDUgKzE0NDYsMTcgQEAgc3RhdGljIGlubGluZSBib29sIHB1 ZF9sZWFmKHB1ZF90IHB1ZCkKPiA+IMKgwqAJcmV0dXJuICEhKHB1ZF9yYXcocHVkKSAmIGNwdV90 b19iZTY0KF9QQUdFX1BURSkpOwo+ID4gwqAgfQo+ID4gwqAgCj4gPiArI2RlZmluZSBwbWRfdXNl cl9hY2Nlc3NpYmxlX3BhZ2UgcG1kX3VzZXJfYWNjZXNzaWJsZV9wYWdlCj4gPiArc3RhdGljIGlu bGluZSBib29sIHBtZF91c2VyX2FjY2Vzc2libGVfcGFnZShwbWRfdCBwbWQsIHVuc2lnbmVkCj4g PiBsb25nIGFkZHIpCj4gPiArewo+ID4gKwlyZXR1cm4gcG1kX2xlYWYocG1kKSAmJgo+ID4gcHRl X3VzZXJfYWNjZXNzaWJsZV9wYWdlKHBtZF9wdGUocG1kKSwgYWRkcik7Cj4gPiArfQo+ID4gKwo+ ID4gKyNkZWZpbmUgcHVkX3VzZXJfYWNjZXNzaWJsZV9wYWdlIHB1ZF91c2VyX2FjY2Vzc2libGVf cGFnZQo+ID4gK3N0YXRpYyBpbmxpbmUgYm9vbCBwdWRfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UocHVk X3QgcHVkLCB1bnNpZ25lZAo+ID4gbG9uZyBhZGRyKQo+ID4gK3sKPiA+ICsJcmV0dXJuIHB1ZF9s ZWFmKHB1ZCkgJiYKPiA+IHB0ZV91c2VyX2FjY2Vzc2libGVfcGFnZShwdWRfcHRlKHB1ZCksIGFk ZHIpOwo+ID4gK30KPiA+ICsKPiA+IMKgICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KPiA+IMKg ICNlbmRpZiAvKiBfQVNNX1BPV0VSUENfQk9PSzNTXzY0X1BHVEFCTEVfSF8gKi8KPiA+IGRpZmYg LS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaAo+ID4gYi9h cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaAo+ID4gaW5kZXggNDI3ZGIx NDI5MmM5Li40MTNkMDFhNTFlNmYgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vbm9oYXNoL3BndGFibGUuaAo+ID4gKysrIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNt L25vaGFzaC9wZ3RhYmxlLmgKPiA+IEBAIC0yMTMsNiArMjEzLDExIEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCBwdGVfYWNjZXNzX3Blcm1pdHRlZChwdGVfdAo+ID4gcHRlLCBib29sIHdyaXRlKQo+ID4g wqDCoAlyZXR1cm4gdHJ1ZTsKPiA+IMKgIH0KPiA+IMKgIAo+ID4gK3N0YXRpYyBpbmxpbmUgYm9v bCBwdGVfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UocHRlX3QgcHRlLCB1bnNpZ25lZAo+ID4gbG9uZyBh ZGRyKQo+ID4gK3sKPiA+ICsJcmV0dXJuIHB0ZV9wcmVzZW50KHB0ZSkgJiYgIWlzX2tlcm5lbF9h ZGRyKGFkZHIpOwo+ID4gK30KPiA+ICsKPiA+IMKgIC8qIENvbnZlcnNpb24gZnVuY3Rpb25zOiBj b252ZXJ0IGEgcGFnZSBhbmQgcHJvdGVjdGlvbiB0byBhIHBhZ2UKPiA+IGVudHJ5LAo+ID4gwqDC oCAqIGFuZCBhIHBhZ2UgZW50cnkgYW5kIHBhZ2UgZGlyZWN0b3J5IHRvIHRoZSBwYWdlIHRoZXkg cmVmZXIgdG8uCj4gPiDCoMKgICoKPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vcGd0YWJsZS5oCj4gPiBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgK PiA+IGluZGV4IGVlOGM4MmMwNTI4Zi4uZjFjZWFlNzc4Y2IxIDEwMDY0NAo+ID4gLS0tIGEvYXJj aC9wb3dlcnBjL2luY2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gKysrIGIvYXJjaC9wb3dlcnBjL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gQEAgLTIxOSw2ICsyMTksMTQgQEAgc3RhdGljIGlubGlu ZSBpbnQgcHVkX3BmbihwdWRfdCBwdWQpCj4gPiDCoCB9Cj4gPiDCoCAjZW5kaWYKPiA+IMKgIAo+ ID4gKyNpZm5kZWYgcG1kX3VzZXJfYWNjZXNzaWJsZV9wYWdlCj4gPiArI2RlZmluZSBwbWRfdXNl cl9hY2Nlc3NpYmxlX3BhZ2UocG1kLCBhZGRyKQlmYWxzZQo+ID4gKyNlbmRpZgo+ID4gKwo+ID4g KyNpZm5kZWYgcHVkX3VzZXJfYWNjZXNzaWJsZV9wYWdlCj4gPiArI2RlZmluZSBwdWRfdXNlcl9h Y2Nlc3NpYmxlX3BhZ2UocHVkLCBhZGRyKQlmYWxzZQo+ID4gKyNlbmRpZgo+ID4gKwo+ID4gwqAg I2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwo+ID4gwqAgCj4gPiDCoCAjZW5kaWYgLyogX0FTTV9Q T1dFUlBDX1BHVEFCTEVfSCAqLwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtcmlzY3YK 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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95A74C54E67 for ; Thu, 28 Mar 2024 05:44:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 23F5C6B0095; Thu, 28 Mar 2024 01:44:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1EFE36B0096; Thu, 28 Mar 2024 01:44:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0913C6B0098; Thu, 28 Mar 2024 01:44:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id DEC6A6B0095 for ; Thu, 28 Mar 2024 01:44:44 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 59211A0F4D for ; Thu, 28 Mar 2024 05:44:44 +0000 (UTC) X-FDA: 81945358488.23.6D809E7 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf25.hostedemail.com (Postfix) with ESMTP id EAA2AA000A for ; Thu, 28 Mar 2024 05:44:41 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="RDR/iIjf"; spf=pass (imf25.hostedemail.com: domain of rmclure@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=rmclure@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711604682; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=j0SWms8hODj0cUzE9l0AaXEGYpd3vYPfb3RMtj2pLNY=; b=l+nA1yA8yi/PGuRmmzeDbNcVuXprg4+MNzRXf0w5P+pivvbi+ZWOzbgQzAAjwNRGE7876B z1JS/tHD2PiywDliuqEtK/3VreylS5TGTQB7JERR44Y20zAZLhp2urKr+/KgA6fiHeRlb2 elQkYzWOJT5G6U18l3FF3H2v7Hg/uWs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711604682; a=rsa-sha256; cv=none; b=HBjepSi81k2hD4q68SovQOS/LI+YUz4hYIMWT+8/BZH2PrAYCb6I97HXWZS+Pag+FkCLu6 ekACI8ZzVta9SGlPyAhLqMyye7h/c31IWa8TDN5HNKTwPPZEJWOQPuVPrPdle1SefuoYQx C1K0i5EaP6lKDmGjWKqV3+CBmR8+/8M= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="RDR/iIjf"; spf=pass (imf25.hostedemail.com: domain of rmclure@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=rmclure@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4SIqh013913; Thu, 28 Mar 2024 05:44:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : subject : from : to : cc : date : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=pp1; bh=j0SWms8hODj0cUzE9l0AaXEGYpd3vYPfb3RMtj2pLNY=; b=RDR/iIjfEk0SJAnO9sYtDRf/fCuthJ1wBEqMaB8Fb9xjGQpYmlVmxUOQvpLyPK6GOJBs vtw3wKzpo/+B8O7S55UCTCoFvX2f25u54RLP/618T9QBAgTqIHj9gycBsJWRhuJJQYKL hjVZW7fx6PHWzZU9ea9bjzRKQ5SJz3d1lgzmgmcKsXh8L/p0uXmlqu6lyzatmUGdsUjy z5tFSTweHYAR9a3sxvOGIcxbyqA9sDWbqWSyjsEhZxB6+pFPpVDWEew+NZlxRVLGaaA1 yAifRtS0jWfGVt/B9gFqq/gwQBHqneyXJzDXObojM1Gga0dRDzWCuRLzmhznKAhe2IDl YA== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3x51hj05b9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:32 +0000 Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4oUhs028623; Thu, 28 Mar 2024 05:44:30 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3x2adpkjhp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:30 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 42S5iQZR16056650 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 28 Mar 2024 05:44:28 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D5672004E; Thu, 28 Mar 2024 05:44:26 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B90332004B; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from [9.66.88.97] (unknown [9.66.88.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id A2EBF60112; Thu, 28 Mar 2024 16:44:18 +1100 (AEDT) Message-ID: <2f25b9a2ec5d8b0fb4020e4f2e699ee067496b0a.camel@linux.ibm.com> Subject: Re: [PATCH v11 09/11] poweprc: mm: Implement *_user_accessible_page() for ptes From: Rohan McLure To: Christophe Leroy , "linuxppc-dev@lists.ozlabs.org" Cc: "mpe@ellerman.id.au" , "linux-mm@kvack.org" , "linux-riscv@lists.infradead.org" , "linux-arm-kernel@lists.infradead.org" , "x86@kernel.org" Date: Thu, 28 Mar 2024 16:44:13 +1100 In-Reply-To: <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> References: <20240328045535.194800-3-rmclure@linux.ibm.com> <20240328045535.194800-12-rmclure@linux.ibm.com> <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-ORIG-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-28_04,2024-03-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 adultscore=0 mlxlogscore=845 bulkscore=0 impostorscore=0 mlxscore=0 clxscore=1015 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2403210000 definitions=main-2403280034 X-Stat-Signature: fwjhq1wocwigtnxepeaj3ichoepf1e1y X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: EAA2AA000A X-Rspam-User: X-HE-Tag: 1711604681-298808 X-HE-Meta: U2FsdGVkX19JwHdhy+7wts8Gjay6F0r4FX0krJCHsRQDepN2GYABLnY+33cZ8UoltodKUtED9/HHPomi8aRWIQTwKgKbcZ9KQB6ko9+h/csl5u/ehNk3GG2ZA0QPYF18MBKqEBMB0BUyL9thlsguspMekjMXJkeNfrUduuJbd6EAgjJKJsP5GseQoPeR2oBd9138AjZHdhWw/k9arh2rSfVj5XJXpTtPVcBnIXbhg7wA0QyEumtgS9or9C3AmdyB2lAmPPGoEP37DJ+80jov4SVRp1P0HBnHCkJB5nen6YdNI4pJ1dK/hJadQhdIs3qLlDjbLmU0Nx9eOG81rskSv9O5Z5e/Hd1Bzr9KNLlIb5ncJlsKMgYomT1OKUKC+zNcP9o7S4/jmEJx2pOat2mp7X79QuYPiya4/NqLh730QQlQQpLDctWRxjE5R5mEA3zMO9XoYzXR+Cj8AJcDKBNZTplsPkJFdQLXNwV82c/rpIS3xCABMM12gE8BRixpwHf7XxQ4TI6BoDg5Y5PdLzJuZ287WWM2R2r8kgyBG2chLtuOykfeLNj+Va0sw6OiBd8Lp6r7+vNw98q6SVQD7ImYPCgP58b1Fhfe6DK+KR6V0/OJWkOHNPJRlcPzPixn2MLAzIzryUPu1IrU1sJJVInb69pPffaKTywoApFB27zdUZrYZtMjiS1Y5srl23Ky0vhCOix63gXsJvS6idBlQ+QVmHXCkGxOAGLWM+WnM2+sHrlbC0D3o37zXLfywJDUDZDj4KNqkdEPxV1J6Rm30LNA0Ut0qbdpvn54aE8CGPeLl67CfB/h7FQ50jBvsDbTFjT9dWtcdmKqLuaGEOI75ee3zsJeLgVYbt/hhplaGvtyGpOAmLnGpFHSjuzgAoqoTb1WmZjYzZ8//WQG5Hob2fBzZYzrrA3u6CgbCu/zjPQlo5v8s0djGmUgXDAxGy9niwi73oeQyTXTIxOihNjSUxl TU988kN+ hgjkeCf9EB+tTlEVMcWH9KBDyGgR8yc04SZ/8PGtKE9Zq68SFjh6G3XKKEI87nfDzudWZmvTdftwwu9foNgFE8vID+eQpEXbh9wXRkl0Z27pdzJnRVTh4xTLiXvM+3S2Ncn+jyx7d8bgHq8sS0cGEb26CW361cUZJPeBbk8kcQVxqAS2v6C2FhPbi67LITe3q2Eu4ZeWdJp56VEGbjTKAiYxhEFooEHIBLx8qXEf9F9HzfdRwcRusn1hdVVKIYeljV8VMByXTgGXN4+mRhRZVK8I+iRMCLN3IvVS3S4jf0hT5FfIDyVPlq0du3yUsLTqrRkq8 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, 2024-03-28 at 05:40 +0000, Christophe Leroy wrote: >=20 >=20 > Le 28/03/2024 =C3=A0 05:55, Rohan McLure a =C3=A9crit=C2=A0: > > Page table checking depends on architectures providing an > > implementation of p{te,md,ud}_user_accessible_page. With > > refactorisations made on powerpc/mm, the pte_access_permitted() and > > similar methods verify whether a userland page is accessible with > > the > > required permissions. > >=20 > > Since page table checking is the only user of > > p{te,md,ud}_user_accessible_page(), implement these for all > > platforms, > > using some of the same preliminary checks taken by > > pte_access_permitted() > > on that platform. > >=20 > > Since Commit 8e9bd41e4ce1 ("powerpc/nohash: Replace pte_user() by > > pte_read()") > > pte_user() is no longer required to be present on all platforms as > > it > > may be equivalent to or implied by pte_read(). Hence > > implementations of > > pte_user_accessible_page() are specialised. > >=20 > > Signed-off-by: Rohan McLure > > --- > > v9: New implementation > > v10: Let book3s/64 use pte_user(), but otherwise default other > > platforms > > to using the address provided with the call to infer whether it is > > a > > user page or not. pmd/pud variants will warn on all other > > platforms, as > > they should not be used for user page mappings > > v11: Conditionally define p{m,u}d_user_accessible_page(), as not > > all > > platforms have p{m,u}d_leaf(), p{m,u}d_pte() stubs. >=20 > See my comment to v10 patch 10. >=20 > p{m,u}d_leaf() is defined for all platforms (There is a fallback=20 > definition in include/linux/pgtable.h) so > p{m,u}d_user_accessible_page()=20 > can be defined for all platforms, no need for a conditionally define. The issue I see is that the definition in include/linux/pgtable.h occurs after this header is included. Prior to the removal of a local definition of p{m,u}d_leaf() etc we didn't run into this issue, but we still do now. Not insistent on doing it this way with ifndef, so amenable to suggestions if you have a preference. >=20 > > --- > > =C2=A0 arch/powerpc/include/asm/book3s/32/pgtable.h |=C2=A0 5 +++++ > > =C2=A0 arch/powerpc/include/asm/book3s/64/pgtable.h | 17 > > +++++++++++++++++ > > =C2=A0 arch/powerpc/include/asm/nohash/pgtable.h=C2=A0=C2=A0=C2=A0 |=C2= =A0 5 +++++ > > =C2=A0 arch/powerpc/include/asm/pgtable.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 8 ++++++++ > > =C2=A0 4 files changed, 35 insertions(+) > >=20 > > diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h > > b/arch/powerpc/include/asm/book3s/32/pgtable.h > > index 52971ee30717..83f7b98ef49f 100644 > > --- a/arch/powerpc/include/asm/book3s/32/pgtable.h > > +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h > > @@ -436,6 +436,11 @@ static inline bool pte_access_permitted(pte_t > > pte, bool write) > > =C2=A0=C2=A0 return true; > > =C2=A0 } > > =C2=A0=20 > > +static inline bool pte_user_accessible_page(pte_t pte, unsigned > > long addr) > > +{ > > + return pte_present(pte) && !is_kernel_addr(addr); > > +} > > + > > =C2=A0 /* Conversion functions: convert a page and protection to a page > > entry, > > =C2=A0=C2=A0 * and a page entry and page directory to the page they ref= er to. > > =C2=A0=C2=A0 * > > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h > > b/arch/powerpc/include/asm/book3s/64/pgtable.h > > index fac5615e6bc5..d8640ddbcad1 100644 > > --- a/arch/powerpc/include/asm/book3s/64/pgtable.h > > +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h > > @@ -538,6 +538,11 @@ static inline bool pte_access_permitted(pte_t > > pte, bool write) > > =C2=A0=C2=A0 return arch_pte_access_permitted(pte_val(pte), write, 0); > > =C2=A0 } > > =C2=A0=20 > > +static inline bool pte_user_accessible_page(pte_t pte, unsigned > > long addr) > > +{ > > + return pte_present(pte) && pte_user(pte); > > +} > > + > > =C2=A0 /* > > =C2=A0=C2=A0 * Conversion functions: convert a page and protection to a= page > > entry, > > =C2=A0=C2=A0 * and a page entry and page directory to the page they ref= er to. > > @@ -1441,5 +1446,17 @@ static inline bool pud_leaf(pud_t pud) > > =C2=A0=C2=A0 return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); > > =C2=A0 } > > =C2=A0=20 > > +#define pmd_user_accessible_page pmd_user_accessible_page > > +static inline bool pmd_user_accessible_page(pmd_t pmd, unsigned > > long addr) > > +{ > > + return pmd_leaf(pmd) && > > pte_user_accessible_page(pmd_pte(pmd), addr); > > +} > > + > > +#define pud_user_accessible_page pud_user_accessible_page > > +static inline bool pud_user_accessible_page(pud_t pud, unsigned > > long addr) > > +{ > > + return pud_leaf(pud) && > > pte_user_accessible_page(pud_pte(pud), addr); > > +} > > + > > =C2=A0 #endif /* __ASSEMBLY__ */ > > =C2=A0 #endif /* _ASM_POWERPC_BOOK3S_64_PGTABLE_H_ */ > > diff --git a/arch/powerpc/include/asm/nohash/pgtable.h > > b/arch/powerpc/include/asm/nohash/pgtable.h > > index 427db14292c9..413d01a51e6f 100644 > > --- a/arch/powerpc/include/asm/nohash/pgtable.h > > +++ b/arch/powerpc/include/asm/nohash/pgtable.h > > @@ -213,6 +213,11 @@ static inline bool pte_access_permitted(pte_t > > pte, bool write) > > =C2=A0=C2=A0 return true; > > =C2=A0 } > > =C2=A0=20 > > +static inline bool pte_user_accessible_page(pte_t pte, unsigned > > long addr) > > +{ > > + return pte_present(pte) && !is_kernel_addr(addr); > > +} > > + > > =C2=A0 /* Conversion functions: convert a page and protection to a page > > entry, > > =C2=A0=C2=A0 * and a page entry and page directory to the page they ref= er to. > > =C2=A0=C2=A0 * > > diff --git a/arch/powerpc/include/asm/pgtable.h > > b/arch/powerpc/include/asm/pgtable.h > > index ee8c82c0528f..f1ceae778cb1 100644 > > --- a/arch/powerpc/include/asm/pgtable.h > > +++ b/arch/powerpc/include/asm/pgtable.h > > @@ -219,6 +219,14 @@ static inline int pud_pfn(pud_t pud) > > =C2=A0 } > > =C2=A0 #endif > > =C2=A0=20 > > +#ifndef pmd_user_accessible_page > > +#define pmd_user_accessible_page(pmd, addr) false > > +#endif > > + > > +#ifndef pud_user_accessible_page > > +#define pud_user_accessible_page(pud, addr) false > > +#endif > > + > > =C2=A0 #endif /* __ASSEMBLY__ */ > > =C2=A0=20 > > =C2=A0 #endif /* _ASM_POWERPC_PGTABLE_H */ 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5D908C54E67 for ; Thu, 28 Mar 2024 05:44:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WrY7aEQ3m5/3utW3oXIROgjLziGFVK4oEs1SxWvWfO0=; b=0hchfz+vJEwO+z TJhAFy1vv8s183drIFb0AaCyFbUFay9eR3y+F03f40dwf8FbziNbWUWxp0fBM+Hqj6DbenVp9y1tZ Ly9+NArApq0h8T73qocpv3zAP0bc27sqeWXLl9YAAtcNp3MiAxEychvZqwuLpmhRI0a60rukjE+Pw mG5WT5693UQjtgSqG4iL2Xuu0qO4KrA6LhiXDxN+xFpukPdAMXStuq3c7skjseRC+qqnIZbDMqCwp yeki8YfSrA+ObC9stJErPKQ91sVgOHJods3lPKFQCENwml1vM4vqRsQR+B9oNL1XHl4igEbz+97JF wd12SZCF1bj8KvNl6jVA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpiZE-0000000CbHE-0NJY; Thu, 28 Mar 2024 05:44:48 +0000 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpiZA-0000000CbGX-2LWF; Thu, 28 Mar 2024 05:44:45 +0000 Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4SIqh013913; Thu, 28 Mar 2024 05:44:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : subject : from : to : cc : date : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=pp1; bh=j0SWms8hODj0cUzE9l0AaXEGYpd3vYPfb3RMtj2pLNY=; b=RDR/iIjfEk0SJAnO9sYtDRf/fCuthJ1wBEqMaB8Fb9xjGQpYmlVmxUOQvpLyPK6GOJBs vtw3wKzpo/+B8O7S55UCTCoFvX2f25u54RLP/618T9QBAgTqIHj9gycBsJWRhuJJQYKL hjVZW7fx6PHWzZU9ea9bjzRKQ5SJz3d1lgzmgmcKsXh8L/p0uXmlqu6lyzatmUGdsUjy z5tFSTweHYAR9a3sxvOGIcxbyqA9sDWbqWSyjsEhZxB6+pFPpVDWEew+NZlxRVLGaaA1 yAifRtS0jWfGVt/B9gFqq/gwQBHqneyXJzDXObojM1Gga0dRDzWCuRLzmhznKAhe2IDl YA== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3x51hj05b9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:32 +0000 Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4oUhs028623; Thu, 28 Mar 2024 05:44:30 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3x2adpkjhp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:30 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 42S5iQZR16056650 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 28 Mar 2024 05:44:28 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D5672004E; Thu, 28 Mar 2024 05:44:26 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B90332004B; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from [9.66.88.97] (unknown [9.66.88.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id A2EBF60112; Thu, 28 Mar 2024 16:44:18 +1100 (AEDT) Message-ID: <2f25b9a2ec5d8b0fb4020e4f2e699ee067496b0a.camel@linux.ibm.com> Subject: Re: [PATCH v11 09/11] poweprc: mm: Implement *_user_accessible_page() for ptes From: Rohan McLure To: Christophe Leroy , "linuxppc-dev@lists.ozlabs.org" Cc: "mpe@ellerman.id.au" , "linux-mm@kvack.org" , "linux-riscv@lists.infradead.org" , "linux-arm-kernel@lists.infradead.org" , "x86@kernel.org" Date: Thu, 28 Mar 2024 16:44:13 +1100 In-Reply-To: <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> References: <20240328045535.194800-3-rmclure@linux.ibm.com> <20240328045535.194800-12-rmclure@linux.ibm.com> <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-ORIG-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-28_04,2024-03-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 adultscore=0 mlxlogscore=845 bulkscore=0 impostorscore=0 mlxscore=0 clxscore=1015 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2403210000 definitions=main-2403280034 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240327_224444_615854_37F4C7D8 X-CRM114-Status: GOOD ( 39.27 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCAyMDI0LTAzLTI4IGF0IDA1OjQwICswMDAwLCBDaHJpc3RvcGhlIExlcm95IHdyb3Rl Ogo+IAo+IAo+IExlIDI4LzAzLzIwMjQgw6AgMDU6NTUsIFJvaGFuIE1jTHVyZSBhIMOpY3JpdMKg Ogo+ID4gUGFnZSB0YWJsZSBjaGVja2luZyBkZXBlbmRzIG9uIGFyY2hpdGVjdHVyZXMgcHJvdmlk aW5nIGFuCj4gPiBpbXBsZW1lbnRhdGlvbiBvZiBwe3RlLG1kLHVkfV91c2VyX2FjY2Vzc2libGVf cGFnZS4gV2l0aAo+ID4gcmVmYWN0b3Jpc2F0aW9ucyBtYWRlIG9uIHBvd2VycGMvbW0sIHRoZSBw dGVfYWNjZXNzX3Blcm1pdHRlZCgpIGFuZAo+ID4gc2ltaWxhciBtZXRob2RzIHZlcmlmeSB3aGV0 aGVyIGEgdXNlcmxhbmQgcGFnZSBpcyBhY2Nlc3NpYmxlIHdpdGgKPiA+IHRoZQo+ID4gcmVxdWly ZWQgcGVybWlzc2lvbnMuCj4gPiAKPiA+IFNpbmNlIHBhZ2UgdGFibGUgY2hlY2tpbmcgaXMgdGhl IG9ubHkgdXNlciBvZgo+ID4gcHt0ZSxtZCx1ZH1fdXNlcl9hY2Nlc3NpYmxlX3BhZ2UoKSwgaW1w bGVtZW50IHRoZXNlIGZvciBhbGwKPiA+IHBsYXRmb3JtcywKPiA+IHVzaW5nIHNvbWUgb2YgdGhl IHNhbWUgcHJlbGltaW5hcnkgY2hlY2tzIHRha2VuIGJ5Cj4gPiBwdGVfYWNjZXNzX3Blcm1pdHRl ZCgpCj4gPiBvbiB0aGF0IHBsYXRmb3JtLgo+ID4gCj4gPiBTaW5jZSBDb21taXQgOGU5YmQ0MWU0 Y2UxICgicG93ZXJwYy9ub2hhc2g6IFJlcGxhY2UgcHRlX3VzZXIoKSBieQo+ID4gcHRlX3JlYWQo KSIpCj4gPiBwdGVfdXNlcigpIGlzIG5vIGxvbmdlciByZXF1aXJlZCB0byBiZSBwcmVzZW50IG9u IGFsbCBwbGF0Zm9ybXMgYXMKPiA+IGl0Cj4gPiBtYXkgYmUgZXF1aXZhbGVudCB0byBvciBpbXBs aWVkIGJ5IHB0ZV9yZWFkKCkuIEhlbmNlCj4gPiBpbXBsZW1lbnRhdGlvbnMgb2YKPiA+IHB0ZV91 c2VyX2FjY2Vzc2libGVfcGFnZSgpIGFyZSBzcGVjaWFsaXNlZC4KPiA+IAo+ID4gU2lnbmVkLW9m Zi1ieTogUm9oYW4gTWNMdXJlIDxybWNsdXJlQGxpbnV4LmlibS5jb20+Cj4gPiAtLS0KPiA+IHY5 OiBOZXcgaW1wbGVtZW50YXRpb24KPiA+IHYxMDogTGV0IGJvb2szcy82NCB1c2UgcHRlX3VzZXIo KSwgYnV0IG90aGVyd2lzZSBkZWZhdWx0IG90aGVyCj4gPiBwbGF0Zm9ybXMKPiA+IHRvIHVzaW5n IHRoZSBhZGRyZXNzIHByb3ZpZGVkIHdpdGggdGhlIGNhbGwgdG8gaW5mZXIgd2hldGhlciBpdCBp cwo+ID4gYQo+ID4gdXNlciBwYWdlIG9yIG5vdC4gcG1kL3B1ZCB2YXJpYW50cyB3aWxsIHdhcm4g b24gYWxsIG90aGVyCj4gPiBwbGF0Zm9ybXMsIGFzCj4gPiB0aGV5IHNob3VsZCBub3QgYmUgdXNl ZCBmb3IgdXNlciBwYWdlIG1hcHBpbmdzCj4gPiB2MTE6IENvbmRpdGlvbmFsbHkgZGVmaW5lIHB7 bSx1fWRfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UoKSwgYXMgbm90Cj4gPiBhbGwKPiA+IHBsYXRmb3Jt cyBoYXZlIHB7bSx1fWRfbGVhZigpLCBwe20sdX1kX3B0ZSgpIHN0dWJzLgo+IAo+IFNlZSBteSBj b21tZW50IHRvIHYxMCBwYXRjaCAxMC4KPiAKPiBwe20sdX1kX2xlYWYoKSBpcyBkZWZpbmVkIGZv ciBhbGwgcGxhdGZvcm1zIChUaGVyZSBpcyBhIGZhbGxiYWNrIAo+IGRlZmluaXRpb24gaW4gaW5j bHVkZS9saW51eC9wZ3RhYmxlLmgpIHNvCj4gcHttLHV9ZF91c2VyX2FjY2Vzc2libGVfcGFnZSgp IAo+IGNhbiBiZSBkZWZpbmVkIGZvciBhbGwgcGxhdGZvcm1zLCBubyBuZWVkIGZvciBhIGNvbmRp dGlvbmFsbHkgZGVmaW5lLgoKVGhlIGlzc3VlIEkgc2VlIGlzIHRoYXQgdGhlIGRlZmluaXRpb24g aW4gaW5jbHVkZS9saW51eC9wZ3RhYmxlLmgKb2NjdXJzIGFmdGVyIHRoaXMgaGVhZGVyIGlzIGlu Y2x1ZGVkLiBQcmlvciB0byB0aGUgcmVtb3ZhbCBvZiBhIGxvY2FsCmRlZmluaXRpb24gb2YgcHtt LHV9ZF9sZWFmKCkgZXRjIHdlIGRpZG4ndCBydW4gaW50byB0aGlzIGlzc3VlLCBidXQgd2UKc3Rp bGwgZG8gbm93LgoKTm90IGluc2lzdGVudCBvbiBkb2luZyBpdCB0aGlzIHdheSB3aXRoIGlmbmRl Ziwgc28gYW1lbmFibGUgdG8Kc3VnZ2VzdGlvbnMgaWYgeW91IGhhdmUgYSBwcmVmZXJlbmNlLgoK PiAKPiA+IC0tLQo+ID4gwqAgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2szcy8zMi9wZ3Rh YmxlLmggfMKgIDUgKysrKysKPiA+IMKgIGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3Mv NjQvcGd0YWJsZS5oIHwgMTcKPiA+ICsrKysrKysrKysrKysrKysrCj4gPiDCoCBhcmNoL3Bvd2Vy cGMvaW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaMKgwqDCoCB8wqAgNSArKysrKwo+ID4gwqAg YXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3BndGFibGUuaMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oCA4ICsrKysrKysrCj4gPiDCoCA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKykKPiA+ IAo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0 YWJsZS5oCj4gPiBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5o Cj4gPiBpbmRleCA1Mjk3MWVlMzA3MTcuLjgzZjdiOThlZjQ5ZiAxMDA2NDQKPiA+IC0tLSBhL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oCj4gPiArKysgYi9hcmNo L3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzMyL3BndGFibGUuaAo+ID4gQEAgLTQzNiw2ICs0 MzYsMTEgQEAgc3RhdGljIGlubGluZSBib29sIHB0ZV9hY2Nlc3NfcGVybWl0dGVkKHB0ZV90Cj4g PiBwdGUsIGJvb2wgd3JpdGUpCj4gPiDCoMKgCXJldHVybiB0cnVlOwo+ID4gwqAgfQo+ID4gwqAg Cj4gPiArc3RhdGljIGlubGluZSBib29sIHB0ZV91c2VyX2FjY2Vzc2libGVfcGFnZShwdGVfdCBw dGUsIHVuc2lnbmVkCj4gPiBsb25nIGFkZHIpCj4gPiArewo+ID4gKwlyZXR1cm4gcHRlX3ByZXNl bnQocHRlKSAmJiAhaXNfa2VybmVsX2FkZHIoYWRkcik7Cj4gPiArfQo+ID4gKwo+ID4gwqAgLyog Q29udmVyc2lvbiBmdW5jdGlvbnM6IGNvbnZlcnQgYSBwYWdlIGFuZCBwcm90ZWN0aW9uIHRvIGEg cGFnZQo+ID4gZW50cnksCj4gPiDCoMKgICogYW5kIGEgcGFnZSBlbnRyeSBhbmQgcGFnZSBkaXJl Y3RvcnkgdG8gdGhlIHBhZ2UgdGhleSByZWZlciB0by4KPiA+IMKgwqAgKgo+ID4gZGlmZiAtLWdp dCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCj4gPiBiL2Fy Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCj4gPiBpbmRleCBmYWM1 NjE1ZTZiYzUuLmQ4NjQwZGRiY2FkMSAxMDA2NDQKPiA+IC0tLSBhL2FyY2gvcG93ZXJwYy9pbmNs dWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oCj4gPiArKysgYi9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vYm9vazNzLzY0L3BndGFibGUuaAo+ID4gQEAgLTUzOCw2ICs1MzgsMTEgQEAgc3RhdGlj IGlubGluZSBib29sIHB0ZV9hY2Nlc3NfcGVybWl0dGVkKHB0ZV90Cj4gPiBwdGUsIGJvb2wgd3Jp dGUpCj4gPiDCoMKgCXJldHVybiBhcmNoX3B0ZV9hY2Nlc3NfcGVybWl0dGVkKHB0ZV92YWwocHRl KSwgd3JpdGUsIDApOwo+ID4gwqAgfQo+ID4gwqAgCj4gPiArc3RhdGljIGlubGluZSBib29sIHB0 ZV91c2VyX2FjY2Vzc2libGVfcGFnZShwdGVfdCBwdGUsIHVuc2lnbmVkCj4gPiBsb25nIGFkZHIp Cj4gPiArewo+ID4gKwlyZXR1cm4gcHRlX3ByZXNlbnQocHRlKSAmJiBwdGVfdXNlcihwdGUpOwo+ ID4gK30KPiA+ICsKPiA+IMKgIC8qCj4gPiDCoMKgICogQ29udmVyc2lvbiBmdW5jdGlvbnM6IGNv bnZlcnQgYSBwYWdlIGFuZCBwcm90ZWN0aW9uIHRvIGEgcGFnZQo+ID4gZW50cnksCj4gPiDCoMKg ICogYW5kIGEgcGFnZSBlbnRyeSBhbmQgcGFnZSBkaXJlY3RvcnkgdG8gdGhlIHBhZ2UgdGhleSBy ZWZlciB0by4KPiA+IEBAIC0xNDQxLDUgKzE0NDYsMTcgQEAgc3RhdGljIGlubGluZSBib29sIHB1 ZF9sZWFmKHB1ZF90IHB1ZCkKPiA+IMKgwqAJcmV0dXJuICEhKHB1ZF9yYXcocHVkKSAmIGNwdV90 b19iZTY0KF9QQUdFX1BURSkpOwo+ID4gwqAgfQo+ID4gwqAgCj4gPiArI2RlZmluZSBwbWRfdXNl cl9hY2Nlc3NpYmxlX3BhZ2UgcG1kX3VzZXJfYWNjZXNzaWJsZV9wYWdlCj4gPiArc3RhdGljIGlu bGluZSBib29sIHBtZF91c2VyX2FjY2Vzc2libGVfcGFnZShwbWRfdCBwbWQsIHVuc2lnbmVkCj4g PiBsb25nIGFkZHIpCj4gPiArewo+ID4gKwlyZXR1cm4gcG1kX2xlYWYocG1kKSAmJgo+ID4gcHRl X3VzZXJfYWNjZXNzaWJsZV9wYWdlKHBtZF9wdGUocG1kKSwgYWRkcik7Cj4gPiArfQo+ID4gKwo+ ID4gKyNkZWZpbmUgcHVkX3VzZXJfYWNjZXNzaWJsZV9wYWdlIHB1ZF91c2VyX2FjY2Vzc2libGVf cGFnZQo+ID4gK3N0YXRpYyBpbmxpbmUgYm9vbCBwdWRfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UocHVk X3QgcHVkLCB1bnNpZ25lZAo+ID4gbG9uZyBhZGRyKQo+ID4gK3sKPiA+ICsJcmV0dXJuIHB1ZF9s ZWFmKHB1ZCkgJiYKPiA+IHB0ZV91c2VyX2FjY2Vzc2libGVfcGFnZShwdWRfcHRlKHB1ZCksIGFk ZHIpOwo+ID4gK30KPiA+ICsKPiA+IMKgICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KPiA+IMKg ICNlbmRpZiAvKiBfQVNNX1BPV0VSUENfQk9PSzNTXzY0X1BHVEFCTEVfSF8gKi8KPiA+IGRpZmYg LS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaAo+ID4gYi9h cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaAo+ID4gaW5kZXggNDI3ZGIx NDI5MmM5Li40MTNkMDFhNTFlNmYgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vbm9oYXNoL3BndGFibGUuaAo+ID4gKysrIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNt L25vaGFzaC9wZ3RhYmxlLmgKPiA+IEBAIC0yMTMsNiArMjEzLDExIEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCBwdGVfYWNjZXNzX3Blcm1pdHRlZChwdGVfdAo+ID4gcHRlLCBib29sIHdyaXRlKQo+ID4g wqDCoAlyZXR1cm4gdHJ1ZTsKPiA+IMKgIH0KPiA+IMKgIAo+ID4gK3N0YXRpYyBpbmxpbmUgYm9v bCBwdGVfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UocHRlX3QgcHRlLCB1bnNpZ25lZAo+ID4gbG9uZyBh ZGRyKQo+ID4gK3sKPiA+ICsJcmV0dXJuIHB0ZV9wcmVzZW50KHB0ZSkgJiYgIWlzX2tlcm5lbF9h ZGRyKGFkZHIpOwo+ID4gK30KPiA+ICsKPiA+IMKgIC8qIENvbnZlcnNpb24gZnVuY3Rpb25zOiBj b252ZXJ0IGEgcGFnZSBhbmQgcHJvdGVjdGlvbiB0byBhIHBhZ2UKPiA+IGVudHJ5LAo+ID4gwqDC oCAqIGFuZCBhIHBhZ2UgZW50cnkgYW5kIHBhZ2UgZGlyZWN0b3J5IHRvIHRoZSBwYWdlIHRoZXkg cmVmZXIgdG8uCj4gPiDCoMKgICoKPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vcGd0YWJsZS5oCj4gPiBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgK PiA+IGluZGV4IGVlOGM4MmMwNTI4Zi4uZjFjZWFlNzc4Y2IxIDEwMDY0NAo+ID4gLS0tIGEvYXJj aC9wb3dlcnBjL2luY2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gKysrIGIvYXJjaC9wb3dlcnBjL2lu Y2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gQEAgLTIxOSw2ICsyMTksMTQgQEAgc3RhdGljIGlubGlu ZSBpbnQgcHVkX3BmbihwdWRfdCBwdWQpCj4gPiDCoCB9Cj4gPiDCoCAjZW5kaWYKPiA+IMKgIAo+ ID4gKyNpZm5kZWYgcG1kX3VzZXJfYWNjZXNzaWJsZV9wYWdlCj4gPiArI2RlZmluZSBwbWRfdXNl cl9hY2Nlc3NpYmxlX3BhZ2UocG1kLCBhZGRyKQlmYWxzZQo+ID4gKyNlbmRpZgo+ID4gKwo+ID4g KyNpZm5kZWYgcHVkX3VzZXJfYWNjZXNzaWJsZV9wYWdlCj4gPiArI2RlZmluZSBwdWRfdXNlcl9h Y2Nlc3NpYmxlX3BhZ2UocHVkLCBhZGRyKQlmYWxzZQo+ID4gKyNlbmRpZgo+ID4gKwo+ID4gwqAg I2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwo+ID4gwqAgCj4gPiDCoCAjZW5kaWYgLyogX0FTTV9Q T1dFUlBDX1BHVEFCTEVfSCAqLwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK 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 Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 920D1C54E64 for ; Thu, 28 Mar 2024 05:45:33 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=RDR/iIjf; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4V4svc1cw7z3vpd for ; Thu, 28 Mar 2024 16:45:32 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=RDR/iIjf; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=rmclure@linux.ibm.com; receiver=lists.ozlabs.org) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4V4stm1vjMz2yts for ; Thu, 28 Mar 2024 16:44:47 +1100 (AEDT) Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4SIqh013913; Thu, 28 Mar 2024 05:44:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : subject : from : to : cc : date : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=pp1; bh=j0SWms8hODj0cUzE9l0AaXEGYpd3vYPfb3RMtj2pLNY=; b=RDR/iIjfEk0SJAnO9sYtDRf/fCuthJ1wBEqMaB8Fb9xjGQpYmlVmxUOQvpLyPK6GOJBs vtw3wKzpo/+B8O7S55UCTCoFvX2f25u54RLP/618T9QBAgTqIHj9gycBsJWRhuJJQYKL hjVZW7fx6PHWzZU9ea9bjzRKQ5SJz3d1lgzmgmcKsXh8L/p0uXmlqu6lyzatmUGdsUjy z5tFSTweHYAR9a3sxvOGIcxbyqA9sDWbqWSyjsEhZxB6+pFPpVDWEew+NZlxRVLGaaA1 yAifRtS0jWfGVt/B9gFqq/gwQBHqneyXJzDXObojM1Gga0dRDzWCuRLzmhznKAhe2IDl YA== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3x51hj05b9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:32 +0000 Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 42S4oUhs028623; Thu, 28 Mar 2024 05:44:30 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3x2adpkjhp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Mar 2024 05:44:30 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 42S5iQZR16056650 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 28 Mar 2024 05:44:28 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D5672004E; Thu, 28 Mar 2024 05:44:26 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B90332004B; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 28 Mar 2024 05:44:25 +0000 (GMT) Received: from [9.66.88.97] (unknown [9.66.88.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id A2EBF60112; Thu, 28 Mar 2024 16:44:18 +1100 (AEDT) Message-ID: <2f25b9a2ec5d8b0fb4020e4f2e699ee067496b0a.camel@linux.ibm.com> Subject: Re: [PATCH v11 09/11] poweprc: mm: Implement *_user_accessible_page() for ptes From: Rohan McLure To: Christophe Leroy , "linuxppc-dev@lists.ozlabs.org" Date: Thu, 28 Mar 2024 16:44:13 +1100 In-Reply-To: <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> References: <20240328045535.194800-3-rmclure@linux.ibm.com> <20240328045535.194800-12-rmclure@linux.ibm.com> <3fcc8331-28ed-458f-b7f6-ba1f161eb09e@csgroup.eu> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-ORIG-GUID: oPvmNjuTccY20fJQn4lge45k9qzXGhwL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-28_04,2024-03-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 adultscore=0 mlxlogscore=845 bulkscore=0 impostorscore=0 mlxscore=0 clxscore=1015 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2403210000 definitions=main-2403280034 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "linux-riscv@lists.infradead.org" , "x86@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-mm@kvack.org" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Thu, 2024-03-28 at 05:40 +0000, Christophe Leroy wrote: >=20 >=20 > Le 28/03/2024 =C3=A0 05:55, Rohan McLure a =C3=A9crit=C2=A0: > > Page table checking depends on architectures providing an > > implementation of p{te,md,ud}_user_accessible_page. With > > refactorisations made on powerpc/mm, the pte_access_permitted() and > > similar methods verify whether a userland page is accessible with > > the > > required permissions. > >=20 > > Since page table checking is the only user of > > p{te,md,ud}_user_accessible_page(), implement these for all > > platforms, > > using some of the same preliminary checks taken by > > pte_access_permitted() > > on that platform. > >=20 > > Since Commit 8e9bd41e4ce1 ("powerpc/nohash: Replace pte_user() by > > pte_read()") > > pte_user() is no longer required to be present on all platforms as > > it > > may be equivalent to or implied by pte_read(). Hence > > implementations of > > pte_user_accessible_page() are specialised. > >=20 > > Signed-off-by: Rohan McLure > > --- > > v9: New implementation > > v10: Let book3s/64 use pte_user(), but otherwise default other > > platforms > > to using the address provided with the call to infer whether it is > > a > > user page or not. pmd/pud variants will warn on all other > > platforms, as > > they should not be used for user page mappings > > v11: Conditionally define p{m,u}d_user_accessible_page(), as not > > all > > platforms have p{m,u}d_leaf(), p{m,u}d_pte() stubs. >=20 > See my comment to v10 patch 10. >=20 > p{m,u}d_leaf() is defined for all platforms (There is a fallback=20 > definition in include/linux/pgtable.h) so > p{m,u}d_user_accessible_page()=20 > can be defined for all platforms, no need for a conditionally define. The issue I see is that the definition in include/linux/pgtable.h occurs after this header is included. Prior to the removal of a local definition of p{m,u}d_leaf() etc we didn't run into this issue, but we still do now. Not insistent on doing it this way with ifndef, so amenable to suggestions if you have a preference. >=20 > > --- > > =C2=A0 arch/powerpc/include/asm/book3s/32/pgtable.h |=C2=A0 5 +++++ > > =C2=A0 arch/powerpc/include/asm/book3s/64/pgtable.h | 17 > > +++++++++++++++++ > > =C2=A0 arch/powerpc/include/asm/nohash/pgtable.h=C2=A0=C2=A0=C2=A0 |=C2= =A0 5 +++++ > > =C2=A0 arch/powerpc/include/asm/pgtable.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 8 ++++++++ > > =C2=A0 4 files changed, 35 insertions(+) > >=20 > > diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h > > b/arch/powerpc/include/asm/book3s/32/pgtable.h > > index 52971ee30717..83f7b98ef49f 100644 > > --- a/arch/powerpc/include/asm/book3s/32/pgtable.h > > +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h > > @@ -436,6 +436,11 @@ static inline bool pte_access_permitted(pte_t > > pte, bool write) > > =C2=A0=C2=A0 return true; > > =C2=A0 } > > =C2=A0=20 > > +static inline bool pte_user_accessible_page(pte_t pte, unsigned > > long addr) > > +{ > > + return pte_present(pte) && !is_kernel_addr(addr); > > +} > > + > > =C2=A0 /* Conversion functions: convert a page and protection to a page > > entry, > > =C2=A0=C2=A0 * and a page entry and page directory to the page they ref= er to. > > =C2=A0=C2=A0 * > > diff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h > > b/arch/powerpc/include/asm/book3s/64/pgtable.h > > index fac5615e6bc5..d8640ddbcad1 100644 > > --- a/arch/powerpc/include/asm/book3s/64/pgtable.h > > +++ b/arch/powerpc/include/asm/book3s/64/pgtable.h > > @@ -538,6 +538,11 @@ static inline bool pte_access_permitted(pte_t > > pte, bool write) > > =C2=A0=C2=A0 return arch_pte_access_permitted(pte_val(pte), write, 0); > > =C2=A0 } > > =C2=A0=20 > > +static inline bool pte_user_accessible_page(pte_t pte, unsigned > > long addr) > > +{ > > + return pte_present(pte) && pte_user(pte); > > +} > > + > > =C2=A0 /* > > =C2=A0=C2=A0 * Conversion functions: convert a page and protection to a= page > > entry, > > =C2=A0=C2=A0 * and a page entry and page directory to the page they ref= er to. > > @@ -1441,5 +1446,17 @@ static inline bool pud_leaf(pud_t pud) > > =C2=A0=C2=A0 return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); > > =C2=A0 } > > =C2=A0=20 > > +#define pmd_user_accessible_page pmd_user_accessible_page > > +static inline bool pmd_user_accessible_page(pmd_t pmd, unsigned > > long addr) > > +{ > > + return pmd_leaf(pmd) && > > pte_user_accessible_page(pmd_pte(pmd), addr); > > +} > > + > > +#define pud_user_accessible_page pud_user_accessible_page > > +static inline bool pud_user_accessible_page(pud_t pud, unsigned > > long addr) > > +{ > > + return pud_leaf(pud) && > > pte_user_accessible_page(pud_pte(pud), addr); > > +} > > + > > =C2=A0 #endif /* __ASSEMBLY__ */ > > =C2=A0 #endif /* _ASM_POWERPC_BOOK3S_64_PGTABLE_H_ */ > > diff --git a/arch/powerpc/include/asm/nohash/pgtable.h > > b/arch/powerpc/include/asm/nohash/pgtable.h > > index 427db14292c9..413d01a51e6f 100644 > > --- a/arch/powerpc/include/asm/nohash/pgtable.h > > +++ b/arch/powerpc/include/asm/nohash/pgtable.h > > @@ -213,6 +213,11 @@ static inline bool pte_access_permitted(pte_t > > pte, bool write) > > =C2=A0=C2=A0 return true; > > =C2=A0 } > > =C2=A0=20 > > +static inline bool pte_user_accessible_page(pte_t pte, unsigned > > long addr) > > +{ > > + return pte_present(pte) && !is_kernel_addr(addr); > > +} > > + > > =C2=A0 /* Conversion functions: convert a page and protection to a page > > entry, > > =C2=A0=C2=A0 * and a page entry and page directory to the page they ref= er to. > > =C2=A0=C2=A0 * > > diff --git a/arch/powerpc/include/asm/pgtable.h > > b/arch/powerpc/include/asm/pgtable.h > > index ee8c82c0528f..f1ceae778cb1 100644 > > --- a/arch/powerpc/include/asm/pgtable.h > > +++ b/arch/powerpc/include/asm/pgtable.h > > @@ -219,6 +219,14 @@ static inline int pud_pfn(pud_t pud) > > =C2=A0 } > > =C2=A0 #endif > > =C2=A0=20 > > +#ifndef pmd_user_accessible_page > > +#define pmd_user_accessible_page(pmd, addr) false > > +#endif > > + > > +#ifndef pud_user_accessible_page > > +#define pud_user_accessible_page(pud, addr) false > > +#endif > > + > > =C2=A0 #endif /* __ASSEMBLY__ */ > > =C2=A0=20 > > =C2=A0 #endif /* _ASM_POWERPC_PGTABLE_H */