diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c
index 8ddc1021c79a288219a7943b4fe9605577e66e8e..35a36d39fa2cb2af62616918872706794a20d8e1 100644
--- a/fs/sysfs/dir.c
+++ b/fs/sysfs/dir.c
@@ -729,6 +729,9 @@ int sysfs_create_dir(struct kobject * kobj)
 	else
 		parent_sd = &sysfs_root;
 
+	if (!parent_sd)
+		return -ENOENT;
+
 	if (sysfs_ns_type(parent_sd))
 		ns = kobj->ktype->namespace(kobj);
 	type = sysfs_read_ns_type(kobj);