* Alex Williamson <alex.william...@redhat.com> [2017-01-17 14:02:33 -0700]:

[...]

> > diff --git a/drivers/s390/cio/vfio_ccw_ops.c 
> > b/drivers/s390/cio/vfio_ccw_ops.c
[...]

> > +static int vfio_ccw_mdev_create(struct kobject *kobj, struct mdev_device 
> > *mdev)
> > +{
> > +   struct vfio_ccw_private *private = dev_get_drvdata(mdev->parent->dev);
> > +
> > +   /* Only support one mediated device for each physical subchannel. */
> > +   if (private->mdev)
> > +           return -EPERM;
> > +
> > +   private->mdev = mdev;
> > +   available_instances--;
> 
> 
> This looks racy and doesn't enforce the available instances.  Should
> this maybe be an atomic_t and use atomic_dec_if_positive() to return an
> error if no instances are available?
Hi Alex,

You are right. I will fix this according to your comment.

> 
> 
> > +
> > +   return 0;
> > +}
> > +

[...]

-- 
Dong Jia


Reply via email to