From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2069DC38150 for ; Wed, 10 Jul 2024 05:51:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 892D56B0082; Wed, 10 Jul 2024 01:51:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 842296B0083; Wed, 10 Jul 2024 01:51:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 709766B0088; Wed, 10 Jul 2024 01:51:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 526776B0082 for ; Wed, 10 Jul 2024 01:51:25 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D8AF8141A6D for ; Wed, 10 Jul 2024 05:51:24 +0000 (UTC) X-FDA: 82322770488.07.EC827AF Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) by imf22.hostedemail.com (Postfix) with ESMTP id C7BF9C0019 for ; Wed, 10 Jul 2024 05:51:21 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=none; spf=pass (imf22.hostedemail.com: domain of jianghaoran@kylinos.cn designates 124.126.103.232 as permitted sender) smtp.mailfrom=jianghaoran@kylinos.cn; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720590651; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=BtHRxL8whSpnzF4c8fjchoOVecKjc9x7Fu00kPOyS2g=; b=Bi+mmx9VNNx14VTwKuE/LDatiyBfHiTZ4/NUsF4PfOI1ZcKTEYPk9NPQcjhx+yg5VjVFYM XQDHbWBK9X7ZxkkviKtprs5dudW1MvaMadMGSocLs+yr/WssukEwOIoYPFSGx7n1nV5f0g ycqrpfEpgA001PMim5hCin4Dpz5g9+E= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720590651; a=rsa-sha256; cv=none; b=l4UEkG0j/SnQPoQLdp9mT5W3puD48JLJnrPA9Rxr8+lZq4bmav8GVxaDrsgg0gZRUUkFMy GJu2htouopUluvDafxHPoxZpFRuQbGfNtCgzoaO4Xc7ap7rAD3nnS5PS6tc2SWG5M2+mMY WAGBpcT5lQCK949e+H4xsf0Miwidj9Q= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=none; spf=pass (imf22.hostedemail.com: domain of jianghaoran@kylinos.cn designates 124.126.103.232 as permitted sender) smtp.mailfrom=jianghaoran@kylinos.cn; dmarc=none X-UUID: b0c1c9063e7f11ef93f4611109254879-20240710 X-CID-CACHE: Type:Local,Time:202407101339+08,HitQuantity:1 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.38,REQID:f2f0c3ad-8855-4a6d-a8e9-82744da539f0,IP:0,U RL:0,TC:0,Content:0,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:25 X-CID-META: VersionHash:82c5f88,CLOUDID:b8788c9dc47839bc094a2b215019a1db,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:5,IP:nil,URL:0, File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:N O,DKR:0,DKP:0,BRR:0,BRE:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: b0c1c9063e7f11ef93f4611109254879-20240710 Received: from node4.com.cn [(10.44.16.170)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA) with ESMTP id 594430874; Wed, 10 Jul 2024 13:46:01 +0800 Received: from node4.com.cn (localhost [127.0.0.1]) by node4.com.cn (NSMail) with SMTP id A97891600208E; Wed, 10 Jul 2024 13:46:01 +0800 (CST) X-ns-mid: postfix-668E2019-6054441873 Received: from jhr-TianYi510S-07IMB.. (unknown [172.30.60.215]) by node4.com.cn (NSMail) with ESMTPA id BD4EB1600208E; Wed, 10 Jul 2024 05:45:59 +0000 (UTC) From: Haoran Jang To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, lstoakes@gmail.com, vbabka@suse.cz, Liam.Howlett@oracle.com, akpm@linux-foundation.org, Haoran Jiang Subject: [PATCH] mm/mmap: Align the length parameter of munmap with hugepage size Date: Wed, 10 Jul 2024 13:45:58 +0800 Message-ID: <20240710054558.1959243-1-jianghaoran@kylinos.cn> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 8auhxinkxhij5x5eritkke9nwgwdaius X-Rspamd-Queue-Id: C7BF9C0019 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1720590681-636492 X-HE-Meta: U2FsdGVkX19CP8hOfKYNIGsLNKuoY26yE/ttIHGk9VMpxSRFjEBTXMhDTEZj5y0M+osWJluWDUJcD4Jd31RPny9Af4vLlxKU+wMRCYxc3fxDFdLEWYQvEcr8gpOLefJbJOF7eCioWYLbF+cgdlkz9/FPvENpbBXIarpbvWBHe1I5sMOblvF6Xrw0yZtM3cTT7moD2A1n7P9vxpdbqLVrpkle5OuEVmLGAWETk+yApgvlBEvQEO04wIQkC6Nl23TNhwu9wrGRfosUbl1/tbfy3sRHjTe6mQbvE3YjAII9lM+dpv/kkAx3gcyzBBvu8gPFU8TtUw/t6IztvotaJZaqOjkLKPIpwYZkekgpWzb4X2HF/SNRddMQ15Qn4w38ueXteYyeGTdNnA9sVQAxlVrfG1edWVQWOuxlq8tb24mRWY5zNOnd0tOyUdrnZXxb8SGQynNW1L0hDvLVMr6wvTD72ZkzbdW+zNpAXzzYdMjIemIHkLFzU/Nlx4OTUdKe8NKKUJV6O9/zVM2g31cFdygxx8783fSgsrxJ8EQed20OjoFvnwA/IgMQTzAkZ3bhevAztXlMdB/gZCKoomXnM7xs4XrGF/KqABbnj7eWuobOU7H9fxzw0qYUyekReEo8wVN19LtO98EffzCTze41LLSR0IQ3G5mUWF8vbm8J1D68RkYe5lZSAq/b1k3Igzf/ycuSeLn3a21dt8IYJdj07Oy/65hJPc2HVmHKrZXsEfVKks/tnakm0bzPkFTs193ge0kKuzCS7iQRrAJ2bLzVa00QN+k+7/lU2276LOHq6P/4rsHDekocilZ5gzaNZxuhlWe2kqrbMb0cxMUzpD1HB3d+ynctOJAUe5n10cplakmqTU5l8Ca4+Bq5JWe1jbAZ8Mrzd5Ml31NwVbGuWYH2+TYg2NArqwLHY0I+NPzlbTS3udHwa/QD7ROX+qe/QnL7sKYEr7hOYnuD4xycv3EQ0/6 /z6PgjVx YUp24BBETpbumZyMASleM+8zneHyvfF1ByKxFCtbbl8M/iep9AlHR2AkUlh3JbKrlR0tn6GKtZPvJAO0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Haoran Jiang munmap hugepge mappings, if the length of the range to munmap is not aligned with hugepage size,munmap will fail. In the hugetlb_vm_op_split function, an error will be returned if startaddr+len is not hugepage size aligned. before this patch: in "tools/testing/selftests/mm/hugepage-mremap.c" modify DEFAULT_LENGTH_MB to 3M,compile and run, the following error message is displayed ------------------------- running ./hugepage-mremap ------------------------- TAP version 13 1..1 Map haddr: Returned address is 0x7eaa40000000 Map daddr: Returned address is 0x7daa40000000 Map vaddr: Returned address is 0x7faa40000000 Address returned by mmap() =3D 0x7cb34b000000 Mremap: Returned address is 0x7faa40000000 First hex is 0 First hex is 3020100 Bail out! mremap: Expected failure, but call succeeded Signed-off-by: Haoran Jiang --- mm/mmap.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index 83b4682ec85c..0b3a60bf9b6f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2733,7 +2733,15 @@ int do_vmi_munmap(struct vma_iterator *vmi, struct= mm_struct *mm, if ((offset_in_page(start)) || start > TASK_SIZE || len > TASK_SIZE-sta= rt) return -EINVAL; =20 - end =3D start + PAGE_ALIGN(len); + vma =3D find_vma(mm, start); + if (!vma) { + if (unlock) + mmap_write_unlock(mm); + return 0; + } + + end =3D start + ALIGN(len, vma_kernel_pagesize(vma)); + if (end =3D=3D start) return -EINVAL; =20 --=20 2.43.0