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: 77115225ac
("fanotify: cache fsid in fsnotify_mark_connector")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
@@ -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] */
|
||||
|
Reference in New Issue
Block a user