switch dentry_open() to struct path, make it grab references itself
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -61,8 +61,6 @@ static struct fsnotify_event *get_one_event(struct fsnotify_group *group,
|
||||
static int create_fd(struct fsnotify_group *group, struct fsnotify_event *event)
|
||||
{
|
||||
int client_fd;
|
||||
struct dentry *dentry;
|
||||
struct vfsmount *mnt;
|
||||
struct file *new_file;
|
||||
|
||||
pr_debug("%s: group=%p event=%p\n", __func__, group, event);
|
||||
@@ -81,12 +79,10 @@ static int create_fd(struct fsnotify_group *group, struct fsnotify_event *event)
|
||||
* we need a new file handle for the userspace program so it can read even if it was
|
||||
* originally opened O_WRONLY.
|
||||
*/
|
||||
dentry = dget(event->path.dentry);
|
||||
mnt = mntget(event->path.mnt);
|
||||
/* it's possible this event was an overflow event. in that case dentry and mnt
|
||||
* are NULL; That's fine, just don't call dentry open */
|
||||
if (dentry && mnt)
|
||||
new_file = dentry_open(dentry, mnt,
|
||||
if (event->path.dentry && event->path.mnt)
|
||||
new_file = dentry_open(&event->path,
|
||||
group->fanotify_data.f_flags | FMODE_NONOTIFY,
|
||||
current_cred());
|
||||
else
|
||||
|
Reference in New Issue
Block a user