RE: [PATCH v1 2/5] mdev: Make mdev alias unique among all mdevs

2019-08-29 Thread Parav Pandit



> -Original Message-
> From: Alex Williamson 
> Sent: Thursday, August 29, 2019 3:07 AM
> To: Parav Pandit 
> Cc: Jiri Pirko ; kwankh...@nvidia.com;
> coh...@redhat.com; da...@davemloft.net; k...@vger.kernel.org; linux-
> ker...@vger.kernel.org; net...@vger.kernel.org
> Subject: Re: [PATCH v1 2/5] mdev: Make mdev alias unique among all mdevs
> 
> On Tue, 27 Aug 2019 14:16:51 -0500
> Parav Pandit  wrote:
> 
> > Mdev alias should be unique among all the mdevs, so that when such
> > alias is used by the mdev users to derive other objects, there is no
> > collision in a given system.
> >
> > Signed-off-by: Parav Pandit 
> >
> > ---
> > Changelog:
> > v0->v1:
> >  - Fixed inclusiong of alias for NULL check
> >  - Added ratelimited debug print for sha1 hash collision error
> > ---
> >  drivers/vfio/mdev/mdev_core.c | 7 +++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/drivers/vfio/mdev/mdev_core.c
> > b/drivers/vfio/mdev/mdev_core.c index 62d29f57fe0c..4b9899e40665
> > 100644
> > --- a/drivers/vfio/mdev/mdev_core.c
> > +++ b/drivers/vfio/mdev/mdev_core.c
> > @@ -375,6 +375,13 @@ int mdev_device_create(struct kobject *kobj, struct
> device *dev,
> > ret = -EEXIST;
> > goto mdev_fail;
> > }
> > +   if (tmp->alias && alias && strcmp(tmp->alias, alias) == 0) {
> 
> Nit, test if the device we adding has an alias before the device we're testing
> against.  The compiler can better optimize keeping alias hot.
> Thanks,
> 
Ok. will do.

> Alex


Re: [PATCH v1 2/5] mdev: Make mdev alias unique among all mdevs

2019-08-28 Thread Alex Williamson
On Tue, 27 Aug 2019 14:16:51 -0500
Parav Pandit  wrote:

> Mdev alias should be unique among all the mdevs, so that when such alias
> is used by the mdev users to derive other objects, there is no
> collision in a given system.
> 
> Signed-off-by: Parav Pandit 
> 
> ---
> Changelog:
> v0->v1:
>  - Fixed inclusiong of alias for NULL check
>  - Added ratelimited debug print for sha1 hash collision error
> ---
>  drivers/vfio/mdev/mdev_core.c | 7 +++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c
> index 62d29f57fe0c..4b9899e40665 100644
> --- a/drivers/vfio/mdev/mdev_core.c
> +++ b/drivers/vfio/mdev/mdev_core.c
> @@ -375,6 +375,13 @@ int mdev_device_create(struct kobject *kobj, struct 
> device *dev,
>   ret = -EEXIST;
>   goto mdev_fail;
>   }
> + if (tmp->alias && alias && strcmp(tmp->alias, alias) == 0) {

Nit, test if the device we adding has an alias before the device we're
testing against.  The compiler can better optimize keeping alias hot.
Thanks,

Alex

> + mutex_unlock(_list_lock);
> + ret = -EEXIST;
> + dev_dbg_ratelimited(dev, "Hash collision in alias 
> creation for UUID %pUl\n",
> + uuid);
> + goto mdev_fail;
> + }
>   }
>  
>   mdev = kzalloc(sizeof(*mdev), GFP_KERNEL);



[PATCH v1 2/5] mdev: Make mdev alias unique among all mdevs

2019-08-27 Thread Parav Pandit
Mdev alias should be unique among all the mdevs, so that when such alias
is used by the mdev users to derive other objects, there is no
collision in a given system.

Signed-off-by: Parav Pandit 

---
Changelog:
v0->v1:
 - Fixed inclusiong of alias for NULL check
 - Added ratelimited debug print for sha1 hash collision error
---
 drivers/vfio/mdev/mdev_core.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c
index 62d29f57fe0c..4b9899e40665 100644
--- a/drivers/vfio/mdev/mdev_core.c
+++ b/drivers/vfio/mdev/mdev_core.c
@@ -375,6 +375,13 @@ int mdev_device_create(struct kobject *kobj, struct device 
*dev,
ret = -EEXIST;
goto mdev_fail;
}
+   if (tmp->alias && alias && strcmp(tmp->alias, alias) == 0) {
+   mutex_unlock(_list_lock);
+   ret = -EEXIST;
+   dev_dbg_ratelimited(dev, "Hash collision in alias 
creation for UUID %pUl\n",
+   uuid);
+   goto mdev_fail;
+   }
}
 
mdev = kzalloc(sizeof(*mdev), GFP_KERNEL);
-- 
2.19.2