{"id":2175648,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2175648/?format=json","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.0/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"},"msgid":"<20251219-pgtable_check_v18rebase-v18-11-755bc151a50b@linux.ibm.com>","date":"2025-12-18T17:09:43","name":"[v18,11/12] powerpc/mm: Use set_pte_at_unchecked() for internal usages","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"c4b83d622547405436eea2da03a2ad11a4a4c578","submitter":{"id":76551,"url":"http://patchwork.ozlabs.org/api/1.0/people/76551/?format=json","name":"Andrew Donnellan","email":"ajd@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20251219-pgtable_check_v18rebase-v18-11-755bc151a50b@linux.ibm.com/mbox/","series":[{"id":485885,"url":"http://patchwork.ozlabs.org/api/1.0/series/485885/?format=json","date":"2025-12-18T17:09:32","name":"Support page table check on PowerPC","version":18,"mbox":"http://patchwork.ozlabs.org/series/485885/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2175648/checks/","tags":{},"headers":{"Return-Path":"\n <linuxppc-dev+bounces-14879-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=Hqxvb+yw;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-14879-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.158.5","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=Hqxvb+yw;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.158.5; helo=mx0b-001b2d01.pphosted.com;\n envelope-from=ajd@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dXHJg1mdSz1y2F\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 19 Dec 2025 04:11:47 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dXHJM5sVLz2yG5;\n\tFri, 19 Dec 2025 04:11:31 +1100 (AEDT)","from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4dXHJL6zJYz2yFp\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 19 Dec 2025 04:11:30 +1100 (AEDT)","from pps.filterd (m0356516.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id\n 5BIEfoMV009416;\n\tThu, 18 Dec 2025 17:11:16 GMT","from pps.reinject (localhost [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4b0wjqb7t1-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:16 +0000 (GMT)","from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1])\n\tby pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5BIH2cRD017879;\n\tThu, 18 Dec 2025 17:11:15 GMT","from ppma12.dal12v.mail.ibm.com\n (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4b0wjqb7sv-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:15 +0000 (GMT)","from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma12.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 5BIGsMSa026753;\n\tThu, 18 Dec 2025 17:11:14 GMT","from smtprelay06.dal12v.mail.ibm.com ([172.16.1.8])\n\tby ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 4b1jfssujg-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:14 +0000","from smtpav03.dal12v.mail.ibm.com (smtpav03.dal12v.mail.ibm.com\n [10.241.53.102])\n\tby smtprelay06.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 5BIHBDnl28967584\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tThu, 18 Dec 2025 17:11:13 GMT","from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 89E0258060;\n\tThu, 18 Dec 2025 17:11:13 +0000 (GMT)","from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 9430B5803F;\n\tThu, 18 Dec 2025 17:11:06 +0000 (GMT)","from jarvis.ozlabs.ibm.com (unknown [9.36.16.51])\n\tby smtpav03.dal12v.mail.ibm.com (Postfix) with ESMTP;\n\tThu, 18 Dec 2025 17:11:06 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1766077891;\n\tcv=none;\n b=YpcQ9GL7Nsmyxw0rY007mZl83OO9KOtsUEJg1PIhV7BGH8rGsioISzdOw77GgjdHo8AVYGpn4u8F75Yyy3kXpuqpGpQGxxVJOrYTIQl4/fV1kJ+v3OYkp1bSfYogoctYivFZd4JZyhFAqxwpNE0DoBlJJ6cDdBQSVBhPxnlylIMFwERr2QXI1nU/lz/o+INpBD0r9PLlItm6zyhB8HRMj6rz+oB1yTIiVFulffi+Z4v+jcVXewAPpzBKsxg+V0HEzM83kUhGvKGlXnsq605yFthBUBCvhA8Nv5lve40HfQ7PZa0/RrC11zvjd0v42Knv8gIJ1m/Mn/dqOAg1l0qNWg==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1766077891; c=relaxed/relaxed;\n\tbh=GfwtXDCEJm8cvlfmVNc4fL2Fitd4EzM+yfjeybY/948=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=Lhtj5JRrBFYUeiWkX+UNpJiA6hpLqy8yZhBoUXspgXEyHvu7zm0MO0tc9MAvaOwaHuVkbn3oKzCehXb36Mdq10/3Nmre9PL+++W24Qt0Rh+a5BDS+EmNwp0LK9VTVAok9Xsgo05YM4wr7pkoJ7IDPMYzNSsr16zJHokPBetTirAifEdmvkVYv2U6v7vv/oRP38tWpwWkecqPUnJRWvEyLon80jagebjN5W3ZRi6fq1XBMZepPIp09bWA7nyRD10Wly8BPND27ZQqMc2DO/27H4HptWQ92+5m7r1Wnlj100b8++XmheUkVcl/rRi6dSSWqQLEghC2wWBhbCn6G4inTQ==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=Hqxvb+yw; dkim-atps=neutral;\n spf=pass (client-ip=148.163.158.5; helo=mx0b-001b2d01.pphosted.com;\n envelope-from=ajd@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=pp1; bh=GfwtXD\n\tCEJm8cvlfmVNc4fL2Fitd4EzM+yfjeybY/948=; b=Hqxvb+ywV2tHBHPTgWmxns\n\t7l7FKid2EdtRutwHNyA29MPIVztScKFqZjj5qEf3DqQGXUEyi4TU5QUBSFXJTTHt\n\tkn5DG7WM+Hvcw77d/nUK1wKGkVB0sBhENxZrpbexsjtecKUE95uS7br3vgxQFpcf\n\t8w80kj0Hpi4NedOcbE2nYYPlDxQLMuEpsY/KS1Gkzp41a5MIktup2V+/wV8bk1wI\n\tZXz4hbIagEs6JcY19sy2czPiuDLWopTXFaCc933tjcPRPtm9IApibXScID6k+mPl\n\tq+ljiZ8VCNCpHqN9Yixnhmlbi2yR5sQLVfPbGo8eIjvVb/7gUqiAAUw1/kxvja0w\n\t==","From":"Andrew Donnellan <ajd@linux.ibm.com>","Date":"Fri, 19 Dec 2025 04:09:43 +1100","Subject":"[PATCH v18 11/12] powerpc/mm: Use set_pte_at_unchecked() for\n internal usages","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"\n <20251219-pgtable_check_v18rebase-v18-11-755bc151a50b@linux.ibm.com>","References":"\n <20251219-pgtable_check_v18rebase-v18-0-755bc151a50b@linux.ibm.com>","In-Reply-To":"\n <20251219-pgtable_check_v18rebase-v18-0-755bc151a50b@linux.ibm.com>","To":"linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org,\n        Pasha Tatashin <pasha.tatashin@soleen.com>,\n        Andrew Morton <akpm@linux-foundation.org>,\n        Madhavan Srinivasan <maddy@linux.ibm.com>,\n        Nicholas Piggin <npiggin@gmail.com>,\n Rohan McLure <rmclure@nvidia.com>,\n        Christophe Leroy <chleroy@kernel.org>","Cc":"Alexandre Ghiti <alex@ghiti.fr>, x86@kernel.org,\n        Nicholas Miehlbradt <nicholas@linux.ibm.com>,\n        Sweet Tea Dorminy <sweettea-kernel@dorminy.me>,\n        Andrew Donnellan <andrew+kernel@donnellan.id.au>,\n        Srish Srinivasan <ssrish@linux.ibm.com>,\n        linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org,\n        linux-riscv@lists.infradead.org","X-Mailer":"b4 0.14.2","X-TM-AS-GCONF":"00","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjUxMjEzMDAwMSBTYWx0ZWRfX7WA0zvymjrXP\n kkkyNkQMoOITPYFqQzNf60nZNHi4DxVM7xSOerwoMAigbQZT4WjTiW+xvpneVNoGDuIc8Xl9M8j\n oWblLRTwY/680juxgDDBwgKXlAsmhQMhp2TsZ1mRDNPjv9lu/Np4JRJBlx0Km2Z42lU4JWeb0wN\n kGGxJ7rhaOrgyvwzOldDPQonSKQyN6Nu9FyQMqy6l/4CcD3eV+9ZC4PjuNE679817B5xxby+FPl\n +btBqejvw25KSUPRempzqQMS7Ke8kvgTw8Ga2n0SRqxhbeqUriHqxI3sm7dtVIinUIV+S1Senzz\n KVuEIEdnZcVU4vKCHb72yrWxIEAiJzPRacLj0YTmjl4xEtqMXSYvK9TKfA5BuzD2zU2cJl7xSgE\n hQ/rEOJRhOatlgsrjrzgevjkC3Y2Lg==","X-Proofpoint-GUID":"FjpAoXxzFXTmJRHeXfVAqFZig_vzMo_E","X-Proofpoint-ORIG-GUID":"jusM1y8-Ly8Qd_yXg4Kunas8nxO5gDlO","X-Authority-Analysis":"v=2.4 cv=Kq5AGGWN c=1 sm=1 tr=0 ts=694435b4 cx=c_pps\n a=bLidbwmWQ0KltjZqbj+ezA==:117 a=bLidbwmWQ0KltjZqbj+ezA==:17\n a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=VkNPw1HP01LnGYTKEx00:22\n a=VnNF1IyMAAAA:8 a=aAuIek1P640J7jK5_TAA:9 a=QEXdDO2ut3YA:10","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49\n definitions=2025-12-18_02,2025-12-17_02,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n suspectscore=0 malwarescore=0 impostorscore=0 clxscore=1015 spamscore=0\n priorityscore=1501 lowpriorityscore=0 bulkscore=0 phishscore=0 adultscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2512130001","X-Spam-Status":"No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"From: Rohan McLure <rmclure@linux.ibm.com>\n\nIn the new set_ptes() API, set_pte_at() (a special case of set_ptes())\nis intended to be instrumented by the page table check facility. There\nare however several other routines that constitute the API for setting\npage table entries, including set_pmd_at() among others. Such routines\nare themselves implemented in terms of set_ptes_at().\n\nA future patch providing support for page table checking on powerpc\nmust take care to avoid duplicate calls to\npage_table_check_p{te,md,ud}_set(). Allow for assignment of pte entries\nwithout instrumentation through the set_pte_at_unchecked() routine\nintroduced in this patch.\n\nCause API-facing routines that call set_pte_at() to instead call\nset_pte_at_unchecked(), which will remain uninstrumented by page\ntable check. set_ptes() is itself implemented by calls to\n__set_pte_at(), so this eliminates redundant code.\n\n[ajd@linux.ibm.com: don't change to unchecked for early boot/kernel mappings]\nSigned-off-by: Rohan McLure <rmclure@linux.ibm.com>\nSigned-off-by: Andrew Donnellan <ajd@linux.ibm.com>\nAcked-by: Madhavan Srinivasan <maddy@linux.ibm.com>\n---\nv13: don't use the unchecked version for early-boot kernel mappings (Pasha)\n---\n arch/powerpc/include/asm/pgtable.h       | 2 ++\n arch/powerpc/mm/book3s64/pgtable.c       | 6 +++---\n arch/powerpc/mm/book3s64/radix_pgtable.c | 6 +++---\n arch/powerpc/mm/pgtable.c                | 8 ++++++++\n 4 files changed, 16 insertions(+), 6 deletions(-)","diff":"diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h\nindex 859cdbaa54a7fa159d5bbd4653f7871381f4910f..dcd3a88caaf634fef26fa57f5b8852274e0d4cb5 100644\n--- a/arch/powerpc/include/asm/pgtable.h\n+++ b/arch/powerpc/include/asm/pgtable.h\n@@ -34,6 +34,8 @@ struct mm_struct;\n void set_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep,\n \t\tpte_t pte, unsigned int nr);\n #define set_ptes set_ptes\n+void set_pte_at_unchecked(struct mm_struct *mm, unsigned long addr,\n+\t\t\t  pte_t *ptep, pte_t pte);\n #define update_mmu_cache(vma, addr, ptep) \\\n \tupdate_mmu_cache_range(NULL, vma, addr, ptep, 1)\n \ndiff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c\nindex e3485db7de027cc6a20ffb5a80dbdc53261ebb3e..97db2f42ea3d3bd476d0ef03da47ff325eb73db9 100644\n--- a/arch/powerpc/mm/book3s64/pgtable.c\n+++ b/arch/powerpc/mm/book3s64/pgtable.c\n@@ -127,7 +127,7 @@ void set_pmd_at(struct mm_struct *mm, unsigned long addr,\n \tWARN_ON(!(pmd_leaf(pmd)));\n #endif\n \ttrace_hugepage_set_pmd(addr, pmd_val(pmd));\n-\treturn set_pte_at(mm, addr, pmdp_ptep(pmdp), pmd_pte(pmd));\n+\treturn set_pte_at_unchecked(mm, addr, pmdp_ptep(pmdp), pmd_pte(pmd));\n }\n \n void set_pud_at(struct mm_struct *mm, unsigned long addr,\n@@ -144,7 +144,7 @@ void set_pud_at(struct mm_struct *mm, unsigned long addr,\n \tWARN_ON(!(pud_leaf(pud)));\n #endif\n \ttrace_hugepage_set_pud(addr, pud_val(pud));\n-\treturn set_pte_at(mm, addr, pudp_ptep(pudp), pud_pte(pud));\n+\treturn set_pte_at_unchecked(mm, addr, pudp_ptep(pudp), pud_pte(pud));\n }\n \n static void do_serialize(void *arg)\n@@ -550,7 +550,7 @@ void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr,\n \tif (radix_enabled())\n \t\treturn radix__ptep_modify_prot_commit(vma, addr,\n \t\t\t\t\t\t      ptep, old_pte, pte);\n-\tset_pte_at(vma->vm_mm, addr, ptep, pte);\n+\tset_pte_at_unchecked(vma->vm_mm, addr, ptep, pte);\n }\n \n #ifdef CONFIG_TRANSPARENT_HUGEPAGE\ndiff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c\nindex 73977dbabcf2615252f82a09b97f719b7fe68164..b2541bf33d01cbb59562866d844354b39b14a86c 100644\n--- a/arch/powerpc/mm/book3s64/radix_pgtable.c\n+++ b/arch/powerpc/mm/book3s64/radix_pgtable.c\n@@ -1606,7 +1606,7 @@ void radix__ptep_modify_prot_commit(struct vm_area_struct *vma,\n \t    (atomic_read(&mm->context.copros) > 0))\n \t\tradix__flush_tlb_page(vma, addr);\n \n-\tset_pte_at(mm, addr, ptep, pte);\n+\tset_pte_at_unchecked(mm, addr, ptep, pte);\n }\n \n int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)\n@@ -1617,7 +1617,7 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)\n \tif (!radix_enabled())\n \t\treturn 0;\n \n-\tset_pte_at(&init_mm, 0 /* radix unused */, ptep, new_pud);\n+\tset_pte_at_unchecked(&init_mm, 0 /* radix unused */, ptep, new_pud);\n \n \treturn 1;\n }\n@@ -1664,7 +1664,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)\n \tif (!radix_enabled())\n \t\treturn 0;\n \n-\tset_pte_at(&init_mm, 0 /* radix unused */, ptep, new_pmd);\n+\tset_pte_at_unchecked(&init_mm, 0 /* radix unused */, ptep, new_pmd);\n \n \treturn 1;\n }\ndiff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c\nindex 56d7e8960e77d877390d6bcbf0d8a305cc222101..7b69cd16e011c31fffac2439a76ba20e00fc9a78 100644\n--- a/arch/powerpc/mm/pgtable.c\n+++ b/arch/powerpc/mm/pgtable.c\n@@ -224,6 +224,14 @@ void set_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep,\n \t}\n }\n \n+void set_pte_at_unchecked(struct mm_struct *mm, unsigned long addr,\n+\t\t\t  pte_t *ptep, pte_t pte)\n+{\n+\tVM_WARN_ON(pte_hw_valid(*ptep) && !pte_protnone(*ptep));\n+\tpte = set_pte_filter(pte, addr);\n+\t__set_pte_at(mm, addr, ptep, pte, 0);\n+}\n+\n void unmap_kernel_page(unsigned long va)\n {\n \tpmd_t *pmdp = pmd_off_k(va);\n","prefixes":["v18","11/12"]}