From: Alex Williamson <alex.williamson@redhat.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: kvm@vger.kernel.org, linux-doc@vger.kernel.org,
David Airlie <airlied@linux.ie>,
dri-devel@lists.freedesktop.org,
Kirti Wankhede <kwankhede@nvidia.com>,
Max Gurtovoy <mgurtovoy@nvidia.com>,
Vineeth Vijayan <vneethv@linux.ibm.com>,
Diana Craciun <diana.craciun@oss.nxp.com>,
Leon Romanovsky <leonro@nvidia.com>,
Christoph Hellwig <hch@lst.de>,
linux-s390@vger.kernel.org,
Matthew Rosato <mjrosato@linux.ibm.com>,
Jonathan Corbet <corbet@lwn.net>,
Halil Pasic <pasic@linux.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
intel-gfx@lists.freedesktop.org,
Jason Herne <jjherne@linux.ibm.com>,
Eric Farman <farman@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Eric Auger <eric.auger@redhat.com>,
Harald Freudenberger <freude@linux.ibm.com>,
intel-gvt-dev@lists.freedesktop.org, "Raj,
Ashok" <ashok.raj@intel.com>,
Tony Krowiak <akrowiak@linux.ibm.com>,
Yishai Hadas <yishaih@nvidia.com>,
Cornelia Huck <cohuck@redhat.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>
Subject: Re: [Intel-gfx] [PATCH v2 02/14] vfio/mbochs: Fix missing error unwind in mbochs_probe()
Date: Tue, 20 Jul 2021 16:01:27 -0600 [thread overview]
Message-ID: <20210720160127.17bf3c19.alex.williamson@redhat.com> (raw)
In-Reply-To: <2-v2-b6a5582525c9+ff96-vfio_reflck_jgg@nvidia.com>
On Tue, 20 Jul 2021 14:42:48 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:
> Compared to mbochs_remove() two cases are missing from the
> vfio_register_group_dev() unwind. Add them in.
>
> Fixes: 681c1615f891 ("vfio/mbochs: Convert to use vfio_register_group_dev()")
> Reported-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
> samples/vfio-mdev/mbochs.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
> index e81b875b4d87b4..501845b08c0974 100644
> --- a/samples/vfio-mdev/mbochs.c
> +++ b/samples/vfio-mdev/mbochs.c
> @@ -553,11 +553,14 @@ static int mbochs_probe(struct mdev_device *mdev)
>
> ret = vfio_register_group_dev(&mdev_state->vdev);
> if (ret)
> - goto err_mem;
> + goto err_bytes;
> dev_set_drvdata(&mdev->dev, mdev_state);
> return 0;
>
> +err_bytes:
> + mbochs_used_mbytes -= mdev_state->type->mbytes;
> err_mem:
> + kfree(mdev_state->pages);
> kfree(mdev_state->vconfig);
> kfree(mdev_state);
> return ret;
> @@ -567,8 +570,8 @@ static void mbochs_remove(struct mdev_device *mdev)
> {
> struct mdev_state *mdev_state = dev_get_drvdata(&mdev->dev);
>
> - mbochs_used_mbytes -= mdev_state->type->mbytes;
> vfio_unregister_group_dev(&mdev_state->vdev);
> + mbochs_used_mbytes -= mdev_state->type->mbytes;
> kfree(mdev_state->pages);
> kfree(mdev_state->vconfig);
> kfree(mdev_state);
Hmm, doesn't this suggest we need another atomic conversion? (untested)
diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
index e81b875b4d87..842819e29c6b 100644
--- a/samples/vfio-mdev/mbochs.c
+++ b/samples/vfio-mdev/mbochs.c
@@ -129,7 +129,7 @@ static dev_t mbochs_devt;
static struct class *mbochs_class;
static struct cdev mbochs_cdev;
static struct device mbochs_dev;
-static int mbochs_used_mbytes;
+static atomic_t mbochs_avail_mbytes;
static const struct vfio_device_ops mbochs_dev_ops;
struct vfio_region_info_ext {
@@ -511,14 +511,19 @@ static int mbochs_probe(struct mdev_device *mdev)
&mbochs_types[mdev_get_type_group_id(mdev)];
struct device *dev = mdev_dev(mdev);
struct mdev_state *mdev_state;
+ int avail_mbytes = atomic_read(&mbochs_avail_mbytes);
int ret = -ENOMEM;
- if (type->mbytes + mbochs_used_mbytes > max_mbytes)
- return -ENOMEM;
+ do {
+ if (avail_mbytes < type->mbytes)
+ return ret;
+ } while (!atomic_try_cmpxchg(&mbochs_avail_mbytes, &avail_mbytes,
+ avail_mbytes - type->mbytes));
mdev_state = kzalloc(sizeof(struct mdev_state), GFP_KERNEL);
if (mdev_state == NULL)
- return -ENOMEM;
+ goto err_resv;
+
vfio_init_group_dev(&mdev_state->vdev, &mdev->dev, &mbochs_dev_ops);
mdev_state->vconfig = kzalloc(MBOCHS_CONFIG_SPACE_SIZE, GFP_KERNEL);
@@ -549,8 +554,6 @@ static int mbochs_probe(struct mdev_device *mdev)
mbochs_create_config_space(mdev_state);
mbochs_reset(mdev_state);
- mbochs_used_mbytes += type->mbytes;
-
ret = vfio_register_group_dev(&mdev_state->vdev);
if (ret)
goto err_mem;
@@ -558,8 +561,11 @@ static int mbochs_probe(struct mdev_device *mdev)
return 0;
err_mem:
+ kfree(mdev_state->pages);
kfree(mdev_state->vconfig);
kfree(mdev_state);
+err_resv:
+ atomic_add(mdev_state->type->mbytes, &mbochs_avail_mbytes);
return ret;
}
@@ -567,11 +573,11 @@ static void mbochs_remove(struct mdev_device *mdev)
{
struct mdev_state *mdev_state = dev_get_drvdata(&mdev->dev);
- mbochs_used_mbytes -= mdev_state->type->mbytes;
vfio_unregister_group_dev(&mdev_state->vdev);
kfree(mdev_state->pages);
kfree(mdev_state->vconfig);
kfree(mdev_state);
+ atomic_add(mdev_state->type->mbytes, &mbochs_avail_mbytes);
}
static ssize_t mbochs_read(struct vfio_device *vdev, char __user *buf,
@@ -1351,7 +1357,7 @@ static ssize_t available_instances_show(struct mdev_type *mtype,
{
const struct mbochs_type *type =
&mbochs_types[mtype_get_type_group_id(mtype)];
- int count = (max_mbytes - mbochs_used_mbytes) / type->mbytes;
+ int count = atomic_read(&mbochs_avail_mbytes) / type->mbytes;
return sprintf(buf, "%d\n", count);
}
@@ -1460,6 +1466,8 @@ static int __init mbochs_dev_init(void)
if (ret)
goto err_class;
+ atomic_set(&mbochs_avail_mbytes, max_mbytes);
+
ret = mdev_register_device(&mbochs_dev, &mdev_fops);
if (ret)
goto err_device;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
WARNING: multiple messages have this Message-ID (diff)
From: Alex Williamson <alex.williamson@redhat.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: David Airlie <airlied@linux.ie>,
Tony Krowiak <akrowiak@linux.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Cornelia Huck <cohuck@redhat.com>,
Jonathan Corbet <corbet@lwn.net>, Daniel Vetter <daniel@ffwll.ch>,
Diana Craciun <diana.craciun@oss.nxp.com>,
dri-devel@lists.freedesktop.org,
Eric Auger <eric.auger@redhat.com>,
Eric Farman <farman@linux.ibm.com>,
Harald Freudenberger <freude@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
intel-gfx@lists.freedesktop.org,
intel-gvt-dev@lists.freedesktop.org,
Jani Nikula <jani.nikula@linux.intel.com>,
Jason Herne <jjherne@linux.ibm.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
kvm@vger.kernel.org, Kirti Wankhede <kwankhede@nvidia.com>,
linux-doc@vger.kernel.org, linux-s390@vger.kernel.org,
Matthew Rosato <mjrosato@linux.ibm.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>,
Halil Pasic <pasic@linux.ibm.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Vineeth Vijayan <vneethv@linux.ibm.com>,
Zhi Wang <zhi.a.wang@intel.com>,
"Raj, Ashok" <ashok.raj@intel.com>,
Christoph Hellwig <hch@lst.de>,
Leon Romanovsky <leonro@nvidia.com>,
Max Gurtovoy <mgurtovoy@nvidia.com>,
Yishai Hadas <yishaih@nvidia.com>,
Zhenyu Wang <zhenyuw@linux.intel.com>
Subject: Re: [PATCH v2 02/14] vfio/mbochs: Fix missing error unwind in mbochs_probe()
Date: Tue, 20 Jul 2021 16:01:27 -0600 [thread overview]
Message-ID: <20210720160127.17bf3c19.alex.williamson@redhat.com> (raw)
In-Reply-To: <2-v2-b6a5582525c9+ff96-vfio_reflck_jgg@nvidia.com>
On Tue, 20 Jul 2021 14:42:48 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:
> Compared to mbochs_remove() two cases are missing from the
> vfio_register_group_dev() unwind. Add them in.
>
> Fixes: 681c1615f891 ("vfio/mbochs: Convert to use vfio_register_group_dev()")
> Reported-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
> samples/vfio-mdev/mbochs.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
> index e81b875b4d87b4..501845b08c0974 100644
> --- a/samples/vfio-mdev/mbochs.c
> +++ b/samples/vfio-mdev/mbochs.c
> @@ -553,11 +553,14 @@ static int mbochs_probe(struct mdev_device *mdev)
>
> ret = vfio_register_group_dev(&mdev_state->vdev);
> if (ret)
> - goto err_mem;
> + goto err_bytes;
> dev_set_drvdata(&mdev->dev, mdev_state);
> return 0;
>
> +err_bytes:
> + mbochs_used_mbytes -= mdev_state->type->mbytes;
> err_mem:
> + kfree(mdev_state->pages);
> kfree(mdev_state->vconfig);
> kfree(mdev_state);
> return ret;
> @@ -567,8 +570,8 @@ static void mbochs_remove(struct mdev_device *mdev)
> {
> struct mdev_state *mdev_state = dev_get_drvdata(&mdev->dev);
>
> - mbochs_used_mbytes -= mdev_state->type->mbytes;
> vfio_unregister_group_dev(&mdev_state->vdev);
> + mbochs_used_mbytes -= mdev_state->type->mbytes;
> kfree(mdev_state->pages);
> kfree(mdev_state->vconfig);
> kfree(mdev_state);
Hmm, doesn't this suggest we need another atomic conversion? (untested)
diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
index e81b875b4d87..842819e29c6b 100644
--- a/samples/vfio-mdev/mbochs.c
+++ b/samples/vfio-mdev/mbochs.c
@@ -129,7 +129,7 @@ static dev_t mbochs_devt;
static struct class *mbochs_class;
static struct cdev mbochs_cdev;
static struct device mbochs_dev;
-static int mbochs_used_mbytes;
+static atomic_t mbochs_avail_mbytes;
static const struct vfio_device_ops mbochs_dev_ops;
struct vfio_region_info_ext {
@@ -511,14 +511,19 @@ static int mbochs_probe(struct mdev_device *mdev)
&mbochs_types[mdev_get_type_group_id(mdev)];
struct device *dev = mdev_dev(mdev);
struct mdev_state *mdev_state;
+ int avail_mbytes = atomic_read(&mbochs_avail_mbytes);
int ret = -ENOMEM;
- if (type->mbytes + mbochs_used_mbytes > max_mbytes)
- return -ENOMEM;
+ do {
+ if (avail_mbytes < type->mbytes)
+ return ret;
+ } while (!atomic_try_cmpxchg(&mbochs_avail_mbytes, &avail_mbytes,
+ avail_mbytes - type->mbytes));
mdev_state = kzalloc(sizeof(struct mdev_state), GFP_KERNEL);
if (mdev_state == NULL)
- return -ENOMEM;
+ goto err_resv;
+
vfio_init_group_dev(&mdev_state->vdev, &mdev->dev, &mbochs_dev_ops);
mdev_state->vconfig = kzalloc(MBOCHS_CONFIG_SPACE_SIZE, GFP_KERNEL);
@@ -549,8 +554,6 @@ static int mbochs_probe(struct mdev_device *mdev)
mbochs_create_config_space(mdev_state);
mbochs_reset(mdev_state);
- mbochs_used_mbytes += type->mbytes;
-
ret = vfio_register_group_dev(&mdev_state->vdev);
if (ret)
goto err_mem;
@@ -558,8 +561,11 @@ static int mbochs_probe(struct mdev_device *mdev)
return 0;
err_mem:
+ kfree(mdev_state->pages);
kfree(mdev_state->vconfig);
kfree(mdev_state);
+err_resv:
+ atomic_add(mdev_state->type->mbytes, &mbochs_avail_mbytes);
return ret;
}
@@ -567,11 +573,11 @@ static void mbochs_remove(struct mdev_device *mdev)
{
struct mdev_state *mdev_state = dev_get_drvdata(&mdev->dev);
- mbochs_used_mbytes -= mdev_state->type->mbytes;
vfio_unregister_group_dev(&mdev_state->vdev);
kfree(mdev_state->pages);
kfree(mdev_state->vconfig);
kfree(mdev_state);
+ atomic_add(mdev_state->type->mbytes, &mbochs_avail_mbytes);
}
static ssize_t mbochs_read(struct vfio_device *vdev, char __user *buf,
@@ -1351,7 +1357,7 @@ static ssize_t available_instances_show(struct mdev_type *mtype,
{
const struct mbochs_type *type =
&mbochs_types[mtype_get_type_group_id(mtype)];
- int count = (max_mbytes - mbochs_used_mbytes) / type->mbytes;
+ int count = atomic_read(&mbochs_avail_mbytes) / type->mbytes;
return sprintf(buf, "%d\n", count);
}
@@ -1460,6 +1466,8 @@ static int __init mbochs_dev_init(void)
if (ret)
goto err_class;
+ atomic_set(&mbochs_avail_mbytes, max_mbytes);
+
ret = mdev_register_device(&mbochs_dev, &mdev_fops);
if (ret)
goto err_device;
WARNING: multiple messages have this Message-ID (diff)
From: Alex Williamson <alex.williamson@redhat.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: kvm@vger.kernel.org, linux-doc@vger.kernel.org,
David Airlie <airlied@linux.ie>,
dri-devel@lists.freedesktop.org,
Kirti Wankhede <kwankhede@nvidia.com>,
Max Gurtovoy <mgurtovoy@nvidia.com>,
Vineeth Vijayan <vneethv@linux.ibm.com>,
Diana Craciun <diana.craciun@oss.nxp.com>,
Leon Romanovsky <leonro@nvidia.com>,
Christoph Hellwig <hch@lst.de>,
linux-s390@vger.kernel.org,
Matthew Rosato <mjrosato@linux.ibm.com>,
Jonathan Corbet <corbet@lwn.net>,
Halil Pasic <pasic@linux.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
intel-gfx@lists.freedesktop.org, Zhi Wang <zhi.a.wang@intel.com>,
Jason Herne <jjherne@linux.ibm.com>,
Eric Farman <farman@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Eric Auger <eric.auger@redhat.com>,
Harald Freudenberger <freude@linux.ibm.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
intel-gvt-dev@lists.freedesktop.org, "Raj,
Ashok" <ashok.raj@intel.com>,
Tony Krowiak <akrowiak@linux.ibm.com>,
Yishai Hadas <yishaih@nvidia.com>,
Cornelia Huck <cohuck@redhat.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>
Subject: Re: [PATCH v2 02/14] vfio/mbochs: Fix missing error unwind in mbochs_probe()
Date: Tue, 20 Jul 2021 16:01:27 -0600 [thread overview]
Message-ID: <20210720160127.17bf3c19.alex.williamson@redhat.com> (raw)
In-Reply-To: <2-v2-b6a5582525c9+ff96-vfio_reflck_jgg@nvidia.com>
On Tue, 20 Jul 2021 14:42:48 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:
> Compared to mbochs_remove() two cases are missing from the
> vfio_register_group_dev() unwind. Add them in.
>
> Fixes: 681c1615f891 ("vfio/mbochs: Convert to use vfio_register_group_dev()")
> Reported-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
> samples/vfio-mdev/mbochs.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
> index e81b875b4d87b4..501845b08c0974 100644
> --- a/samples/vfio-mdev/mbochs.c
> +++ b/samples/vfio-mdev/mbochs.c
> @@ -553,11 +553,14 @@ static int mbochs_probe(struct mdev_device *mdev)
>
> ret = vfio_register_group_dev(&mdev_state->vdev);
> if (ret)
> - goto err_mem;
> + goto err_bytes;
> dev_set_drvdata(&mdev->dev, mdev_state);
> return 0;
>
> +err_bytes:
> + mbochs_used_mbytes -= mdev_state->type->mbytes;
> err_mem:
> + kfree(mdev_state->pages);
> kfree(mdev_state->vconfig);
> kfree(mdev_state);
> return ret;
> @@ -567,8 +570,8 @@ static void mbochs_remove(struct mdev_device *mdev)
> {
> struct mdev_state *mdev_state = dev_get_drvdata(&mdev->dev);
>
> - mbochs_used_mbytes -= mdev_state->type->mbytes;
> vfio_unregister_group_dev(&mdev_state->vdev);
> + mbochs_used_mbytes -= mdev_state->type->mbytes;
> kfree(mdev_state->pages);
> kfree(mdev_state->vconfig);
> kfree(mdev_state);
Hmm, doesn't this suggest we need another atomic conversion? (untested)
diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
index e81b875b4d87..842819e29c6b 100644
--- a/samples/vfio-mdev/mbochs.c
+++ b/samples/vfio-mdev/mbochs.c
@@ -129,7 +129,7 @@ static dev_t mbochs_devt;
static struct class *mbochs_class;
static struct cdev mbochs_cdev;
static struct device mbochs_dev;
-static int mbochs_used_mbytes;
+static atomic_t mbochs_avail_mbytes;
static const struct vfio_device_ops mbochs_dev_ops;
struct vfio_region_info_ext {
@@ -511,14 +511,19 @@ static int mbochs_probe(struct mdev_device *mdev)
&mbochs_types[mdev_get_type_group_id(mdev)];
struct device *dev = mdev_dev(mdev);
struct mdev_state *mdev_state;
+ int avail_mbytes = atomic_read(&mbochs_avail_mbytes);
int ret = -ENOMEM;
- if (type->mbytes + mbochs_used_mbytes > max_mbytes)
- return -ENOMEM;
+ do {
+ if (avail_mbytes < type->mbytes)
+ return ret;
+ } while (!atomic_try_cmpxchg(&mbochs_avail_mbytes, &avail_mbytes,
+ avail_mbytes - type->mbytes));
mdev_state = kzalloc(sizeof(struct mdev_state), GFP_KERNEL);
if (mdev_state == NULL)
- return -ENOMEM;
+ goto err_resv;
+
vfio_init_group_dev(&mdev_state->vdev, &mdev->dev, &mbochs_dev_ops);
mdev_state->vconfig = kzalloc(MBOCHS_CONFIG_SPACE_SIZE, GFP_KERNEL);
@@ -549,8 +554,6 @@ static int mbochs_probe(struct mdev_device *mdev)
mbochs_create_config_space(mdev_state);
mbochs_reset(mdev_state);
- mbochs_used_mbytes += type->mbytes;
-
ret = vfio_register_group_dev(&mdev_state->vdev);
if (ret)
goto err_mem;
@@ -558,8 +561,11 @@ static int mbochs_probe(struct mdev_device *mdev)
return 0;
err_mem:
+ kfree(mdev_state->pages);
kfree(mdev_state->vconfig);
kfree(mdev_state);
+err_resv:
+ atomic_add(mdev_state->type->mbytes, &mbochs_avail_mbytes);
return ret;
}
@@ -567,11 +573,11 @@ static void mbochs_remove(struct mdev_device *mdev)
{
struct mdev_state *mdev_state = dev_get_drvdata(&mdev->dev);
- mbochs_used_mbytes -= mdev_state->type->mbytes;
vfio_unregister_group_dev(&mdev_state->vdev);
kfree(mdev_state->pages);
kfree(mdev_state->vconfig);
kfree(mdev_state);
+ atomic_add(mdev_state->type->mbytes, &mbochs_avail_mbytes);
}
static ssize_t mbochs_read(struct vfio_device *vdev, char __user *buf,
@@ -1351,7 +1357,7 @@ static ssize_t available_instances_show(struct mdev_type *mtype,
{
const struct mbochs_type *type =
&mbochs_types[mtype_get_type_group_id(mtype)];
- int count = (max_mbytes - mbochs_used_mbytes) / type->mbytes;
+ int count = atomic_read(&mbochs_avail_mbytes) / type->mbytes;
return sprintf(buf, "%d\n", count);
}
@@ -1460,6 +1466,8 @@ static int __init mbochs_dev_init(void)
if (ret)
goto err_class;
+ atomic_set(&mbochs_avail_mbytes, max_mbytes);
+
ret = mdev_register_device(&mbochs_dev, &mdev_fops);
if (ret)
goto err_device;
next prev parent reply other threads:[~2021-07-20 22:01 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-20 17:42 [Intel-gfx] [PATCH v2 00/14] Provide core infrastructure for managing open/release Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 01/14] vfio/samples: Remove module get/put Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 7:18 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 7:18 ` Christoph Hellwig
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 02/14] vfio/mbochs: Fix missing error unwind in mbochs_probe() Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 22:01 ` Alex Williamson [this message]
2021-07-20 22:01 ` Alex Williamson
2021-07-20 22:01 ` Alex Williamson
2021-07-20 22:49 ` [Intel-gfx] " Jason Gunthorpe
2021-07-20 22:49 ` Jason Gunthorpe
2021-07-20 22:49 ` Jason Gunthorpe
2021-07-20 22:54 ` [Intel-gfx] " Alex Williamson
2021-07-20 22:54 ` Alex Williamson
2021-07-20 22:54 ` Alex Williamson
2021-07-21 9:18 ` [Intel-gfx] " Cornelia Huck
2021-07-21 9:18 ` Cornelia Huck
2021-07-21 9:18 ` Cornelia Huck
2021-07-21 9:16 ` [Intel-gfx] " Cornelia Huck
2021-07-21 9:16 ` Cornelia Huck
2021-07-21 9:16 ` Cornelia Huck
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 03/14] vfio: Introduce a vfio_uninit_group_dev() API call Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-21 11:33 ` [Intel-gfx] " Cornelia Huck
2021-07-21 11:33 ` Cornelia Huck
2021-07-21 11:33 ` Cornelia Huck
2021-07-23 7:18 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 7:18 ` Christoph Hellwig
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 04/14] vfio: Provide better generic support for open/release vfio_device_ops Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-22 14:42 ` [Intel-gfx] " Cornelia Huck
2021-07-22 14:42 ` Cornelia Huck
2021-07-22 14:42 ` Cornelia Huck
2021-07-23 7:39 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 7:39 ` Christoph Hellwig
2021-07-23 14:38 ` [Intel-gfx] " Jason Gunthorpe
2021-07-23 14:38 ` Jason Gunthorpe
2021-07-23 14:38 ` Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 05/14] vfio/samples: Delete useless open/close Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 7:39 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 7:39 ` Christoph Hellwig
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 06/14] vfio/fsl: Move to the device set infrastructure Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 7:44 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 7:44 ` Christoph Hellwig
2021-07-23 12:22 ` [Intel-gfx] " Jason Gunthorpe
2021-07-23 12:22 ` Jason Gunthorpe
2021-07-23 12:22 ` Jason Gunthorpe
2021-07-23 12:29 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 12:29 ` Christoph Hellwig
2021-07-23 13:11 ` [Intel-gfx] " Jason Gunthorpe
2021-07-23 13:11 ` Jason Gunthorpe
2021-07-23 13:11 ` Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 07/14] vfio/platform: Use open_device() instead of open coding a refcnt scheme Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-22 14:48 ` [Intel-gfx] " Cornelia Huck
2021-07-22 14:48 ` Cornelia Huck
2021-07-22 14:48 ` Cornelia Huck
2021-07-23 7:45 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 7:45 ` Christoph Hellwig
2021-07-23 12:23 ` [Intel-gfx] " Jason Gunthorpe
2021-07-23 12:23 ` Jason Gunthorpe
2021-07-23 12:23 ` Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 08/14] vfio/pci: Move to the device set infrastructure Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 7:47 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 7:47 ` Christoph Hellwig
2021-07-23 12:59 ` [Intel-gfx] " Jason Gunthorpe
2021-07-23 12:59 ` Jason Gunthorpe
2021-07-23 12:59 ` Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 09/14] vfio/pci: Change vfio_pci_try_bus_reset() to use the dev_set Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 8:05 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 8:05 ` Christoph Hellwig
2021-07-23 13:30 ` [Intel-gfx] " Jason Gunthorpe
2021-07-23 13:30 ` Jason Gunthorpe
2021-07-23 13:30 ` Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 10/14] vfio/pci: Reorganize VFIO_DEVICE_PCI_HOT_RESET to use the device set Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 8:12 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 8:12 ` Christoph Hellwig
2021-07-23 13:31 ` [Intel-gfx] " Jason Gunthorpe
2021-07-23 13:31 ` Jason Gunthorpe
2021-07-23 13:31 ` Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 11/14] vfio/mbochs: Fix close when multiple device FDs are open Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 8:13 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 8:13 ` Christoph Hellwig
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 12/14] vfio/ap, ccw: Fix open/close " Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` [PATCH v2 12/14] vfio/ap,ccw: " Jason Gunthorpe
2021-07-20 17:42 ` [Intel-gfx] [PATCH v2 13/14] vfio/gvt: " Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-20 17:42 ` Jason Gunthorpe
2021-07-23 8:14 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 8:14 ` Christoph Hellwig
2021-07-20 17:43 ` [Intel-gfx] [PATCH v2 14/14] vfio: Remove struct vfio_device_ops open/release Jason Gunthorpe
2021-07-20 17:43 ` Jason Gunthorpe
2021-07-20 17:43 ` Jason Gunthorpe
2021-07-23 8:14 ` [Intel-gfx] " Christoph Hellwig
2021-07-23 8:14 ` Christoph Hellwig
2021-07-20 17:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Provide core infrastructure for managing open/release (rev4) Patchwork
2021-07-20 17:59 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork
2021-07-20 18:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-07-20 19:53 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-07-20 22:22 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Provide core infrastructure for managing open/release (rev5) Patchwork
2021-07-23 9:41 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Provide core infrastructure for managing open/release (rev6) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210720160127.17bf3c19.alex.williamson@redhat.com \
--to=alex.williamson@redhat.com \
--cc=airlied@linux.ie \
--cc=akrowiak@linux.ibm.com \
--cc=ashok.raj@intel.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=corbet@lwn.net \
--cc=diana.craciun@oss.nxp.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=eric.auger@redhat.com \
--cc=farman@linux.ibm.com \
--cc=freude@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hch@lst.de \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=jgg@nvidia.com \
--cc=jjherne@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=kwankhede@nvidia.com \
--cc=leonro@nvidia.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mgurtovoy@nvidia.com \
--cc=mjrosato@linux.ibm.com \
--cc=oberpar@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=vneethv@linux.ibm.com \
--cc=yishaih@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.