On Tue, 27 Aug 2019 14:16:51 -0500
Parav Pandit <[email protected]> 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 <[email protected]>
> 
> ---
> 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(&mdev_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);

Reply via email to