fanotify: allow userspace to override max queue depth
fanotify has a defualt max queue depth. This patch allows processes which explicitly request it to have an 'unlimited' queue depth. These processes need to be very careful to make sure they cannot fall far enough behind that they OOM the box. Thus this flag is gated on CAP_SYS_ADMIN. Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
@ -691,7 +691,14 @@ SYSCALL_DEFINE2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags)
|
||||
goto out_put_group;
|
||||
}
|
||||
|
||||
group->max_events = FANOTIFY_DEFAULT_MAX_EVENTS;
|
||||
if (flags & FAN_UNLIMITED_QUEUE) {
|
||||
fd = -EPERM;
|
||||
if (!capable(CAP_SYS_ADMIN))
|
||||
goto out_put_group;
|
||||
group->max_events = UINT_MAX;
|
||||
} else {
|
||||
group->max_events = FANOTIFY_DEFAULT_MAX_EVENTS;
|
||||
}
|
||||
|
||||
fd = anon_inode_getfd("[fanotify]", &fanotify_fops, group, f_flags);
|
||||
if (fd < 0)
|
||||
|
Reference in New Issue
Block a user