diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2024-03-08 16:06:13 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-06-16 14:50:59 +0300 |
commit | 1aa6cd4adfc0380fa1ccc2f146848940ff882a66 (patch) | |
tree | dccbe56a7337395b7e402a08e715ec5ef8eae2c9 /drivers/media | |
parent | f45d70fdf9c6e1d330c0ed9fed8c9ebe4e66b8ba (diff) | |
download | linux-1aa6cd4adfc0380fa1ccc2f146848940ff882a66.tar.xz |
media: v4l: async: Properly re-initialise notifier entry in unregister
commit 9537a8425a7a0222999d5839a0b394b1e8834b4a upstream.
The notifier_entry of a notifier is not re-initialised after unregistering
the notifier. This leads to dangling pointers being left there so use
list_del_init() to return the notifier_entry an empty list.
Fixes: b8ec754ae4c5 ("media: v4l: async: Set v4l2_device and subdev in async notifier init")
Cc: <stable@vger.kernel.org> # for 6.6 and later
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-async.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c index 3ec323bd528b..57c82637cf44 100644 --- a/drivers/media/v4l2-core/v4l2-async.c +++ b/drivers/media/v4l2-core/v4l2-async.c @@ -639,7 +639,7 @@ __v4l2_async_nf_unregister(struct v4l2_async_notifier *notifier) v4l2_async_nf_unbind_all_subdevs(notifier); - list_del(¬ifier->notifier_entry); + list_del_init(¬ifier->notifier_entry); } void v4l2_async_nf_unregister(struct v4l2_async_notifier *notifier) |