summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2010-07-21 07:12:01 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-07-26 21:02:41 +0200
commitd33002129eee4717a92e320b0b764a784bbcad3a (patch)
tree0f519f2385d08e3b1702c89e1e01ff079a2e5846 /fs
parentsysfs: sysfs_delete_link handle symlinks from untagged to tagged directories. (diff)
downloadlinux-d33002129eee4717a92e320b0b764a784bbcad3a.tar.xz
linux-d33002129eee4717a92e320b0b764a784bbcad3a.zip
sysfs: allow creating symlinks from untagged to tagged directories
Supporting symlinks from untagged to tagged directories is reasonable, and needed to support CONFIG_SYSFS_DEPRECATED. So don't fail a prior allowing that case to work. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/sysfs/symlink.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/sysfs/symlink.c b/fs/sysfs/symlink.c
index 660383321347..a7ac78f8e67a 100644
--- a/fs/sysfs/symlink.c
+++ b/fs/sysfs/symlink.c
@@ -67,7 +67,8 @@ static int sysfs_do_create_link(struct kobject *kobj, struct kobject *target,
sysfs_addrm_start(&acxt, parent_sd);
/* Symlinks must be between directories with the same ns_type */
- if (ns_type == sysfs_ns_type(sd->s_symlink.target_sd->s_parent)) {
+ if (!ns_type ||
+ (ns_type == sysfs_ns_type(sd->s_symlink.target_sd->s_parent))) {
if (warn)
error = sysfs_add_one(&acxt, sd);
else