On Sun, Dec 2, 2018 at 1:38 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > When setting up an fanotify listener, user may request to get fid > information in event instead of an open file descriptor. > > The fid obtained with event on a watched object contains the file > handle returned by name_to_handle_at(2) and fsid returned by statfs(2). > > When setting a mark, we need to make sure that the filesystem > supports encoding file handles with name_to_handle_at(2) and that > statfs(2) encodes a non-zero fsid. > Jan, On a discussion with Matthew about tests he is writing for FAN_REPORT_TID, the issue of permission events came up. Since I am not aware of any specific benefit that FAN_REPORT_TID could bring to users of permission events, I think the best course of action is to limit the use of FAN_REPORT_TID to group with priority FAN_CLASS_NOTIF. That would simplify tests and man page and if we ever see a use case for anything else, we can add that in the future. If you agree, we should add something like this to this patch: --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c @@ -768,6 +768,10 @@ SYSCALL_DEFINE2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags) return -EINVAL; } + if ((flags & FAN_REPORT_FID) && + (flags & FANOTIFY_CLASS_BITS) != FAN_CLASS_NOTIF) + return -EINVAL; + user = get_current_user(); if (atomic_read(&user->fanotify_listeners) > FANOTIFY_DEFAULT_MAX_LISTENERS) { free_uid(user); Thanks, Amir.