From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 5579A81299 for ; Thu, 5 Nov 2026 17:52:43 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A5HpTPf007462; Thu, 5 Nov 2026 20:51:30 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A5HpTPf007462 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="wUnLTuj7" Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A5HpM6D007449 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 5 Nov 2026 20:51:22 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A5HpM6D007449 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-490c1867460so845737f8f.2 for ; Thu, 05 Nov 2026 09:51:22 -0800 (PST) X-Gm-Message-State: APuU4Z+iafBVlJwAC5fo2F6F/dBGKkZyUJ58ckcqIE1NtJC/eVNhPm1I 2BixD/JGOYIKzUgJUAgt5ro0BzEANqjC2cPo/xkSJGxM8/ztgGMg21exZpzb/lSOSGQN4BTopBR PCVmvXcKzsyQg6JIBnymrsWIr2jqPeLoPUJx3m626lJfkHJn4V/gHUQ== X-Gm-Gg: AYBFou3M7XAwM8MV8zE3ZID51EJZgmkkCx3UnmcZo8rH0FisN7FUYE7S1aOcyUGxhCV G4p5i5AcGNRu3L7U4t8zX8i885oYTJQlgY795FjzwerBrgPx2AqXUdNnCO2uUbPYSPNdNZuFCR+ yZa6qGkkTBt4H7qeTwDVfgKtnQ/HDL5hk1krcySrs6bMnzTH4FkiiCvmuNlqTnE49ZbPVOYQ4Tc WO0H6JVOpT8JuwTYY1OyELzW/4JdsTFXv5Q880AocE+XlpCo3pnp2u184xGFeA/519BgpMxROYp QQhPv/8tYUhPAeYl2wL1skSca4NSJVmXQtayScKFaUz+NIxeuuGRz5jq/MJtOvnYE/8e5LlWgS/ GD6n9l1I+oX800epK X-Received: by 2002:a5d:5f53:0:b0:48f:bb8c:73e with SMTP id ffacd0b85a97d-49276a6e43bmr686868f8f.24.1793901082026; Thu, 05 Nov 2026 09:51:22 -0800 (PST) X-Received: by 2002:a5d:5f53:0:b0:48f:bb8c:73e with SMTP id ffacd0b85a97d-49276a6e43bmr686833f8f.24.1793901081512; Thu, 05 Nov 2026 09:51:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1793901081; cv=none; d=google.com; s=arc-20260327; b=g3w7SgJ2ehxqTSwTyRFPInbi1Vs+xbaIcFtjNHUUQhSsfdya81zjImruJl5kPTGZ55 LZleWKOBV501Jczh7v3J+t0RL+AAZ6WChHiy3P/o115LDslo/iQCBYZ5cLxHGUDATZzC 0N2Y6NjOKdWsXq0jIW7YzYyy0tbmnQummODXxDaKXGieBRkI2us3Gusgd4o8XfSQ2FF8 JdEUt7B+OKyRxtfVSE0rSsmqUB+Hc9Af2Xbvyj0eiEsupHKJwlzjCwx3OWX5kpidVVV/ XFTyPeGvLNHoFeWdh5taETQpG4Ap2LDaxstc8xk5hOGfsnKYn0LkHJV5h3VLl4Lpc2m4 kAMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=message-id:date:references:in-reply-to:cc:to:from:subject :content-transfer-encoding:mime-version:dkim-signature; bh=Ftdy+Nbt+r/+/VYaLhLQfDBjjbsxC+N68Nunf3L8B6U=; fh=5AmFLEo6nHxL6WDW39LXC01IwU+CKjcYMpOuqqVTSIM=; b=tDrt2z5JhJwZ326OHjlRyEacrXwhbI39b+Ks7lHu2e6AyYzDCa7BvGPyCD4rTK5h8w UlVwzXS/s3+ShbyP3lWHuSSWtBL1kFdouysrGiNxDI5yZ+I8dXaQmdHyjjm4dDP9X9ET Q+2cmX1+L68OpEsniQs0N1Fjut/XWD/e6EQCPs0UI+hSErEU1+VgmxDmYdo+Ww/DmCVW QqDhcRXGwRUGMjMlP4plJnEjpwxacCo101+I93yF0ab3J8LqdaP/EYGcvaG6Cl8TY3UX QeuGU1kd05ADXX54jcPTfe6StymAVp45qQKIStsRUJpQUS2q+Iqc/htH9j2NjczeE7zI qv5Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=wUnLTuj7; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48fedd000a7si11521434f8f.220.2026.11.05.09.51.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Nov 2026 09:51:21 -0800 (PST) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=wUnLTuj7; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Date:From:Subject:Content-Type: MIME-Version; bh=Ftdy+Nbt+r/+/VYaLhLQfDBjjbsxC+N68Nunf3L8B6U=; b=wUnLTuj79P5/ 1b6x/Cm5c29Y6wPOcZkhujibrXVA2fNGfUdX31/8voU2XIk2s/vbfn8kWceLq88W4zVgOIRPef/be WEenXpMbldpUaG1b1/LRXF9PdTDAidTbIhsxmg7Y+N2gHcd9EAWLckstRWexGKUPujQHuzFsfGMBR elHS4Q6MOtzeKaQu66TsF1gLCY6hI7zXO7jLJh3aqm5L0BjtoYQDXdiljTyQdlvJBdg+4FYhzF+G8 a9E3Ja7lfunfZ0T0Z+z0mt7NHl6FmqSw/N7MrnpE8RzidgzQVjZ6yogmkDms38PYLgL19qrFNT3hh 67MKtyiL7R/3iwUGIr+x9A==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=f0.sw.ru) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1xP1YQ-0069n4-21; Thu, 05 Nov 2026 18:51:18 +0100 MIME-Version: 1.0 From: Konstantin Khorenko To: Andrey Drobyshev In-Reply-To: <20261105141759.750676-2-andrey.drobyshev@virtuozzo.com> References: <20261105141759.750676-1-andrey.drobyshev@virtuozzo.com> <20261105141759.750676-2-andrey.drobyshev@virtuozzo.com> Date: Thu, 05 Nov 2026 18:51:18 +0100 Message-Id: <179390107828.2925323.12658591741265089977.b4-review@b4> X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1813; i=khorenko@virtuozzo.com; h=from:subject:message-id; bh=soBLYbNdJut5VKdBfJdtMqRYZB2zDs4bs/+7ws5dveQ=; b=owEBbQKS/ZANAwAKAVGWCkf5YVwqAcsmYgBq7MIYruxCUTpb5Vu60JcD6d7tYoNJlsAXKFuWG yt38DUd2QCJAjMEAAEKAB0WIQRWD23IPcXT0GO9CCxRlgpH+WFcKgUCauzCGAAKCRBRlgpH+WFc Kpp8D/4pgkkVQbFi7L32eCzjEQM9Ef0tqvqJL143v2GFbemGOCkjV5vY1yToTC75TVoGbVgeo5Y mEZdPop+8EUtxDitts2mNB5GZi/NQAQv/BP2fqv35ZfA8TxLlLDQo93HzQ7AoG5CxxnVLOBszxe oOX8oEu2MfcxeQw6X3fnFB1mLS1kH1hn01pII9DC+nTmh/eA5PUNpaPSFXOtP/P07sX2QC75qyR TBKe9ZbwcC7tijEeyCj+vidJIVra1GRZKzYg0f0aLA5MCSW1ROzfRHnA8SXV2M5yL3FYpql4rEV 2fIDoD25kxu8DWID++G2WMVYhiYjRP3Np/3afiLEvF+REC4fYWdLXStKXASLfZ3wiexgTPDNEy3 gG+zb+hIwyDfJfdzaP9YZA96+nurvs7aRSErOV+D8Q+o0uZ3Wwm2yHPugh8X3fdXZ8zTLekbOhP wD1vL5/TabLORonr/+mbCzSNIDXshsek2nXjFXiEKXDVkSA/YUOM3469ZaR3jcFuglImAhtHklc qbvqHlelRj/Ed4a+BPXdWC6w1E9scD0ihaN9TIJU0TrFQcaYq9jvgFp/v8bieVpCDRs8bi2oAyW 4l0riuPn9wFlHKFyCNU2ByD1W1ZEQRBtwFzBk2jRd4gU+km1YcpyJ+v9FEOyllTNuzLZB8OMZKH h4hoY9Y5uxFMcqQ== X-Developer-Key: i=khorenko@virtuozzo.com; a=openpgp; fpr=560F6DC83DC5D3D063BD082C51960A47F9615C2A X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v3 1/1] vfio: take the kvm reference only for drivers that read device->kvm X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org Applying with these fixes on my side: - commit message: "all in open_device(), the first and the last at close too" becomes "vfio_ap reads it only in open_device(), zdev also at close, KVMGT also at close and while the guest runs"; - struct vfio_device comment: "reads device->kvm in open_device()" becomes "uses device->kvm while the device is open"; - the comments before the kvm get in vfio_df_group_open() and vfio_df_ioctl_bind_iommufd(): "Save the pointer in the device for use by drivers." is followed by "Both only if the driver set needs_kvm_ref.", since the flag gates the reference too. On Thu, 5 Nov 2026 16:17:59 +0200, Andrey Drobyshev wrote: > Only three drivers read device->kvm: KVMGT, vfio_ap and vfio-pci's > zdev support, all in open_device(), the first and the last at close > too. Let them say so with needs_kvm_ref. Without it device->kvm stays > NULL and no reference is taken, so the device can't keep a VM alive. KVMGT write-protects guest pages through device->kvm while the guest runs, in intel_gvt_page_track_add() and intel_gvt_page_track_remove(). The list of readers is right, only "in open_device()" is too narrow. That came from item 1 of my v2 reply, which was wrong for KVMGT. > + * Set before registration by a driver that reads device->kvm in > + * open_device(): the core then keeps the KVM the device was opened > + * with referenced until close_device(). Without it device->kvm > + * stays NULL. The same for the comment: a future driver that reads the pointer only from an ioctl would follow "in open_device()", leave the flag unset and get NULL. The two open paths still say the pointer is always saved for drivers, which is no longer true without the flag. -- Konstantin Khorenko, Virtuozzo Linux Kernel Team _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel