From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (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 3412A9471 for ; Sun, 3 Dec 2023 14:07:58 +0000 (UTC) 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="FAEkZ6tY" Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-425430fe8d1so10985971cf.1 for ; Sun, 03 Dec 2023 06:07:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1701612478; x=1702217278; darn=lists.linux.dev; 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=CiMNgzFr7xNUwBtnhCHdgoiuX87pimcKNL7aMsL6fgY=; b=FAEkZ6tYCYuwgLGq39BqJ+/IaSqBdTCPuO74HL49B7llHqE61B8aYMXh9my7Xpjkdi DzYFv6n9kE5tiAwy+1IUHYY8RRYi5PjVQ9MVP8t3qUvaR/IjFZuyI5sjG9DQ0pa0lr1j XJTxGSFpxQPlbSYtXcD0IntBWk1V0TpbnwKN2IsYRHCuCnoaXX2U+tNnahIU/bNasofZ /e+exsSatoqVF2sL7E65yD+alcQhb8pdTlVUxwiKApPRFPwld0ljlqWdQ1vccFfzCWS3 CLbUm4Ok55ekzMZJn4sg/hI+D7N9KhOynP52TWdskuerJMp2YzpoICJR0HgxbhyPN92f Nwzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701612478; x=1702217278; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CiMNgzFr7xNUwBtnhCHdgoiuX87pimcKNL7aMsL6fgY=; b=PJNWxDg1+814/JmrOstvQ4LxZq11rAm2OsjiSWXpAxL0p+gLoAmJ0kTOg6z1fhGiNA rq4Q7fwnI51N6luWO9BI2cfV1vpBdJtVeMT1PK/HxfxCqsV8eFC5rs6LoaMOX+DRhWj9 p6c47TNiCtWIMHxeS7xFXlOsOgb7hO03lK88XCarenLcsjs/rnm/nNqBZk+dKaoXFn6a v4hNdgGIaAYyOHz/dgajtkIM6aC7NwAYRHB4vAs4MgoEqgZq/8t4jvcFBtnqyqoAjgp+ bhRniAOPO8TyYMXg9wMIVFs0z0juOQY7YWtLAfy/LN4p1GH5PjhRrNsD9NkEc7bfvtTU +Xow== X-Gm-Message-State: AOJu0Yy2gyPsnOkpUOoT2SlXdSZVPsyBLw3v0iCgQ4JeYsO050r0MN8c Vq/Q2E5kF2HRH0b6sVzaRahlEw== X-Google-Smtp-Source: AGHT+IHLblrSR9v9mU82kXzYVsIygmNXeBVbxztP2WE72q1qjIUsHC92qYjoWB74bCqvYp2tHSpE/Q== X-Received: by 2002:a05:622a:7148:b0:423:e4f1:4958 with SMTP id jc8-20020a05622a714800b00423e4f14958mr3926493qtb.56.1701612477906; Sun, 03 Dec 2023 06:07:57 -0800 (PST) Received: from ziepe.ca (hlfxns017vw-142-134-23-187.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.134.23.187]) by smtp.gmail.com with ESMTPSA id z9-20020ac87109000000b00419c40a0d70sm3402958qto.54.2023.12.03.06.07.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 06:07:56 -0800 (PST) Received: from jgg by wakko with local (Exim 4.95) (envelope-from ) id 1r9n8W-009HdE-5C; Sun, 03 Dec 2023 10:07:56 -0400 Date: Sun, 3 Dec 2023 10:07:56 -0400 From: Jason Gunthorpe To: Sean Christopherson Cc: Catalin Marinas , Will Deacon , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Janosch Frank , Claudio Imbrenda , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, Peter Zijlstra , Arnaldo Carvalho de Melo , Paolo Bonzini , Tony Krowiak , Halil Pasic , Jason Herne , Harald Freudenberger , Alex Williamson , Andy Lutomirski , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, kvm@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Anish Ghulati , Venkatesh Srinivas , Andrew Thornton Subject: Re: [PATCH 05/26] vfio: KVM: Pass get/put helpers from KVM to VFIO, don't do circular lookup Message-ID: <20231203140756.GI1489931@ziepe.ca> References: <20230916003118.2540661-1-seanjc@google.com> <20230916003118.2540661-6-seanjc@google.com> <20230918152110.GI13795@ziepe.ca> <20230918160258.GL13795@ziepe.ca> Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Fri, Dec 01, 2023 at 04:51:55PM -0800, Sean Christopherson wrote: > There's one more wrinkle: this patch is buggy in that it doesn't ensure the liveliness > of KVM-the-module, i.e. nothing prevents userspace from unloading kvm.ko while VFIO > still holds a reference to a kvm structure, and so invoking ->put_kvm() could jump > into freed code. To fix that, KVM would also need to pass along a module pointer :-( Maybe we should be refcounting the struct file not the struct kvm? Then we don't need special helpers and it keeps the module alive correctly. Jason