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/