34 lines
1.4 KiB
Diff
34 lines
1.4 KiB
Diff
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Date: Wed, 7 Sep 2011 00:29:08 +0200
|
|
Subject: Bug#637740: [PATCH] uvcvideo: Fix crash when linking entities
|
|
|
|
The uvc_mc_register_entity() function wrongfully selects the
|
|
media_entity associated with a UVC entity when creating links. This
|
|
results in access to uninitialized media_entity structures and can hit a
|
|
BUG_ON statement in media_entity_create_link(). Fix it.
|
|
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
---
|
|
drivers/media/video/uvc/uvc_entity.c | 2 +-
|
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
|
|
This patch should fix a v3.0 regression that results in a kernel crash as
|
|
reported in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637740 and
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=735437.
|
|
|
|
Test results will be welcome.
|
|
|
|
diff --git a/drivers/media/video/uvc/uvc_entity.c b/drivers/media/video/uvc/uvc_entity.c
|
|
index 48fea37..29e2399 100644
|
|
--- a/drivers/media/video/uvc/uvc_entity.c
|
|
+++ b/drivers/media/video/uvc/uvc_entity.c
|
|
@@ -49,7 +49,7 @@ static int uvc_mc_register_entity(struct uvc_video_chain *chain,
|
|
if (remote == NULL)
|
|
return -EINVAL;
|
|
|
|
- source = (UVC_ENTITY_TYPE(remote) != UVC_TT_STREAMING)
|
|
+ source = (UVC_ENTITY_TYPE(remote) == UVC_TT_STREAMING)
|
|
? (remote->vdev ? &remote->vdev->entity : NULL)
|
|
: &remote->subdev.entity;
|
|
if (source == NULL)
|