Re: [PATCH -mmotm] fs/sysfs/file.c d_path fix

From: Christoph Hellwig
Date: Sun Feb 17 2008 - 08:07:53 EST


On Sat, Feb 16, 2008 at 02:12:05PM -0500, Erez Zadok wrote:
> diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
> index 02223e2..a57b024 100644
> --- a/fs/sysfs/file.c
> +++ b/fs/sysfs/file.c
> @@ -329,9 +329,11 @@ static int sysfs_open_file(struct inode *inode, struct file *file)
> struct sysfs_ops *ops;
> int error = -EACCES;
> char *p;
> + struct path sysfs_path;
>
> - p = d_path(file->f_dentry, sysfs_mount, last_sysfs_file,
> - sizeof(last_sysfs_file));
> + sysfs_path.dentry = file->f_dentry;
> + sysfs_path.mnt = sysfs_mount;
> + p = d_path(&sysfs_path, last_sysfs_file, sizeof(last_sysfs_file));

A d_path(file->f_path, ..); should do it, but I'd really like to know
what sysfs crowd was smoking when adding a d_path in ->open. Guys,
please explain what's going on here.

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