| From | Ben Hutchings <> | Date | Fri, 24 Apr 2020 00:07:46 +0100 | Subject | [PATCH 3.16 239/245] [media] drivers/media/media-devnode: clear private_data before put_device() |
| |
3.16.83-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Max Kellermann <max@duempel.org>
commit bf244f665d76d20312c80524689b32a752888838 upstream.
Callbacks invoked from put_device() may free the struct media_devnode pointer, so any cleanup needs to be done before put_device().
Signed-off-by: Max Kellermann <max@duempel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- drivers/media/media-devnode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
--- a/drivers/media/media-devnode.c +++ b/drivers/media/media-devnode.c @@ -197,10 +197,11 @@ static int media_release(struct inode *i if (mdev->fops->release) mdev->fops->release(filp); + filp->private_data = NULL; + /* decrease the refcount unconditionally since the release() return value is ignored. */ put_device(&mdev->dev); - filp->private_data = NULL; return 0; }
|