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 993DBC30658 for ; Fri, 5 Jul 2024 12:23:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E3EB66B0085; Fri, 5 Jul 2024 08:23:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DEED26B0096; Fri, 5 Jul 2024 08:23:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C8F496B0098; Fri, 5 Jul 2024 08:23:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A93B86B0085 for ; Fri, 5 Jul 2024 08:23:20 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 04EC58189F for ; Fri, 5 Jul 2024 12:23:19 +0000 (UTC) X-FDA: 82305614160.30.8ACA66E Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by imf28.hostedemail.com (Postfix) with ESMTP id 85C25C0017 for ; Fri, 5 Jul 2024 12:23:17 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=S2t7NjfA; spf=none (imf28.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 198.175.65.16) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720182163; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/TXpJRolz9Me2GOxCSNStpyCr3AujYcIpb/WEATQjyE=; b=wOqLosEIfzAsIhnXeBcTTVN3rtNs9+qwNnHhnLyyw2L1TtJE2mRNzv1M5S7dQUtWFE+dLx 4YvLSGvb2j4M6PGkJEJK6ZRccuH2p9EvqzbIj7BAtVfph8hJIjg20WTwruRoXfOjSrG8+H sc2oTP+r8WIZ1E4ryehRRkopk6Khs00= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=S2t7NjfA; spf=none (imf28.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 198.175.65.16) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720182163; a=rsa-sha256; cv=none; b=1gijmCoAHuUe0TR5Kjgds/e6uXrOsZfdAakbl1gO9/qv8w1CewQAehBh60YKSAivQqoNzN lKZlFkcQtO6ogN7EOVQ1aSeGzxCp54KhIQ2osLYclLQnoartzsqBxhBqpbF/F59XzmphTB sc7gTHbVHl0/ySF3FlQpxgjxh9szWPc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1720182198; x=1751718198; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=x/n++De4icayafQhuBtAEpliZtdcRpQ8wL4f3sJ4144=; b=S2t7NjfAaJSJjPcYs6JtIJsumNPu6HQM6wm4X6zhgPfTaSdiJw4u+eo4 Iva3tojphT/QUwE3WCibbo00tCkScg4V/QcY6BdaPWyFuOhE4DAGiADqi psb2fhWOTVaFh+f6PUuUptHYEohNoHTwcRIs6n/ud3qkNwAIQzdmPgrMy 0uonc0eFZs2UOTYmTPYO0LIbBEzOLaa7h0unIPkGdnhw3nDYIMgjAfS1d 12LbSI82M15oLOQcFrOusBlEtJDdFJF8QqlwePWJEs2MUKd4DNuvVkQ8i 7t6Ndp9ZSaQyehrND3P9hXF6synd/F6Ng3Mj1jB7Gzz1ooI+q7gJgAq8V A==; X-CSE-ConnectionGUID: z/d4XhL+SDOJuiMdu1iB0A== X-CSE-MsgGUID: clpOvrZ7THOPkXhzPNJJaQ== X-IronPort-AV: E=McAfee;i="6700,10204,11123"; a="17604040" X-IronPort-AV: E=Sophos;i="6.09,184,1716274800"; d="scan'208";a="17604040" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2024 05:23:16 -0700 X-CSE-ConnectionGUID: /FIIEb0NQUqsLCH5FRLEzg== X-CSE-MsgGUID: v6ZIHCviT266Fy4Yj62F2A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,184,1716274800"; d="scan'208";a="46931636" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa010.fm.intel.com with ESMTP; 05 Jul 2024 05:23:12 -0700 Received: by black.fi.intel.com (Postfix, from userid 1000) id 95453914; Fri, 05 Jul 2024 15:23:11 +0300 (EEST) Date: Fri, 5 Jul 2024 15:23:11 +0300 From: "Kirill A . Shutemov" To: Donet Tom Cc: Andrew Morton , Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Ritesh Harjani , Mike Rapoport , David Hildenbrand , Matthew Wilcox , Tony Battersby , "Aneesh Kumar K . V" , Nicholas Piggin , Alexei Starovoitov , Andy Lutomirski , jj@black.fi.intel.com Subject: Re: [PATCH] fs/hugetlbfs/inode.c: Ensure generic_hugetlb_get_unmapped_area() returns higher address than mmap_min_addr Message-ID: References: <20240705071150.84972-1-donettom@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240705071150.84972-1-donettom@linux.ibm.com> X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 85C25C0017 X-Stat-Signature: b3ehag3wsj3oajd5zx1r4jchgmbmhfdz X-Rspam-User: X-HE-Tag: 1720182197-267220 X-HE-Meta: U2FsdGVkX1/gpQ3VtXXmJQTbmq8i0uW7LycZtumdspstCCfEZuxBB52+wotnB8cRAZSIK9l1snWyQsy9PInVZZBLOVkI9szSpPnPodEtyD2u2+Rjbax8MsnU81i3wORkoZ46oEBz0U7etCaqzr3JEdcYKtH/UvL8N7/Zo0n0LrtwTXUsGE6Pws5PcpzevG2GbEQrJZ7Yt5gTTLQIVVhSL67fP3zgRnvREua05L6A1PKkcNWW7jwDTEBmBgXGCql12X+isI6BLVC+TPxhcBq785HM9qWI7GhGIpTcHl+AvPl4NYrrbdfOQzu7sZ06KWlrx/AEjweMZMARsGZpDpAlceT4nRmn2f1NibCKjb6iKgaDqmmw7qLMmwE2fZp0t8vUduF+2omM0xAaxVaw+uj0yslqiEj4pCGtTlctMs72UthZXSJ18eOuhvCdq+mHit3QzmozkHO6U6otqAnC1blD/vnFVe6ts+nAK2tolHgHfjMGbf0vOhIsxdDcMsasZr5S+3HbfiHdRdgHSWRuPR0EhbrvfdZuG7UPFMzUfBTWmM0lYgzqfREYIsbEoxAxObRoiHiUNeZOV2Vj18snZT3vt1H+r6gSNQcNaf0yuXtr09Gse/P0k680GLNBZWZrOBU8w/f0ggWT44rtDR1QgfskvnR35fJe7Ly+H4ve7/89/sCdBhUrYidREMB9kSF8PYGQJVJ4KHIFuyo79LHrbLAsEv991yGRXTm1TkefYH4F6LGByC9Ier8d7trogEvUO7ntglYxgEbNpDgNq5tCRGD4F1WAGwZhkHLs+uvMOjTatHX2vqlF3EHZ+6XTXpFf90RlqXze9QUmIs5ZsYykK4V3tWBgckImL2HKIpmLxYG4mtztNjfq7W9wMzTk9Zr0oXsxG0MLyuGgdsoG85RHEqRT9sncU6WP9mYqUbwpozEU8AfBy+yPWBbnGUb0o+5lQ3g8oYvK56rHKzBMRrYEtVR Io1L3Wcs 3J6esQi1ICacpvN1ovucnWnChEupwnLzrP18yv2HRXG0aDlQYfC2QiHa3AFKnd/AzYfP3Mcg7vSnBeKRQUmiNY2NRZeAiJlDX7IQwnK01IlIXLNYTn4WZAcCQziNNp5hzgQijIxmYNFVdlRkjQ+WCWil9xfUSpxxOyRCIRyC5nmWiJ0h12t3Kz9OV7WdKvjVkbwu1Vn2uE8CwE6up+2S+8vFfzghHdap2pDrl6Hf//KSQ1YmYEdkpGPYx8qV9mngQ+SJNuJYgfbUGLT5f+kTi0Ru/vQ== 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: On Fri, Jul 05, 2024 at 02:11:50AM -0500, Donet Tom wrote: > diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c > index 412f295acebe..428fd2f0e4c4 100644 > --- a/fs/hugetlbfs/inode.c > +++ b/fs/hugetlbfs/inode.c > @@ -228,7 +228,7 @@ generic_hugetlb_get_unmapped_area(struct file *file, unsigned long addr, > > if (len & ~huge_page_mask(h)) > return -EINVAL; > - if (len > TASK_SIZE) > + if (len > mmap_end - mmap_min_addr) > return -ENOMEM; > > if (flags & MAP_FIXED) { > @@ -240,7 +240,7 @@ generic_hugetlb_get_unmapped_area(struct file *file, unsigned long addr, > if (addr) { > addr = ALIGN(addr, huge_page_size(h)); > vma = find_vma(mm, addr); > - if (mmap_end - len >= addr && > + if (mmap_end - len >= addr && addr >= mmap_min_addr && > (!vma || addr + len <= vm_start_gap(vma))) > return addr; > } There's more difference with generic_get_unmapped_area() than what you are fixing. I think we also need vm_end_gap() here. Hugetlb code duplication is annoying. -- Kiryl Shutsemau / Kirill A. Shutemov