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 27D02C369AB for ; Mon, 21 Apr 2025 19:04:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7CE3D6B0005; Mon, 21 Apr 2025 15:04:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 77D926B0007; Mon, 21 Apr 2025 15:04:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6452B6B0008; Mon, 21 Apr 2025 15:04:27 -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 46C976B0005 for ; Mon, 21 Apr 2025 15:04:27 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 967911A0C8F for ; Mon, 21 Apr 2025 19:04:28 +0000 (UTC) X-FDA: 83358977016.20.4E44D6C Received: from mx1.wiredblade.com (mx1.wiredblade.com [162.216.242.35]) by imf27.hostedemail.com (Postfix) with ESMTP id 80D6140008 for ; Mon, 21 Apr 2025 19:04:26 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=psihoexpert.ro header.s=dynu header.b=YL3W8wIM; spf=pass (imf27.hostedemail.com: domain of marius@psihoexpert.ro designates 162.216.242.35 as permitted sender) smtp.mailfrom=marius@psihoexpert.ro; dmarc=pass (policy=quarantine) header.from=psihoexpert.ro ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745262267; 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=GNwNTomk2L+xH30uYfzu2FmEUpjRULKpLyKzAyLVhg0=; b=8bNBqTvqQRyUw3M1swqsS52oF1OehGZWJENoSallWCMz73bZEdz4wg83DwIsT+/5HC+tse 2w1KfNTyGGg1UVgLmSOCWvzXRTVBItX8FmiMQOVfZ6STP6QYsiv3Iu/sPjBewsDJn3oUjC ULfW3NMQA8qtSPOF1fjVSdZtOayU+qQ= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=psihoexpert.ro header.s=dynu header.b=YL3W8wIM; spf=pass (imf27.hostedemail.com: domain of marius@psihoexpert.ro designates 162.216.242.35 as permitted sender) smtp.mailfrom=marius@psihoexpert.ro; dmarc=pass (policy=quarantine) header.from=psihoexpert.ro ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745262267; a=rsa-sha256; cv=none; b=q1ryfNCKeMWGp4u8s72x8ZzXzZLwlCA6gtFz47povqvaYDpFuTLpPVU2cN8DUS1qn0dqEm soIKLB+84mada/F7ya/MocCMMbKdLNybieyEPWT+FVYz0EN0Y+I7ZtS2MQrHGjrILGDW1O M0Axt29YGkn/BMwZfu+rSkOvQWcwoAY= dkim-signature: v=1; a=rsa-sha256; d=psihoexpert.ro; s=dynu; c=relaxed/relaxed; q=dns/txt; h=From:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type:In-Reply-To:References; bh=GNwNTomk2L+xH30uYfzu2FmEUpjRULKpLyKzAyLVhg0=; b=YL3W8wIMfPPohLo9wQMqFQwhdCH3ok766H+QsfkpxktZ/36AQVcVd6jOkLW4ADsDkE1ZdO9h6Cvj5HUPblaNQUYPYwZ41OUSHsqR9BQxp0wfOJ8d/dAtKMza1185XfUO+cO5pmo0VoCVFC30RBL1QZfoRUzQyV+2YsEJqps7YyRA066JZyh7YCUXxZ0EoUO9FPPOZLvhtjvA4BV5JTE2FHanhSWdzyPlehi8bXck8P0Zr5q+sT/SQuYBMS 4O1/lA3MPH4REv8xDuqM4LaSRK2B4sdBQSeWCTClcGDH4oqu9yOhRlg4zxDS7vMRKROKZnO7JS7V08Y72lJY7KB8tN2A== Received: from GRAPHRT (188-24-192-106.rdsnet.ro [188.24.192.106]) by mx1.wiredblade.com with ESMTPSA (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256) ; Mon, 21 Apr 2025 19:02:25 +0000 Date: Mon, 21 Apr 2025 22:02:16 +0300 From: Marius Dinu To: Herbert Xu Cc: Nhat Pham , Andrew Morton , "Sridhar, Kanchana P" , Yosry Ahmed , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "hannes@cmpxchg.org" , "chengming.zhou@linux.dev" , "usamaarif642@gmail.com" , "ryan.roberts@arm.com" , "21cnbao@gmail.com" <21cnbao@gmail.com>, "ying.huang@linux.alibaba.com" , "linux-crypto@vger.kernel.org" , "davem@davemloft.net" , "clabbe@baylibre.com" , "ardb@kernel.org" , "ebiggers@google.com" , "surenb@google.com" , "Accardi, Kristen C" , "Feghali, Wajdi K" , "Gopal, Vinodh" , m95d@psihoexpert.ro Subject: Re: [PATCH] crypto: scomp - Fix off-by-one bug when calculating last page Message-ID: References: <20250420140116.b6db3aafcc2f99569190c97e@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 80D6140008 X-Stat-Signature: k7j9ifbkma9skzqrt7zbhnxnhhthz6nb X-HE-Tag: 1745262266-246321 X-HE-Meta: U2FsdGVkX1905Tz6jkNzprkbPW4gGI0lypWvyVzIicgi8pMNgQ1NmZ2QVKQ/lWqn9dvqf8P4HATreGUhh153/9S4w0FqGm6PJ58YbYHGRoY1IY+bFZEgFChPmThQPuer58zMVTAeAa0Mpe4uSoqXkyV/DpMAp1MEntEX9fo6q5XPCAHLiAd8Va7eB/i2Hlr1lySp+5qE3lV+09R9DR9IYfqLoa+tzFe4eCVXOPBMmxZgsKWxcqWTbECZ+akWk80reJf9v02Ng0JD3d2MewjlTWEryB1OXR5m1Kkjp1sNIw2JRJBIjeyEyl2yxNX0ExvYJZGahfFcmfeQmIrZ+AUPhQ8h5IXrc7scve1F/A+Qxux8mWOVlVxXG+Is0YLM6vjYBnrqpWKeRWngtxW/PaEFPSBctnLZz1sNNl0YNV2ad6Ykylyb8KjUl5dOZ55YAJD3+O/uLCAy6Kvtz4VsGsc11Wl+5tx4W5LY9xDGFB17aJSYBwCSGNqrgrBQQSM7ziJhtBYYiWYM5HapRD5df/Um+86xhTWOnwfWQ1O6T7EjUUWUoaA9hywiBV/NFstiLeuemh+j39+WwSKkYONo4YdOsBu6hO+vy7rIzSjpSSLXz8wHLng2PS8CrE1kUvdOe6SYxZup7RgaZlTka6kCvj0daNKOvibyGpRM8sBD7QmWZjneqYZ+CpIIaLFJoM3vc5Be5exjSwWJSQJ8tXSCZ5hCMgTLegi4jcqOwC05Fr8iGVLnhxkN26zVl3QMLn7Djx1BXjsnLYqluHi7vp7wLiUaLvlaBtDbrkf0LT8Ardup16EAYCPNibgYzfkJrE1/NmZerQSq4iz/oMrmcclSybx5YoKXgE3NfEmvFyUe5RMXsmFrkksKTNjhvhSrp0iXuyrVuMkYBnwnW+bNZyuTR3BKpuXak6/MmflawQzIM20hQTqr/tbFow4wsVzVuPWo9dYsNqoyZb5eYLaqSKWIe7k 2A5H0NT1 LjPw5oGuIHSbBePO2jyCNv+KHPi+IygKY/Tt1+uCcxk0zHOlPTt8RLh6Nq4Ad67ep9faEewcf3u1MpQoG3MZeRSRemPNdxmnTEH53RJTTTtrxmBDx8pv9gMAVWg0bMd7V1V3hrdkEGH4lTVoym770ZCj8d7fLTM7eZCg4PPJtRQnpwrMXn1y9gGnp/Wj1hi9B6ooQVNiwup64o2shdpswa95XzVQhSUT/bL1jLiEP591Ea2uyFKnll9BEPpTCYFoO6GWgDr80CMtVNBhxdVwfzqTPVQMYPszcfrqh65af1DgTl9YiAz2P1WadkPDvRrWvimInwVjNUbLR2y+3qXAVFb7ze2JhbAeFZM4NLMNr4FoiJJq8jG/KBZHyjBv9MddMLSYkWKzwhvR37au8SUW6XO62tstT5Y4Sl4iG77IR6AFINXMMNNbE6mty5W66Z3Kwi759sJt9PCTGrmMuQ+8qQtEFHIrHTmjFa3AmR2gpa6FFKXo= 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 Mon, 2025-04-21 11.31.31 ++0800, Herbert Xu wrote: > On Sun, Apr 20, 2025 at 04:35:44PM -0700, Nhat Pham wrote: > > > > Anyhow, this looks like a crypto/compression infra bug. Herbert, does > > this ring any bell for you? > > Yes this looks like an off-by-one bug in the new scomp scratch > code. > > ---8<--- > Fix off-by-one bug in the last page calculation for src and dst. > > Reported-by: Nhat Pham > Fixes: 2d3553ecb4e3 ("crypto: scomp - Remove support for some non-trivial SG lists") > Signed-off-by: Herbert Xu > > diff --git a/crypto/scompress.c b/crypto/scompress.c > index 5762fcc63b51..36934c78d127 100644 > --- a/crypto/scompress.c > +++ b/crypto/scompress.c > @@ -215,8 +215,8 @@ static int scomp_acomp_comp_decomp(struct acomp_req *req, int dir) > spage = nth_page(spage, soff / PAGE_SIZE); > soff = offset_in_page(soff); > > - n = slen / PAGE_SIZE; > - n += (offset_in_page(slen) + soff - 1) / PAGE_SIZE; > + n = (slen - 1) / PAGE_SIZE; > + n += (offset_in_page(slen - 1) + soff) / PAGE_SIZE; > if (PageHighMem(nth_page(spage, n)) && > size_add(soff, slen) > PAGE_SIZE) > break; > @@ -243,9 +243,9 @@ static int scomp_acomp_comp_decomp(struct acomp_req *req, int dir) > dpage = nth_page(dpage, doff / PAGE_SIZE); > doff = offset_in_page(doff); > > - n = dlen / PAGE_SIZE; > - n += (offset_in_page(dlen) + doff - 1) / PAGE_SIZE; > - if (PageHighMem(dpage + n) && > + n = (dlen - 1) / PAGE_SIZE; > + n += (offset_in_page(dlen - 1) + doff) / PAGE_SIZE; > + if (PageHighMem(nth_page(dpage, n)) && > size_add(doff, dlen) > PAGE_SIZE) > break; > dst = kmap_local_page(dpage) + doff; > -- > Email: Herbert Xu > Home Page: http://gondor.apana.org.au/~herbert/ > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt Tested the patch with git master branch on the same SBC as my bug report. It works. stress-ng --pageswap doesn't crash anymore. Thank you! Marius Dinu