[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c8d1612-f1b9-b080-2d11-432d811b25d1@gmail.com>
Date: Fri, 15 Feb 2019 17:07:42 +0200
From: Oleksandr Andrushchenko <andr2000@...il.com>
To: Boris Ostrovsky <boris.ostrovsky@...cle.com>,
xen-devel@...ts.xenproject.org, linux-kernel@...r.kernel.org,
jgross@...e.com
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@...m.com>
Subject: Re: [Xen-devel][PATCH 1/2] xen/gntdev: Do not destroy context while
dma-bufs are in use
On 2/15/19 5:03 PM, Boris Ostrovsky wrote:
> On 2/14/19 9:23 AM, Oleksandr Andrushchenko wrote:
>>
>> /* DMA buffer export support. */
>> @@ -311,6 +317,7 @@ static void dmabuf_exp_release(struct kref *kref)
>>
>> dmabuf_exp_wait_obj_signal(gntdev_dmabuf->priv, gntdev_dmabuf);
>> list_del(&gntdev_dmabuf->next);
>> + fput(gntdev_dmabuf->priv->filp);
>> kfree(gntdev_dmabuf);
>> }
>>
>> @@ -423,6 +430,7 @@ static int dmabuf_exp_from_pages(struct gntdev_dmabuf_export_args *args)
>> mutex_lock(&args->dmabuf_priv->lock);
>> list_add(&gntdev_dmabuf->next, &args->dmabuf_priv->exp_list);
>> mutex_unlock(&args->dmabuf_priv->lock);
>> + get_file(gntdev_dmabuf->priv->filp);
> Not fget()?
fget wants file descriptor [1] and returns struct file *,
but we already have struct file*, so I use get_file [2]
which does what I need - increments the reference counter
on the file
>
> -boris
>
>
[1]
https://elixir.bootlin.com/linux/v5.0-rc6/source/include/linux/file.h#L46
[2] https://elixir.bootlin.com/linux/v5.0-rc6/source/include/linux/fs.h#L949
Powered by blists - more mailing lists