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 960C1E7AD7C for ; Tue, 3 Oct 2023 17:02:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1F1A16B0256; Tue, 3 Oct 2023 13:02:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A1876B0258; Tue, 3 Oct 2023 13:02:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 01D8D6B0259; Tue, 3 Oct 2023 13:02:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id E60C76B0256 for ; Tue, 3 Oct 2023 13:02:31 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A4C3F803F1 for ; Tue, 3 Oct 2023 17:02:31 +0000 (UTC) X-FDA: 81304768902.14.B4564CA Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by imf13.hostedemail.com (Postfix) with ESMTP id 47B9620014 for ; Tue, 3 Oct 2023 17:02:08 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm1 header.b=PqaGf9Pv; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=bO7uNqDo; spf=pass (imf13.hostedemail.com: domain of arnd@arndb.de designates 66.111.4.26 as permitted sender) smtp.mailfrom=arnd@arndb.de; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696352528; a=rsa-sha256; cv=none; b=5d6Y+d0R7CprOwFDCCIebt3G0iFQ03mGfTZv7ZLD9lCQVpgWPR8khs9q0JlghEgxGHDfyx /PpNquLjAJ4CSUVxGda39JzHAdYHsBveZU9k/11tgdCYtxb6h0aygC0vJbDhL+JSGjNbif MJcMFfMzvFVEpFELo18Syf9v568lRfI= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=arndb.de header.s=fm1 header.b=PqaGf9Pv; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=bO7uNqDo; spf=pass (imf13.hostedemail.com: domain of arnd@arndb.de designates 66.111.4.26 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=1696352528; 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=XjdGRjhPL+NgQbb0Fq8+LNYwiDlMZC0hbW4ulM6CgK4=; b=SGxBA+BK5FzbFRN+tNRrEwjDwXxIm470wTFlrFdXucwm+Guyg3M56lD0wMZzDkpFjex5KM O+Q1uyj6WLMJeth2GvfMP84cTnwQu7FBWN7G7tVSC8FFjTdZ3eJ7D4rANLB9WIRNB8sbjF Ntw7lq2THIzcWzuLyXun5LMisDOtC6M= Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 6673D5C0333; Tue, 3 Oct 2023 13:02:07 -0400 (EDT) Received: from imap51 ([10.202.2.101]) by compute5.internal (MEProxy); Tue, 03 Oct 2023 13:02:07 -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=1696352527; x=1696438927; bh=Xj dGRjhPL+NgQbb0Fq8+LNYwiDlMZC0hbW4ulM6CgK4=; b=PqaGf9PvXgBcYBdsfT CVLSD5SyMlTUthkuxTXYgjssGHMwGqHpoq5lW91MSvaXCO6xIX8toOzs0usNehRS jVsl+wwSgpTHI+715b4vj9doR/wg8uNKmi6OzYMeB/K6zKr/35K8mBPxx/9E+Z8i LTYMMZb9v9R6OxMs9wMb+sgmUCBY8FYRJznRRemxGNoyVmuXNKE5IOOmAa7j/dgk QvVrC7CAjW1S4dmGP6GZ05mcxuKUNDAz+lHKPZ1kh+igz9XZyDuKirLvuzhtEiCc qVg1wUdadRkkdJJwXzXRtO1XMCGggR63ewJIkfQ7KltZeO1gcXtiyQ0Gq3m9DLY6 qwjQ== 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=1696352527; x=1696438927; bh=XjdGRjhPL+NgQ bb0Fq8+LNYwiDlMZC0hbW4ulM6CgK4=; b=bO7uNqDo/nuzsn69/n1i8DRAlZHQc ROsQ4w257Uc4pbjchQSlZkODoCUOHYlaPIgQuRaCyuWwYTwVKHY+a71VIbxLyzey HpbmFL2AsObsJEk1NdP+DPSp+EXmeYcQGgxUGcFEtE44PQkNrXkVpSZyY3FPUb2L OqR7/2lchX4xqlf5A5Ui0SVnpwkjk9cTUVMqIJ4rHC4Vqe2d6ZrThz4rGNY82G4S mxbJPGNBhLDOR4PbxJIo8TZLbWbZQI+hhrZj2w5bjK7tYlEOdb12DxF4WUXpl66G pyUF/V27F9Y6oF7YG60pOeE9zuPXpK6kz7pAQXx8IfjtM9OlShupHdbxw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfeejgddujecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdetrhhn ugcuuegvrhhgmhgrnhhnfdcuoegrrhhnugesrghrnhgusgdruggvqeenucggtffrrghtth gvrhhnpeffheeugeetiefhgeethfejgfdtuefggeejleehjeeutefhfeeggefhkedtkeet ffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrrh hnugesrghrnhgusgdruggv X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 04B78B60089; Tue, 3 Oct 2023 13:02:07 -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: <325de88f-1237-4910-aa2a-97707bedae26@app.fastmail.com> References: <20231003144857.752952-1-gregory.price@memverge.com> <20231003094912.08cf57998135446ef475dd19@linux-foundation.org> <325de88f-1237-4910-aa2a-97707bedae26@app.fastmail.com> Date: Tue, 03 Oct 2023 19:01:45 +0200 From: "Arnd Bergmann" To: "Andrew Morton" , "Gregory Price" Cc: 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: 47B9620014 X-Stat-Signature: zqwiz3sb783j6ws8epi68cnzft8z395t X-Rspam-User: X-HE-Tag: 1696352528-869956 X-HE-Meta: U2FsdGVkX1/+FAFB4Neo2ltI08JFAx3b7arSx6Bvzqq1pVJzXBRk1Utq/ZapPFdX62Va6+Yih1lOslqPs3lV7rTIjvnghm4hUwcmybWHIVtmqoWUfNePFWmjq0TRB0zki1YjGuSBxk4ewpp/GycELxR4XZOrOtfo+rgFxpFfRSGFWaoIn7hcRMYYo/t8QUPren6lstFD0uNI26iclEWx2mVl11CzWgmcyrQ3bKADHuJi0YHCg3sM/Pz/9WugJyy96dOa6qrFHorV8zxu7g2OkGS7RtmMlR9TSwH03Fg9oZW/gUZhEDtGKFfZL0cbNm8CN6/x2qxUgBWBKEn39BQqu4uq1E5pUhQZrWlDM/EB//DXVA2SdtNLIH9lz6MlJLRwINWTMOViGps9ts66ze6nIYBlZb9lvkLe0PSm7mL8aMKF8s3zVygylY9FL26PXJUTpUZ7W5Kv0ONdB36OF30G5laCmDu3+IqZyTNTgBmrlIJ3pA+TfqtYlDR8hKKeWqYCzOCK8gThXVp5pP14SjfcFc26iizDpPDltpd9AygPEjsBhwJMjkpT/xXwBhHBUp6aYMmfWBfxZECM91oRi1fSjHjfQUxYplVwaub1k5F99UDlD1pJrQgdLRUBbeP+CcDE2zB+H2e/HOszN3nkfMCazkiPxhVVaf8eoVkMvNSAAadyhinnsMzY0LuoBJEACzEX4wSHtvsQJTYDIk9HPa8J4TUpfBjjd4Ueo099XA9cWzMEOf7n6V/ryXmmOLIL0JhxZPTM0CMvQyo6U5d6sBmW95NAqKVTli8embvAp+71glYm2QL5NQH+6RGyvtR3H6Egy9AcSFG0xoFkWiHo4S9SpPx8Hq1bJ2gnE8eypbk3i4dEmEWYbFcZtdlCXe4XOjx7wZWouykWX2+qHQU6X9UllL7y6AoDw1wPKKyMKD8j1Mm6rxIjSMUS1opDSnZ+W4YSuKA0yXofTS9R6D00bsV 5Qwuti6q 9CDD9soi3Sxg3uZu/QlYT8ieWGusfcW4mqQNFkRCOysI8yTh1ZLYGRqyNd76Q+X2JzjmCiDi8yeHP3Lq85/kQRV6M9ExtquU/ZCagBhpMmmmztPNR8ZFFwaTOanM7cg6nRUcPZdGw00Y96LKseJS9unY0c06GMBxGL13X8sTGubMRBJ0dAQrX9ZIwSMbhEqF7jXMuWCbx1eOxSlYivetTLse3VNwAIAWXzVFQOyck4YZIy5kzp3GHEsjToT4v2rTKk8Bhc7V0wsKr1WNF/IUnBwws+GddRaCJ3dQF 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 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. Arnd