From nobody Tue Apr 7 18:02:08 2026 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 84BB1346E60; Thu, 12 Mar 2026 12:26:46 +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=1773318407; cv=none; b=AaKALjuBuWt+ZZhyrjI9ZUH9IzsTr/t3BeCqFyM/sjs1Ah/ans5Xx7+Y+9j4TJSMrz4Bax7r2g5kaj+VqeYA/cT6oLOCLh/wPGoS1rTFkOzwudru8h5yVDENbUMDtbrtJdKhwLt8llgpZ1AggAiJBw5pzikSRCaGFfLh1xQohbo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773318407; c=relaxed/simple; bh=AZhDW/+Hdz2vLaPr2wsQcVtQhrUEHyGnZHqqpnN5MLE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OaZvMFJ6IvRMxvd41Cw+nv3FMB2iUMq7zdX1/enzgtCrhJrvE5EUzrAWHRxz6+bNngeMs6ZeZWEAAA/P+jMigUWecz2RvbFIHQhC+SUY8u+I8/3Sc3H02r6DC9OPSRdzWFLqCtJtqfa5TJQQGerf2cvlNKspFL/mmfF7lqSvT1A= 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=Q/KNVxLD; 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="Q/KNVxLD" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62BMWWnu2206305; Thu, 12 Mar 2026 12:26:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=eccxQEZlyQcYu1LXi KrtsRTxSTUY5DFMNv8Ohe4wGJY=; b=Q/KNVxLDXrkkP9/pNdNXHptumVrGlOStm JGmg5u7fzEL6lrqtugj0PYUFaHaVZ7UzyK/XkMMvCSwsxOozMA3YvrkG2ifYBlIJ 5/BvrwSBAYvfXEey2IW4xng+YEhxBJGHUxlPO22DRtMHReWCwUlWWemGQQrsccSS YIw/6xa9kXOiHnI5D7qIMB3yYbogydxgagtF5/SZChTFf/ZBB49xuwvTOMfrjeWh uGqm4ZcBfbOzbQXcKHUvkFfrAROy2PUZVIywac8fG1oBkTBnNltV7XHsUl07viIf g/6FkhG9gxkT2Vja7IBfW4N49AnllTrc8j/IIF5ZDrUfSPO6GuOiQ== 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 4cuh98ag6f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 12 Mar 2026 12:26:31 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 62C9aRDp014797; Thu, 12 Mar 2026 12:26:30 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4cuha8a8sv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 12 Mar 2026 12:26:30 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 62CCQSKe38470040 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 12 Mar 2026 12:26:28 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9F7F72005A; Thu, 12 Mar 2026 12:26:28 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D789520043; Thu, 12 Mar 2026 12:26:25 +0000 (GMT) Received: from li-3f69264c-2ce6-11b2-a85c-c3f414d24014.in.ibm.com (unknown [9.109.243.201]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 12 Mar 2026 12:26:25 +0000 (GMT) From: Sayali Patil To: Andrew Morton , Shuah Khan , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Ritesh Harjani Cc: David Hildenbrand , Zi Yan , Michal Hocko , Oscar Salvador , Lorenzo Stoakes , Dev Jain , Liam.Howlett@oracle.com, linuxppc-dev@lists.ozlabs.org, Sayali Patil Subject: [PATCH v2 08/13] selftests/mm: ensure destination is hugetlb-backed in hugepage-mremap Date: Thu, 12 Mar 2026 17:55:35 +0530 Message-ID: X-Mailer: git-send-email 2.52.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Authority-Analysis: v=2.4 cv=M+pA6iws c=1 sm=1 tr=0 ts=69b2b0f7 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=Ikd4Dj_1AAAA:8 a=VnNF1IyMAAAA:8 a=iEzYaluDCQLbEJLwxn0A:9 X-Proofpoint-GUID: S_9XJG97zMrLLLjAS3IyCBFw6A-CremB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEyMDA5NSBTYWx0ZWRfX3HCPWO+DXxmr liSzTlBYYZLZkkDJocmEEIgPm6rmsUgplafMKC59hUxdhI5XkwLO3Tuiz/oJ+3k0gT8ztDeMdY1 8VPVn7EblMzpLegETLvRZRxA4MczTFr+jzfS4msfDDBkO134DwubkbBuaUg+A+YZwTiBa81sxBC zl9XVgkLkiGSQ+/qfPQkvjjxGCtMnnsxlfYoAOqIC3ZR3Hn9WUghL0ejB0NiGYA/p2jSCxi1hrX lpXSpRhbQFk3gb5jfcPFY1Xob/pU4PwTiW55jnk3NSl3Go0qTtIUt+7STaauOQaJRatHeN+Wf4+ ne6Usv/UsanLDha2MKUSWdV/JKOrlPkVuIHNBaHchpLUlSV8mnSruoLE0nWWPiwVl0n55SBIFsc y2lDFaAFAsgZUOIcSkwDQAPfHXi+wzc/0Rmu1hWSBKWlEwCjBvZyzYy8+ujvMgYw8y1Dr/IoH1N lSHgmbA+XQibG/6a4Xw== X-Proofpoint-ORIG-GUID: VriZh5lXVojveniFsXZub6QuWBZEomFB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-12_01,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 clxscore=1015 bulkscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603120095 Content-Type: text/plain; charset="utf-8" The hugepage-mremap selftest reserves the destination address using a anonymous base-page mapping before calling mremap() with MREMAP_FIXED, while the source region is hugetlb-backed. When remapping a hugetlb mapping into a base-page VMA may fail with: mremap: Device or resource busy This is observed on powerpc hash MMU systems where slice constraints and page size incompatibilities prevent the remap. Ensure the destination region is created using MAP_HUGETLB so that both source and destination VMAs are hugetlb-backed and compatible. Also add MAP_POPULATE to the destination mapping to prefault hugepages, matching the behaviour used for other hugetlb mapping in the test and ensuring deterministic behaviour. Update the FLAGS macro to include MAP_HUGETLB | MAP_SHARED | MAP_POPULATE so that both mappings are hugetlb-backed and compatible. Also use the macro for the mmap() calls to avoid repeating the flag combination. This ensures the test reliably exercises hugetlb mremap instead of failing due to VMA type mismatch. Fixes: 12b613206474 ("mm, hugepages: add hugetlb vma mremap() test") Acked-by: Zi Yan Signed-off-by: Sayali Patil --- tools/testing/selftests/mm/hugepage-mremap.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/mm/hugepage-mremap.c b/tools/testing/s= elftests/mm/hugepage-mremap.c index e611249080d6..48c24a4ba9a7 100644 --- a/tools/testing/selftests/mm/hugepage-mremap.c +++ b/tools/testing/selftests/mm/hugepage-mremap.c @@ -31,7 +31,7 @@ #define MB_TO_BYTES(x) (x * 1024 * 1024) =20 #define PROTECTION (PROT_READ | PROT_WRITE | PROT_EXEC) -#define FLAGS (MAP_SHARED | MAP_ANONYMOUS) +#define FLAGS (MAP_HUGETLB | MAP_SHARED | MAP_POPULATE) =20 static void check_bytes(char *addr) { @@ -121,23 +121,20 @@ int main(int argc, char *argv[]) =20 /* mmap to a PUD aligned address to hopefully trigger pmd sharing. */ unsigned long suggested_addr =3D 0x7eaa40000000; - void *haddr =3D mmap((void *)suggested_addr, length, PROTECTION, - MAP_HUGETLB | MAP_SHARED | MAP_POPULATE, fd, 0); + void *haddr =3D mmap((void *)suggested_addr, length, PROTECTION, FLAGS, f= d, 0); ksft_print_msg("Map haddr: Returned address is %p\n", haddr); if (haddr =3D=3D MAP_FAILED) ksft_exit_fail_msg("mmap1: %s\n", strerror(errno)); =20 /* mmap again to a dummy address to hopefully trigger pmd sharing. */ suggested_addr =3D 0x7daa40000000; - void *daddr =3D mmap((void *)suggested_addr, length, PROTECTION, - MAP_HUGETLB | MAP_SHARED | MAP_POPULATE, fd, 0); + void *daddr =3D mmap((void *)suggested_addr, length, PROTECTION, FLAGS, f= d, 0); ksft_print_msg("Map daddr: Returned address is %p\n", daddr); if (daddr =3D=3D MAP_FAILED) ksft_exit_fail_msg("mmap3: %s\n", strerror(errno)); =20 suggested_addr =3D 0x7faa40000000; - void *vaddr =3D - mmap((void *)suggested_addr, length, PROTECTION, FLAGS, -1, 0); + void *vaddr =3D mmap((void *)suggested_addr, length, PROTECTION, FLAGS, f= d, 0); ksft_print_msg("Map vaddr: Returned address is %p\n", vaddr); if (vaddr =3D=3D MAP_FAILED) ksft_exit_fail_msg("mmap2: %s\n", strerror(errno)); --=20 2.52.0