From d04d4963bbfb899d6736abe912f8c0a2dfa08c1b Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 23 Sep 2011 05:16:38 +0000 Subject: [PATCH] kobj_uevent: Ignore if some listeners cannot handle message (Closes: #641661) svn path=/dists/sid/linux-2.6/; revision=18117 --- debian/changelog | 2 + ...re-if-some-listeners-cannot-handle-m.patch | 39 +++++++++++++++++++ debian/patches/series/5 | 1 + 3 files changed, 42 insertions(+) create mode 100644 debian/patches/bugfix/all/kobj_uevent-Ignore-if-some-listeners-cannot-handle-m.patch diff --git a/debian/changelog b/debian/changelog index ebe18cb75..2bb404d64 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ linux-2.6 (3.0.0-5) UNRELEASED; urgency=low * fm801: Fix double free in case of error in tuner detection * fm801: Gracefully handle failure of tuner auto-detect (Closes: #641946) * block: Free queue resources at blk_release_queue() (Closes: #631187) + * kobj_uevent: Ignore if some listeners cannot handle message + (Closes: #641661) -- Ben Hutchings Tue, 20 Sep 2011 23:50:35 +0100 diff --git a/debian/patches/bugfix/all/kobj_uevent-Ignore-if-some-listeners-cannot-handle-m.patch b/debian/patches/bugfix/all/kobj_uevent-Ignore-if-some-listeners-cannot-handle-m.patch new file mode 100644 index 000000000..1802177d3 --- /dev/null +++ b/debian/patches/bugfix/all/kobj_uevent-Ignore-if-some-listeners-cannot-handle-m.patch @@ -0,0 +1,39 @@ +From: Milan Broz +Date: Mon, 22 Aug 2011 15:51:34 +0200 +Subject: [PATCH] kobj_uevent: Ignore if some listeners cannot handle message + +commit ebf4127cd677e9781b450e44dfaaa1cc595efcaa upstream. + +kobject_uevent() uses a multicast socket and should ignore +if one of listeners cannot handle messages or nobody is +listening at all. + +Easily reproducible when a process in system is cloned +with CLONE_NEWNET flag. + +(See also http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/5256) + +Signed-off-by: Milan Broz +Acked-by: Kay Sievers +Cc: stable +Signed-off-by: Greg Kroah-Hartman +--- + lib/kobject_uevent.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c +index 70af0a7..ad72a03 100644 +--- a/lib/kobject_uevent.c ++++ b/lib/kobject_uevent.c +@@ -282,7 +282,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, + kobj_bcast_filter, + kobj); + /* ENOBUFS should be handled in userspace */ +- if (retval == -ENOBUFS) ++ if (retval == -ENOBUFS || retval == -ESRCH) + retval = 0; + } else + retval = -ENOMEM; +-- +1.7.5.4 + diff --git a/debian/patches/series/5 b/debian/patches/series/5 index 6d252dcc1..b72ae9bae 100644 --- a/debian/patches/series/5 +++ b/debian/patches/series/5 @@ -1,3 +1,4 @@ + bugfix/all/fm801-Fix-double-free-in-case-of-error-in-tuner-dete.patch + bugfix/all/fm801-Gracefully-handle-failure-of-tuner-auto-detect.patch + bugfix/all/block-Free-queue-resources-at-blk_release_queue.patch ++ bugfix/all/kobj_uevent-Ignore-if-some-listeners-cannot-handle-m.patch