{"id":2175646,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2175646/?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-9-755bc151a50b@linux.ibm.com>","date":"2025-12-18T17:09:41","name":"[v18,09/12] mm: Provide address parameter to p{te,md,ud}_user_accessible_page()","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"befa7212f1101c865ff4b71034d0b5e9f80686c3","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-9-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/2175646/checks/","tags":{},"headers":{"Return-Path":"\n <linuxppc-dev+bounces-14877-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=RioGV1Of;\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-14877-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1","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=RioGV1Of;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-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 4dXHJK3Fmsz1y2F\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 19 Dec 2025 04:11:29 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dXHJ11Dnxz2yFq;\n\tFri, 19 Dec 2025 04:11:13 +1100 (AEDT)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\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 4dXHJ02v6bz2ynW\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 19 Dec 2025 04:11:12 +1100 (AEDT)","from pps.filterd (m0353729.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id\n 5BIAT1hV020205;\n\tThu, 18 Dec 2025 17:11:00 GMT","from pps.reinject (localhost [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4b0ytvkvau-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:00 +0000 (GMT)","from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1])\n\tby pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 5BIH3fxq021273;\n\tThu, 18 Dec 2025 17:11:00 GMT","from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4b0ytvkvar-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:11:00 +0000 (GMT)","from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 5BIFhmLk005675;\n\tThu, 18 Dec 2025 17:10:59 GMT","from smtprelay04.dal12v.mail.ibm.com ([172.16.1.6])\n\tby ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4b1tgp87cy-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 18 Dec 2025 17:10:59 +0000","from smtpav03.dal12v.mail.ibm.com (smtpav03.dal12v.mail.ibm.com\n [10.241.53.102])\n\tby smtprelay04.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 5BIHAwN13277366\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tThu, 18 Dec 2025 17:10:58 GMT","from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 1890D58060;\n\tThu, 18 Dec 2025 17:10:58 +0000 (GMT)","from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 20A5B5805A;\n\tThu, 18 Dec 2025 17:10:51 +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:50 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1766077873;\n\tcv=none;\n b=NXmouh/vCFlVjmuGItIME/8uSWSiuUVvtIBduOOxP0RzfJN7Z2lo70Sw/sp1ErmCLbvclGcT4hfpXev6ZVm6zQU7WCfxzuf2Z74D4umsRPQYPYdV9zo+31K0C9bQyCTAtvfmAwnjSKklvL2gjlVOknpP64lBEXlkszGo+aECuNyHe+0TlpV1X1/p/S+felXs8nexdM3Sp62MlGc/1bU0b47z5T7jZylWk97JdCgAvF4Ncrv9jpBUwfZZvyt8yCRCACcVUuTKaO9eT5rLpZZCQu/J6bfy5GqxF670fCDmp4J6H0oZ8V1ZT5cne00nMbpIJOnMJuiU8ntUe9wQm9n67w==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1766077873; c=relaxed/relaxed;\n\tbh=7p2lwupu5j3608FpKmz/mAGFneBtiD2A4y4KpzHGNBI=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=nvBKlj279NTB6rwfzVyUPNCQTfIJaUtfiYvyWJ2LOQbBUER4wSaWtoesR6sYqMQr42wlGhgMJ7Z7TBPEp7ATOWHsRC9ka4/K/RnTjZL0f2kwXRtOKrXC0QBpNYdgHrJHNyG53ht1DOf8t9vFYUhKBCGRlA38MKI5e2e2d5KZdVuEy3AwFp2bS79zfyOfu3Fsb/gI3rvbq54qOJPhAcz/LR04QUXUQV8tRe6LvHvu54w/ZqvVBlK47YCUjL6re4kOo5nQjoDwunz7LE0wZ0MNnTIA6TbzQg1PmkXN6bmYxI0MMhSM0PtIC3lgvYasQyOV6U4mRJNmK6cFFq3vHpdWeQ==","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=RioGV1Of; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-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=7p2lwu\n\tpu5j3608FpKmz/mAGFneBtiD2A4y4KpzHGNBI=; b=RioGV1OfR1nh3sHp4n7rDH\n\trN1OuMIj9PDATswFfqfGxf/P5mI/viSbYQD/ya/9n872tAbKaHTMDmR5K5/Xxxqz\n\tL3VkWJYEWv2nUoclWZNjfUE21BkHqm4/WOPG7ui8NCw6tp8eWYu0O5OUb1w5Wesy\n\tzVRiCMR7KOzgp1qCcFWTrm2CoiW8DJGeVnox5Ixp42FE4NXMifo5KM6vrqMelPIH\n\tp9RblM1lEDaGbKXw3fbFRMT3P1V8gr0A0V4BmdSaZsAtgelzt9T1WtZCcMyDbA0S\n\tfmdHpGmJmcWObaX4OowrO0h20F4dn7rXBXlF+HTDZ9AdMOFJACmlMD5TNoE9oitQ\n\t==","From":"Andrew Donnellan <ajd@linux.ibm.com>","Date":"Fri, 19 Dec 2025 04:09:41 +1100","Subject":"[PATCH v18 09/12] mm: Provide address parameter to\n p{te,md,ud}_user_accessible_page()","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-9-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":"AW1haW4tMjUxMjEzMDAyMyBTYWx0ZWRfX1cVkpoWOeZYE\n DokomB1+sdlsUuZWa1+3iUxRCfqwrvEa6FP6NbktHC8XGxkHBTbgN0TNUNC4KPPcpcbHfQK1hyU\n K/JVcI5gKeUdbLkYCQIy+xJGlHX8DijpwPxHIGDV98HADHR/E67UWMV3tR/uy1WJoSxq+RSEE6u\n Ibt2l/m4hCAcnIkm19XwKM/mGh9yw1C/9IyW8Fn3F3fy4N5YGgkiAYPV9qxLO9K5UgLnKh6p6BZ\n jxXMtnQCr35dpxLRLZnVJ2VeP8jBFiX/CisFJeoMLPHxWIb/WaAJjJ4xQ1vcv1nFnzCvL+GCZz3\n oZZsIV7pWR1AfU2Wwv4w+8kwuarxSdycr0nl0PKTa3QYeOASrUCakPmP2byTCHeSPkuzjK3I67l\n hZjNUZfMKVW0+cI/rqravmRCwwfI3A==","X-Proofpoint-ORIG-GUID":"ZVHISN6Q6_9lkC5i5eJGjtx-INzUHIWa","X-Authority-Analysis":"v=2.4 cv=QtRTHFyd c=1 sm=1 tr=0 ts=694435a4 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=VkNPw1HP01LnGYTKEx00:22\n a=VnNF1IyMAAAA:8 a=7ipKWUHlAAAA:8 a=VwQbUJbxAAAA:8 a=h0uksLzaAAAA:8\n a=r_0qNQ7kh5zYcWNfr5sA:9 a=QEXdDO2ut3YA:10 a=gpc5p9EgBqZVLdJeV_V1:22\n a=MSi_79tMYmZZG2gvAgS0:22","X-Proofpoint-GUID":"BHPDTKUXdrxY8psOcH4kXyd6KMPwwmrQ","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 phishscore=0 adultscore=0 malwarescore=0 lowpriorityscore=0 spamscore=0\n priorityscore=1501 bulkscore=0 suspectscore=0 impostorscore=0 clxscore=1015\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\nOn several powerpc platforms, a page table entry may not imply whether\nthe relevant mapping is for userspace or kernelspace. Instead, such\nplatforms infer this by the address which is being accessed.\n\nAdd an additional address argument to each of these routines in order to\nprovide support for page table check on powerpc.\n\n[ajd@linux.ibm.com: rebase on arm64 changes]\nSigned-off-by: Rohan McLure <rmclure@linux.ibm.com>\nReviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>\nAcked-by: Ingo Molnar <mingo@kernel.org>  # x86\nAcked-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv\nSigned-off-by: Andrew Donnellan <ajd@linux.ibm.com>\n---\nv15: rebase\n---\n arch/arm64/include/asm/pgtable.h |  6 +++---\n arch/riscv/include/asm/pgtable.h |  6 +++---\n arch/x86/include/asm/pgtable.h   |  6 +++---\n mm/page_table_check.c            | 12 ++++++------\n 4 files changed, 15 insertions(+), 15 deletions(-)","diff":"diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h\nindex ce64c560e284e1c2ff9d698cf868070ed58ba045..d94445b4f3dfafcda88c7953a84228d39f788f3a 100644\n--- a/arch/arm64/include/asm/pgtable.h\n+++ b/arch/arm64/include/asm/pgtable.h\n@@ -1265,17 +1265,17 @@ static inline int pmdp_set_access_flags(struct vm_area_struct *vma,\n #endif\n \n #ifdef CONFIG_PAGE_TABLE_CHECK\n-static inline bool pte_user_accessible_page(pte_t pte)\n+static inline bool pte_user_accessible_page(pte_t pte, unsigned long addr)\n {\n \treturn pte_valid(pte) && (pte_user(pte) || pte_user_exec(pte));\n }\n \n-static inline bool pmd_user_accessible_page(pmd_t pmd)\n+static inline bool pmd_user_accessible_page(pmd_t pmd, unsigned long addr)\n {\n \treturn pmd_valid(pmd) && !pmd_table(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd));\n }\n \n-static inline bool pud_user_accessible_page(pud_t pud)\n+static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)\n {\n \treturn pud_valid(pud) && !pud_table(pud) && (pud_user(pud) || pud_user_exec(pud));\n }\ndiff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h\nindex 9af5bfc780800fe2f974daa5329277c46877f848..e38da3f9908fbd32ccb27a4f95c049dc2ae705dc 100644\n--- a/arch/riscv/include/asm/pgtable.h\n+++ b/arch/riscv/include/asm/pgtable.h\n@@ -956,17 +956,17 @@ static inline void set_pud_at(struct mm_struct *mm, unsigned long addr,\n }\n \n #ifdef CONFIG_PAGE_TABLE_CHECK\n-static inline bool pte_user_accessible_page(pte_t pte)\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-static inline bool pmd_user_accessible_page(pmd_t pmd)\n+static inline bool pmd_user_accessible_page(pmd_t pmd, unsigned long addr)\n {\n \treturn pmd_leaf(pmd) && pmd_user(pmd);\n }\n \n-static inline bool pud_user_accessible_page(pud_t pud)\n+static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)\n {\n \treturn pud_leaf(pud) && pud_user(pud);\n }\ndiff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h\nindex 6ec6cf7ad2d4d92da7d3396bc96a5b5902e81576..1662c5a8f445f58c62e7364040d13b5958347818 100644\n--- a/arch/x86/include/asm/pgtable.h\n+++ b/arch/x86/include/asm/pgtable.h\n@@ -1680,17 +1680,17 @@ static inline bool arch_has_hw_nonleaf_pmd_young(void)\n #endif\n \n #ifdef CONFIG_PAGE_TABLE_CHECK\n-static inline bool pte_user_accessible_page(pte_t pte)\n+static inline bool pte_user_accessible_page(pte_t pte, unsigned long addr)\n {\n \treturn (pte_val(pte) & _PAGE_PRESENT) && (pte_val(pte) & _PAGE_USER);\n }\n \n-static inline bool pmd_user_accessible_page(pmd_t pmd)\n+static inline bool pmd_user_accessible_page(pmd_t pmd, unsigned long addr)\n {\n \treturn pmd_leaf(pmd) && (pmd_val(pmd) & _PAGE_PRESENT) && (pmd_val(pmd) & _PAGE_USER);\n }\n \n-static inline bool pud_user_accessible_page(pud_t pud)\n+static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)\n {\n \treturn pud_leaf(pud) && (pud_val(pud) & _PAGE_PRESENT) && (pud_val(pud) & _PAGE_USER);\n }\ndiff --git a/mm/page_table_check.c b/mm/page_table_check.c\nindex de9e54bd27e6f2bce68304a0b3e99b139f33c313..2708c2b3ac1fbd19a0a4528f5a2b27ddbef03adf 100644\n--- a/mm/page_table_check.c\n+++ b/mm/page_table_check.c\n@@ -151,7 +151,7 @@ void __page_table_check_pte_clear(struct mm_struct *mm, unsigned long addr,\n \tif (&init_mm == mm)\n \t\treturn;\n \n-\tif (pte_user_accessible_page(pte)) {\n+\tif (pte_user_accessible_page(pte, addr)) {\n \t\tpage_table_check_clear(pte_pfn(pte), PAGE_SIZE >> PAGE_SHIFT);\n \t}\n }\n@@ -163,7 +163,7 @@ void __page_table_check_pmd_clear(struct mm_struct *mm, unsigned long addr,\n \tif (&init_mm == mm)\n \t\treturn;\n \n-\tif (pmd_user_accessible_page(pmd)) {\n+\tif (pmd_user_accessible_page(pmd, addr)) {\n \t\tpage_table_check_clear(pmd_pfn(pmd), PMD_SIZE >> PAGE_SHIFT);\n \t}\n }\n@@ -175,7 +175,7 @@ void __page_table_check_pud_clear(struct mm_struct *mm, unsigned long addr,\n \tif (&init_mm == mm)\n \t\treturn;\n \n-\tif (pud_user_accessible_page(pud)) {\n+\tif (pud_user_accessible_page(pud, addr)) {\n \t\tpage_table_check_clear(pud_pfn(pud), PUD_SIZE >> PAGE_SHIFT);\n \t}\n }\n@@ -211,7 +211,7 @@ void __page_table_check_ptes_set(struct mm_struct *mm, unsigned long addr,\n \n \tfor (i = 0; i < nr; i++)\n \t\t__page_table_check_pte_clear(mm, addr + PAGE_SIZE * i, ptep_get(ptep + i));\n-\tif (pte_user_accessible_page(pte))\n+\tif (pte_user_accessible_page(pte, addr))\n \t\tpage_table_check_set(pte_pfn(pte), nr, pte_write(pte));\n }\n EXPORT_SYMBOL(__page_table_check_ptes_set);\n@@ -241,7 +241,7 @@ void __page_table_check_pmds_set(struct mm_struct *mm, unsigned long addr,\n \n \tfor (i = 0; i < nr; i++)\n \t\t__page_table_check_pmd_clear(mm, addr + PMD_SIZE * i, *(pmdp + i));\n-\tif (pmd_user_accessible_page(pmd))\n+\tif (pmd_user_accessible_page(pmd, addr))\n \t\tpage_table_check_set(pmd_pfn(pmd), stride * nr, pmd_write(pmd));\n }\n EXPORT_SYMBOL(__page_table_check_pmds_set);\n@@ -257,7 +257,7 @@ void __page_table_check_puds_set(struct mm_struct *mm, unsigned long addr,\n \n \tfor (i = 0; i < nr; i++)\n \t\t__page_table_check_pud_clear(mm, addr + PUD_SIZE * i, *(pudp + i));\n-\tif (pud_user_accessible_page(pud))\n+\tif (pud_user_accessible_page(pud, addr))\n \t\tpage_table_check_set(pud_pfn(pud), stride * nr, pud_write(pud));\n }\n EXPORT_SYMBOL(__page_table_check_puds_set);\n","prefixes":["v18","09/12"]}