diff options
author | Sakari Ailus <[email protected]> | 2024-03-08 15:06:13 +0200 |
---|---|---|
committer | Hans Verkuil <[email protected]> | 2024-04-10 15:15:30 +0200 |
commit | 9537a8425a7a0222999d5839a0b394b1e8834b4a (patch) | |
tree | c2be61fa1f8d1961c23f13bd8ab3ca322190ac19 | |
parent | 46bc0234ad38063ce550ecf135c1a52458f0a804 (diff) |
media: v4l: async: Properly re-initialise notifier entry in unregister
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: <[email protected]> # for 6.6 and later
Signed-off-by: Sakari Ailus <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
-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 2ff35d5d60f2..4bb073587817 100644 --- a/drivers/media/v4l2-core/v4l2-async.c +++ b/drivers/media/v4l2-core/v4l2-async.c @@ -635,7 +635,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) |