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 EDDC6C38142 for ; Fri, 20 Jan 2023 03:08:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2EA0A6B0072; Thu, 19 Jan 2023 22:08:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 299616B0073; Thu, 19 Jan 2023 22:08:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1399D6B0078; Thu, 19 Jan 2023 22:08:28 -0500 (EST) 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 02FA16B0072 for ; Thu, 19 Jan 2023 22:08:28 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id CB220120A1D for ; Fri, 20 Jan 2023 03:08:27 +0000 (UTC) X-FDA: 80373694254.07.85ACC0C Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2042.outbound.protection.outlook.com [40.107.220.42]) by imf05.hostedemail.com (Postfix) with ESMTP id A82CF100002 for ; Fri, 20 Jan 2023 03:08:24 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=PGgIptqP; spf=pass (imf05.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.220.42 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674184104; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=e2uuArwmg3zk7i5Vh5ERMf3hrZSHJIIhJQtNf5ufY+c=; b=5zIanGAhfPyxKr1citHkU2wW3TlwtO6JWtqpOW6ywTOm/26oKYexaBeYazQN9ZEGqmpHcC BNIM5eDik/5V8G+WOw4F0DrP3BOXe/qK+xJsc9Qgdj59fm+QdKfeV7owyu6ZpXD6JCyyvP YiE5Hb1eoN/Z7FOypH0Bl0w5fh6uZw0= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=PGgIptqP; spf=pass (imf05.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.220.42 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1674184104; a=rsa-sha256; cv=pass; b=aArG62u3V9Ah+lgYwRSDo7sRs+ThXOVRWK0KzL6BYQtrLcc7vtahlxhDhooVJv/wYNtI/F 8sjtoARHMUMPskgpyN+hBzX9Lj/axr4JmCs3HTmA6yh6H8JRkjUOlu1/FoshwSEIqZ2CV0 G/WtML9N7wxweQuWR1HPCeVoUgiXIr0= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XRSIu/mxRrbpXroiH9xAD7PK5P23kxy3NBCBsgV5dy9Uz+BfU9bnyvyjnSKAt65EfJt1UPVfTFPTxioVvnlfl/itaxcPrhT/k7JbcnSoraWJZKaomfpj6aKkq4bqnqqmmLd7Lof9LjLg5C3hGx57XN4EJAFu/3ExmBLf+cQ3sVG3iBzId2PylYGRJ/5JVLLAJZVEUZPHs/oXeRHmlwJkiuQ1boqPmElarSwu6TU7zycE5tip/kPStkslUcsO8vpeflZ9UfNFOTtRmUvayR0ByWtlcRn6SKeDg1pO2Rkomb1kvhcMPiOwAm1ESo2Qz5FVvPrthrg+adHZjWZKBMREpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e2uuArwmg3zk7i5Vh5ERMf3hrZSHJIIhJQtNf5ufY+c=; b=MMZLKkBJe5BrCF24FwOppFIBIRVDPxQrpDuqjweAbaLyTSTNFyvUvbRmVNqixiei/VVxUhR7a5vwjFFt0Gfammhmib38hLWN00kZ+Q8oxV/cRkOzMBKc3MONP56Q7bqrqrtzxY2ndYrJSN3Th+Nkszn0GNQozWKSq+nYDfF6vVePkTQBozgRxWbZ8MRWM9Dll+RDyjzMqA4QiDGu32+uf9u8dXEwbVLPEV6SYEooSU1NrGhLbppfDzyPNoZZhvqGKrWiAL8x9yxoYpZNcZ57wgZJu4wkXFl0eSoACOlQrayJXlSo/s/lDs4p+Ni8dT4BqiwdBbka6XBlN6ffpls9/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=kvack.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e2uuArwmg3zk7i5Vh5ERMf3hrZSHJIIhJQtNf5ufY+c=; b=PGgIptqPxN6Z2ldN7XgbCpImSFLAA212yU6COYyavIqAYJunY4WqxF73mSvQRWBb3S66VMfDLZZZ1xygd+/nniMeubMECLReFFCI02xAz/TdxOUqwJmQX+7iNsy35OzUxz4dndJQFQZ2VDiMPWijG31vXR2WrnrdtUsWRepVdbsuqsaf0QplpEHBQIxddvpw2fLJbb5xJYzTSZg6aFz/0Ib7YlpLw6gld/C6qqJdLfsi1dUQMze44GeR6/JvdYJHByZv81P7MWsttjAEep2EmxyVvX7METS/qjOY4hmYjuJz5KtEHC7JAOIh+jBY1G52KCqRsGu/9waDf9Yt1Mm7sg== Received: from BN9PR03CA0571.namprd03.prod.outlook.com (2603:10b6:408:10d::6) by SN7PR12MB7274.namprd12.prod.outlook.com (2603:10b6:806:2ad::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.23; Fri, 20 Jan 2023 03:08:21 +0000 Received: from BN8NAM11FT027.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10d:cafe::8f) by BN9PR03CA0571.outlook.office365.com (2603:10b6:408:10d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.26 via Frontend Transport; Fri, 20 Jan 2023 03:08:21 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BN8NAM11FT027.mail.protection.outlook.com (10.13.177.96) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24 via Frontend Transport; Fri, 20 Jan 2023 03:08:20 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 19 Jan 2023 19:08:09 -0800 Received: from [10.110.48.28] (10.126.231.37) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Thu, 19 Jan 2023 19:08:09 -0800 Message-ID: <2fca54c7-60e8-f719-ef1f-64a9cd817126@nvidia.com> Date: Thu, 19 Jan 2023 19:08:08 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH 4/8] mm/gup: add an assertion that the mmap lock is locked Content-Language: en-US To: Jason Gunthorpe CC: Alistair Popple , References: <4-v1-dd94f8f0d5ad+716-gup_tidy_jgg@nvidia.com> From: John Hubbard In-Reply-To: <4-v1-dd94f8f0d5ad+716-gup_tidy_jgg@nvidia.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.126.231.37] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT027:EE_|SN7PR12MB7274:EE_ X-MS-Office365-Filtering-Correlation-Id: fe0cb3fe-794d-42d6-edc6-08dafa939606 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cwQBh+hcJf6aB6CzfmH/Bv3xFK4O9MdIu5XkX6hiM3LjFT/2B9m4py6ZpRpnQoD5LBsA9ceypG40g0zKerwGu/ozSETFPpngdszHad/AZkrTuWPnN4+5hhXWye43ZLUhLugekEbP1Gs+nO2n/XUHmjKb8qQ2P7gEz4YBFMUGD7ocsQjNVKtqf8FvejAJfDDYhbw9XjBql32Io3+ZQeSlkFNjG1m74XaAWCX9SCL6/E5KtGFb2EcjsvIBFUcOaIoGUJCYyS78mSTLoSUFu+eQkY9B1u91qKE1KTz/bc2YZxAE6cTLxVR87ilkwiS1tAzsDYJKNu8dd5Xy4zboqphgkKJ3zlS01YGX16ak7mRebWfc3jXfmQi+fHvJo9f5PFdOp+aF9IcRWSq4sOlLSy4ArrWtR1c1S9//itYowpnBEuh/W4x8T52gLCHt/0oijfzlaNErv0guvAMWwiluHaefgJOCZX2xrX0ynyp8B6dshFt5lXk5SRrvoNnzRB3W/p7rIWw529Fzpf79iQtek1voCKjixfx9pxaKeAyw0399Hbb1AljlEpQcr6KLZLvVtA/ZDECy5IUpBGaCdVnWzp3ICw2RYGIspuUGOHI/AC1pFBwmaJ13SNbV3cjLe+9nlXbOvKDLuyJdR/cPeYmNl05YXVlL/uvoQcu41BzgcvSIgbgZvIcn2sBIV0WtppWTkFzCRVoShh7o/AXoM2kiwIwthLTSGwajisIHM97B3DkIzoU= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(346002)(136003)(451199015)(36840700001)(46966006)(40470700004)(31686004)(70586007)(4326008)(2616005)(426003)(26005)(47076005)(41300700001)(186003)(70206006)(16526019)(8676002)(86362001)(53546011)(82310400005)(36756003)(31696002)(5660300002)(336012)(83380400001)(36860700001)(82740400003)(478600001)(8936002)(6862004)(356005)(6636002)(37006003)(40480700001)(40460700003)(54906003)(316002)(16576012)(7636003)(2906002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 03:08:20.8332 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fe0cb3fe-794d-42d6-edc6-08dafa939606 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT027.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7274 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A82CF100002 X-Stat-Signature: zzg85775hkdahhzofcdkbruifpejf5ai X-HE-Tag: 1674184104-525677 X-HE-Meta: U2FsdGVkX19ZUFd0fDQZqkBu5bi8ISuxMZ4Qm/cJTLwGR40NcSAolvrI74ZWWP3WOwfdhyq0ajCeOQqIDVyfutaf3bgIyXz3O37vZrDaqzoyzyYLrvsFYs/xLaYrurboB3dOdHNcs2IV4m6XS7koeP+UEdRb9k8Nd4xaqySHzRdZXGyUtijjrDs3hsnLGZ6QjByIXjI85G3x2tu2/GoOXH5+YabpkV+6x36ojuK74/hHaMYcOt01aGW5Np3gaAeUzIhqsOp7xRpVHU20K9CknKJRNsx38WzwNpU7fwnHSYdTvr696KBB5s0BFQX6wXOXwaMO/CCwo8UYeMSoHXsXAXKHo3mWZvjpTz2fLMI+xddDiKhF5yw/qFe3bnB9gHqrte6HMAQ0aDPO2l+F5WjAwDGgJ1ccgC+oBre+uvn2+ybUairf6/QIqodws/WDBJYWrzKvhzYuC5Z3BGS5vlD+YyvvGmo5tll7wvtmpM6R1QBilKooCoz56icEj74Ry3dA5C/EDaHQ0idsq6HcUDKgJKxKgVf617SIpbjcsMb7y7SD4qNBXAGSEOUdwrGfEJiWCcJq4k1VFCqjFrgak+YhG7wv+sxTC+6w+CgRG50NG6tPDNkcC0rrzga7i6GTvQYb/p0TOGydyUEGZvuiK3BK2TtZ3XCsO46J+mODI0KwddjxC7MqC/twQr9Pvnz1S85DIGSNkccABC8CKecDXPjpRlahENYvZHm0CbPbuUOd1uVXbxIB2eI8AK+mGntgJIlz+To6XeroXGKOCuaIqqMCbxdYGuCod7p8E8QZV8b5FvpbGvULmMn8aw7EEGZSJDWnYGZ1lXcKAV4Igmsp1ZguTddIQCjW/FNYg/Ra57Y1cGQGA6a32KCtC2YDx5ApMVTK4GrdljnJzlGmyGXWzjKe/11UvTnyfucatfOdVCXPbLOG4fzWSk27TyAcg4uGH3DCg8eR1ewhD4TWlPOlSBH d5djnWP/ QoCpDOdSKRxdyVKA2Pkgyr8OoWF4HipTJbUt5VvtO0wAgDZKisVnEORPhPr5noIetb99pbsKSushCmKOD0xR541sUOFRBsMNdi9tZbOfjrSWK9KyuxhOlGJbba7bxd/Ab3NWy5Io13zjdlhkdWKnAf/YXuS8GkDOF4dRInJxrResPQGidAsiP5tYy3GhDCd/gJC/Wch1Sr/voF5HQ9zEWz+Q6SrQt0jr8fMsfe3UOJQijHzpO/4vP4jvWfPxjDouhlv3u6GDDHQ0LzTJmg1uH+v8cCK027vGL2Olf0Yu8ZPGX+KnTvP7T2PKgSX0UvJffIObOc1ntyWGh35NsXTVGNm1/H/aDbP+s4pQNLg1EeU3QYLTcOqP1qbxrBLjVdjOGr766ycTnnnvDnaBOTrGlYA7wcA== 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 1/17/23 07:58, Jason Gunthorpe wrote: > This is always required, but we can't have a proper unguarded assertion > because of a shortcut in fork. So, cover as much as we can for now. > > Signed-off-by: Jason Gunthorpe > --- > mm/gup.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/mm/gup.c b/mm/gup.c > index 9e332e3f6ea8e2..d203e268793b9c 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -1350,6 +1350,14 @@ static __always_inline long __get_user_pages_locked(struct mm_struct *mm, > return -EAGAIN; > lock_dropped = true; > *locked = 1; > + } else if (flags & FOLL_PIN) { > + /* > + * The mmap lock must be held when calling this function. This > + * is true even for non-pin modes, but due to a shortcut in fork > + * not taking the lock for the new mm we cannot check this > + * comprehensively. I get that fork doesn't lock the newly created mm. But I'm having trouble finding the calling path from fork to __get_user_pages_locked() that leads to this comment, can you provide a hint? Both the comment and the commit log are rather coy about where this happens. > + */ > + mmap_assert_locked(mm); > } > > if (flags & FOLL_PIN) thanks, -- John Hubbard NVIDIA