summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Reichel <sre@kernel.org>2023-11-13 23:57:23 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-01-25 15:35:33 -0800
commitb7062628caeaec90e8f691ebab2d70f31b7b6b91 (patch)
treeda01183e88c297e7febc24a2f619fbfa38405200
parentaf9d39677c919f5c7dc67675aa0d30f7793bd324 (diff)
downloadlinux-stable-b7062628caeaec90e8f691ebab2d70f31b7b6b91.tar.gz
linux-stable-b7062628caeaec90e8f691ebab2d70f31b7b6b91.tar.bz2
linux-stable-b7062628caeaec90e8f691ebab2d70f31b7b6b91.zip
media: v4l: async: Fix duplicated list deletion
[ Upstream commit 3de6ee94aae701fa949cd3b5df6b6a440ddfb8f2 ] The list deletion call dropped here is already called from the helper function in the line before. Having a second list_del() call results in either a warning (with CONFIG_DEBUG_LIST=y): list_del corruption, c46c8198->next is LIST_POISON1 (00000100) If CONFIG_DEBUG_LIST is disabled the operation results in a kernel error due to NULL pointer dereference. Fixes: 28a1295795d8 ("media: v4l: async: Allow multiple connections between entities") Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/media/v4l2-core/v4l2-async.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
index 091e8cf4114b..8cfd593d293d 100644
--- a/drivers/media/v4l2-core/v4l2-async.c
+++ b/drivers/media/v4l2-core/v4l2-async.c
@@ -880,7 +880,6 @@ void v4l2_async_unregister_subdev(struct v4l2_subdev *sd)
&asc->notifier->waiting_list);
v4l2_async_unbind_subdev_one(asc->notifier, asc);
- list_del(&asc->asc_subdev_entry);
}
}