From f6e4fa48930c9cadeaa3439bd038e12afac50247 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Fri, 13 Jan 2012 21:32:59 -0800 Subject: [PATCH] --- yaml --- r: 286956 b: refs/heads/master c: ce597919361dcec97341151690e780eade2a9cf4 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/sysfs/file.c | 6 ++++++ trunk/fs/sysfs/inode.c | 5 ++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 53df8260c65e..eb67648eb519 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8381b5e88a19b780f19fc52b7dd67f2b05d07dca +refs/heads/master: ce597919361dcec97341151690e780eade2a9cf4 diff --git a/trunk/fs/sysfs/file.c b/trunk/fs/sysfs/file.c index 62f4fb37789e..00012e31829d 100644 --- a/trunk/fs/sysfs/file.c +++ b/trunk/fs/sysfs/file.c @@ -493,6 +493,12 @@ int sysfs_attr_ns(struct kobject *kobj, const struct attribute *attr, const void *ns = NULL; int err; + if (!dir_sd) { + WARN(1, KERN_ERR "sysfs: kobject %s without dirent\n", + kobject_name(kobj)); + return -ENOENT; + } + err = 0; if (!sysfs_ns_type(dir_sd)) goto out; diff --git a/trunk/fs/sysfs/inode.c b/trunk/fs/sysfs/inode.c index 4a802b4a9056..85eb81683a29 100644 --- a/trunk/fs/sysfs/inode.c +++ b/trunk/fs/sysfs/inode.c @@ -318,8 +318,11 @@ int sysfs_hash_and_remove(struct sysfs_dirent *dir_sd, const void *ns, const cha struct sysfs_addrm_cxt acxt; struct sysfs_dirent *sd; - if (!dir_sd) + if (!dir_sd) { + WARN(1, KERN_WARNING "sysfs: can not remove '%s', no directory\n", + name); return -ENOENT; + } sysfs_addrm_start(&acxt, dir_sd);