diff --git a/debian/changelog b/debian/changelog index e1ae2bf06..048c8569c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,7 @@ linux-2.6 (3.0.0-4) UNRELEASED; urgency=low * rt2x00: fix crash in rt2800usb_write_tx_desc * rt2x00: fix crash in rt2800usb_get_txwi (Closes: #636531) * [sparc] Only Panther cheetah+ chips have POPC (Closes: #639949) + * uvcvideo: Fix crash when linking entities (Closes: #637740) -- Ben Hutchings Sun, 28 Aug 2011 17:07:47 +0100 diff --git a/debian/patches/bugfix/all/uvcvideo-Fix-crash-when-linking-entities.patch b/debian/patches/bugfix/all/uvcvideo-Fix-crash-when-linking-entities.patch new file mode 100644 index 000000000..b9f438ccb --- /dev/null +++ b/debian/patches/bugfix/all/uvcvideo-Fix-crash-when-linking-entities.patch @@ -0,0 +1,33 @@ +From: Laurent Pinchart +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 +--- + 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) diff --git a/debian/patches/series/4 b/debian/patches/series/4 index 611dc68ff..5eb127d55 100644 --- a/debian/patches/series/4 +++ b/debian/patches/series/4 @@ -12,3 +12,4 @@ + bugfix/all/rt2x00-fix-crash-in-rt2800usb_write_tx_desc.patch + bugfix/all/rt2x00-fix-crash-in-rt2800usb_get_txwi.patch + bugfix/sparc/sparc64-only-panther-cheetah-chips-have-popc.patch ++ bugfix/all/uvcvideo-Fix-crash-when-linking-entities.patch