summaryrefslogtreecommitdiffstats
path: root/fs/sysfs/symlink.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2010-07-21 07:10:58 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-07-26 21:02:41 +0200
commit521d0453547d6195d200176328aaec6c98a7a290 (patch)
tree8c0a1bc9920ec9178b8f035188338a3552c1b4b1 /fs/sysfs/symlink.c
parentsysfs: Don't allow the creation of symlinks we can't remove (diff)
downloadlinux-521d0453547d6195d200176328aaec6c98a7a290.tar.xz
linux-521d0453547d6195d200176328aaec6c98a7a290.zip
sysfs: sysfs_delete_link handle symlinks from untagged to tagged directories.
This happens for network devices when SYSFS_DEPRECATED is enabled. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to '')
-rw-r--r--fs/sysfs/symlink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/sysfs/symlink.c b/fs/sysfs/symlink.c
index 44bca5f49cd5..660383321347 100644
--- a/fs/sysfs/symlink.c
+++ b/fs/sysfs/symlink.c
@@ -135,7 +135,7 @@ void sysfs_delete_link(struct kobject *kobj, struct kobject *targ,
{
const void *ns = NULL;
spin_lock(&sysfs_assoc_lock);
- if (targ->sd)
+ if (targ->sd && sysfs_ns_type(kobj->sd))
ns = targ->sd->s_ns;
spin_unlock(&sysfs_assoc_lock);
sysfs_hash_and_remove(kobj->sd, ns, name);