Re: [patch] sysfs: checking for NULL instead of ERR_PTR

From: Eric W. Biederman
Date: Wed Aug 25 2010 - 04:42:45 EST


Dan Carpenter <error27@xxxxxxxxx> writes:

> d_path() returns an ERR_PTR and it doesn't return NULL.
>
> CC:stable@xxxxxxxxxx
> Signed-off-by: Dan Carpenter <error27@xxxxxxxxx>

This is definitely a needed bug fix.

Reviewed-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>

If we ever get ERR_PTR(-ENAMETOOLONG) and this case actually matters
something is very wrong with sysfs, but that is another story.

Eric


> diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
> index 1b27b56..da3fefe 100644
> --- a/fs/sysfs/file.c
> +++ b/fs/sysfs/file.c
> @@ -340,7 +340,7 @@ static int sysfs_open_file(struct inode *inode, struct file *file)
> char *p;
>
> p = d_path(&file->f_path, last_sysfs_file, sizeof(last_sysfs_file));
> - if (p)
> + if (!IS_ERR(p))
> memmove(last_sysfs_file, p, strlen(p) + 1);
>
> /* need attr_sd for attr and ops, its parent for kobj */
--
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/