media: v4l: async: Fix notifier list entry init
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Thu, 7 Mar 2024 14:24:51 +0000 (15:24 +0100)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 10 Apr 2024 13:15:30 +0000 (15:15 +0200)
commit6d8acd02c4c6a8f917eefac1de2e035521ca119d
tree9611af6d4ceb6b9bfe4dd68403b1dac5891aa5b6
parent7cb8a625355d22c8e50726fc2ca663544eb8631f
media: v4l: async: Fix notifier list entry init

struct v4l2_async_notifier has several list_head members, but only
waiting_list and done_list are initialized. notifier_entry was kept
'zeroed' leading to an uninitialized list_head.
This results in a NULL-pointer dereference if csi2_async_register() fails,
e.g. node for remote endpoint is disabled, and returns -ENOTCONN.
The following calls to v4l2_async_nf_unregister() results in a NULL
pointer dereference.
Add the missing list head initializer.

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: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/v4l2-core/v4l2-async.c