{"id":2223928,"url":"http://patchwork.ozlabs.org/api/patches/2223928/?format=json","web_url":"http://patchwork.ozlabs.org/project/kvm-riscv/patch/20260416115439.58042-1-cuitao@kylinos.cn/","project":{"id":70,"url":"http://patchwork.ozlabs.org/api/projects/70/?format=json","name":"Linux KVM RISC-V","link_name":"kvm-riscv","list_id":"kvm-riscv.lists.infradead.org","list_email":"kvm-riscv@lists.infradead.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"http://lists.infradead.org/pipermail/kvm-riscv/","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260416115439.58042-1-cuitao@kylinos.cn>","list_archive_url":null,"date":"2026-04-16T11:54:39","name":"[2/2] riscv: mm: use pXX_none() instead of raw pXX_val() == 0 checks","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"190a3c4d6edc5cb7892e34ee7e215d5a6eae17ae","submitter":{"id":93168,"url":"http://patchwork.ozlabs.org/api/people/93168/?format=json","name":"cuitao","email":"cuitao@kylinos.cn"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/kvm-riscv/patch/20260416115439.58042-1-cuitao@kylinos.cn/mbox/","series":[{"id":500141,"url":"http://patchwork.ozlabs.org/api/series/500141/?format=json","web_url":"http://patchwork.ozlabs.org/project/kvm-riscv/list/?series=500141","date":"2026-04-16T11:54:39","name":null,"version":1,"mbox":"http://patchwork.ozlabs.org/series/500141/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223928/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223928/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=ppmWCJYN;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=temperror (SPF Temporary Error: DNS Timeout)\n smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133;\n helo=bombadil.infradead.org;\n envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxGg707plz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 21:55:23 +1000 (AEST)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wDLJS-00000002PcX-3xVN;\n\tThu, 16 Apr 2026 11:55:14 +0000","from mailgw.kylinos.cn ([124.126.103.232])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wDLJP-00000002Pc9-2BfL\n\tfor kvm-riscv@lists.infradead.org;\n\tThu, 16 Apr 2026 11:55:13 +0000","from ctao-book.. [(183.242.174.20)] by mailgw.kylinos.cn\n\t(envelope-from <cuitao@kylinos.cn>)\n\t(Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256)\n\twith ESMTP id 1208771587; Thu, 16 Apr 2026 19:55:01 +0800"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc\n\t:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=7t1Rtg60ivIi7QfbrKAS4ey5GrNfVzck8YxwNsFXSz8=; b=ppmWCJYNvkLe79\n\tgVZ1Zz2b9FJlK0/+ZFdaeZvnzFljtnzFo5cf5030OegNKLNJ+akbpBhRFUqUnoiJUXTq2TzxI2mM5\n\t8pGESCvHFT4hhmAJnMZC6mWYDyvRjt1VghJH+sDZ9Hr+A51xGOqHqy0VKlsSiO87ZeLocBuyj1YbL\n\t2uI1Q/qyNlS7OQU2YOIz7O8yvdljg8AXcq5F1vUqnK+OoGa7Tjg80UADago5HWLlHe7wTNVJ5ZlcI\n\tg5fQkYPzbrhOabBeevZTnbNUTET4LB6crlb+JHYlx+2BDZl7D45P9JhXm5pDiHfT2ycwq26CX1e5c\n\tPlTg6Lv82VoOgg24C7Lg==;","X-UUID":["198fefbe398b11f1aa26b74ffac11d73-20260416","198fefbe398b11f1aa26b74ffac11d73-20260416"],"X-CTIC-Tags":"HR_CC_COUNT, HR_CC_DOMAIN_COUNT, HR_CC_NAME, HR_CC_NO_NAME,\n HR_CTE_8B\n\tHR_CTT_MISS, HR_DATE_H, HR_DATE_WKD, HR_DATE_ZONE, HR_FROM_NAME\n\tHR_SJ_DIGIT_LEN, HR_SJ_LANG, HR_SJ_LEN, HR_SJ_LETTER, HR_SJ_NOR_SYM\n\tHR_SJ_PHRASE, HR_SJ_PHRASE_LEN, HR_SJ_WS, HR_TO_COUNT, HR_TO_DOMAIN_COUNT\n\tHR_TO_NO_NAME, IP_TRUSTED, SRC_TRUSTED, DN_TRUSTED, SA_EXISTED\n\tSN_EXISTED, SPF_NOPASS, DKIM_NOPASS, DMARC_NOPASS, CIE_BAD\n\tCIE_GOOD, CIE_GOOD_SPF, GTI_FG_BS, GTI_RG_INFO, GTI_C_BU\n\tAMN_GOOD, ABX_MISS_RDNS","X-CID-P-RULE":"Release_Ham","X-CID-O-INFO":"VERSION:1.3.12,REQID:98a00aad-e37c-45f3-b942-030825a6e46f,IP:10,\n\tURL:0,TC:0,Content:0,EDM:0,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACTIO\n\tN:release,TS:5","X-CID-INFO":"VERSION:1.3.12,REQID:98a00aad-e37c-45f3-b942-030825a6e46f,IP:10,UR\n\tL:0,TC:0,Content:0,EDM:0,RT:0,SF:-5,FILE:0,BULK:0,RULE:Release_Ham,ACTION:\n\trelease,TS:5","X-CID-META":"VersionHash:e7bac3a,CLOUDID:16a0a90abc718f0981839f4f3e1b20ae,BulkI\n\tD:260416195506DHI8S6TB,BulkQuantity:0,Recheck:0,SF:17|19|38|66|78|102|127|\n\t898,TC:nil,Content:0|15|50,EDM:-3,IP:-2,URL:0,File:nil,RT:nil,Bulk:nil,QS:\n\tnil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,AR\n\tC:0","X-CID-BVR":"2,SSN|SDN","X-CID-BAS":"2,SSN|SDN,0,_","X-CID-FACTOR":"TF_CID_SPAM_SNR,TF_CID_SPAM_FAS,TF_CID_SPAM_FSD","X-CID-RHF":"D41D8CD98F00B204E9800998ECF8427E","X-User":"cuitao@kylinos.cn","From":"cuitao <cuitao@kylinos.cn>","To":"pjw@kernel.org,\n\tpalmer@dabbelt.com,\n\taou@eecs.berkeley.edu,\n\tkvm-riscv@lists.infradead.org","Cc":"alex@ghiti.fr,\n\takpm@linux-foundation.org,\n\trppt@kernel.org,\n\tkevin.brodsky@arm.com,\n\tcuitao <cuitao@kylinos.cn>","Subject":"[PATCH 2/2] riscv: mm: use pXX_none() instead of raw pXX_val() == 0\n checks","Date":"Thu, 16 Apr 2026 19:54:39 +0800","Message-ID":"<20260416115439.58042-1-cuitao@kylinos.cn>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20260416_045511_895526_89AE263A ","X-CRM114-Status":"UNSURE (   7.54  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-1.9 (-)","X-Spam-Report":"Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam.  The original\n message has been attached to this so you can view it or label\n similar future email.  If you have any questions, see\n the administrator of that system for details.\n Content preview:  The page table entry empty checks in create_pud_mapping,\n create_p4d_mapping,\n    and create_pgd_mapping use open-coded pud_val()/p4d_val()/pgd_val()\n comparisons\n    against zero, while create_pmd_mapping and [...]\n Content analysis details:   (-1.9 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n  0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE: The\n                             query to Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                        [124.126.103.232 listed in\n sa-trusted.bondedsender.org]\n  0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n                              Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                             [124.126.103.232 listed in\n sa-accredit.habeas.com]\n  0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n                              Validity was blocked.  See\n                             https://knowledge.validity.com/hc/en-us/articles/20961730681243\n                              for more information.\n                           [124.126.103.232 listed in\n bl.score.senderscore.com]\n -0.0 SPF_PASS               SPF: sender matches SPF record\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]\n  0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay\n lines","X-BeenThere":"kvm-riscv@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"<kvm-riscv.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/kvm-riscv/>","List-Post":"<mailto:kvm-riscv@lists.infradead.org>","List-Help":"<mailto:kvm-riscv-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"kvm-riscv\" <kvm-riscv-bounces@lists.infradead.org>","Errors-To":"kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"The page table entry empty checks in create_pud_mapping,\ncreate_p4d_mapping, and create_pgd_mapping use open-coded\npud_val()/p4d_val()/pgd_val() comparisons against zero, while\ncreate_pmd_mapping and create_pte_mapping use the proper pmd_none()\nand pte_none() helpers.\n\nUsing pXX_none() is the canonical and portable way to check for empty\nentries.\n\nSigned-off-by: cuitao <cuitao@kylinos.cn>\n---\n arch/riscv/mm/init.c | 12 ++++++------\n 1 file changed, 6 insertions(+), 6 deletions(-)","diff":"diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c\nindex 811e03786c56..33af0958a65d 100644\n--- a/arch/riscv/mm/init.c\n+++ b/arch/riscv/mm/init.c\n@@ -638,12 +638,12 @@ static void __meminit create_pud_mapping(pud_t *pudp, uintptr_t va, phys_addr_t\n \tuintptr_t pud_index = pud_index(va);\n \n \tif (sz == PUD_SIZE) {\n-\t\tif (pud_val(pudp[pud_index]) == 0)\n+\t\tif (pud_none(pudp[pud_index]))\n \t\t\tpudp[pud_index] = pfn_pud(PFN_DOWN(pa), prot);\n \t\treturn;\n \t}\n \n-\tif (pud_val(pudp[pud_index]) == 0) {\n+\tif (pud_none(pudp[pud_index])) {\n \t\tnext_phys = pt_ops.alloc_pmd(va);\n \t\tpudp[pud_index] = pfn_pud(PFN_DOWN(next_phys), PAGE_TABLE);\n \t\tnextp = pt_ops.get_pmd_virt(next_phys);\n@@ -664,12 +664,12 @@ static void __meminit create_p4d_mapping(p4d_t *p4dp, uintptr_t va, phys_addr_t\n \tuintptr_t p4d_index = p4d_index(va);\n \n \tif (sz == P4D_SIZE) {\n-\t\tif (p4d_val(p4dp[p4d_index]) == 0)\n+\t\tif (p4d_none(p4dp[p4d_index]))\n \t\t\tp4dp[p4d_index] = pfn_p4d(PFN_DOWN(pa), prot);\n \t\treturn;\n \t}\n \n-\tif (p4d_val(p4dp[p4d_index]) == 0) {\n+\tif (p4d_none(p4dp[p4d_index])) {\n \t\tnext_phys = pt_ops.alloc_pud(va);\n \t\tp4dp[p4d_index] = pfn_p4d(PFN_DOWN(next_phys), PAGE_TABLE);\n \t\tnextp = pt_ops.get_pud_virt(next_phys);\n@@ -721,12 +721,12 @@ void __meminit create_pgd_mapping(pgd_t *pgdp, uintptr_t va, phys_addr_t pa, phy\n \tuintptr_t pgd_idx = pgd_index(va);\n \n \tif (sz == PGDIR_SIZE) {\n-\t\tif (pgd_val(pgdp[pgd_idx]) == 0)\n+\t\tif (pgd_none(pgdp[pgd_idx]))\n \t\t\tpgdp[pgd_idx] = pfn_pgd(PFN_DOWN(pa), prot);\n \t\treturn;\n \t}\n \n-\tif (pgd_val(pgdp[pgd_idx]) == 0) {\n+\tif (pgd_none(pgdp[pgd_idx])) {\n \t\tnext_phys = alloc_pgd_next(va);\n \t\tpgdp[pgd_idx] = pfn_pgd(PFN_DOWN(next_phys), PAGE_TABLE);\n \t\tnextp = get_pgd_next_virt(next_phys);\n","prefixes":["2/2"]}