From: Dave Jones Date: Thu, 23 Jan 2014 23:55:43 +0000 (-0800) Subject: fs/proc/proc_devtree.c: remove empty /proc/device-tree when no openfirmware exists. X-Git-Tag: firefly_0821_release~3680^2~19^2~6^2~19 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c90c3b6b054d2472bc654f95b73b0d27e91b0430;p=firefly-linux-kernel-4.4.55.git fs/proc/proc_devtree.c: remove empty /proc/device-tree when no openfirmware exists. 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 Cc: Al Viro Cc: Paul Mackerras Cc: Josh Boyer Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds (cherry picked from commit c1d867a54d426b45da017fbe8e585f8a3064ce8d) Signed-off-by: Mark Brown --- diff --git a/fs/proc/proc_devtree.c b/fs/proc/proc_devtree.c index 106a83570630..9fa215473b1d 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; }