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 40B04C47DDB for ; Thu, 1 Feb 2024 09:06:30 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=uoDwcSscD2VWT90QM7PlVsUWteeRonQwAa5PV2n52HE=; b=V8qyRPC+R/YAU2 lmlCdq0kuHtwKl1Eh1W7aPfWOkuN5FYVNhYwLKTE0fk56HlwlkdUXMm+Qdw9iWJHbm7c7tP5oizY2 Rop2Hw5ArMQTVaGQIyng42bB0S7wUkuYP1mBkI7sX+ibgcnYJiTQMGGWH7DIBAtgDO83dX8nQJgvi oXMMpVPnfoGod1M465hWAuUkm1x6+Yr1Wg7+uO1VEY5aT1dFYrsnK5uXzHre48Q6+miWyZbJR4BC+ 9vKKszlKbaTMQ0GHygX4him0dNMl90SA0CZQXzwMIb+wH6JBm+Y6jCZcZkRRyx2Vq1icNQWqsYsVU QFgkbFrGQIowywSMKFMA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rVT1T-00000007CO2-0QGl; Thu, 01 Feb 2024 09:06:15 +0000 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rVT1Q-00000007CNO-2hdL; Thu, 01 Feb 2024 09:06:13 +0000 Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 4118ORJd008043; Thu, 1 Feb 2024 09:05:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : content-transfer-encoding : in-reply-to; s=pp1; bh=rdrKscTz6Z7e6eqDuxnq4hhn6ZBfuuxOKbspA/oNIqo=; b=YaYeCcPAYyxLPnEaCFuwv8M+gQHjU1cgOPDdUZ2D78sDYCod73xLzLkOX+ugCYgL8bri Wd1El3GNYB3lUEoOUC4A6lndB2DLGU+yS4pj9dbAfmyD1+elFGfQfbZyEfi5R093yTMd my34RK9sBqMW/C1QMD5Ukc8TPs+S0XXdwO9AXZAXBsxe/ccTCSDyZjIMJIDitGIJTeYR PI2xlCGmnuJYwZF6xLQE7ZN4eN9KSo16nOMnk2+EE24rQcVzSrQclSc7JEx643Nwgunv nvE5Hemg+e1d/FLJqRZkmoP8L/T+HxWeaCakvbhsKxxPa073Bj9Tpyjvz9EQ7ZYHpdti fA== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3w05pdcae2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 01 Feb 2024 09:05:48 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 41163ZKb017772; Thu, 1 Feb 2024 09:00:47 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3vwcj038kv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 01 Feb 2024 09:00:46 +0000 Received: from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com [10.20.54.101]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 41190ivJ23790306 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 1 Feb 2024 09:00:44 GMT Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CA50920040; Thu, 1 Feb 2024 09:00:44 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 660BC20043; Thu, 1 Feb 2024 09:00:43 +0000 (GMT) Received: from linux.ibm.com (unknown [9.171.28.236]) by smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTPS; Thu, 1 Feb 2024 09:00:43 +0000 (GMT) Date: Thu, 1 Feb 2024 11:00:41 +0200 From: Mike Rapoport To: Yongqiang Liu Cc: Robin Murphy , "Russell King (Oracle)" , linux-arm-kernel@lists.infradead.org, yanaijie@huawei.com, zhangxiaoxu5@huawei.com, wangkefeng.wang@huawei.com, sunnanyong@huawei.com, linux-kernel@vger.kernel.org, keescook@chromium.org, arnd@arndb.de, m.szyprowski@samsung.com, willy@infradead.org Subject: Re: [PATCH] arm: flush: don't abuse pfn_valid() to check if pfn is in RAM Message-ID: References: <20240131125907.1006760-1-liuyongqiang13@huawei.com> <0da50102-3e87-49f7-b8f7-45cfcb4232d6@arm.com> <8b50ca93-c164-ddfc-cd79-8f8525198a96@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <8b50ca93-c164-ddfc-cd79-8f8525198a96@huawei.com> X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: S47JddwGa1Kge7YCgDxFNbzSsG5FhyUD X-Proofpoint-GUID: S47JddwGa1Kge7YCgDxFNbzSsG5FhyUD 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-01-31_10,2024-01-31_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 impostorscore=0 clxscore=1011 adultscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 mlxscore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402010073 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240201_010612_834362_8F80D131 X-CRM114-Status: GOOD ( 46.90 ) 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 SGksCgpQbGVhc2UgZG9uJ3QgdG9wLXBvc3QgdG8gTGludXggbWFpbGluZyBsaXN0cy4KCk9uIFRo dSwgRmViIDAxLCAyMDI0IGF0IDA0OjAwOjA0UE0gKzA4MDAsIFlvbmdxaWFuZyBMaXUgd3JvdGU6 Cj4gVmVyeSBhcHByZWNpYXRlIGl0IGZvciBleHRyYSBleHBsYW5hdGlvbi4gTm90aWNlIHRoYXQg Y29tbWl0IDAyNDU5MWY5YTZlMAo+IAo+ICgiYXJtOiBpb3JlbWFwOiBkb24ndCBhYnVzZSBwZm5f dmFsaWQoKSB0byBjaGVjayBpZiBwZm4gaXMgaW4gUkFNIikgdXNlCj4gCj4gbWVtYmxvY2tfaXNf bWFwX21lbW9yeSgpIGluc3RlYWQgb2YgcGZuX3ZhbGlkKCkgdG8gY2hlY2sgaWYgYSBQRk4gaXMg aW4KPiAKPiBSQU0gb3Igbm90LCBzbyBJIHdyb3RlIHRoZSBwYXRjaCB0byBzb2x2ZSB0aGlzIGNh c2UuwqAgT3RoZXJ3aXNlLCB3aGVuIHdlCj4gCj4gdXNlIHBhZ2VibG9jayBhbGlnbig0TSkgYWRk cmVzcyBvZiBtZW1vcnkgb3IgdWlvLCBsaWtlIDoKPiAKPiDCoMKgwqDCoCBub2RlwqDCoCAwOiBb bWVtIDB4MDAwMDAwMDBjMGMwMDAwMC0weDAwMDAwMDAwY2M4ZmZmZmZdCj4gwqDCoMKgwqAgbm9k ZcKgwqAgMDogW21lbSAweDAwMDAwMDAwZDAwMDAwMDAtMHgwMDAwMDAwMGRhMWZmZmZmXQo+IAo+ IG9yIHVpbyBhZGRyZXNzIHNldCBsaWtlOgo+IAo+IMKgwqAgMHhjMDQwMDAwMCwgMHgxMDAwMDAK PiAKPiB0aGUgcGZuX3ZhbGlkIHdpbGwgcmV0dXJuIGZhbHNlIGFzIG1lbWJsb2NrX2lzX21hcF9t ZW1vcnkuCgpwZm5fdmFsaWQoKSBzaG91bGQgcmV0dXJuIGZhbHNlIGlmIGFuZCBvbmx5IGlmIHRo ZXJlIGlzIG5vIHN0cnVjdCBwYWdlIGZvcgp0aGF0IHBmbi4KCk15IHVuZGVyc3RhbmRpbmcgaXMg dGhhdCBzdHJ1Y3QgcGFnZXMgZXhpc3QgZm9yIHRoZSByYW5nZSBvZiBVSU8gYWRkcmVzc2VzLAph bmQgaG9wZWZ1bGx5IHRoZXkgaGF2ZSBQR19yZXNlcnZlZCBiaXQgc2V0LCBzbyBhIGJldHRlciBm aXggSU1PIHdvdWxkIGJlCnRvIGNoZWNrIGlmIHRoZSBmb2xpbyBpcyAhcmVzZXJ2ZWQuCiAKPiDl nKggMjAyNC8yLzEgNToyMCwgUm9iaW4gTXVycGh5IOWGmemBkzoKPiA+IE9uIDIwMjQtMDEtMzEg NzowMCBwbSwgUnVzc2VsbCBLaW5nIChPcmFjbGUpIHdyb3RlOgo+ID4gPiBPbiBXZWQsIEphbiAz MSwgMjAyNCBhdCAwNjozOTozMVBNICswMDAwLCBSb2JpbiBNdXJwaHkgd3JvdGU6Cj4gPiA+ID4g T24gMzEvMDEvMjAyNCAxMjo1OSBwbSwgWW9uZ3FpYW5nIExpdSB3cm90ZToKPiA+ID4gPiA+IEBA IC0yOTIsNyArMjkzLDcgQEAgdm9pZCBfX3N5bmNfaWNhY2hlX2RjYWNoZShwdGVfdCBwdGV2YWwp Cj4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBvbmx5IGZsdXNoIG5vbi1hbGlhc2lu ZyBWSVBUIGNhY2hlcyBmb3IgZXhlYyBtYXBwaW5ncyAqLwo+ID4gPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0dXJuOwo+ID4gPiA+ID4gwqDCoMKgwqDCoMKgIHBmbiA9IHB0ZV9wZm4ocHRl dmFsKTsKPiA+ID4gPiA+IC3CoMKgwqAgaWYgKCFwZm5fdmFsaWQocGZuKSkKPiA+ID4gPiA+ICvC oMKgwqAgaWYgKCFtZW1ibG9ja19pc19tYXBfbWVtb3J5KFBGTl9QSFlTKHBmbikpKQo+ID4gPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+ID4gPiA+ID4gwqDCoMKgwqDCoMKgIGZv bGlvID0gcGFnZV9mb2xpbyhwZm5fdG9fcGFnZShwZm4pKTsKPiA+ID4gPiAKPiA+ID4gPiBIbW0s IGl0J3MgYSBiaXQgb2RkIGluIGNvbnRleHQsIHNpbmNlIHBmbl92YWxpZCgpIG9idmlvdXNseQo+ ID4gPiA+IHBhaXJzIHdpdGggdGhpcwo+ID4gPiA+IHBmbl90b19wYWdlKCksIHdoZXJlYXMgaXQn cyBub3QgbmVjZXNzYXJpbHkgY2xlYXIgdGhhdAo+ID4gPiA+IG1lbWJsb2NrX2lzX21hcF9tZW1v cnkoKSBpbXBsaWVzIHBmbl92YWxpZCgpLgo+ID4gPiA+IAo+ID4gPiA+IEhvd2V2ZXIsIGluIHRo aXMgY2FzZSB3ZSdyZSBzdGFydGluZyBmcm9tIGEgUFRFIC0gcmF0aGVyIHRoYW4KPiA+ID4gPiBn b2luZyBvZmYgdG8KPiA+ID4gPiBkbyBhIHNsb3cgc2NhbiBvZiBtZW1ibG9jayB0byBkZXRlcm1p bmUgd2hldGhlciBhIHJvdW5kLXRyaXAgdGhyb3VnaAo+ID4gPiA+IHBhZ2VfYWRkcmVzcygpIGlz IGdvaW5nIHRvIGdpdmUgYmFjayBhIG1hcHBlZCBWQSwgY2FuIHdlIG5vdCB0cml2aWFsbHkKPiA+ ID4gPiBpZGVudGlmeSB0aGF0IGZyb20gd2hldGhlciB0aGUgUFRFIGl0c2VsZiBpcyB2YWxpZD8K PiA+ID4gCj4gPiA+IERlcGVuZHMgd2hhdCB5b3UgbWVhbiBieSAidmFsaWQiLiBJZiB5b3UncmUg cmVmZXJyaW5nIHRvIHB0ZV92YWxpZCgpCj4gPiA+IGFuZCBMX1BURV9WQUxJRCB0aGVuIG5vLgo+ ID4gPiAKPiA+ID4gT24gMzItYml0IG5vbi1MUEFFLCB0aGUgdmFsaWQgYml0IGlzIHRoZSBzYW1l IGFzIHRoZSBwcmVzZW50IGJpdCwgYW5kCj4gPiA+IG5lZWRzIHRvIGJlIHNldCBmb3IgdGhlIFBU RSB0byBub3QgZmF1bHQuIEFueSBQVEUgdGhhdCBpcyBtYXBwaW5nCj4gPiA+IHNvbWV0aGluZyB3 aWxsIGJlICJ2YWxpZCIgd2hldGhlciBpdCBpcyBtZW1vcnkgb3Igbm90LCB3aGV0aGVyIGl0IGlz Cj4gPiA+IGJhY2tlZCBieSBhIHBhZ2Ugb3Igbm90Lgo+ID4gPiAKPiA+ID4gcGZuX3ZhbGlkKCkg c2hvdWxkIGJlIHRlbGxpbmcgdXMgd2hldGhlciB0aGUgUEZOIGlzIHN1aXRhYmxlIHRvIGJlCj4g PiA+IHBhc3NlZCB0byBwZm5fdG9fcGFnZSgpLCBhbmQgaWYgd2UgaGF2ZSBhIHNpdHVhdGlvbiB3 aGVyZSBwZm5fdmFsaWQoKQo+ID4gPiByZXR1cm5zIHRydWUsIGJ1dCBwZm5fdG9fcGFnZSgpIHJl dHVybnMgYW4gaW52YWxpZCBwYWdlLCB0aGVuIHRoYXQgaW4KPiA+ID4gaXRzZWxmIGlzIGEgYnVn IHRoYXQgbmVlZHMgdG8gYmUgZml4ZWQgYW5kIHByb2JhYmx5IGhhcyBmYXIgcmVhY2hpbmcKPiA+ ID4gaW1wbGljYXRpb25zIGZvciB0aGUgc3RhYmlsaXR5IG9mIHRoZSBrZXJuZWwuCj4gPiAKPiA+ IFJpZ2h0LCB0aGUgcHJvYmxlbSBoZXJlIHNlZW1zIHRvIGJlIHRoZSBvcHBvc2l0ZSBvbmUsIHdo ZXJlaW4gd2UgKmRvKgo+ID4gb2Z0ZW4gaGF2ZSBhIHZhbGlkIHN0cnVjdCBwYWdlIGZvciBhbiBh ZGRyZXNzIHdoaWNoIGlzIHJlc2VydmVkIGFuZCB0aHVzCj4gPiBub3QgbWFwcGVkIGJ5IHRoZSBr ZXJuZWwsIGJ1dCBzZWVtaW5nbHkgd2UgdGhlbiB0YWtlIGl0IGRvd24gYSBwYXRoCj4gPiB3aGlj aCBhc3N1bWVzIGFueXRoaW5nICFQYWdlSGlnaG1lbSgpIGlzIGxvd21lbSBhbmQgZGVyZWZlcmVu Y2VzCj4gPiBwYWdlX2FkZHJlc3MoKSB3aXRob3V0IGxvb2tpbmcuCj4gPiAKPiA+IEhvd2V2ZXIg SSByZWFsaXNlIEkgc2hvdWxkIGhhdmUgbG9va2VkIGNsb3NlciBhdCB0aGUgY2FsbGVyLCBhbmQg bXkgaWRlYQo+ID4gaXMgZnV0aWxlIHNpbmNlIHRoZSBQVEUgaGVyZSBpcyBmb3IgYSB1c2Vyc3Bh Y2UgbWFwcGluZywgbm90IGEga2VybmVsCj4gPiBWQSwgYW5kIGlzIGFscmVhZHkgcHRlX3ZhbGlk X3VzZXIoKSAmJiAhcHRlX3NwZWNpYWwoKS4gUGx1cyB0aGUgZmFjdAo+ID4gdGhhdCB0aGUgc3Rh Y2sgdHJhY2UgaW5kaWNhdGVzIGFuIG1tYXAoKSBwYXRoIHN1Z2dlc3RzIGl0IG1vc3QgbGlrZWx5 IGlzCj4gPiBhIGxlZ2l0aW1hdGUgbWFwcGluZyBvZiBzb21lIG5vLW1hcCBjYXJ2ZW91dCBvciBN TUlPIHJlZ2lvbi4gT2ggd2VsbC4gTXkKPiA+IGZpcnN0IHBvaW50IHN0aWxsIHN0YW5kcywgdGhv dWdoIC0gSSB0aGluayBhdCBsZWFzdCBhIGNvbW1lbnQgdG8gY2xhcmlmeQo+ID4gdGhhdCBhc3N1 bXB0aW9uIHdvdWxkIGJlIHdhcnJhbnRlZC4KPiA+IAo+ID4gVGhhbmtzLAo+ID4gUm9iaW4uCj4g PiAuCgotLSAKU2luY2VyZWx5IHlvdXJzLApNaWtlLgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 061F4158D8E for ; Thu, 1 Feb 2024 09:06:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706778379; cv=none; b=AJdcyYjIpS3evUUaEj/jqiE0Aua/a4e2v/vuyyWqlMLqdkzDTM3Pnk04DQdXYOedfWW1GCg1ZLxlACNEWEiR65zuRuhKjRTzI/8CHMu8L0+kzBIuiVNL4Zc8LLtUXRxW3YaeRi7SGzSP05YFpqRGvOgfhSeT8xTqtfxgQIAP+FE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706778379; c=relaxed/simple; bh=BRIzbWWN4qRwdJsCPOqQTbDAV3TiwA8Kww9EHf4ujwA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Bhrk7Hr+uybBV+z41SEar+edwTC5lZm23VZcsIyNSkxBxQR1w5e++/YxpPw+9ftiNLLx7eOOg4uFyLOYIRo+vp+6EP/cWxZ1yRGJN9sEtr/E7q4uEZ/2u1bJwfc9SMf2K+shyB1rlBWFiCvw4yG4w/RV3K1jwg/Pd8pjNcMPKr4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=YaYeCcPA; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="YaYeCcPA" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 4118ORJd008043; Thu, 1 Feb 2024 09:05:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : content-transfer-encoding : in-reply-to; s=pp1; bh=rdrKscTz6Z7e6eqDuxnq4hhn6ZBfuuxOKbspA/oNIqo=; b=YaYeCcPAYyxLPnEaCFuwv8M+gQHjU1cgOPDdUZ2D78sDYCod73xLzLkOX+ugCYgL8bri Wd1El3GNYB3lUEoOUC4A6lndB2DLGU+yS4pj9dbAfmyD1+elFGfQfbZyEfi5R093yTMd my34RK9sBqMW/C1QMD5Ukc8TPs+S0XXdwO9AXZAXBsxe/ccTCSDyZjIMJIDitGIJTeYR PI2xlCGmnuJYwZF6xLQE7ZN4eN9KSo16nOMnk2+EE24rQcVzSrQclSc7JEx643Nwgunv nvE5Hemg+e1d/FLJqRZkmoP8L/T+HxWeaCakvbhsKxxPa073Bj9Tpyjvz9EQ7ZYHpdti fA== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3w05pdcae2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 01 Feb 2024 09:05:48 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 41163ZKb017772; Thu, 1 Feb 2024 09:00:47 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3vwcj038kv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 01 Feb 2024 09:00:46 +0000 Received: from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com [10.20.54.101]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 41190ivJ23790306 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 1 Feb 2024 09:00:44 GMT Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CA50920040; Thu, 1 Feb 2024 09:00:44 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 660BC20043; Thu, 1 Feb 2024 09:00:43 +0000 (GMT) Received: from linux.ibm.com (unknown [9.171.28.236]) by smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTPS; Thu, 1 Feb 2024 09:00:43 +0000 (GMT) Date: Thu, 1 Feb 2024 11:00:41 +0200 From: Mike Rapoport To: Yongqiang Liu Cc: Robin Murphy , "Russell King (Oracle)" , linux-arm-kernel@lists.infradead.org, yanaijie@huawei.com, zhangxiaoxu5@huawei.com, wangkefeng.wang@huawei.com, sunnanyong@huawei.com, linux-kernel@vger.kernel.org, keescook@chromium.org, arnd@arndb.de, m.szyprowski@samsung.com, willy@infradead.org Subject: Re: [PATCH] arm: flush: don't abuse pfn_valid() to check if pfn is in RAM Message-ID: References: <20240131125907.1006760-1-liuyongqiang13@huawei.com> <0da50102-3e87-49f7-b8f7-45cfcb4232d6@arm.com> <8b50ca93-c164-ddfc-cd79-8f8525198a96@huawei.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8b50ca93-c164-ddfc-cd79-8f8525198a96@huawei.com> X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: S47JddwGa1Kge7YCgDxFNbzSsG5FhyUD X-Proofpoint-GUID: S47JddwGa1Kge7YCgDxFNbzSsG5FhyUD 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-01-31_10,2024-01-31_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 impostorscore=0 clxscore=1011 adultscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 mlxscore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402010073 Hi, Please don't top-post to Linux mailing lists. On Thu, Feb 01, 2024 at 04:00:04PM +0800, Yongqiang Liu wrote: > Very appreciate it for extra explanation. Notice that commit 024591f9a6e0 > > ("arm: ioremap: don't abuse pfn_valid() to check if pfn is in RAM") use > > memblock_is_map_memory() instead of pfn_valid() to check if a PFN is in > > RAM or not, so I wrote the patch to solve this case.  Otherwise, when we > > use pageblock align(4M) address of memory or uio, like : > >      node   0: [mem 0x00000000c0c00000-0x00000000cc8fffff] >      node   0: [mem 0x00000000d0000000-0x00000000da1fffff] > > or uio address set like: > >    0xc0400000, 0x100000 > > the pfn_valid will return false as memblock_is_map_memory. pfn_valid() should return false if and only if there is no struct page for that pfn. My understanding is that struct pages exist for the range of UIO addresses, and hopefully they have PG_reserved bit set, so a better fix IMO would be to check if the folio is !reserved. > 在 2024/2/1 5:20, Robin Murphy 写道: > > On 2024-01-31 7:00 pm, Russell King (Oracle) wrote: > > > On Wed, Jan 31, 2024 at 06:39:31PM +0000, Robin Murphy wrote: > > > > On 31/01/2024 12:59 pm, Yongqiang Liu wrote: > > > > > @@ -292,7 +293,7 @@ void __sync_icache_dcache(pte_t pteval) > > > > >            /* only flush non-aliasing VIPT caches for exec mappings */ > > > > >            return; > > > > >        pfn = pte_pfn(pteval); > > > > > -    if (!pfn_valid(pfn)) > > > > > +    if (!memblock_is_map_memory(PFN_PHYS(pfn))) > > > > >            return; > > > > >        folio = page_folio(pfn_to_page(pfn)); > > > > > > > > Hmm, it's a bit odd in context, since pfn_valid() obviously > > > > pairs with this > > > > pfn_to_page(), whereas it's not necessarily clear that > > > > memblock_is_map_memory() implies pfn_valid(). > > > > > > > > However, in this case we're starting from a PTE - rather than > > > > going off to > > > > do a slow scan of memblock to determine whether a round-trip through > > > > page_address() is going to give back a mapped VA, can we not trivially > > > > identify that from whether the PTE itself is valid? > > > > > > Depends what you mean by "valid". If you're referring to pte_valid() > > > and L_PTE_VALID then no. > > > > > > On 32-bit non-LPAE, the valid bit is the same as the present bit, and > > > needs to be set for the PTE to not fault. Any PTE that is mapping > > > something will be "valid" whether it is memory or not, whether it is > > > backed by a page or not. > > > > > > pfn_valid() should be telling us whether the PFN is suitable to be > > > passed to pfn_to_page(), and if we have a situation where pfn_valid() > > > returns true, but pfn_to_page() returns an invalid page, then that in > > > itself is a bug that needs to be fixed and probably has far reaching > > > implications for the stability of the kernel. > > > > Right, the problem here seems to be the opposite one, wherein we *do* > > often have a valid struct page for an address which is reserved and thus > > not mapped by the kernel, but seemingly we then take it down a path > > which assumes anything !PageHighmem() is lowmem and dereferences > > page_address() without looking. > > > > However I realise I should have looked closer at the caller, and my idea > > is futile since the PTE here is for a userspace mapping, not a kernel > > VA, and is already pte_valid_user() && !pte_special(). Plus the fact > > that the stack trace indicates an mmap() path suggests it most likely is > > a legitimate mapping of some no-map carveout or MMIO region. Oh well. My > > first point still stands, though - I think at least a comment to clarify > > that assumption would be warranted. > > > > Thanks, > > Robin. > > . -- Sincerely yours, Mike.