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 C65FFC7EE2A for ; Fri, 27 Jun 2025 16:07:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 697326B00C0; Fri, 27 Jun 2025 12:07:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 66EB86B00C1; Fri, 27 Jun 2025 12:07:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 584A86B00C2; Fri, 27 Jun 2025 12:07:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 488E56B00C0 for ; Fri, 27 Jun 2025 12:07:16 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 1AFC11A0172 for ; Fri, 27 Jun 2025 16:07:16 +0000 (UTC) X-FDA: 83601660072.03.1455C1F Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf13.hostedemail.com (Postfix) with ESMTP id CFA592000E for ; Fri, 27 Jun 2025 16:07:13 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=CNt2hQl7; spf=pass (imf13.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751040434; 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-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=/xy96KI8UDKszt96CyDW7op5ryIeAmzp/OyFji+BJh8=; b=r8XsS0pbLYi3f6MclKEGIFInINxndhyBsop8UV27xrFp4b/17TC2dRfUjTj6gC+X812yrs YiQRjNah4SywuX4YO9r6LZ4pJXyOTsqqrOQuTVYIiRBJ3jLJt4g9mvVxfhlxa3hEBTmj0+ j0uUJAygGgJyEJOnst5fSXnGNucKf20= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=CNt2hQl7; spf=pass (imf13.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751040434; a=rsa-sha256; cv=none; b=2v9F8wtHR+3VGmgJQJNq1S+g3CmnDwHY7Gpos7Ve5eS003sDh100r8OTLTmVVMGOMyoVug dD9Jg2K4mYdJE7HskIabD+71UHC9HhA9qUFez1lQ8fio/dtAQqz8K6RWdlJHePmIcOtxSe mc/nTkvm9FlTR+XdewbSwIn7dWWO00A= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751040433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/xy96KI8UDKszt96CyDW7op5ryIeAmzp/OyFji+BJh8=; b=CNt2hQl7R/RBmWrCRx0OAbktNHeMefRDbZIifZdhUxdz1ReVud6UJeuU3ssuXm0/1E0wmo h/J+sOGmPfe5WqU5q2HffyaPEKRn7JYUVL8yF69fRyj0+aEGahdCFy6UTRTDi4cmRPdfKt WKHGS8NtDlZJjmE4GMdk4mobY7JetiU= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-620-In6z_dLcPTymKnVmMJE1Rg-1; Fri, 27 Jun 2025 12:07:11 -0400 X-MC-Unique: In6z_dLcPTymKnVmMJE1Rg-1 X-Mimecast-MFC-AGG-ID: In6z_dLcPTymKnVmMJE1Rg_1751040431 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-6fabb9286f9so50673386d6.1 for ; Fri, 27 Jun 2025 09:07:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751040431; x=1751645231; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/xy96KI8UDKszt96CyDW7op5ryIeAmzp/OyFji+BJh8=; b=lo13cfR6os0MVh/V3AawtpoyzE/jMVJ8T6k2fQkspobmEOHfPKpwJpxSyO7xZf/Zqb KZXkTePvBdR7r3k7irQfuV6q+BIp1IlXrjDuoM1n5ZRdIK15KwTkX2CMw3msg98IU9c3 0FlKbvjsmcQhkxHRCuuJyu1/thiXb+LK7qpO4jGtp1k4/aFdJclrOMnYDDpGnwZoiA+P olFTJ9iI03LMJz3TRoesgen8FwXuJRsWcfOxTKpbj6oD8qWuoEYe0Ku8YijG2bUJA3n+ HTP1pGl7L6aAsdSyleuhSkiaAaYCe7x2pdOom1PNNmIIbiySQrrGuIKMV+Zciaju8YZK Dohg== X-Forwarded-Encrypted: i=1; AJvYcCU+g3IyCw+kfytgtA/kXXhyR3vQrPHJ8tx1tGaznDlmHnIzHp9I/h/yrt+0xJtdVI5IBnKNIPntHw==@kvack.org X-Gm-Message-State: AOJu0YyG9qZW/mN6RbU181sbfDmWWAyWTpcIZaFsxEMWXcBaFwRfg37y V+uEnykpROBY9LeilEUDWlXejWMjNjrUMEg+kA5bxHBPd4eokzftHRuDPYaQ7FsrqdlseUG6yhT ge3rDqFSNLmikTbIL8G7zqElcm4/9sr0n705gxxxOWsSz5B3PsSRT X-Gm-Gg: ASbGnctq94baVjEMzmCQteAzNFI2a+Pi4qup/H+z3TMFLLUyDWg6D3/MtMcClmlEC85 847O2Kk6JOntUr68R87ylycrMfU8095Qgh42A69iSwmAMtRcdzmqA2+F84qvFRGnfWTw8HOfOUB iWX2qdXapNMF+stKf+azdhnHtA4KNkCvoje23QtIEyDaDUcafeP6ewffmYLMtP8zdAnwSgjYABJ 9zHd80sXkmgq32CTN6F7sJ9ojgso7CILq+4Or3QdxMK867Z4bnxhb2d2wigXyIfGybbD2GDAM6X Hekh/SWfjzk= X-Received: by 2002:a05:6214:405:b0:6fd:24:b0e0 with SMTP id 6a1803df08f44-7000252f09fmr61586376d6.6.1751040431142; Fri, 27 Jun 2025 09:07:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGpI3B+sCb86YFp8sTXjrVwNo2dAmF8TVfkL08aeMHEOdDuhipHJHbQBBG3CZhrBLuzvp45Qw== X-Received: by 2002:a05:6214:405:b0:6fd:24:b0e0 with SMTP id 6a1803df08f44-7000252f09fmr61585916d6.6.1751040430641; Fri, 27 Jun 2025 09:07:10 -0700 (PDT) Received: from x1.com ([85.131.185.92]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fd76e74372sm22805016d6.0.2025.06.27.09.07.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 09:07:10 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Andrew Morton , peterx@redhat.com, "Liam R. Howlett" , Huacai Chen , Thomas Bogendoerfer , Muchun Song , Oscar Salvador , loongarch@lists.linux.dev, linux-mips@vger.kernel.org, Jason Gunthorpe , David Hildenbrand Subject: [PATCH] mm/hugetlb: Remove prepare_hugepage_range() Date: Fri, 27 Jun 2025 12:07:07 -0400 Message-ID: <20250627160707.2124580-1-peterx@redhat.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: oohC7vHvRhifLpEmi3qYngrccha0FJyIUdscE6uBhcE_1751040431 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Rspamd-Queue-Id: CFA592000E X-Stat-Signature: qww6wbmm6hmxhtdduh7wmbmjxu8wtgyd X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1751040433-489306 X-HE-Meta: U2FsdGVkX19PK1wpON1a2cxrMOAL2ng2YwdzCZYYym8bO8z10FR64EFmWxaEh3yotIbX+Ucd62QJ6QtD0/pStsu3iQ21DS8dVfDzMfQoQzJX7/Zhz2Tdhx0rUb8XN5Sqoivn48MvaGF4MUHg8gFD47K5U8esc07GccfSkd8YWD+nGpDOrPj0f8Fw7vFvmAC0MDjpfDL9bGWAQ5kNw9l/b2JQyu9hnoExB1C/OaNVRH1ngVOkLNkoVRDdEW0lYRbfgVB9bkPX+LAnmQz2xy77JTutvPqoKjIMREvRrIXWcVRgK5mHzy6yN01MNw33RhjrheYaM8pnvoUIrAWovUWNXpgGCeX6tx2lCBei+NIt3WNZQ0s7JPjeKc8IAyqDFRMr5bye5muv1MKrS4CgYQXKEgBKndNvaRiV4DzuivoRfIc8DK7kvOSoZY1LPG1kBFeo0M0UbATXExA8QL2IYbyVtlNAyRPrFvIRPOmGRyeH4JOcf13cAatrvY83Q6KTgWU/7xABclk6pyu8GDrVoG9OBHfbu/HijqhtgP1sHsWAR59kulabFUy1lJR1NJlxfnjmClFwQSF4vCYRpYMtO+FhqhbpqKlJfhNuWUugthLqiklCU167Awqon3llPBMkOD3aT849S9JTgMJrOkYzfznNrox3C0ncqw1v5Gyhd8FWZ9BKNnzVw7dsjPD9Rf25Mgu/TIoj31RFGA3LenWP/hmxCnMUx0sOGDWmaaudI8Tw2GEadN7Ky5yHazj6oIpYFXCi4Yr70OIeapYPfIBTv+Ud40gRsBW2HYTLg1GtNpKC0IZYYlb6UsmkmwGC2XD/XLCyRG9tHohVIsj8xTUaEjujkHe0bSIFmxMkjlL/oJAnwLF9lDWhURP3OdM5K6zfZz5HTTO+nbiNrM7zbsHNwYVL6ess3acxKNO3AuOs4+inTB8OqezxkjrrctOoLmLfBpk7LdaLZi7jY8JrR52czL4 OMaNwAZZ NkA6PEc60s9iLIg971enRw7+uUI0cSXtliAXQyssibm+dsvWLj0ED1El7RMbgKuGk7OtwAX6IIaPzj+2LBxQXIXSztv9YShKVXanlt4wEMTwklLPjUVmAYJfwVUBSGS8T0n/3kYLuXQnm1fdY12GkqxrU44HO8k3fvUasY/5az3udn9DNxhF4KjCabgdd5s5wM3i9VjAANBdiKj7kqrO0M4h/0u52UK7295Te1SVzPbFQpeSyjCXi3S9jI6uYspAZUwUQcBDXBgyQW4xbGaIxfiWu6A1n5HrLhq4QeS8pZZoNgLLMeJ95V4+vRATDx4gKlhdJwcA+4ImvwMK6dDpGMCLAuVsom5r9XfcKkQxaNSnPlttIAcd13kG+jwNQ+/2iN/pdzkB02weQOn7sVmf+D69W40tCpZOTF3EAJUihXrdo8NNm3GA4KDf/CzSRSjiQL5VVSteJBpzYwhPfNabnNDodzKIUONvcZ5YEvd9yX+7QrakslXb9nc8dXw5W1jCneSONVdpum1jlNp4= 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: Only mips and loongarch implemented this API, however what it does was checking against stack overflow for either len or addr. That's already done in arch's arch_get_unmapped_area*() functions, even though it may not be 100% identical checks. For example, for both of the architectures, there will be a trivial difference on how stack top was defined. The old code uses STACK_TOP which may be slightly smaller than TASK_SIZE on either of them, but the hope is that shouldn't be a problem. It means the whole API is pretty much obsolete at least now, remove it completely. Cc: Liam R. Howlett Cc: Huacai Chen Cc: Thomas Bogendoerfer Cc: Muchun Song Cc: Oscar Salvador Cc: loongarch@lists.linux.dev Cc: linux-mips@vger.kernel.org Reviewed-by: Jason Gunthorpe Reviewed-by: Oscar Salvador Acked-by: David Hildenbrand Signed-off-by: Peter Xu --- arch/loongarch/include/asm/hugetlb.h | 14 -------------- arch/mips/include/asm/hugetlb.h | 14 -------------- fs/hugetlbfs/inode.c | 8 ++------ include/asm-generic/hugetlb.h | 8 -------- include/linux/hugetlb.h | 6 ------ 5 files changed, 2 insertions(+), 48 deletions(-) diff --git a/arch/loongarch/include/asm/hugetlb.h b/arch/loongarch/include/asm/hugetlb.h index 4dc4b3e04225..ab68b594f889 100644 --- a/arch/loongarch/include/asm/hugetlb.h +++ b/arch/loongarch/include/asm/hugetlb.h @@ -10,20 +10,6 @@ uint64_t pmd_to_entrylo(unsigned long pmd_val); -#define __HAVE_ARCH_PREPARE_HUGEPAGE_RANGE -static inline int prepare_hugepage_range(struct file *file, - unsigned long addr, - unsigned long len) -{ - unsigned long task_size = STACK_TOP; - - if (len > task_size) - return -ENOMEM; - if (task_size - len < addr) - return -EINVAL; - return 0; -} - #define __HAVE_ARCH_HUGE_PTE_CLEAR static inline void huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h index fbc71ddcf0f6..8c460ce01ffe 100644 --- a/arch/mips/include/asm/hugetlb.h +++ b/arch/mips/include/asm/hugetlb.h @@ -11,20 +11,6 @@ #include -#define __HAVE_ARCH_PREPARE_HUGEPAGE_RANGE -static inline int prepare_hugepage_range(struct file *file, - unsigned long addr, - unsigned long len) -{ - unsigned long task_size = STACK_TOP; - - if (len > task_size) - return -ENOMEM; - if (task_size - len < addr) - return -EINVAL; - return 0; -} - #define __HAVE_ARCH_HUGE_PTEP_GET_AND_CLEAR static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 00b2d1a032fd..81a6acddd690 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -179,12 +179,8 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr, if (len & ~huge_page_mask(h)) return -EINVAL; - if (flags & MAP_FIXED) { - if (addr & ~huge_page_mask(h)) - return -EINVAL; - if (prepare_hugepage_range(file, addr, len)) - return -EINVAL; - } + if ((flags & MAP_FIXED) && (addr & ~huge_page_mask(h))) + return -EINVAL; if (addr) addr0 = ALIGN(addr, huge_page_size(h)); diff --git a/include/asm-generic/hugetlb.h b/include/asm-generic/hugetlb.h index 3e0a8fe9b108..4bce4f07f44f 100644 --- a/include/asm-generic/hugetlb.h +++ b/include/asm-generic/hugetlb.h @@ -114,14 +114,6 @@ static inline int huge_pte_none_mostly(pte_t pte) } #endif -#ifndef __HAVE_ARCH_PREPARE_HUGEPAGE_RANGE -static inline int prepare_hugepage_range(struct file *file, - unsigned long addr, unsigned long len) -{ - return 0; -} -#endif - #ifndef __HAVE_ARCH_HUGE_PTEP_SET_WRPROTECT static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index c6c87eae4a8d..474de8e2a8f2 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -359,12 +359,6 @@ static inline void hugetlb_show_meminfo_node(int nid) { } -static inline int prepare_hugepage_range(struct file *file, - unsigned long addr, unsigned long len) -{ - return -EINVAL; -} - static inline void hugetlb_vma_lock_read(struct vm_area_struct *vma) { } -- 2.49.0