Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2701550pxb; Tue, 9 Mar 2021 08:49:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJxSRRHmcFE8taKO4d5Y67sTN+jfyB4f7c2uJlpC2s7xzp8CCfoW11xZxCtWbqqmDAstE7DP X-Received: by 2002:a17:906:3883:: with SMTP id q3mr21041084ejd.160.1615308574693; Tue, 09 Mar 2021 08:49:34 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1615308574; cv=pass; d=google.com; s=arc-20160816; b=PNCzmgR2MUcPGN+HvMSQOj8WTlzDY7nFN+UKKs2P6BhlpYalQwDXKKIukkz8Q0Y0Ru 1wzYXnqC9sgT+L45g201sZRyHzhg7nYtLNHeI7LRTXOAeEZsARfc0fPSMCsw5q8zRxDL kIXEklzvYtdonNv5Q7oTDU1dRe6xF9RNA9H1pCkhX1mJK+Lxo5NKNAkk8hnU+fjC/2ue G5y1+cqScq/BU0z3BK6CoM3NQG8lhHUy5WQKZnh5cr7Oy2iXbxGbZe0F3ZRd0q0Ymz3y vBF+gCHN1uW2RJS4oa0sZsIJUKqGhjQs8NQcdRNWZve/vQfrVaHBmRG+VI7gJsgNb3Sl 1IqA== 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=XeFMMmPkIw9p19EpgaP5dNeegEDJBIhlVCf3ZaH45+I=; b=t/j7N54BvfqFV7Mco6W9h6XvFFxbKXxx08La0kuxv5+9IN2EkJEKnNhVb0UtkiJztP iMGMfQf5No574jfL5ugkGTSGKcDYCRWNcoux7stySHSYlictkdcNmwMP0iiFHaoXmOsa 8mYsbaSUS4E3hK8rsUjG0fS7aYfvR6qnBnXWVB7f8qpp6R5e8YSelnQqztdJ2XOaK++B uTU3oxTQmaEnxrfz+3QaKrgVzkJLF6RulE8UMv/tP2HVL9n4U3eMkfsJ66Vme2Mc55D1 dBJepXOr3+ifABrLrOJYv8942BrW4GYm3Z9kmGNyLVqg+2DeMxVfXArdE7AuvcgExQF4 EnYg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=QBaS5LIj; 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 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k9si9819144ejc.706.2021.03.09.08.49.10; Tue, 09 Mar 2021 08:49:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=QBaS5LIj; 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 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231207AbhCIQsE (ORCPT + 99 others); Tue, 9 Mar 2021 11:48:04 -0500 Received: from mail-dm6nam11on2070.outbound.protection.outlook.com ([40.107.223.70]:19776 "EHLO NAM11-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229689AbhCIQrq (ORCPT ); Tue, 9 Mar 2021 11:47:46 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OqcFZp+R0dDv2gyzInb1igXzwpMg5McfkHQEmv23QadX9qFCOVAd/djBs91j0RE3EX5EMMOZ+qlPi+Zz4asJAGueUjEd2n8BNQ1dts7gkKrAEENO8c0WSWt1wwiUzjzIpDVxy+ESadzi31l9IA9cy13YwhAE8IblRuDZL5n47K64AMaD27OKRQxQpYFn2h6nce+UA5x4+UBHNMh9OpWDQ6tjXHDblM2NbZ7ZDNt3uN1ljJw5BRyL+Ns6F0shyex+yPq6q9otFgBSdsbbSY212R8q9jjno9cNdj/o8rN3r//NJBOIGJKf83ZA/6FcoYy6knbnXrDxRWZdpSnreKkJDQ== 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-SenderADCheck; bh=XeFMMmPkIw9p19EpgaP5dNeegEDJBIhlVCf3ZaH45+I=; b=dvJamc3ygs4FjgG+mR/XY8z1B50lZTphelfgFvI3u6SUXb62xevOqRloeSACIpfJ1vgs7YReRODyZ53EUM+w7MlErrgeg1JkEbTlQg3V+9ylhm/rn5YCvtTErHCs9HGvcTcp/sVBYX5vh8H0MlQMlEUsQeb/roCR9pGMrlCQ9p42CDmcVacv8b1rLJc/IdsWiWV/odNLkKzguaTi4PyPwZOdDpEJFmNfdcaYKc3/wtQlacH/FmGSlgAK37UmUOMFFkPjMbBZxcHWT3yQSCxzAKPcwje292Ivgp1+1bCe5jX/9sP6E+ncatUX+wH+4yZ5NTO3ZVSY0ZVAgxXdaZcXjw== 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=XeFMMmPkIw9p19EpgaP5dNeegEDJBIhlVCf3ZaH45+I=; b=QBaS5LIjKLvlE8QQ0qgeezygtP4jusTdmUUkZoA22GZKBLpOGz0ApnBk2ByNX35KQV0ekQwEO2wDhRSCS3AtmX5gv1bprtJXJpgU4sqw7LUMlKEA6c/Pd0JGDvd3eYMSt4JaTCYk6VF+Vh+z2tSvRcDBBjQvwWDDaZaru4iBRet94mqjSYYTIptN4hATNnvqju8b1qS7Kc5qu9ZLdQjr2nxXuItI25zl+Fc1fSFHU+bkXAe72g7XW1PxGjaMbvvLmQPCccE+0IefyzjX2yLzJ9te/z8RwYE4Ski5LVDXDNzoPworvvqz0Wjf04XaoFFUVB6wM3z5azkWYLYEDEWJGA== Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=nvidia.com; Received: from DM6PR12MB3834.namprd12.prod.outlook.com (2603:10b6:5:14a::12) by DM6PR12MB3404.namprd12.prod.outlook.com (2603:10b6:5:3a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.23; Tue, 9 Mar 2021 16:47:45 +0000 Received: from DM6PR12MB3834.namprd12.prod.outlook.com ([fe80::1c62:7fa3:617b:ab87]) by DM6PR12MB3834.namprd12.prod.outlook.com ([fe80::1c62:7fa3:617b:ab87%6]) with mapi id 15.20.3912.027; Tue, 9 Mar 2021 16:47:45 +0000 Date: Tue, 9 Mar 2021 12:47:43 -0400 From: Jason Gunthorpe To: Alex Williamson Cc: cohuck@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, peterx@redhat.com Subject: Re: [PATCH v1 07/14] vfio: Add a device notifier interface Message-ID: <20210309164743.GK2356281@nvidia.com> References: <161523878883.3480.12103845207889888280.stgit@gimli.home> <161524010999.3480.14282676267275402685.stgit@gimli.home> <20210309004627.GD4247@nvidia.com> <20210309084513.51fd2a97@x1.home.shazbot.org> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210309084513.51fd2a97@x1.home.shazbot.org> X-Originating-IP: [142.162.115.133] X-ClientProxiedBy: MN2PR06CA0014.namprd06.prod.outlook.com (2603:10b6:208:23d::19) To DM6PR12MB3834.namprd12.prod.outlook.com (2603:10b6:5:14a::12) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from mlx.ziepe.ca (142.162.115.133) by MN2PR06CA0014.namprd06.prod.outlook.com (2603:10b6:208:23d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Tue, 9 Mar 2021 16:47:45 +0000 Received: from jgg by mlx with local (Exim 4.94) (envelope-from ) id 1lJfWJ-00A8hu-Vv; Tue, 09 Mar 2021 12:47:43 -0400 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4753762b-bf91-461f-07dc-08d8e31b1051 X-MS-TrafficTypeDiagnostic: DM6PR12MB3404: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dxyw43HFk+INTaeFfkFEl2rQCvuXE1VlGJ7pBR5B4Tg558aIolqtXK+2Oza4dwDPkgqVWMEHliHGj6S8ir4A15kUbHtpKcGJvks9TEWEWCX7o+4w25duwNW9JOCWq5TDNAzPU6euDSJGRRPsnAHuoqwalbRUTY+HO1pOEOsu4Pd9ZX5NTBu3okJCFFMwlI9CAAH/BkNP/m0rpdh/Y1D5RjPav87uXDr2g/lZ5BtPUUW36b72rhH8+mufvBla2byQ9Ub0uuDfJb+xgIzD3SKrY0rtL4Cge0ZzFaaHhas9BbgnpvUWoYnVEOTJ3bcBnbA2koYjfUjhKgcuBAANbL4+R7PWGcSHXVr4Ho67UlrgQ54eW4eiwMjpPbcwnf/iiWP9Y1KwgEuCaNpudRpS/TsTx1NoBWRr7lhUPFr5G+eURXlXshq8OvNHRMkRA/vPspCDlmCOXYQv0VZ3YtHxVK6yo57JoGZq0YyJ4vjtDGNg3VjNMq0SJehBtFxmisp4m2nmRYwQg/7l8BxPrE8JqsxQXA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3834.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(136003)(396003)(39860400002)(346002)(366004)(426003)(66946007)(186003)(2616005)(66476007)(8676002)(86362001)(26005)(66556008)(8936002)(4326008)(1076003)(316002)(4744005)(83380400001)(9746002)(9786002)(5660300002)(6916009)(2906002)(33656002)(36756003)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?Nuzaqq1Y/RYSt/ULb23nBfZjlw895LMWHMhK5kOfysruEt6wOmYR2vLtRwqu?= =?us-ascii?Q?tdu4R51vVjSZ62LuIzT58+EuLr9di5kmeRH1BL6PJSMogO7tAmuJvEbCWtuS?= =?us-ascii?Q?oPVOmd5xsKJnn9PbI/Q8BzSO+16m9+wzv4wANYPhwIscY/TCnoun5JNvNhMh?= =?us-ascii?Q?uJqdYI69X7B7qeDiaik1e6ver/pzk9dBbx/PI/oAc2nKeN6gS7g73bzzYzlo?= =?us-ascii?Q?/8Kf0tLN2OMebCgQJWbV1mn3d6bJxgnPX6lhdJNpV/BqSQnpSBWQCUovi70j?= =?us-ascii?Q?dyO8Yxwuep8piDYtvMpqq/D3OpNP7oQgYIUZIaBecBPa+9wlMiKHqlJtMpIL?= =?us-ascii?Q?w3bcm5YewFjgLbFKVSYXhwjk/qpo2103b+BtEE0WjMSulH1rl1Lq/mWnekTm?= =?us-ascii?Q?urWHjlpLN1hYxkUtRln4O6Itmcc4UyDySYXVJn4Z5KyS4jLZBDvybxliow8f?= =?us-ascii?Q?biX0Fed33vStFEZf3mCm8l6KIDeiolpxW1lM0kf2ylKQNR2y877xCtCbnF7Y?= =?us-ascii?Q?ulCxb6zp8Xxj69paP9nHFK5y+5SYWhXasMqOzCdq99aEF5j2kukxjsmqYNbj?= =?us-ascii?Q?GX2DYvKTG5YkLj+pLsQD7F4GazbC8JWZvS3d3qxy3zJb57UOmFILQfnVX6cd?= =?us-ascii?Q?BvcINyoqq/+PY8lKuB7empCVLci9DmtfRutZtxv0zDkmYe339DCMb6m5t/FX?= =?us-ascii?Q?k9HUp14rjukL6Q7KaCCCkD1oViDAri+D0H3QX4vgvwYzGOf+u4EsFCrKDtvr?= =?us-ascii?Q?QgeF+/aI426+VOGr/bU8KRGwtwWZf+MBW4LfZD/Xl+xLyRhRoGI0FV50+pGQ?= =?us-ascii?Q?8iDF18/qqC7gwjAOBFtNFT4S5yzcU/fIIa4e6kbnUygyXPW+6vIeCt/hQtXk?= =?us-ascii?Q?3b88jMXhHNrVpj4dQEdl+QwPp5WRwv4bkkKDcZproT38yWoaBdbbpxkz5Wau?= =?us-ascii?Q?IIQp82kRQ7XSqnt6mhgivjNmqBSRT3KOENcubu/hXUGjn6kg4N2+hoO+9Vc6?= =?us-ascii?Q?RcqvSP6ZVlpMqRhWBIydsN3ebZRYvegrHeJ3Jplzhqcox1VX3/+T9EL0tQ+I?= =?us-ascii?Q?hGW6HrelBkOQehIwJ/vhmwnD5P5vXx9B59pIMT4QLI98LaKy0asNokPyqqnS?= =?us-ascii?Q?iNBsQuPk/1hBu7Ps6aqA5sU1u3UfXWlfFxlbDH0TuknjcUD03q7+xkrvQuuI?= =?us-ascii?Q?+QXXcuHTy+LM0JMKxSL7Tuvlv+svZ3RWHheMeFj/kCAcMtCwKLQPm+avi1Mo?= =?us-ascii?Q?J7mvbhNv+LoFXns5EPf2uzOPh45/KenW1d83/FV9fccqBJ9PbBG7sctmeXc7?= =?us-ascii?Q?gu3Pi/64iHSuLUcbl9IDonvWORoB3J1cEkrqO6Sh2tsg6g=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4753762b-bf91-461f-07dc-08d8e31b1051 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3834.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2021 16:47:45.1802 (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: 8huGYQTJkRQbhRIDWuiKmnXGHRKGFe//7hePLMBtp4DUPRngKRO2bYWywLaTkieU X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3404 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 09, 2021 at 08:45:13AM -0700, Alex Williamson wrote: > > I'm having trouble guessing why we need to refcount the group to add a > > notifier to the device's notifier chain? > > > > I suppose it actually has to do with the MMIO mapping? But I don't > > know what the relation is between MMIO mappings in the IOMMU and the > > container? This could deserve a comment? > > Sure, I can add a comment. We want to make sure the device remains > within an IOMMU context so long as we have a DMA mapping to the device > MMIO, which could potentially manipulate the device. IOMMU context is > managed a the group level. I find refcounting is easier to understand if the refcount inc/dec is near the thing that is actually using the object - so I'd suggest to move this to the iommu code. A comment sounds like a good idea since this is security sensitive Jason