Re: FAN_OPEN_EXEC event and ignore mask

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> >
> > IDGI. What is the problem with:
> >
> >        if (mask & MAY_OPEN) {
> >                 fsnotify_mask = FS_OPEN_PERM;
> >                 if (file->f_flags & __FMODE_EXEC) {
> >                        ret = fsnotify_path(inode, path, FS_OPEN_EXEC_PERM);
> >                        if (ret) return ret;
> >                 }
> >        } else if (mask & MAY_READ) {
> >                 fsnotify_mask = FS_ACCESS_PERM;
> >        }
> >
> >        return fsnotify_path(inode, path, FS_OPEN_EXEC_PERM);
> >
> > You can consolidate all 5 calls to fsnotify_parent();fsnotify() of the same
> > pattern to fsnotify_path().
>
> There is nothing wrong with this and what this does in fact simplifies
> the call site for fsnotify_parent()/fsnotify(), which is very nice and
> clean in my opinion.
>
> What I'm referring to though is different. All I'm saying is that if I was
> a user and I wanted to capture each time a file was opened regardless
> whether it was for execution, for read, for write, I'd expect to capture
> these events by just registering for FAN_OPEN_PERM and it would be
> sufficient. After applying these updates, for a user to capture *all* open
> related events, they're going to have to now supply both FAN_OPEN_PERM and
> FAN_OPEN_EXEC_PERM. I just don't want to be in a position where we've
> completely changed the expectation of FAN_OPEN_PERM, as I can imagine this
> would really frustrate people.
>
> Maybe I'm over thinking it and it's OK?
>

I don't know if you are overthinking but I still don't understand the concern.

Before the change:
- Listen on FAN_OPEN_PERM
- open file for read
- open file for write
- execve()
User gets 3 FAN_OPEN_PERM permission events

After the change this is still the behavior with or without requesting
FAN_OPEN_EXEC_PERM.

It's quite obvious that before the change user cannot request
FAN_OPEN_EXEC_PERM and after the change requesting
FAN_OPEN_EXEC_PERM with or without FAN_OPEN_PERM,
will result in getting the new event once.

The only case where user won't get 3 FAN_OPEN_PERM events
is when user denies the FAN_OPEN_EXEC_PERM event.
What is your concern?

Thanks,
Amir.



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux