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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to