Re: [PATCH -mm] sysfs: Fix oops in sysfs_drop_dentry on x86_64

From: Tejun Heo
Date: Wed Jun 13 2007 - 09:44:02 EST


Hello, Rafael.

Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rjw@xxxxxxx>
>
> Fix oops on x86_64 caused by the dereference of dir in sysfs_drop_dentry() made
> before checking if dir is not NULL
> (cf. http://marc.info/?l=linux-kernel&m=118151626704924&w=2).
>
> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> ---
> fs/sysfs/inode.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Index: linux-2.6.22-rc4-mm2/fs/sysfs/inode.c
> ===================================================================
> --- linux-2.6.22-rc4-mm2.orig/fs/sysfs/inode.c
> +++ linux-2.6.22-rc4-mm2/fs/sysfs/inode.c
> @@ -285,7 +285,7 @@ void sysfs_drop_dentry(struct sysfs_dire
> int sysfs_hash_and_remove(struct dentry * dir, const char * name)
> {
> struct sysfs_dirent **pos, *sd;
> - struct sysfs_dirent *parent_sd = dir->d_fsdata;
> + struct sysfs_dirent *parent_sd;
> int found = 0;

Argh... Right. My delusional mind somehow thought the nonsense early
dereferencing was there before any changes so I passed on that one.
Thanks a lot for catching it. The whole sysfs patchset is pending
regeneration. I'll include the fix patch.

Thanks a lot. :-)

--
tejun
-
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/