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 08368C4345F for ; Thu, 25 Apr 2024 22:40:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D9A36B0082; Thu, 25 Apr 2024 18:40:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5897B6B0085; Thu, 25 Apr 2024 18:40:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 451FF6B0088; Thu, 25 Apr 2024 18:40:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 266146B0082 for ; Thu, 25 Apr 2024 18:40:38 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B5A9FC1288 for ; Thu, 25 Apr 2024 22:40:37 +0000 (UTC) X-FDA: 82049524914.06.FE618CD Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf30.hostedemail.com (Postfix) with ESMTP id B6AAD8000D for ; Thu, 25 Apr 2024 22:40:34 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=JrN+gwGB; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=none (imf30.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714084836; h=from:from:sender: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:in-reply-to:references:references:dkim-signature; bh=Pv6DAoPFFNrD4sYIPF/agyqOANkVbxxZ+lZCZEZ+GiM=; b=v/4+NbMlDOZ2CGIhyNOWe36VfJy7j14DK9LecOW0ybMOuLXjXWG8gKBjb3K5FdKcFdlPdD Wg+/Hm3d2W8+/j7fBpui9SalqxbnQTHI2vZb/2ikFz9a6IPBigevS0Af/CjGDqrjA/2Z8H xLHczyfGtqNECHCYc5VXwQtk+tNEQA0= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=JrN+gwGB; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=none (imf30.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714084836; a=rsa-sha256; cv=none; b=1ZqQxOGf6sB60HMn8EHGz3TBpG3Qfz2xb0j7xvhXwqn23LuGMmL66OmN8tGUVNvtFq3ODc uzC3ksfxP8xWKJ+A6SjO4qYakIQ3YhJMgmIRww44KwG11bSII/UTGbWoqIt9dyScwn0eXS 21PcgzkHw6rfBTqr5B4RAP6lG1twCws= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description; bh=Pv6DAoPFFNrD4sYIPF/agyqOANkVbxxZ+lZCZEZ+GiM=; b=JrN+gwGBiCeml7wT9b6Ytx+8zr E199uP12fHkIKlQBzuWwF3kTvVpMlFuwd5s25SPo+4NkOMRvOr2Imy6xxJJF+njOuGptf8Zew0Ibq KPjc39y8562tf4ByOhadWH7GuD1gVuM/dqzfYIrpG8Tk/3SOHdFDjAWP4tRmTTZFIb06BzcWIbp/4 tlRQRwmmabiIUYsZgpe6gtzHLjpAP7MLAxo2DDaJ65Ar8XiM7nHR40HOtJ4/3WYmDY6H/L9DPs1rC Bl93lsDBs8NkuMqNge2MOiiMM7JSM+k1VTdlNjlGa+C+rM/tCKK6kFFrOAuAXEFAaCT73kRxIkhzH dSMCCz5w==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1s07lY-0000000AV5t-1zP9; Thu, 25 Apr 2024 22:40:32 +0000 Date: Thu, 25 Apr 2024 15:40:32 -0700 From: Luis Chamberlain To: Zi Yan Cc: akpm@linux-foundation.org, linux-mm@kvack.org, fstests@vger.kernel.org, linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org, willy@infradead.org, hare@suse.de, john.g.garry@oracle.com, p.raghav@samsung.com, da.gomez@samsung.com Subject: Re: [PATCH 1/2] mm/huge_memory: skip invalid debugfs file entry for folio split Message-ID: References: <20240424225449.1498244-1-mcgrof@kernel.org> <20240424225449.1498244-2-mcgrof@kernel.org> <17447911-9578-45B2-A601-28CD0C5036D4@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <17447911-9578-45B2-A601-28CD0C5036D4@nvidia.com> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B6AAD8000D X-Rspam-User: X-Stat-Signature: 918zuzg8pujr641ezaa89nuwczbtigfd X-HE-Tag: 1714084834-833260 X-HE-Meta: U2FsdGVkX1/l2ruXXf+D1XNBYkKMCO4G2+pXG0gwor4HDpSDjnrU3o+2KivJjFp6c92ckzxxILvZZzabphjcAAShN8eglEFco9uDIzishoPJ1CRmrPMYSIivDgwUbnjYUONPjD7royE7Ee8GJe4d63o7WncOnM9d2JUam6kzBff1OdtCZyNd9TvbYUaUfQ9EGdLgOJMWdPJ8owIHj7Q7SZdBYO32njozTB+MS3uw2VOUoXHckiFAgJbPgAoDi31P9YUUIRp1eEpgPO43jk9wc8ujyqqFmqEsoHxLb2i1Bj3BLiyjESvKiYlt/lL6vMlX3F2tb3GqMuAn9p5mPD7EOkAifZIUmqs6/w5bvQrnsCpgtHhQm9Ki+lhZbTpbDt1nk2ghUl2ivJ8c9qrCDwvQuh9i5mX+lZ8D9ixVMJ+Rf3G+ysIpCq7sPXKS0I/bByCmGxtg/Bbu6LgNmqLUpRLQQIE2epQCGVeLID/8KFH4UzPVdaZBsOyTomIcEtDrVu0PdSqdolRUPKsgPqjweqvrEZUWMmdrls/h8XGYlLRsCPQbU8GG1ZPeHCpS5ojwiL6BGwnOQvBgLjcRzmZkLfqHNwR5bv0qNqnlF/oxw79qX3vhhJ+2TtUrIy1XZvKlZdnPwl/nh98h45+/sUu7uyOmz4UWuE567XKr2MpAV94HXO7ZaS8aUHPlqeWbtu3hcQiSvygtrCbMNeF/WzYAOW1CzW3WbVI8bujkFJQbX5gyntQzEcit63nfn6CXSKLW9IUMapWVsuWEnC0MgPi2oAQ1y3j5q/CPQdT2CsKkC7sOIgyhOxjSqdTtc8m1z1wE/1ldx13Sq6K06SZ7qxgDwC+ZE4RsSKhs4cpfNHsT81oK+OjzE8+TNCXEpu7IiGhw+t1wvIyPpGOQj7PzqzesS3DZnuYq98VMNIWQQFQkcHIE1TR72TCzOejdi1rUST99H5Ae+Ql5u7Y3sDc1IpAoAOh Y6kIG2tr 5XiaVcDMlCDzVAQuD/GzeU8LcTu30KAmhvropCnz3jXOOW9Vhx2ZQMUeQ66IKqRFH9x+B0mw9WvbXV51Zn2IeDH4uCF/r56lOWO2T18i1XIWRTIyyaAa1lH07HbUmAggVJpdBsQPgi/KIIwKTumHK11Z7d7YvajINm3d6VlwBNKZrAPNEIqQqadv7PFLvd7ZjtAI2OtoUKXdXGfHnJRgOiSn/hxfvDWPLxYjK9vIJ2bbiKWhGm6Zom7zaHKSg8fhucSk3oXijYmkXDlSjoNvRnf3q77dNdSmlsVX+Xm5+Cir42Vgl+yqAAywW/TuPF8uNe8tD1A53l84rvaXo8Ea8zf2PMmo3KkrGQc1RTxmLwK+SNpLK65unF//+Yh54DWxgoRH+1era+TcOnXE4vqWnIx0Hm/JlAziaGAtG 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 Wed, Apr 24, 2024 at 09:03:51PM -0400, Zi Yan wrote: > On 24 Apr 2024, at 18:54, Luis Chamberlain wrote: >=20 > > If the file entry is too long we may easily end up going out of bounds > > and crash after strsep() on sscanf(). To avoid this ensure we bound the > > string to an expected length before we use sscanf() on it. > > > > Signed-off-by: Luis Chamberlain > > --- > > mm/huge_memory.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > index 9e9879d2f501..8386d24a163e 100644 > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -3623,6 +3623,7 @@ static ssize_t split_huge_pages_write(struct file= *file, const char __user *buf, > > char file_path[MAX_INPUT_BUF_SZ]; > > pgoff_t off_start =3D 0, off_end =3D 0; > > size_t input_len =3D strlen(input_buf); > > + size_t max_left_over; > > > > tok =3D strsep(&buf, ","); > > if (tok) { > > @@ -3632,6 +3633,14 @@ static ssize_t split_huge_pages_write(struct fil= e *file, const char __user *buf, > > goto out; > > } > > > > + max_left_over =3D MAX_INPUT_BUF_SZ - strlen(file_path); > > + if (!buf || > > + strnlen(buf, max_left_over) < 7 || >=20 > What is this magic number 7? strlen("0xN,0xN") as the minimal input strin= g size? > Maybe use sizeof("0xN,0xN") - 1 instead? Sure and I forgot the fixes tag, will send a v2. Luis