On 04/23/2014 11:55 PM, Heinrich Schuchardt wrote: > If fanotify_mark is called with illegal value of arguments flags and marks > it usually returns EINVAL. > > When fanotify_mark is called with FAN_MARK_FLUSH the argument flags is not > checked for irrelevant flags like FAN_MARK_IGNORED_MASK. > > The patch removes this inconsistency. > > If an irrelevant flag is set error EINVAL is returned. > > Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
So, a small heads up that this change may of course break existing code. (Heinrich, see https://lwn.net/Articles/588444/ ). However, there is some precedent for such changes (examples in https://lwn.net/Articles/588444/), and * The number of applications out there using fanotify is probably very low * The number that are using FAN_MARK_FLUSH and misusing the flags will be even lower So the risk of breakage is likely vanishingly small. So, a qualified Acked-by: Michael Kerrisk <mtk.manpa...@gmail.com> Cheers, Michael > --- > fs/notify/fanotify/fanotify_user.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/notify/fanotify/fanotify_user.c > b/fs/notify/fanotify/fanotify_user.c > index 287a22c..8bba549 100644 > --- a/fs/notify/fanotify/fanotify_user.c > +++ b/fs/notify/fanotify/fanotify_user.c > @@ -819,7 +819,10 @@ SYSCALL_DEFINE5(fanotify_mark, int, fanotify_fd, > unsigned int, flags, > case FAN_MARK_REMOVE: > if (!mask) > return -EINVAL; > + break; > case FAN_MARK_FLUSH: > + if (flags & ~(FAN_MARK_MOUNT | FAN_MARK_FLUSH)) > + return -EINVAL; > break; > default: > return -EINVAL; > -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/