diff options
author | Amir Goldstein <amir73il@gmail.com> | 2019-06-19 13:34:44 +0300 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2019-06-19 16:53:58 +0300 |
commit | c285a2f01d692ef48d7243cf1072897bbd237407 (patch) | |
tree | d6959488584787c33c90c971805e48920831289f /include | |
parent | c6d9c35d16f1bafd3fec64b865e569e48cbcb514 (diff) | |
download | linux-c285a2f01d692ef48d7243cf1072897bbd237407.tar.xz |
fanotify: update connector fsid cache on add mark
When implementing connector fsid cache, we only initialized the cache
when the first mark added to object was added by FAN_REPORT_FID group.
We forgot to update conn->fsid when the second mark is added by
FAN_REPORT_FID group to an already attached connector without fsid
cache.
Reported-and-tested-by: syzbot+c277e8e2f46414645508@syzkaller.appspotmail.com
Fixes: 77115225acc6 ("fanotify: cache fsid in fsnotify_mark_connector")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fsnotify_backend.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index a9f9dcc1e515..d4844cad2c2b 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h @@ -292,7 +292,9 @@ typedef struct fsnotify_mark_connector __rcu *fsnotify_connp_t; */ struct fsnotify_mark_connector { spinlock_t lock; - unsigned int type; /* Type of object [lock] */ + unsigned short type; /* Type of object [lock] */ +#define FSNOTIFY_CONN_FLAG_HAS_FSID 0x01 + unsigned short flags; /* flags [lock] */ __kernel_fsid_t fsid; /* fsid of filesystem containing object */ union { /* Object pointer [lock] */ |