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 3C337C77B7A for ; Fri, 19 May 2023 22:17:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 72DC6900004; Fri, 19 May 2023 18:17:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B6B2900003; Fri, 19 May 2023 18:17:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 53002900004; Fri, 19 May 2023 18:17:49 -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 41766900003 for ; Fri, 19 May 2023 18:17:49 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 066AE140AEF for ; Fri, 19 May 2023 22:17:49 +0000 (UTC) X-FDA: 80808417858.20.D6F87B6 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2056.outbound.protection.outlook.com [40.107.220.56]) by imf30.hostedemail.com (Postfix) with ESMTP id 0EAE480010 for ; Fri, 19 May 2023 22:17:45 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=fk4gZr4c; spf=pass (imf30.hostedemail.com: domain of jgg@nvidia.com designates 40.107.220.56 as permitted sender) smtp.mailfrom=jgg@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=1684534666; 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=cAUCDhbQEZCGF/ilN2dz/+jkvUPOVL2p3y2QDCccWYM=; b=0OaOu641TLPPlc4L+RBhkm262MqsdXNR4zvvh/blmdX8g9urHXUjvGqxqYdHJ6n5bZjW8k bhx4wZsNJ9guQsAvk5xVRyiVF4EMF+8As4mLMw4M/3BfsbDmAPAJNEjK7TqmWAg+E6XVQ+ LpR3eG1Yt5bpWh+lv1kaPU4zbYRi0zU= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=fk4gZr4c; spf=pass (imf30.hostedemail.com: domain of jgg@nvidia.com designates 40.107.220.56 as permitted sender) smtp.mailfrom=jgg@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=1684534666; a=rsa-sha256; cv=pass; b=tl6wrkBAP6zFnwJQqL5etLVVgY6PIcb5r3qI41xh/OwyROmGSv7OMBVBUJkkTmhaHr9sGf Db70IrNUXCQ5SFT8FUaIf4EdMh2bGM8bg8LzPtO18QbLPyyWIQvsikTCw1UY+ENb8bbN1C /Oy64btakCJj3hm87+SiZ3BpTlOaznk= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ws0Mp9J577p71qTPdAIG+g/YiFc8VjOSp2kXp8CFYCrb0YZO4VxmFrEigU86K6J5Ssy/LdqkqvWjiBD/ITg8ycflKlr7fsXcgaB+Qdkm0Jn53214Gl1QyaBpwFL8NOuMdq96+HJDSyGdi2sjeD26E/8axzF1qZXDE2mb+RIk8SG3luzjiFIF1H7/Jp6GW/gOJrn5roG48+9/5hiJg4ObdsT7lDTcldWluSxuXS3iQuiKt6eCjYXvT0weNA5LJLVFHrxVYcVxp/CzoyxROk6m9OGqBAUZotV280EIFmhdlzMFbmo+dGTbt4ri1zjC6NE6YZpFqMUg4qiUfQDwjZ4yZw== 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=cAUCDhbQEZCGF/ilN2dz/+jkvUPOVL2p3y2QDCccWYM=; b=M7HhtE6rj48YWDBTX5c4mY918dBGRGbHPTF1NeYlKw384K6soy96Zz7ZT0/6Apj/gRzRZIBDOmJI/IUVaCCzQJUdc6bXW78DgQsyX4E8Xb0HsZ7oDpImsbU+J+A9BkIx+6To9CPvIATAmOm15qFi0aH0fp8mZ69wiqCIoRm8PS3G3xy/sH6DRNWbGHqsbsgHbcDKKgSeHhcjPJYTiQmxeNxs1ocZ7L18JMYE10txyhm1IAtxCjxapJRJTG2ABlUXT+XmiM0/udamhg2l0DfmOIk5PecMhzEI3mcqAV2ztK+caV/1rFIdDUfZoZueQQHKNB/TWs4uqNiCeEheFsFbrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; 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=cAUCDhbQEZCGF/ilN2dz/+jkvUPOVL2p3y2QDCccWYM=; b=fk4gZr4cnvCzmOpbS/J3nmWaCt9+DpLk7a8bOx7IXqUz4JO9idwFlAgp1xVIfXRHjbuKxwjA1bCucVKZCoS9kALFnIa2nR2l2fcnxOy22eoEzMdjSKFFZu86EGSH8DWfx4yFXSMdnFGezWqlHXTjjF92eGVQj1Rr20lr2Y0GpdkPE9luNTbV8Jp/Mq8Ix1dGZyN7CJTjuvHiJ33oD6jHKOYkaPKnagJ7CmaMXh48J7Zk7XaZndRW0DwyVlYWlddNoOqtMtzk1Z2ZCitOXFuxSF96XphCPprw+vcBnndk1hvvjZ7FNXnHHFo35HNrDTGHdEDqBmoUYAWPjopx+688BA== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by IA1PR12MB6531.namprd12.prod.outlook.com (2603:10b6:208:3a4::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.21; Fri, 19 May 2023 22:17:42 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f7a7:a561:87e9:5fab]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f7a7:a561:87e9:5fab%6]) with mapi id 15.20.6411.021; Fri, 19 May 2023 22:17:42 +0000 Date: Fri, 19 May 2023 19:17:41 -0300 From: Jason Gunthorpe To: Lorenzo Stoakes Cc: Arnd Bergmann , Andrew Morton , Arnd Bergmann , Catalin Marinas , Will Deacon , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-perf-users@vger.kernel.org Subject: Re: [PATCH] [suggestion] mm/gup: avoid IS_ERR_OR_NULL Message-ID: References: <20230519093953.10972-1-arnd@kernel.org> <5b071f65-7f87-4a7b-a76a-f4a1c1568ae7@lucifer.local> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5b071f65-7f87-4a7b-a76a-f4a1c1568ae7@lucifer.local> X-ClientProxiedBy: BLAPR03CA0012.namprd03.prod.outlook.com (2603:10b6:208:32b::17) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|IA1PR12MB6531:EE_ X-MS-Office365-Filtering-Correlation-Id: d0340a27-a15f-4501-fa6f-08db58b6dd57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XPgdFJoTqg/lP7R9eAYEQ4eUGXekVkVBNxYjhWSG5t2GZ5E5qHAq/GzKF5niB3RcQ04wYDdCMuJHrNlJd6X3OuUjidqtR6CoL7PSc9j62lhMpZk0arHoBTyQ/QX/UImEXSu3uv3JdVBcIzofBH+FM4ZnncIxNAf9lhpNFTEH0m/iKOS3rst52R1aEvojwbXzROBnHT9YTL/X31GOCZ0I94Q8ctdnjZQvgmAARc54HaRDLt8iE2tAQdKwEmJw4o9hQG5jK+umB9fWLbcjgzotEl+gxGYLVflIWL1l8fHhFrY0IgKstjyg7DtOzrC0+wjsZZlRt6uFQ8IO6vLZ0woD4BkPPORoEjXiF8/eRw3F//YZfJMC5XCNwAW44u9YKirb9kxyI6THu7xE3wAPocs/HMxnlNvFawoOJzf6csLSbKKjCnyDUrBdVdRAH/ypNRbySGBLydg1cBzd+fqloPQdvnaaMwGrx4R7pp1PGAL5FkQ+92IN0nSDTmHAOHcbnpwq1/sVCYjX+rnEWHJNvhvLyZn/jlp//BhtwqIQctx5syz9ZVnqA+OpJcl405CuA37m X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(396003)(346002)(366004)(376002)(451199021)(66556008)(6916009)(66946007)(4326008)(66476007)(54906003)(8936002)(8676002)(478600001)(316002)(41300700001)(6486002)(2906002)(86362001)(6512007)(6506007)(26005)(9686003)(186003)(36756003)(7416002)(38100700002)(5660300002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WBS4gFEXPgyxJiS+LLiUGHQIp5ERAD1SJmnrj8pmYg5vaBYmvrM+w+1Lfjy2?= =?us-ascii?Q?nXSAeSNfgz7MSzVg1eXwCfB4rApYaxcVGNkBvy4F0UUjmYMqDasYnuvfZpDl?= =?us-ascii?Q?s3Ytaz0tK8exCWho/ARc0uRTghIBTyQvcPnaNkWgKsvXyhZGWgwzRXuQJ2em?= =?us-ascii?Q?XaMMuT6CH/JQqIYpHp43fpoOOevvf/gbHjgQi5mtgZD3wq7vJ8Rx3qlNH0z3?= =?us-ascii?Q?qxKn+J70WIJVIFVaL8mtcG4bdpVsEYygTlasFDnzgjCF7yn+F6psmc7U41j5?= =?us-ascii?Q?DSrGJmLBoh4NvTKC3Hk4qB3SlzBu9Exsy0mP7RB9NS49V1m7F1KFqsI/+as4?= =?us-ascii?Q?DJwwiE69d1Ifrw4dovWLzVZbwE2Q7tRbOYBkyQE3WHcO1UqftyOsGrDR2yAv?= =?us-ascii?Q?EYO+gJj3W133oZriDEeQw9bG6GNKt+RVNkyfSoRFjm174fMpWfUc1toU4oL/?= =?us-ascii?Q?a0i4ZHqG3/jHttuNaMfrjgz6j4gX5q+kBz7D3d1vVNreNSkFBocpXc+WPwVH?= =?us-ascii?Q?YEjX9FENdmfDnpBIBGk15Ef8GZMqeQmxlcy24YHnohYHRhd+03Wkuo/nKDCj?= =?us-ascii?Q?aDTDMpyHLi105S3nug+VLp2Uu/83zhSFbpbn8HNRaFpUZ7KP4F1AbqLQxmcz?= =?us-ascii?Q?AlEylOPAxnqeXWXmtCtV//jqLDw4hnBX4fhH9tNmyuHh4xRqzwqjztGlmmZW?= =?us-ascii?Q?FT/H2gHxIRqTIt+7tPxlr6Igxd6KSrpceDdQwf7RPwD98YjDGK5+DPNX4Hmj?= =?us-ascii?Q?oT9Mg2ty/UAlTkMXL+o/wNf76UBQKxWWKYdB0fQ7L4Nz008Os6aus+w1mVTf?= =?us-ascii?Q?a3tQ8KejuwaQxJXkiVsga2vHuw8kEpdIF7RPbDmVeBeXP96q2fUxiEzJenIa?= =?us-ascii?Q?GpNMDbwETVAu4DRGxaq7BI52vEddqKGvEt1uK+5WS8CjKJrYGHy/inJscX61?= =?us-ascii?Q?SQO7HYYJ1aOFaj9fN3ksO+sVoUR75lryab05yVymi/sN98swbCUpdERk54u8?= =?us-ascii?Q?sFKnt61Jp2+nYqRlBZkeiI5CQbIaHcSRLL/Lqk/l4tYk3PMJM5v8rURbXuqq?= =?us-ascii?Q?SGMXeYar9jCl32SSHyaW8t3kXAaIav0qel6t9C0PGZN0099a20gNLtsuiTT2?= =?us-ascii?Q?r1no4KwVJyeNYDhW4PrA5AM/sIMyoWnLOKWr4cseluKyckSKNIpOHNTlYF9D?= =?us-ascii?Q?1gf/g6hgcATFdJsJLzR/SDE9ivVxhmUZFa2Yj+wgTLfQUf9gm40IhV4vkAHU?= =?us-ascii?Q?nfHKQkctrGSNUVsb7FNf33JeUFkwljkvtY8tXJEGEpd8MN9z7YhTVv9UEXEk?= =?us-ascii?Q?V6jYaNzSDXSWZ0NM97Ye9faOmiZBZrpaM1026jaY+RTw16tlN1dsgFauDtMk?= =?us-ascii?Q?u6+ZCwmT4FwNuQLZAVQc574b2/j3sfj5SZlVUmx1K2/xjOJ1XdftQwDZOwmM?= =?us-ascii?Q?Vwc3onsoa2eUNCh8InFVDQ2+jFa+L0PLGfE6cD/zzPuGBgEFVhXb//eRo24w?= =?us-ascii?Q?aFSJAZ0rzHwco+9DBmKfVkD52Dlm0/SGbDh3SzhvkHgvSH8SQLr/oOi+0YGY?= =?us-ascii?Q?eqMPl/XwOZvrwu1fvCnV6kfMBFL6FbUyocI93C2e?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0340a27-a15f-4501-fa6f-08db58b6dd57 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2023 22:17:42.6361 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Q0P9p12xOp4wrFK2BFeijMBPS9Vdx1WNriqSI9clhhKOuVU3RBx8gbW7lqJahQgB X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6531 X-Rspamd-Queue-Id: 0EAE480010 X-Rspam-User: X-Stat-Signature: jriy1e7w7x3rhy8wrajpzdbt698nais1 X-Rspamd-Server: rspam01 X-HE-Tag: 1684534665-346151 X-HE-Meta: U2FsdGVkX19aE3+kCtOSFZfcPuuJATxg6Gq4UJO02HchMsQtEICpUEIuZIorQZ4pmuGI1GttdvnZje4SBKoQ6V63ZlsBqSJFhTi2+z1ya4vQ4HsxGy4QmnJKtyLXiHrruA+9/i9ihlEbh5zjyiW3iqrGo+kyI0pqfAWMrOjl6MJOH0/SEWjfJd5WAnuh6NKfCObbqjyYq5PqyleWifZO2fvvDpOZyIQkwa9VAkOqibYUGMq3gR2uIOa4I7UpB9pRoXrJdQ1HekfyeWRZkNMDGutA2YNC2BDSVE+PojBezWi3fKngSvIZ16BcZWH9+Lg6WeurpbgCNPC4mawVbizrh0ljd+33cu5Updr6tQkThXKiNFf5XJKWqAXteU6xzgxgXZjMdm8B4KLlX0Sr/M/BE/huXTIJ+SUnkRCXcz8os39SJk0C5u/bMEKAB7p3sqccQa/w4PXW9SP+M3QldgY0jGr3nW8WwiPPTdA6RkgYOyoAvfSWioSbcz9mc4BOgrB8ZiBxr4WJz4z14WUvgB6XLypxgt31REK+0vrPd9GBJLjmHWnv8LezWigWbU7xXikHd9CJJkvorJjZOr1GlnHCEwEqPKkSOQUHWHUkMzDWTHC5IajLYAc7qXVKt+L+uoeeBcCEBEHkqhWCGz2t3UX29kAHbo9ZpZyr4/0D4LrePksyPTTq7bWw94ZN8amM6gv3bhKwuV4WaTU9mTppgR+chM7jmY+/jP6++ldxmC/qNUtOfaMkGHVPZpxwudBJ+rvWo/KEfCC/fTEc5WD13M9Skov/hsMSEpTZw1YW9CgctWzRRC0iPY+EfbcJcLoscsILswHi5FgAkN/Z8ClynQuCNtQMG2pNwP1M52xZJICCHnViTlv8gpM3Xe0ZIua/ltLzol0Kb/wI7lfP9p7BrJNHceAXFYRCWmZ4FmtB45QBbiLZAnJBl49Q29dchEz8ZiVWMHKq28dvA4PJLzXFUSb KBMnBimU Z3hRPWz1sMH8L3R8saTaiuUq82ooJYjdn9IEmInGqLtkgU76gN5Mq/oR+lPXxpIrZG4NHw1FWG7lV7r3kGH7guT3WGREztTlTsopdDSMMaSEQiZDp5V4RnoYbgAgdxXI/mQQs43G/ebJjI5r80bOrqmQvduakuxYMONZikMni4c7+vDfBbvk4jn7dmA8brTzRZ5LBLym+E8OW48R8BFTso9iZvP1moSndWbCU 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 Fri, May 19, 2023 at 03:51:51PM +0100, Lorenzo Stoakes wrote: > Given you are sharply criticising the code I authored here, is it too much > to ask for you to cc- me, the author on commentaries like this? Thanks. > > On Fri, May 19, 2023 at 11:39:13AM +0200, Arnd Bergmann wrote: > > From: Arnd Bergmann > > > > While looking at an unused-variable warning, I noticed a new interface coming > > in that requires the use of IS_ERR_OR_NULL(), which tends to indicate bad > > interface design and is usually surprising to users. > > I am not sure I understand your reasoning, why does it 'tend to indicate > bad interface design'? You say that as if it is an obvious truth. Not > obvious to me at all. > > There are 3 possible outcomes from the function - an error, the function > failing to pin a page, or it succeeding in doing so. For some of the > callers that results in an error, for others it is not an error. No, there really isn't. Either it pins the page or it doesn't. Returning "NULL" to mean a specific kind of failure was encountered is crazy.. Especially if we don't document what that specific failure even was. IIRC if you look really closely the only time get_user_pages() actually returns 0 is if the input argument validation fails, which I think is a bug that should be fixed. get_user_pages() never returns 0, so get_user_page_vma_remote() never returns NULL. Until we get there collapsing the 0 to EIO is perfectly fine. Jason