Re: 2.6.23-rc1-mm2: Fix crash in sysfs_hash_and_remove

From: Rafael J. Wysocki
Date: Thu Aug 02 2007 - 13:23:18 EST


From: Rafael J. Wysocki <rjw@xxxxxxx>

My test box crashes during suspend, while the nonboot CPUs are being disabled,
because sysfs_hash_and_remove() doesn't check if dir_sd passed to it is not
NULL. Fix it.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
fs/sysfs/inode.c | 2 ++
1 file changed, 2 insertions(+)

Index: linux-2.6.23-rc1-mm2/fs/sysfs/inode.c
===================================================================
--- linux-2.6.23-rc1-mm2.orig/fs/sysfs/inode.c
+++ linux-2.6.23-rc1-mm2/fs/sysfs/inode.c
@@ -191,6 +191,8 @@ int sysfs_hash_and_remove(struct kobject
struct sysfs_addrm_cxt acxt;
struct sysfs_dirent **pos, *sd;

+ if (!dir_sd)
+ return -ENOENT;
sysfs_addrm_start(&acxt, dir_sd);
if (!sysfs_resolve_for_remove(kobj, &acxt.parent_sd))
goto addrm_finish;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/