[3.11.y.z extended stable] Patch "fs/proc/proc_devtree.c: remove empty /proc/device-tree when no" has been added to staging queue

Luis Henriques luis.henriques at canonical.com
Mon Mar 3 17:50:00 UTC 2014


This is a note to let you know that I have just added a patch titled

    fs/proc/proc_devtree.c: remove empty /proc/device-tree when no

to the linux-3.11.y-queue branch of the 3.11.y.z extended stable tree 
which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.11.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.11.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Luis

------

>From 0a7af657200fb2d99c8b1c0d093ffc1467caa67e Mon Sep 17 00:00:00 2001
From: Dave Jones <davej at redhat.com>
Date: Thu, 23 Jan 2014 15:55:43 -0800
Subject: fs/proc/proc_devtree.c: remove empty /proc/device-tree when no
 openfirmware exists.

commit c1d867a54d426b45da017fbe8e585f8a3064ce8d upstream.

Distribution kernels might want to build in support for /proc/device-tree
for kernels that might end up running on hardware that doesn't support
openfirmware.  This results in an empty /proc/device-tree existing.
Remove it if the OFW root node doesn't exist.

This situation actually confuses grub2, resulting in install failures.
grub2 sees the /proc/device-tree and picks the wrong install target cf.
http://bzr.savannah.gnu.org/lh/grub/trunk/grub/annotate/4300/util/grub-install.in#L311
grub should be more robust, but still, leaving an empty proc dir seems
pointless.

Addresses https://bugzilla.redhat.com/show_bug.cgi?id=818378.

Signed-off-by: Dave Jones <davej at redhat.com>
Cc: Al Viro <viro at ZenIV.linux.org.uk>
Cc: Paul Mackerras <paulus at samba.org>
Cc: Josh Boyer <jwboyer at fedoraproject.org>
Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 fs/proc/proc_devtree.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/proc/proc_devtree.c b/fs/proc/proc_devtree.c
index 106a835..9fa2154 100644
--- a/fs/proc/proc_devtree.c
+++ b/fs/proc/proc_devtree.c
@@ -235,6 +235,7 @@ void __init proc_device_tree_init(void)
 		return;
 	root = of_find_node_by_path("/");
 	if (root == NULL) {
+		remove_proc_entry("device-tree", NULL);
 		pr_debug("/proc/device-tree: can't find root\n");
 		return;
 	}
--
1.9.0





More information about the kernel-team mailing list