[kernel/f16] Fix for rhbz 735437

Josh Boyer jwboyer at fedoraproject.org
Wed Sep 7 16:38:54 UTC 2011


commit b8b5e6ba50b8a2600a77edcd8c4b31b9c19c2700
Author: Josh Boyer <jwboyer at redhat.com>
Date:   Wed Sep 7 12:23:33 2011 -0400

    Fix for rhbz 735437

 kernel.spec                                   |    7 ++++-
 ucvideo-fix-crash-when-linking-entities.patch |   34 +++++++++++++++++++++++++
 2 files changed, 40 insertions(+), 1 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index 14f9fe2..0ece624 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -51,7 +51,7 @@ Summary: The Linux kernel
 # For non-released -rc kernels, this will be prepended with "0.", so
 # for example a 3 here will become 0.3
 #
-%global baserelease 1
+%global baserelease 2
 %global fedora_build %{baserelease}
 
 # base_sublevel is the kernel version we're starting with and patching
@@ -723,6 +723,7 @@ Patch12303: dmar-disable-when-ricoh-multifunction.patch
 Patch13002: revert-efi-rtclock.patch
 Patch13003: efi-dont-map-boot-services-on-32bit.patch
 Patch13004: iwlagn-revert-max-aggregate-size.patch
+Patch13005: ucvideo-fix-crash-when-linking-entities.patch
 
 Patch20000: utrace.patch
 
@@ -1336,6 +1337,7 @@ ApplyPatch dmar-disable-when-ricoh-multifunction.patch
 ApplyPatch revert-efi-rtclock.patch
 ApplyPatch efi-dont-map-boot-services-on-32bit.patch
 ApplyPatch iwlagn-revert-max-aggregate-size.patch
+ApplyPatch ucvideo-fix-crash-when-linking-entities.patch
 
 # utrace.
 ApplyPatch utrace.patch
@@ -2039,6 +2041,9 @@ fi
 # and build.
 
 %changelog
+* Wed Sep 07 2011 Josh Boyer <jwboyer at redhat.com>
+- Add patch to fix oops when linking entities in ucvideo (rhbz 735437)
+
 * Fri Sep 02 2011 Dave Jones <davej at redhat.com>
 - Apply patch to fix lockdep reports from ext4 (rhbz 732572)
 
diff --git a/ucvideo-fix-crash-when-linking-entities.patch b/ucvideo-fix-crash-when-linking-entities.patch
new file mode 100644
index 0000000..69f86d6
--- /dev/null
+++ b/ucvideo-fix-crash-when-linking-entities.patch
@@ -0,0 +1,34 @@
+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 at 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)
+-- 
+Regards,
+
+Laurent Pinchart
+


More information about the scm-commits mailing list