Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp4095652imw; Thu, 7 Jul 2022 12:39:23 -0700 (PDT) X-Google-Smtp-Source: AGRyM1ug6UEJNB4H25ShpJTqgaauVlBHanww8pa8jVBTyCI6ZYNOvO6VDfjO6xrxl1JAvnoSbgu5 X-Received: by 2002:a17:902:a413:b0:156:15b:524a with SMTP id p19-20020a170902a41300b00156015b524amr55381072plq.106.1657222763240; Thu, 07 Jul 2022 12:39:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1657222763; cv=pass; d=google.com; s=arc-20160816; b=rsyMVw0nXYOBwX380FrUdRMilAhYJZQu1M9cK+uzi0Hmt6FMzaCH6Ny4Guq2Ekx1pX 0ICUQMFNS82jxhLGibAKbr3Ne1BByXCUCqOFAqc6BZcdJF84Ts5hbTozWPR5FpoTeZ7G c1C3MDfWdTEdpfvMaFamaPZlXwg6oxr4DmvtJQmOqSTj0rs0qDfSMQwl6+V/Ab4zmZK6 47I+meVPQ+ys9x7rRsBkOalVBrkWwe0fhVamGb+qrQDBuoiRsJXvEKe4fQTYBnIa4+sQ G81GwQobRDK3/1gkG1Ym7vS9nEZVkWa8XPftdic2ZKxjR56bWsazvuox+HNt5UVUvHjt eF7g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:in-reply-to:content-disposition :references:message-id:subject:cc:to:from:date:dkim-signature; bh=BPdstP4tpNb313LZPFs3Mep91ji8nGfY7ETX/W//cK8=; b=ehJFxM0nviOHQ58UOo0pm/9gwUTMGGBAGWEwspMvWhEflvOwrxsMThr1L2ursCvWxC T3nH1H0ttsKO2RjwmQd+/dDEIQhh89VCovJTQ0to1chXmLk9qyO8qqYYF2htKFpdgSBf zyNc4IrZgKFnIWmy6vTP52u3yoWUepX13WN5TCiFm86Zgy/Tiz1R7UsBS5eczqUGQowR pBfClKaVR56STWnEGupFxd5xomrTCOq64Es4jkyMyWMki3XlJxXkNECQPjN9zmQR0axd rREjIC9t2IaSSBjAmq5GcryH8j6F50GrdKZt5QsaOPjgAVY+01V5ioORqneZ0EIcUaSB bxnA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=VUAgF3zI; arc=pass (i=1 spf=pass spfdomain=nvidia.com dkim=pass dkdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d24-20020a631d58000000b0040cc512db07si35804008pgm.230.2022.07.07.12.39.11; Thu, 07 Jul 2022 12:39:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=VUAgF3zI; arc=pass (i=1 spf=pass spfdomain=nvidia.com dkim=pass dkdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236775AbiGGTWQ (ORCPT + 99 others); Thu, 7 Jul 2022 15:22:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236436AbiGGTWO (ORCPT ); Thu, 7 Jul 2022 15:22:14 -0400 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2068.outbound.protection.outlook.com [40.107.243.68]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB4946474; Thu, 7 Jul 2022 12:22:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=caDrgXqMBdNW6QIh+vfEExrluHZdObkgi7dNK/5sk5WLtKLbEl1YK5dCRPBR/gkPWA3fJR8aX+IomjYpdkNX3+0XY+sFpN5VUVUZlpxWX9hbO+2Uu9rcCM6s+AUujlr3/IHkwsPgM2IfV20Oqscg0/E/lIchqH1EjIIoT8BkXUDshoDNG4uYmOALyeQk/EiNM2ZW7yHlNPYHYz+ISFFcz9OICxG7PU/9/FiO8R89RYbWpUQeh/7s9Y9BcbL6aI72WfqmVb2aJfjU3X4Ul/TlPHhYmRYpX8CVbtW8DZasOGQX1z6dPg3+2J1gDPh8kd5IoqJ4Y5xLaDkgacbNEhSFCw== 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=BPdstP4tpNb313LZPFs3Mep91ji8nGfY7ETX/W//cK8=; b=cYDbMafW1FKu8ur8DAMYI+/jvepbKAD0otalbMu/iSL7T66gQmPVXeOuCAmm40rtJg6yEhLCij4x96LD59tKok1w3mcdK3DWYbgx4AMb7dsN2sGbHmIsyzYiAzLpxUccAUtu6wEKkHQb+SIgQp9vjFknB6TrrCYTuVv6cfW8Z7Q9teMNEEaCNC1o64XvY01FZsuexXZPjnJjbZV1L8lOR5M4gWN+0ZJmQBm8WM/d1gM4tXYUWD8BhZEneN25B4X0UhMz476kKtjGuFDuwmdv4k0+6gSQeDzQxbvkWYkTsQzZ07HVdsK1d2Dsq6PLYdH3wBBcOiQxhv/fQ6RdMDugig== 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=BPdstP4tpNb313LZPFs3Mep91ji8nGfY7ETX/W//cK8=; b=VUAgF3zI/0f+ImcrBdTXC/TgOKUTcSRBRi2O2II5Tan04C+mmr/tJh6IWlRm7zRRNI6ODr8WTly4MEAmBINvum0U6upEG+gCXXvItvwycmMXrz25dW3CyzxhA8RJlvao90o0Z+vR+y0NCsgtirihlwRUiTx+jZbOBwyqt804QtiFuo6QloXzIGmoPeprW0gHj2gW/2v8HQDONZQ1ygn9lfFAgY2LLrqzsoXie0tJpS0ShX4Klad909Ukyi/lkAcnHYA7pSlwcAZ/ZWiMUqYHVKQt4TpSXd2jsKVdi5+x5uqKFw5GBM/Pve1UiDxMsiSQNVQYNrAhSpmnDyPExhsr+Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from MN2PR12MB4192.namprd12.prod.outlook.com (2603:10b6:208:1d5::15) by BN9PR12MB5356.namprd12.prod.outlook.com (2603:10b6:408:105::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Thu, 7 Jul 2022 19:22:12 +0000 Received: from MN2PR12MB4192.namprd12.prod.outlook.com ([fe80::ac35:7c4b:3282:abfb]) by MN2PR12MB4192.namprd12.prod.outlook.com ([fe80::ac35:7c4b:3282:abfb%3]) with mapi id 15.20.5417.016; Thu, 7 Jul 2022 19:22:12 +0000 Date: Thu, 7 Jul 2022 16:22:10 -0300 From: Jason Gunthorpe To: Nicolin Chen Cc: "Tian, Kevin" , "kwankhede@nvidia.com" , "corbet@lwn.net" , "hca@linux.ibm.com" , "gor@linux.ibm.com" , "agordeev@linux.ibm.com" , "borntraeger@linux.ibm.com" , "svens@linux.ibm.com" , "zhenyuw@linux.intel.com" , "Wang, Zhi A" , "jani.nikula@linux.intel.com" , "joonas.lahtinen@linux.intel.com" , "Vivi, Rodrigo" , "tvrtko.ursulin@linux.intel.com" , "airlied@linux.ie" , "daniel@ffwll.ch" , "farman@linux.ibm.com" , "mjrosato@linux.ibm.com" , "pasic@linux.ibm.com" , "vneethv@linux.ibm.com" , "oberpar@linux.ibm.com" , "freude@linux.ibm.com" , "akrowiak@linux.ibm.com" , "jjherne@linux.ibm.com" , "alex.williamson@redhat.com" , "cohuck@redhat.com" , "hch@infradead.org" , "jchrist@linux.ibm.com" , "kvm@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-s390@vger.kernel.org" , "intel-gvt-dev@lists.freedesktop.org" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" Subject: Re: [RFT][PATCH v2 1/9] vfio: Make vfio_unpin_pages() return void Message-ID: <20220707192210.GC1705032@nvidia.com> References: <20220706062759.24946-1-nicolinc@nvidia.com> <20220706062759.24946-2-nicolinc@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL1P221CA0021.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:2c5::17) To MN2PR12MB4192.namprd12.prod.outlook.com (2603:10b6:208:1d5::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0d77acf0-6ecb-462c-fbc2-08da604dfe1d X-MS-TrafficTypeDiagnostic: BN9PR12MB5356:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mFJZLbax7PoeopxfrLncHFevgBW3HiW/pPJqJ3DfqzpMd61pUH9070BkofTH92OMJIi6zX0b9hQqqwlhhTlKDAYjRsXNcH7IutQZS1l2WrMMjwTz/Yi/B8m+nCuejzuPZuzbxFTkyQrzXbbjXLpVTWoL8z1BGOld83gRHZwFQV7UeutwSnOgFV0wyy7Ul067e8TDc4xcpSKqz7GcozpZoye/5kn8ITVS7khA6l4DmI00+Fv5rViVmRvhSxL0HRKfZVB8Toyk4qZsMNJrL71+kskwgQ7AWAoKNSoeHYLZEtA5u60pPWHjx2A9iQ3sQEztJFXRK1sQIGuxqM8fWPxJDlt4wW8MAhGHBbHZpwQOvbSrzcCfi4JIKZUQ+2guVyvXD8r4U2ePqxM6YJecfZs/J3ZpzqIloWk8Ywd46dJi+cUZH0rZ1rlqQpKNjiozdg1lLjWKQ8Ypi8i9mw102mTyAYbsU65QYKeHcX0q6egLOxJdxLzcn9hKnibSF5vUFH9REY8DMYc6h8k0t+hrvBFMicUHElcBFvjC+Ji86dVS/3WyQssHUTb+UF3jE2aBXQD/X3vAAhp8oUojU1+UBy/tTyKkc1POF851rBUSjkfybBFGrFhSiT/t3AvhnExyTG1lIYxYu1WivJTqlnR6kfAthMlJTrBrYaN8i7WwCyBmGKY6G8dfx+bEkpEFXgLhdkk9WMqHsiHyV2L2HO0MVCvlAPE7bV+l39l0Y7qUW+NZAQs5RqoWkF9SPBtdKsSzFzN3 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB4192.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(396003)(39860400002)(346002)(136003)(376002)(5660300002)(6862004)(8936002)(7416002)(7406005)(2906002)(478600001)(2616005)(316002)(36756003)(86362001)(66946007)(37006003)(54906003)(6486002)(4326008)(8676002)(66556008)(66476007)(38100700002)(186003)(1076003)(6512007)(6506007)(33656002)(26005)(41300700001)(6636002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jF1/8A1FHJ7j2dWlgRykwoY1bo9vIwqw07ZoGM9pv7pjLVd0zEJpSZTdtR2a?= =?us-ascii?Q?YyiAsnSH5FyCTO5wXHbuTNFmq7EyjaTxGSjZNx6MhS1qHndPZ9aICNQ0XyBT?= =?us-ascii?Q?ZpCviYEQFYN4eh/4bOc65JJz/Z+/aKc8MsmKU0AG3b7Ggc+jxUBeu6wG9wgv?= =?us-ascii?Q?hssBWqqEIjPvjUMNEANZVeef2rrLsLfj1IrpxR86g3HlwPyHmqc233EToZCW?= =?us-ascii?Q?tfmyIdSVXIgRFDQReAidAYRo9OedJxRN6V9tJkj1p89Wxo7BfdI2mbVw8lOn?= =?us-ascii?Q?AVe4/UBGi0nNJvk2lBEFHPkZE24UkrcZvFz50RfesW9m4TNBZBo+IpA0FVHL?= =?us-ascii?Q?YY/zkcN4DB7e3r6doQ1lvf9AA6mJA0u+JSjHNhCe4P5Y9I6p9leilesjERJ9?= =?us-ascii?Q?zbTtJ7zX4lb/S6ibH+hp79hZjzJIdGNrqS6+CgnzkewaQle8O6qF3iIlzyvk?= =?us-ascii?Q?WQgD0vfrbZ4PxhmRltcXeqe34IPUY3h9GlLpukLKAW7LxotJbicwj7BoK38t?= =?us-ascii?Q?xyiSeU6aDg2K7VM6rt2KapxYwmpkCOo95XjidRCAq4L7bS/F9XptwrR9Ujzg?= =?us-ascii?Q?x3rBPcKJBOoxb4MJEbubVfxfRxJD4IWN498bRTt8ibrN6hL6QbmlT7QipLfm?= =?us-ascii?Q?sV0dtQWe9VXxF6SZDGie2wLhZKDe2PgblyMKAJ73HpEf/IyarXP2K5YpIccA?= =?us-ascii?Q?Zpaeo/ku0ExA7jJPKkDT/OcxZAY9ZiW1K/upf72Y0JM6IWDEA5DM9T4/FOHV?= =?us-ascii?Q?n5zxFLNQOA4RdWKv2FjjoAkOuuje7395Obx9gJDt1fTGpyad+FJ/qvnDSQn8?= =?us-ascii?Q?HKIDR6+yDCrnl2mNzs/IlXTrZ0y60UDrhARPFbfj3UOWwvRCoQEKl2VJZaFr?= =?us-ascii?Q?CDpsFX5gLHEcR8KTDNn8D+PhUX7WNkG25cUnB+VWMKAEBt40TXBBAzmdleUI?= =?us-ascii?Q?J078dXepbV3s6UXaARCGhVBFprYYgDVly3rXqYo1hHN7ZNYf0L1yYoH225ZG?= =?us-ascii?Q?YYVBScHghr/zC9ltHYh7NuYrfSs1PUZ9JJ4sV7Fn8zgZ8LRMNa6iCWZVXDwC?= =?us-ascii?Q?N6slXKtD7/yt6IPi+vUvG+Gv5FPOmaSkoYQjD187q6+NJG/2AsMrJTLGEi0h?= =?us-ascii?Q?MxsUOba7YS4McjBDEzo0ncXT10Zw9UppRogmRvEL0MYiGusXyonKQbpB9Egi?= =?us-ascii?Q?92Y3gAq6LZIHcVgKiCXmhflHzwZ8FRkZadGU7pfSIP8Ao6RWC0v8KXJ8oXYI?= =?us-ascii?Q?TFfdvUuJA0S2QcmZm36MBCZB1P9ItEyq8nSN6WG9TAViJewNDkDlm/O6hU0k?= =?us-ascii?Q?aonLjdN+lXTcd1FZC+J1AO4gaDTfbwpbW+RlJJsnrFrTbwzfk/Otrkq/bjJl?= =?us-ascii?Q?vIe7tT2CtvtZn7iHc+SQbvqkjgiMewLDNgmxv72NcWSd696NnNdMN+92R6eG?= =?us-ascii?Q?1P9Nv5gXhyDG/z3GQsXV/2x1pbVMiuOtEk+Z9eFjHmvvQ6dLgANtBikSCiuY?= =?us-ascii?Q?bkQNcpB1nLMaezV9I0+bNog/6+QaNZPwDhXvE66yIMqOP/yNUrop6UBY5z/B?= =?us-ascii?Q?fyiwKldxcM/gjSUh2ev/4fJnDIJcwg1b83k4XRfI?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d77acf0-6ecb-462c-fbc2-08da604dfe1d X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB4192.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2022 19:22:12.0659 (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: jnYLcPKap2Yo+nbneH7AtiOGTd4OnrgZgfQb+neATLKXpG5zWO/VImmS1JAviMzS X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5356 X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 07, 2022 at 10:12:41AM -0700, Nicolin Chen wrote: > On Thu, Jul 07, 2022 at 08:42:28AM +0000, Tian, Kevin wrote: > > External email: Use caution opening links or attachments > > > > > > > From: Nicolin Chen > > > Sent: Wednesday, July 6, 2022 2:28 PM > > > > > > There's only one caller that checks its return value with a WARN_ON_ONCE, > > > while all other callers do not check return value at all. So simplify the > > > API to return void by embedding similar WARN_ON_ONCEs. > > > > While this change keeps the similar effect as before it leads to different > > policy for same type of errors between pin and unpin paths: > > I think it's because of the policy that an undo function should not > fail. Meanwhile, indulging faulty inputs isn't good either. > > > e.g. > > > > vfio_unpin_pages(): > > if (WARN_ON_ONCE(!user_pfn || !npage || !vfio_assert_device_open(device))) > > return; > > > > vfio_pin_pages(): > > if (!user_pfn || !phys_pfn || !npage || > > !vfio_assert_device_open(device)) > > return -EINVAL; > > > > It sounds a bit weird when reading related code... > > Any better way to handle this? They should all be WARN_ON's, that is the standard pattern to assert that function arguments must be correctly formed. I would also drop the tests that obviously will oops on their on anyone, like NULL pointer checks. This is a semi-performance path. Jason