Skip to contentSkip to conversation

sysfs: restore in-kernel mount of sysfs

PATCH In review Tejun Heo 2 participants 5 messages Mar 30, 2014 – Apr 2, 2014 Driver core

lore
Share & tools
lore

Tejun Heo

author
#0 lore raw

PATCH 1/1 sysfs: restore in-kernel mount of sysfs

Long ago, sysfs used to depend on vfs data structures for internal representation and thus needed to make a hidden mount to make them available. sysfs stopped depending on vfs for internal representation long ago and 9e30cc959530 ("sysfs, kernfs: no need to kern_mount() sysfs from sysfs_init()") removed the internal mount.

This doesn't seem to cause wide-spread failure but there is one failure reported. During boot, userland somehow falls into infinite loop, fills up one of the filesystems used during boot (possibly a tmpfs) and then hangs. It isn't yet clear what's going on or why userland would depend on internal kernel mount of sysfs.

This needs further digging but let's restore the internal mount in the simplest way.

---
 fs/sysfs/mount.c |    9 +++++++++
 1 file changed, 9 insertions(+)
fs/sysfs/mount.c +9 -0
index a66ad61..dd6d455 100644
@@ -75,5 +75,14 @@ int __init sysfs_init(void)
 		return err;
 	}
 
+	/*
+	 * XXX: Create an in-kernel mount of sysfs.  It isn't clear yet why
+	 * this makes any difference; however, there is one report of
+	 * userland falling into an infinite loop during boot without it.
+	 *
+	 * http://lkml.kernel.org/g/CAPEhTTFP3N-ReasmgL5n82mve8p8M3crqmaMvzV+F2p5JCSRbQ@mail.gmail.com
+	 */
+	WARN_ON(IS_ERR(kern_mount(&sysfs_fs_type)));
+
 	return 0;
 }
author
#1 lore raw

Oops, this is not for driver-core-next but driver-core-linus.

Thanks!

Signature · 1 line
tejun
#2 lore raw
Quoted 1 line · Tejun Heo

Oops, this is not for driver-core-next but driver-core-linus.

It's _really_ late in the release cycle for something like this, can I add it to 3.15-rc1 and if people are seeing issues, backport it to 3.14-stable?

thanks,

greg k-h

author
#3 lore raw
Quoted 6 lines · Greg Kroah-Hartman
Quoted 1 line · Tejun Heo

Oops, this is not for driver-core-next but driver-core-linus.

It's _really_ late in the release cycle for something like this, can I add it to 3.15-rc1 and if people are seeing issues, backport it to 3.14-stable?

Sure, the problem doesn't seem to be too widespread anyways. -stable'ing through rc1 should be fine.

Thanks.

Signature · 1 line
tejun
author
#4 lore raw
Quoted 10 lines · Tejun Heo
Quoted 6 lines · Greg Kroah-Hartman
Quoted 1 line · Tejun Heo

Oops, this is not for driver-core-next but driver-core-linus.

It's _really_ late in the release cycle for something like this, can I add it to 3.15-rc1 and if people are seeing issues, backport it to 3.14-stable?

Sure, the problem doesn't seem to be too widespread anyways. -stable'ing through rc1 should be fine.

Hmmm... Apparently another Arch user is reporting the same problem. Weird that it's distro specific. Prolly something funky in their initrd? Anyways, I think this patch needs to be applied with -stable

# v3.14.

Thanks!

Signature · 1 line
tejun