From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D79F3DE447 for ; Fri, 13 Mar 2026 18:34:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773426849; cv=none; b=eZlBEk6BMSfe+qpolrnM72qDihDJ1a60F4Wrh/Eiq0PuT+L8taoGR8GaKY4rgGfL/sReLWwDzoDZiIu7GsoFnrPsww9gRyMg6Y7X7j1T4Rg2U9cay7xcWJCIlMhhnaKlyUdlD1c9M/yvmwhRfFrwloW+aRjt2lB8/8rWdMaAwGQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773426849; c=relaxed/simple; bh=ixTPhrH4yxjOjUAI1IZHEE8s/TP9E8YXfjx9uEw6cE8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=hY8D5ncMuTOBoxBbeoneLluPSXdShoAXLoQRp1uypZkUWdaHF6607v8As0S6dbz6VHbGnW8IGouaMKUeEsY0nroa2XUg6rJe62V4N5sHe4v+8ORNcyqb8L2Qjyep7eFYfezFETy3fctyqnqvwn65EU6ETBP1kOIJm0Awx4LGufE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca; spf=pass smtp.mailfrom=ziepe.ca; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b=W1BS4Y4u; arc=none smtp.client-ip=209.85.219.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="W1BS4Y4u" Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-89a1d7cc7f0so21962006d6.1 for ; Fri, 13 Mar 2026 11:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1773426845; x=1774031645; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=ETmpjYkPNXw5/q7d3Ssx+upItrwKqh5NDijfiDruMZ0=; b=W1BS4Y4usm3MhXYBIdMTvkN20uyGnXFihYRk7vUYEPr39PILxWoikUnB3leV1gZ4w5 ELAIib1kh4za7wl3w/E73V5r7E5ktl97Dlrk3yL0u1NBCoxNjtCppezHdF0pmVIDmE5Z m6qbWVH+Mxbv6wB9EtoUtcW6//nYzF8eOIvi72VjMjfasTD6Nisc+gve2x+CLALgCqmW TXgFtGYpkl941962Mh5sTqWg8fZlIfxaba5RYJWKUm3hYEGh3PkHHVa5gsv12oizAmAE 0zy7bnIXsxykIn/nPWJop+NsVGmkkJzcanezN1g3HpewKjl92+PnyhtHuk2HH7wX51XU DEhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773426845; x=1774031645; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ETmpjYkPNXw5/q7d3Ssx+upItrwKqh5NDijfiDruMZ0=; b=b2ViNV1gX14s39bL7tglfimEUyhOPxfxBfjjE9ryMVcOygI62uZQ/fBfD+uDF9ryRl TLN0LiukGoSQsYcSuRNSVI/J59UakXQmx5qYRJhaV+6ikwZ6Eb4yB/xWNKcoqi8CZRM5 PkuTG6gcqix+RlyGK9Upw7wtdE2fQFCL35/uzVuDTVtfoUHVphe3oS+rZQrPOswq7wec Ulq/nRT7cz2vQUGmGAZiX7Wacf7z78JAE3m3YBma7SXqTW8gpo3dsrGvNfQKlUo8F1yt EqL6wq/6RMcIISnZwRzbVVvvrv7QqYuRM8to7RcEnBWaF3XiKmVSetViACnef7oVyO7m gD9w== X-Forwarded-Encrypted: i=1; AJvYcCWYy0VTbnYV48txzzp9yewgIIOQfN4+YuOzqdBdOaGuMmNamiZGcLrQf8oFWHpAzGtwfavraHtRAlyBGtc=@vger.kernel.org X-Gm-Message-State: AOJu0YyFeYZZfBCb5PNTvt3p3w9n+F9G5nEEQKrYmAg52O0FvZM5jQXU UrvWDrvUsUcPgY4AbpFahqSPHZD/RtccFdpYCjzPR3ztxdvqr1lyQwmXzotPeS5rARmHcCse4/J ispjg X-Gm-Gg: ATEYQzyWnMM+tUnGyxvQrIWWL09qjIvD9qtN6Xe+/J3gL0IiDEspsol8knlCPiKdcWC 6aCXyefDfp4xc/Hr/jh/AD1LI5kb1x9MZHqWepj2+qbfo0IyTNaZLNcZu112u1FJWy8bmHTGs7O RvAUwsvZ0mxCUgAhbS5jAsQtA82fkPvLpYsjFg6+WpE0x2EfllSgyceJeHdBtd+D5rpTLvdzFrf JiP3ija/FPWqPcdKLEu8hKGnnouW9SUkdlGe8oqZ89sNozaU+6dBWmuMJIS+wZH/xWJDUkfj2sl hwbnVKzcesJvDn2QrpNvnf06besAbObl4uArkNM83C6OOrjG2TOymBJQG1wRuZqCYI3qv4ztH+q MuM7sn7jquMLg3NBhDS39OzRCeLACE4MycZyNi+WR4MUALJ4pG/MDh1QO8Mi+NAbOZYpQtH+1m4 r+mpT0c4dPyr3HruVFK4DLJhHLqfVd/MxzowRlIQrhfYyqVWJRUBrcPJwZ6C0wgNQWsFEO7ohbu vVvwb10 X-Received: by 2002:a05:6214:5010:b0:89a:502:6060 with SMTP id 6a1803df08f44-89a81d4cb1fmr61055306d6.25.1773426844964; Fri, 13 Mar 2026 11:34:04 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-162-112-119.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.162.112.119]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-89a65d0289dsm58661806d6.40.2026.03.13.11.34.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 11:34:04 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1w17Kl-00000007Lsf-2UJ3; Fri, 13 Mar 2026 15:34:03 -0300 Date: Fri, 13 Mar 2026 15:34:03 -0300 From: Jason Gunthorpe To: Nicolin Chen Cc: "Aneesh Kumar K.V (Arm)" , iommu@lists.linux.dev, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Kevin Tian , Joerg Roedel , Will Deacon , Bjorn Helgaas , Jonathan Cameron , Dan Williams , Alexey Kardashevskiy , Samuel Ortiz , Xu Yilun , Suzuki K Poulose , Steven Price Subject: Re: [PATCH v2 1/3] iommufd/viommu: Allow associating a KVM VM fd with a vIOMMU Message-ID: <20260313183403.GL1704121@ziepe.ca> References: <20260309111704.2330479-1-aneesh.kumar@kernel.org> <20260309111704.2330479-2-aneesh.kumar@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Thu, Mar 12, 2026 at 11:15:16PM -0700, Nicolin Chen wrote: > On Mon, Mar 09, 2026 at 04:47:02PM +0530, Aneesh Kumar K.V (Arm) wrote: > > Add optional KVM association to IOMMU_VIOMMU_ALLOC by introducing > > IOMMU_VIOMMU_KVM_FD and iommu_viommu_alloc::kvm_vm_fd. > > > > When the flag is set, iommufd validates that kvm_vm_fd refers to a KVM > > VM file and stores a referenced struct file in the vIOMMU object, so > > later iommufd operations can safely resolve the owning VM. > > > > This is preparatory plumbing for subsequent patches that bind TDI state > > to the associated KVM VM. > > > > The patch also switch file_is_kvm from EXPORT_SYMBOL_FOR_KVM_INTERNAL to > > EXPORT_SYMBOL_GPL so that iommu module can use that. > > struct vfio_device has the kvm pointer already. So, I think it > could be forwarded from VFIO side v.s. via userspace ioctl. > > Shammer had two patches before and Jason partially reviewed. I > took those for a side project but haven't sent anywhere. Would > you please check if they for you? > > https://github.com/nicolinc/iommufd/commits/wip/viommu_kvm That looks pretty reasonable Raises the point we should not allow mixing kvm pointers, so no matter what the vfio, idev, viommu all need to agree, and the code should check that too, eg when associating an idev with a viommu Jason