Hi Cédric,

>-----Original Message-----
>From: Cédric Le Goater <c...@redhat.com>
>Sent: Tuesday, January 2, 2024 8:32 PM
>To: qemu-devel@nongnu.org
>Cc: Liu, Yi L <yi.l....@intel.com>; Eric Auger <eric.au...@redhat.com>; Duan,
>Zhenzhong <zhenzhong.d...@intel.com>; Cédric Le Goater
><c...@redhat.com>
>Subject: [PATCH 1/2] backends/iommufd: Remove check on number of
>backend users
>
>QOM already has a ref count on objects and it will assert much
>earlier, when INT_MAX is reached.
>
>Signed-off-by: Cédric Le Goater <c...@redhat.com>

IIUC, /dev/iommu is opened on demand, be->users is used to catch underflow
or overflow due to mismatched iommufd_backend_connect/disconnect
pairs. It looks different from object ref count in purpose, but I agree
a correctly written code will never trigger such overflow/underflow.

So, for the series:
Reviewed-by: Zhenzhong Duan <zhenzhong.d...@intel.com>

BRs.
Zhenzhong

>---
> backends/iommufd.c | 5 -----
> 1 file changed, 5 deletions(-)
>
>diff --git a/backends/iommufd.c b/backends/iommufd.c
>index
>ba58a0eb0d0ba9aae625c987eb728547543dba66..393c0d9a3719e3de1a6b
>51a8ff2e75e184badc82 100644
>--- a/backends/iommufd.c
>+++ b/backends/iommufd.c
>@@ -80,11 +80,6 @@ int iommufd_backend_connect(IOMMUFDBackend
>*be, Error **errp)
>     int fd, ret = 0;
>
>     qemu_mutex_lock(&be->lock);
>-    if (be->users == UINT32_MAX) {
>-        error_setg(errp, "too many connections");
>-        ret = -E2BIG;
>-        goto out;
>-    }
>     if (be->owned && !be->users) {
>         fd = qemu_open_old("/dev/iommu", O_RDWR);
>         if (fd < 0) {
>--
>2.43.0

Reply via email to