Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/smb/client/smb1ops.c cifs_downgrade_oplock() -> cifs_set_oplock_level()

Type Parameter Key Value
PARAM_VALUE 0 cinode 4096-ptr_max
DATA_SOURCE 0 cinode $1
DATA_SOURCE 1 oplock $2
NOCHECK_CALL
LOCK2 0 &cinode->open_file_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct cifsInodeInfo)->open_file_lock

fs/smb/client/smb1ops.c cifs_set_fid() -> cifs_set_oplock_level()

Type Parameter Key Value
PARAM_VALUE 0 cinode 4096-ptr_max
PARAM_VALUE 1 oplock 0-u16max,131072-196607
DATA_SOURCE 0 cinode r CIFS_I
DATA_SOURCE 1 oplock $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cinode->open_file_lock
HALF_LOCKED2 &tcon->open_file_lock
TYPE_LOCK (struct cifsInodeInfo)->open_file_lock

fs/smb/client/file.c _cifsFileInfo_put() -> cifs_set_oplock_level()

Type Parameter Key Value
PARAM_VALUE 0 cinode 4096-ptr_max
PARAM_VALUE 0 cinode->openFileList.next 4096-ptr_max
PARAM_VALUE 0 cinode->open_file_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 oplock 0
CAPPED_DATA 0 &cinode->openFileList 1
DATA_SOURCE 0 cinode r CIFS_I
PARAM_COMPARE 0 &cinode->openFileList == $0->openFileList.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tcon->open_file_lock
LOCK2 0 &cinode->open_file_lock
TYPE_LOCK (struct cifsInodeInfo)->open_file_lock
TYPE_LOCK (struct cifs_tcon)->open_file_lock

fs/smb/client/cifsfs.c cifs_alloc_inode() -> cifs_set_oplock_level()

Type Parameter Key Value
PARAM_VALUE 0 cinode 4096-ptr_max
PARAM_VALUE 0 cinode->cifsAttrs 32
PARAM_VALUE 0 cinode->time 0
PARAM_VALUE 0 cinode->time_last_write 0
PARAM_VALUE 1 oplock 0
DATA_SOURCE 0 cinode r kmem_cache_alloc_lru_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sb->s_fs_info->bitmap_lock
HALF_LOCKED2 &sb->s_fs_info->hpfs_mutex
HALF_LOCKED2 &sb->s_umount