From 3b85d3028e2a0f95a8425fbfa54a04056b7cbc91 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sun, 14 Apr 2019 12:55:07 -0400 Subject: [PATCH] media: switch to fdget() Signed-off-by: Al Viro --- drivers/media/media-request.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/media/media-request.c b/drivers/media/media-request.c index eec2e2b2f6ec..9e5fd2ac769e 100644 --- a/drivers/media/media-request.c +++ b/drivers/media/media-request.c @@ -246,38 +246,38 @@ static const struct file_operations request_fops = { struct media_request * media_request_get_by_fd(struct media_device *mdev, int request_fd) { - struct file *filp; + struct fd f; struct media_request *req; if (!mdev || !mdev->ops || !mdev->ops->req_validate || !mdev->ops->req_queue) return ERR_PTR(-EACCES); - filp = fget(request_fd); - if (!filp) + f = fdget(request_fd); + if (!f.file) goto err_no_req_fd; - if (filp->f_op != &request_fops) + if (f.file->f_op != &request_fops) goto err_fput; - req = filp->private_data; + req = f.file->private_data; if (req->mdev != mdev) goto err_fput; /* * Note: as long as someone has an open filehandle of the request, - * the request can never be released. The fget() above ensures that + * the request can never be released. The fdget() above ensures that * even if userspace closes the request filehandle, the release() * fop won't be called, so the media_request_get() always succeeds * and there is no race condition where the request was released * before media_request_get() is called. */ media_request_get(req); - fput(filp); + fdput(f); return req; err_fput: - fput(filp); + fdput(f); err_no_req_fd: dev_dbg(mdev->dev, "cannot find request_fd %d\n", request_fd); -- GitLab