Defined in 1 files as a struct:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

fs/xfs/xfs_exchrange.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte

fs/kernfs/file.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte
LOCK2 &root->kernfs_rwsem
LOCK2 &root->kernfs_supers_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_root)->kernfs_rwsem
TYPE_LOCK (struct kernfs_root)->kernfs_supers_rwsem

fs/xattr.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem

kernel/trace/trace_snapshot.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte
HALF_LOCKED2 &pool->lock

fs/attr.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &inode->i_rwsem

fs/tracefs/inode.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/file_attr.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/splice.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/configfs/dir.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/tracefs/event_inode.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/namei.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/remap_range.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/nfsd/nfs4state.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte

fs/nfsd/nfsctl.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/file_table.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/read_write.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/fat/file.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

net/sunrpc/rpc_pipe.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
PARAM_VALUE 0 sb 4096-ptr_max
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/posix_acl.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
TYPE_LOCK (struct inode)->i_rwsem

fs/nfsd/vfs.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte

fs/readdir.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

drivers/android/binderfs.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

io_uring/sync.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/notify/fsnotify.c fsnotify() -> fsnotify_sb_info()

Type Parameter Key Value
PARAM_VALUE 0 sb 1-u64max
DATA_SOURCE 0 sb r fsnotify_data_sb
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &root->kernfs_rwsem
HALF_LOCKED2 &root->kernfs_supers_rwsem
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 _T->lock

fs/notify/fsnotify.c fsnotify_sb_delete() -> fsnotify_sb_info()

Type Parameter Key Value
PARAM_VALUE 0 sb 4096-ptr_max
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb->s_fs_info (-1),4416
BUF_SIZE 0 sb->s_mtd (-1),64
BUF_SIZE 0 sb->s_op (-1),216
BUF_SIZE 0 sb->s_root (-1)-s32max
BUF_SIZE 0 sb->s_type (-1),232
BUF_SIZE 0 sb->s_xattr (-1),16
DATA_SOURCE 0 sb $0
STR_LEN 0 sb (-1),8
STR_LEN 0 sb (-1),8
STR_LEN 0 sb->s_id (-1),31
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sb->s_flags 0-u64max[c]
USER_DATA 0 sb->s_root->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_size
USER_PTR 0 sb->s_root->__d_name.name
HALF_LOCKED2 &s->s_umount
HALF_LOCKED2 global &cifs_mount_mutex
HALF_LOCKED2 0 &sb->s_umount

fs/notify/fsnotify.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb->s_fs_info (-1),4416
BUF_SIZE 0 sb->s_op (-1),216
BUF_SIZE 0 sb->s_type (-1),232
BUF_SIZE 0 sb->s_xattr (-1),16
DATA_SOURCE 0 sb $0
STR_LEN 0 sb (-1),8
STR_LEN 0 sb (-1),8
STR_LEN 0 sb->s_id (-1),31
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sb->s_bdev_file->f_flags 0,32768-u32max
USER_DATA 0 sb->s_bdev_file->f_mode 0,64-u32max
USER_DATA 0 sb->s_flags 0-u64max[c]
USER_DATA 0 sb->s_root->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_size
UNITS 0 sb unit_byte
HALF_LOCKED2 0 &sb->s_umount

fs/notify/fsnotify.c fsnotify_sb_marks() -> fsnotify_sb_info()

Type Parameter Key Value
PARAM_VALUE 0 sb 4096-ptr_max
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb->s_fs_info (-1),4416
BUF_SIZE 0 sb->s_op (-1),216
BUF_SIZE 0 sb->s_type (-1),232
BUF_SIZE 0 sb->s_xattr (-1),16
DATA_SOURCE 0 sb $0
STR_LEN 0 sb (-1),8
STR_LEN 0 sb (-1),8
STR_LEN 0 sb->s_id (-1),31
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sb->s_bdev_file->f_flags 0,32768-u32max
USER_DATA 0 sb->s_bdev_file->f_mode 0,64-u32max
USER_DATA 0 sb->s_flags 0-3221294080[c]
USER_DATA 0 sb->s_root->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_size
HALF_LOCKED2 &s->s_umount
HALF_LOCKED2 global &cifs_mount_mutex
HALF_LOCKED2 0 &sb->s_umount

fs/notify/fsnotify.c fsnotify_sb_watched_objects() -> fsnotify_sb_info()

Type Parameter Key Value
PARAM_VALUE 0 sb 4096-ptr_max
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb s32min,(-10),(-1)-s32max
BUF_SIZE 0 sb->s_fs_info (-1),4416
BUF_SIZE 0 sb->s_op (-1),216
BUF_SIZE 0 sb->s_type (-1),232
BUF_SIZE 0 sb->s_xattr (-1),16
DATA_SOURCE 0 sb $0
STR_LEN 0 sb (-1),8
STR_LEN 0 sb (-1),8
STR_LEN 0 sb->s_id (-1),31
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 sb->s_bdev_file->f_flags 0,32768-u32max
USER_DATA 0 sb->s_bdev_file->f_mode 0,64-u32max
USER_DATA 0 sb->s_flags 0-u64max[c]
USER_DATA 0 sb->s_root->__d_name.hash 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 sb->s_blocksize_bits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 sb->s_root->d_inode->i_size
HALF_LOCKED2 &s->s_umount
HALF_LOCKED2 global &cifs_mount_mutex
HALF_LOCKED2 0 &sb->s_umount

fs/debugfs/inode.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/devpts/inode.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
LOCK2 &tty->legacy_mutex
LOCK2 _T->lock
TYPE_LOCK (struct tty_struct)->legacy_mutex

fs/exfat/file.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/btrfs/ioctl.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/bpf_fs_kfuncs.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/ocfs2/refcounttree.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
CAPPED_DATA 0 sb 1
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte
LOCK2 &orphan_dir_inode->i_rwsem

fs/notify/mark.c fsnotify_add_mark_list() -> fsnotify_sb_info()

Type Parameter Key Value
PARAM_VALUE 0 sb 1-u64max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &group->mark_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &audit_tree_group->mark_mutex
HALF_LOCKED2 global &dnotify_group->mark_mutex
TYPE_LOCK (struct fsnotify_group)->mark_mutex

fs/notify/mark.c fsnotify_alloc_inode_connector() -> fsnotify_sb_info()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &group->mark_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &audit_tree_group->mark_mutex
HALF_LOCKED2 global &dnotify_group->mark_mutex
TYPE_LOCK (struct fsnotify_group)->mark_mutex

fs/notify/mark.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &s->s_umount
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 global &cifs_mount_mutex

fs/notify/mark.c fsnotify_sb_marks() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/notify/mark.c fsnotify_sb_watched_objects() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/notify/mark.c fsnotify_untrack_connector() -> fsnotify_sb_info()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/notify/mark.c fsnotify_update_sb_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
PARAM_VALUE 0 sb 1-u64max
DATA_SOURCE 0 sb $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &(*connp)->lock
HALF_LOCKED2 &conn->lock
HALF_LOCKED2 &mark->lock

fs/open.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

io_uring/rw.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte

fs/libfs.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
UNITS 0 sb unit_byte

fs/dcache.c fsnotify_sb_has_priority_watchers() -> fsnotify_sb_info()

Type Parameter Key Value
DATA_SOURCE 0 sb $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sb unit_byte
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &inode->i_lock