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 438A6E748FA for ; Tue, 3 Oct 2023 17:36:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AED146B026C; Tue, 3 Oct 2023 13:36:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A9D896B026D; Tue, 3 Oct 2023 13:36:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93F2F6B026E; Tue, 3 Oct 2023 13:36:52 -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 8134F6B026C for ; Tue, 3 Oct 2023 13:36:52 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 575341A029B for ; Tue, 3 Oct 2023 17:36:52 +0000 (UTC) X-FDA: 81304855464.20.D4582DA Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by imf17.hostedemail.com (Postfix) with ESMTP id 1C2BC40006 for ; Tue, 3 Oct 2023 17:36:49 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm1 header.b=C0ODr5z9; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=iTx7hzXC; spf=pass (imf17.hostedemail.com: domain of arnd@arndb.de designates 64.147.123.20 as permitted sender) smtp.mailfrom=arnd@arndb.de; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696354610; a=rsa-sha256; cv=none; b=MpwR9Rr1rfajR20sOwz4fa4r0iTy81CdT4Ca/OWkSVDhK+RugW0OU45iRobJth2YThvndM y3HxGISpCytzPEAR32mI0CAQLZ+Po53ouhT78ScsTIAhOUay55EfqB78j36gVT4in/37Ju 9hwE56OPLgRoBjYdAW/HajGRvik8zg0= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm1 header.b=C0ODr5z9; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=iTx7hzXC; spf=pass (imf17.hostedemail.com: domain of arnd@arndb.de designates 64.147.123.20 as permitted sender) smtp.mailfrom=arnd@arndb.de; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696354610; 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=MMzuo9HE7N9XHvGcmeh0w7Xoy80nI7ZB5qQuJulIDRs=; b=GfNFiRMuO64dlKGQlOKhiNCDbCeVDhVthD16ondc9u/SH4l5f16LQ5iBtAbJ6XDaeGuvE3 hstgEkUzucqDORb47RmklNdX53DosO2tY8qplWMsMjuSAm3MaZPktO4QsTRxppdSgtJe9d pGe7QW+zDeYFYQnG2UNCdZ4aERA9q/o= Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 6695632004CE; Tue, 3 Oct 2023 13:36:48 -0400 (EDT) Received: from imap51 ([10.202.2.101]) by compute5.internal (MEProxy); Tue, 03 Oct 2023 13:36:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm1; t=1696354607; x=1696441007; bh=MM zuo9HE7N9XHvGcmeh0w7Xoy80nI7ZB5qQuJulIDRs=; b=C0ODr5z9/gLmrDOooa JZsCCEsAruD778TTNm4ELJsR/mqR8l6TKOPYEGan5PrkkkGwtYHxELl9ppWsv4br sCimyIfrVOg8o1ej/HzMmNzJg+mw/+VwG7VCWJ+mLs7TYVhLzr3JSmt7VBYxsz3/ x6uIgDIG/N4ZSVU6ppQUiHFI/ZadpBHEbhD/TrhnWSjzKGPWFgy8/0hoHvQmjeKY Av6UK6P2t41yGEbluCv/T2nEs+qSVsbWN9rv/v6LDsN7KjB1B+DmmAeLtwSJBQpi bOf6N2IUPvZkenGM0Rvp415UfhBWTit2OvnU+xqNQsN8YrS3vB3/P1yO3FlJSzCn yEDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1696354607; x=1696441007; bh=MMzuo9HE7N9XH vGcmeh0w7Xoy80nI7ZB5qQuJulIDRs=; b=iTx7hzXCGCs/iUwzVxLOfSLz0MH// OPdrKqkSMGV6rxVmDHU+4OE3atE6f4XbZ+GqOljpBWLXfUqeF0U0um4zlQKZGn/k Du8Mbxw/S2nMAz4ccPJ/qCTFM0k8YEJ8woZ9H7GuH8ZP6Eey0O0pAINH6n/rDWzh IYvj0I9xfPj+QFT5UTx95ludyFzw0zM4QpxYSt+alRnXIEyfl0xPRObpve1/a+OK UWTIZ5V/N0GqoHcJPtFqbDV6L9MD7e1XmYY4RqDquItrw5Qgvk7Vz7I9gsROAMp5 3dHHSVs5ZB09lmTlo5/qHBoGWx5fAp5ZDeU0ONp24/MqMipG+WG9C9GwA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfeejgddvfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdetrhhn ugcuuegvrhhgmhgrnhhnfdcuoegrrhhnugesrghrnhgusgdruggvqeenucggtffrrghtth gvrhhnpeffheeugeetiefhgeethfejgfdtuefggeejleehjeeutefhfeeggefhkedtkeet ffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrrh hnugesrghrnhgusgdruggv X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 9D17BB60089; Tue, 3 Oct 2023 13:36:47 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-958-g1b1b911df8-fm-20230927.002-g1b1b911d MIME-Version: 1.0 Message-Id: In-Reply-To: <20231003101717.f57af0208431dba6dac0357e@linux-foundation.org> References: <20231003144857.752952-1-gregory.price@memverge.com> <20231003094912.08cf57998135446ef475dd19@linux-foundation.org> <325de88f-1237-4910-aa2a-97707bedae26@app.fastmail.com> <20231003101717.f57af0208431dba6dac0357e@linux-foundation.org> Date: Tue, 03 Oct 2023 19:36:27 +0200 From: "Arnd Bergmann" To: "Andrew Morton" Cc: "Gregory Price" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Gregory Price" Subject: Re: [PATCH] mm/migrate: fix do_pages_move for compat pointers Content-Type: text/plain X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 1C2BC40006 X-Stat-Signature: 14qyzc8gx7n5gyyyuaeoyjdfgcy6smzy X-Rspam-User: X-HE-Tag: 1696354609-967509 X-HE-Meta: U2FsdGVkX19V49qotoSdvmk5UlNsV9KyYqA3+4gQMT+6DQuSihjgc6SyTncWdp9xfZy6Vz74LQG0yOfhN9t89OX9EXE0iXYs+Ibt9Ifh1x45p4p1zehH0a6BnIOc64CLDuuiMnSI1p1HDtuvQf03yZTj1B+rzlg8X5bEzcBszOBWWlAPcMTp6pKEW1BPAvtAdHCBGiR+IHFXnNU00ZvH0AcezCefPz2RstUhP5Wflciw1TiOVyPMKcvNyXAWIKq2l67o8kX1lwrCIBl1polNiZBvVFV8IbpFzMnL1eYfWtb6r7qsAeAbVX9O1J2bkJMg9RmMTSBWCdp7Pgw0DkWN54a3DjNN4H0Bq1T/69Yp6Xb4n5scfrhmXgpxDofQA+hQ4k0xEsx15PFC3fd+PpuTFAdBbpli/NIsSBkBTmgeHHez7dZqdjiLXI4xOwiUNlSwf6az1Ctq93d3vioGXoIXd04Mmdby2QowtbuQY7v6Brxm8FBvJSoIeiIiA0wbCHdiyiojL00t30BXC5HwYhjiNcyjofvU2MgQJZoOEWDMMielXKFmZXjRzAxP3Q7VxJJYm265As7OBiAgKkYQaoeiou2DHVlXvCnEtKXNmVF8QG6Pv8d3WKSUcWBT/BAfyoVC8l04qWcGYe8Y24hjwDI3+WmZp6Yy3czWH++0uxwC69F9OQYzcn4NWlYjnDaP0cD2aqCljnm72WJ3XPwTYH3D4GLnFGbmZYZwPqDT1fTqB/fLYJ/f7vI4f0C4YA7Lx4wdgnoHHRW9skz5KXrAxtc+kW3FdoR9wmBTc2zX5wq+0TFqFmynpFL00mRWynW/PihvuHgqC03BKZpyn3jZcKw/gywExzr53NPJ2GILYWhSyS0f8nfP6ygan7HFjGWmGkvKkXQJdw5CeIzNmyFmipVXZp0opNh9CwOfAgX2LRJGDMDvWw3hx7Ek4v+scu747NLvdm5HfXBHvUjrqL5I56e ugKqUF0o /IrOx87kNIvBF2/bik/ryyK8zdE7N3Pf2WsZjYs3/nvo+fP4gAlILtbsyaMkCJslpCWcXsU1x9fZwEs2S8atmQWafHbVQtMolnUSw6E1ghhWRpmHVd8iyXz9HnZacITKHdnw1aNPOgXNG4YClwnlo8VI1Edlx9QmTCM8SDEw3cG2L88fLoSELSQTXNFkl5iMoP8hlakQuhwYpxWRzz78yQssJp197VFKWDl6lZjMfSM2GhjT/SVVKPRspAK+MnskW3WaAWmgOqbLAVJDynLcVlk3ZbMKqcAucZ708 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: On Tue, Oct 3, 2023, at 19:17, Andrew Morton wrote: > On Tue, 03 Oct 2023 19:01:45 +0200 "Arnd Bergmann" wrote: >> On Tue, Oct 3, 2023, at 18:57, Arnd Bergmann wrote: >> > On Tue, Oct 3, 2023, at 18:49, Andrew Morton wrote: >> >> On Tue, 3 Oct 2023 10:48:56 -0400 Gregory Price >> >> wrote: >> >> >> >>> do_pages_move does not handle compat pointers for the page list. >> >>> correctly. Add in_compat_syscall check and appropriate get_user >> >>> fetch when iterating the page list. >> >> >> >> What are the userspace visible effects of this change? >> > >> > It makes the syscall in compat mode (32-bit userspace, 64-bit kernel) >> > work the same way as the native 32-bit syscall again, restoring the >> > behavior before my broken commit 5b1b561ba73c ("mm: simplify >> > compat_sys_move_pages"). >> >> More specifically, my patch moved the parsing of the 'pages' >> array from the main entry point into do_pages_stat(), which left >> the syscall working correctly for the 'stat' operation (nodes = NULL), >> while the 'move' operation (nodes != NULL) is now missing >> the conversion and interprets 'pages' as an array of 64-bit >> pointers instead of the intended 32-bit userspace pointers. >> > > Thanks. So is a cc:stable warranted? Yes, absolutely. It is possible that nobody noticed this bug because the few applications that actually call move_pages are unlikely to run in compat mode because of their large memory requirements, but this clearly fixes a user-visible regression and should have been caught by ltp. Arnd