Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2175647/?format=api
{ "id": 2175647, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2175647/?format=api", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/1.0/projects/2/?format=api", "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-10-755bc151a50b@linux.ibm.com>", "date": "2025-12-18T17:09:42", "name": "[v18,10/12] powerpc/mm: Implement *_user_accessible_page() for ptes", "commit_ref": null, "pull_url": null, "state": "handled-elsewhere", "archived": false, "hash": "e323c3e8f4ea470023935d3aeea673146280602b", "submitter": { "id": 76551, "url": "http://patchwork.ozlabs.org/api/1.0/people/76551/?format=api", "name": "Andrew Donnellan", "email": "ajd@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20251219-pgtable_check_v18rebase-v18-10-755bc151a50b@linux.ibm.com/mbox/", "series": [ { "id": 485885, "url": "http://patchwork.ozlabs.org/api/1.0/series/485885/?format=api", "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/2175647/checks/", "tags": {}, "headers": { "Return-Path": "\n <linuxppc-dev+bounces-14878-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=BAtA8hst;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-14878-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=BAtA8hst;\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\n [IPv6:2404:9400:21b9:f100::1])\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 4dXHJV3Hn9z1y2F\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 19 Dec 2025 04:11:38 +1100 (AEDT)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dXHJF2JXKz2yFy;\n\tFri, 19 Dec 2025 04:11:25 +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 4dXHJD3S1hz2y7c\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 19 Dec 2025 04:11:24 +1100 (AEDT)", "from pps.filterd (m0360072.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id\n 5BIEZNPe030256;\n\tThu, 18 Dec 2025 17:11:09 GMT", "from pps.reinject (localhost [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4b0yt1tvae-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:08 +0000 (GMT)", "from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1])\n\tby pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5BIGsabe010964;\n\tThu, 18 Dec 2025 17:11:08 GMT", "from ppma22.wdc07v.mail.ibm.com\n (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4b0yt1tvac-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:08 +0000 (GMT)", "from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 5BIGexh5012806;\n\tThu, 18 Dec 2025 17:11:07 GMT", "from smtprelay07.wdc07v.mail.ibm.com ([172.16.1.74])\n\tby ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4b1juyhqxc-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:07 +0000", "from smtpav03.dal12v.mail.ibm.com (smtpav03.dal12v.mail.ibm.com\n [10.241.53.102])\n\tby smtprelay07.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 5BIHB56W12976720\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tThu, 18 Dec 2025 17:11:06 GMT", "from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id D9CE458056;\n\tThu, 18 Dec 2025 17:11:05 +0000 (GMT)", "from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id CA9305803F;\n\tThu, 18 Dec 2025 17:10:58 +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:10:58 +0000 (GMT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1766077885;\n\tcv=none;\n b=BhZg4CT1ni4wX8clDoCCexa8zTLcwAz04dfEcVLW/tD4HQ8Idr5SCNtdKass7OtZvv7TdAjW4R6DrKlpY0elptanFpzyp9lMCU6dzBvKyaeZ2jaXeQM7JDbdoBp169EJkWETFi6Y2QSKO+yR+5ZDdWYrl1faCTW+d8mgHJR8vNYm2mpsFV+PTB5GKRYSUim79xZ2/wDUFCmHvD9DmOqc96MurECwWBqbrq18LnIRb663JYzGDXIZnkYg0L1J/sJkYLWfJlNcfWrWKzZaslYOoVPoQZMziwh9Lh+DGoD4P2/TFk68MFUAZjhZSr8jllhdrEdJA1+zzWP3g9AxLokRIA==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1766077885; c=relaxed/relaxed;\n\tbh=HWoSo1eEUGDSVrfx/RVD+AA0KOYlwKtsf+dOKVvgUjY=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=grNQCbRjJN5FQdnqHjGee7NH9lLV3yjGkpJ36ztLCWtALJk1kBDp8ukxzhP0PaIgi1KFzPUsAd9rJg6QWr3rkQ8IH5cx/Pl88yxRkIAHcLtMu3Sn6vU2dnxFxQHMjG0kovgByhFHHuZZhA2SQao0p88pbnG2yH3aSlYOOLUbDc8eCsXXRYUT4XcHk1uo/xIW6Ql6Hk7z4r0anNGi1KVrIlKRnoaq5zTEwp1cCZ2iOklYT7ASnBBBlZYI0vL2YrI1PDBpXDZgPwbH9H04N7JdR2OHDoNVF9xzRVOskUGCaWwRRgKtcCNGmrdlEPhcPlaquuA8eGy7/tFlR7rcJRuy1w==", "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=BAtA8hst; 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=HWoSo1\n\teEUGDSVrfx/RVD+AA0KOYlwKtsf+dOKVvgUjY=; b=BAtA8hstEV+vhLnEeZtm5C\n\tcumh0zYIFPPX7q5JRUaMApFmWtgmFYYcX37tzM49kwJrJMHj6bRR1y9uHY04FEdp\n\tdimAvAoUeUTmYR0xWGsy0keXd0aF6VhRcJH/HxwGl7LeJWh7CIg7nefLAb4CyMHH\n\t3XfUcBBsIlV0FzXMIKgfvZWW++0Oz5j+oNlJyzWYFVyzLHuYCn9rwKZixcIPfdDc\n\tFaDbS8X7TrmdKRmXQ6xmGKiyOwgQYjRGxyuzIrwgJKovKc0uPTEiQZIK65Uy7Qin\n\tYPjMqwSwHUW6f741g/VJkj/BfsU01NoWc1cjiQqpULUr0VEd7qvhGlU8gg9iWH2A\n\t==", "From": "Andrew Donnellan <ajd@linux.ibm.com>", "Date": "Fri, 19 Dec 2025 04:09:42 +1100", "Subject": "[PATCH v18 10/12] powerpc/mm: Implement *_user_accessible_page()\n for ptes", "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-10-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-GUID": "DI82VlKJCDmN1Pd4VpqGnuQlvP3qGltY", "X-Proofpoint-ORIG-GUID": "r_gWxBg_IDqgKdohby3DDkIG-C4KF7Pp", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjUxMjEzMDAyMyBTYWx0ZWRfX0L6BzOFOvPkV\n pUcjgPm04/hQlmp9r+tqBO7ugQwhcatqTUtFl+aTeQdk3yNfO+6sxXLmigbUlp0rr+C1ZT06/fU\n PltWgHhDAbjNOShp126JpSRadKmjQIexb61YQS30wrzuKuVRIrDTZLqS7UP1ypk6eFeeyBbDMRB\n JDgQXwMQUFmG4j/B37ub+goon3C4nTBCK6n6hDqzSVk9/STEktNfCJ9kCuRPYuIRp7Wi6jhlr8e\n iclP0EU0IIkMijaM00RNgsNdjmejnG2MTV8idNS4Aw1cpe6YAdFvE2VFYBc8I4YwnQdu1oAqTeA\n 6GYMRKQydRMpm/87juq75wjE5caTrypRHd2oMs4jh2UhoXG2RRGiVtoK+Ha/7gazu6RckexubBj\n sWMNW6VXdcbAucslSkKz6fwgD5xyUA==", "X-Authority-Analysis": "v=2.4 cv=L/MQguT8 c=1 sm=1 tr=0 ts=694435ac cx=c_pps\n a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17\n a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=VkNPw1HP01LnGYTKEx00:22\n a=VnNF1IyMAAAA:8 a=7ipKWUHlAAAA:8 a=wHxssy8_SbW45gVFdfIA:9 a=QEXdDO2ut3YA:10\n a=gpc5p9EgBqZVLdJeV_V1:22", "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 impostorscore=0 phishscore=0 malwarescore=0 adultscore=0 priorityscore=1501\n clxscore=1015 lowpriorityscore=0 bulkscore=0 spamscore=0 suspectscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2512130023", "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\nPage table checking depends on architectures providing an\nimplementation of p{te,md,ud}_user_accessible_page. With\nrefactorisations made on powerpc/mm, the pte_access_permitted() and\nsimilar methods verify whether a userland page is accessible with the\nrequired permissions.\n\nSince page table checking is the only user of\np{te,md,ud}_user_accessible_page(), implement these for all platforms,\nusing some of the same preliminary checks taken by pte_access_permitted()\non that platform.\n\nSince commit 8e9bd41e4ce1 (\"powerpc/nohash: Replace pte_user() by pte_read()\")\npte_user() is no longer required to be present on all platforms as it\nmay be equivalent to or implied by pte_read(). Hence implementations of\npte_user_accessible_page() are specialised.\n\n[ajd@linux.ibm.com: rebase and clean up]\nSigned-off-by: Rohan McLure <rmclure@linux.ibm.com>\nReviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>\nSigned-off-by: Andrew Donnellan <ajd@linux.ibm.com>\nAcked-by: Madhavan Srinivasan <maddy@linux.ibm.com>\n---\nv18: move the definitions of p{m,u}d_user_accessible_page() to be next to\n p{m,u}d_access_permitted()\n---\n arch/powerpc/include/asm/book3s/32/pgtable.h | 5 +++++\n arch/powerpc/include/asm/book3s/64/pgtable.h | 17 +++++++++++++++++\n arch/powerpc/include/asm/nohash/pgtable.h | 5 +++++\n arch/powerpc/include/asm/pgtable.h | 8 ++++++++\n 4 files changed, 35 insertions(+)", "diff": "diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h\nindex 87dcca962be7864be3da1e7aad0992d2bc4581cf..2edca1068b6f31e64ddc4f39f594bb3ac27a8435 100644\n--- a/arch/powerpc/include/asm/book3s/32/pgtable.h\n+++ b/arch/powerpc/include/asm/book3s/32/pgtable.h\n@@ -437,6 +437,11 @@ static inline bool pte_access_permitted(pte_t pte, bool write)\n \treturn true;\n }\n \n+static inline bool pte_user_accessible_page(pte_t pte, unsigned long addr)\n+{\n+\treturn pte_present(pte) && !is_kernel_addr(addr);\n+}\n+\n /* Conversion functions: convert a page and protection to a page entry,\n * and a page entry and page directory to the page they refer to.\n *\ndiff --git a/arch/powerpc/include/asm/book3s/64/pgtable.h b/arch/powerpc/include/asm/book3s/64/pgtable.h\nindex aac8ce30cd3b39ae184a69879a57ce8d6698fff5..2d69a827594f3c8593283fa11acd4750577e71a7 100644\n--- a/arch/powerpc/include/asm/book3s/64/pgtable.h\n+++ b/arch/powerpc/include/asm/book3s/64/pgtable.h\n@@ -539,6 +539,11 @@ static inline bool pte_access_permitted(pte_t pte, bool write)\n \treturn arch_pte_access_permitted(pte_val(pte), write, 0);\n }\n \n+static inline bool pte_user_accessible_page(pte_t pte, unsigned long addr)\n+{\n+\treturn pte_present(pte) && pte_user(pte);\n+}\n+\n /*\n * Conversion functions: convert a page and protection to a page entry,\n * and a page entry and page directory to the page they refer to.\n@@ -909,6 +914,12 @@ static inline bool pud_access_permitted(pud_t pud, bool write)\n \treturn pte_access_permitted(pud_pte(pud), write);\n }\n \n+#define pud_user_accessible_page pud_user_accessible_page\n+static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)\n+{\n+\treturn pud_leaf(pud) && pte_user_accessible_page(pud_pte(pud), addr);\n+}\n+\n #define __p4d_raw(x)\t((p4d_t) { __pgd_raw(x) })\n static inline __be64 p4d_raw(p4d_t x)\n {\n@@ -1074,6 +1085,12 @@ static inline bool pmd_access_permitted(pmd_t pmd, bool write)\n \treturn pte_access_permitted(pmd_pte(pmd), write);\n }\n \n+#define pmd_user_accessible_page pmd_user_accessible_page\n+static inline bool pmd_user_accessible_page(pmd_t pmd, unsigned long addr)\n+{\n+\treturn pmd_leaf(pmd) && pte_user_accessible_page(pmd_pte(pmd), addr);\n+}\n+\n #ifdef CONFIG_TRANSPARENT_HUGEPAGE\n extern pmd_t pfn_pmd(unsigned long pfn, pgprot_t pgprot);\n extern pud_t pfn_pud(unsigned long pfn, pgprot_t pgprot);\ndiff --git a/arch/powerpc/include/asm/nohash/pgtable.h b/arch/powerpc/include/asm/nohash/pgtable.h\nindex 5af168b7f292415c5896a5c63bd78641d9a2c2a6..9bf3e40f27b645da660cbeeb561f08eeef180b1b 100644\n--- a/arch/powerpc/include/asm/nohash/pgtable.h\n+++ b/arch/powerpc/include/asm/nohash/pgtable.h\n@@ -243,6 +243,11 @@ static inline bool pte_access_permitted(pte_t pte, bool write)\n \treturn true;\n }\n \n+static inline bool pte_user_accessible_page(pte_t pte, unsigned long addr)\n+{\n+\treturn pte_present(pte) && !is_kernel_addr(addr);\n+}\n+\n /* Conversion functions: convert a page and protection to a page entry,\n * and a page entry and page directory to the page they refer to.\n *\ndiff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h\nindex 17fd7ff6e535b6d2b320fc8c292b7eb964fa0ef2..859cdbaa54a7fa159d5bbd4653f7871381f4910f 100644\n--- a/arch/powerpc/include/asm/pgtable.h\n+++ b/arch/powerpc/include/asm/pgtable.h\n@@ -202,6 +202,14 @@ static inline bool arch_supports_memmap_on_memory(unsigned long vmemmap_size)\n \n #endif /* CONFIG_PPC64 */\n \n+#ifndef pmd_user_accessible_page\n+#define pmd_user_accessible_page(pmd, addr)\tfalse\n+#endif\n+\n+#ifndef pud_user_accessible_page\n+#define pud_user_accessible_page(pud, addr)\tfalse\n+#endif\n+\n #endif /* __ASSEMBLER__ */\n \n #endif /* _ASM_POWERPC_PGTABLE_H */\n", "prefixes": [ "v18", "10/12" ] }