diff options
author | Jan Kara <jack@suse.cz> | 2016-11-10 17:51:50 +0100 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2017-04-10 17:37:36 +0200 |
commit | 9385a84d7e1f658bb2d96ab798393e4b16268aaa (patch) | |
tree | dd5d112c6bb46d97069645a2e34a38c5998e1234 /kernel/audit_fsnotify.c | |
parent | fsnotify: Provide framework for dropping SRCU lock in ->handle_event (diff) | |
download | linux-9385a84d7e1f658bb2d96ab798393e4b16268aaa.tar.xz linux-9385a84d7e1f658bb2d96ab798393e4b16268aaa.zip |
fsnotify: Pass fsnotify_iter_info into handle_event handler
Pass fsnotify_iter_info into ->handle_event() handler so that it can
release and reacquire SRCU lock via fsnotify_prepare_user_wait() and
fsnotify_finish_user_wait() functions. These functions also make sure
current marks are appropriately pinned so that iteration protected by
srcu in fsnotify() stays safe.
Reviewed-by: Miklos Szeredi <mszeredi@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'kernel/audit_fsnotify.c')
-rw-r--r-- | kernel/audit_fsnotify.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/audit_fsnotify.c b/kernel/audit_fsnotify.c index 7ea57e516029..e8b371ff1e91 100644 --- a/kernel/audit_fsnotify.c +++ b/kernel/audit_fsnotify.c @@ -168,7 +168,8 @@ static int audit_mark_handle_event(struct fsnotify_group *group, struct fsnotify_mark *inode_mark, struct fsnotify_mark *vfsmount_mark, u32 mask, const void *data, int data_type, - const unsigned char *dname, u32 cookie) + const unsigned char *dname, u32 cookie, + struct fsnotify_iter_info *iter_info) { struct audit_fsnotify_mark *audit_mark; const struct inode *inode = NULL; |