Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 30 files:

Smatch caller information:

security/smack/smack_access.c smk_find_entry() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-1010101
DATA_SOURCE 1 name $0
STR_LEN 0 salt 0-1010101
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &smack_known_lock

security/smack/smack_access.c smk_insert_entry() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-1010101
STR_LEN 0 salt 0-1010101
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &smack_known_lock

drivers/clk/clk.c __clk_core_init() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 1 name 4096-ptr_max
PARAM_VALUE 2 len 0-1010101
BUF_SIZE 1 name s32min,(-10),1-s32max
STR_LEN 0 salt 0-1010101
RX_PATH
TASK_NOT_RUNNING
LOCK2 clk

drivers/clk/clk.c clk_core_lookup() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 1 name 1-u64max
PARAM_VALUE 2 len 0-1010101
BUF_SIZE 1 name s32min,(-10),(-1),1-s32max
BUF_SIZE 1 name s32min,(-10),(-1),1-s32max
DATA_SOURCE 1 name $0
STR_LEN 0 salt (-1),4,12
STR_LEN 1 name (-1),4,12
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 clk

lib/tests/test_hash.c test_hash_or() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 *salt 0-255
PARAM_VALUE 2 len 0-256
CAPPED_DATA 2 len 1

lib/tests/test_hash.c test_string_or() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 *salt 0-255
PARAM_VALUE 2 len 0-256
CAPPED_DATA 2 len 1

fs/namei.c lookup_noperm_common() -> full_name_hash()

Type Parameter Key Value
BUF_SIZE 0 salt (-1)-s32max
BUF_SIZE 1 name (-1)-0,1022
BUF_SIZE 1 name (-1)-0,1022
DATA_SOURCE 0 salt $1
STR_LEN 0 salt (-1),1-24,26-27,29,31-34,63,99,115,254-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 salt unit_jiffy
UNITS 1 name unit_byte
UNITS 2 len unit_byte

fs/fuse/dir.c fuse_reverse_inval_entry() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
PARAM_VALUE 1 name 4096-ptr_max
PARAM_VALUE 2 len 0-3999999
BUF_SIZE 1 name s32min-(-2),1-s32max
DATA_SOURCE 0 salt r d_find_alias
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &fc->killsb
LOCK2 &parent->i_rwsem
TYPE_LOCK (struct fuse_conn)->killsb
TYPE_LOCK (struct inode)->i_rwsem

net/sunrpc/auth_gss/svcauth_gss.c hash_mem() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
BUF_SIZE 1 name s32min-s32max
DATA_SOURCE 1 name $0
DATA_SOURCE 2 len $1
USER_DATA 2 len 1-4000000
UNITS 1 name unit_byte
UNITS 2 len unit_byte
USER_PTR 1 name
HALF_LOCKED2 &inode->i_rwsem

fs/fuse/readdir.c fuse_direntplus_link() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
PARAM_VALUE 1 name 4096-ptr_max
PARAM_VALUE 2 len 0
BUF_SIZE 1 name 0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ceph/mds_client.c handle_lease() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
PARAM_VALUE 1 name 4096-ptr_max
BUF_SIZE 1 name s32min-(-2),1-s32max
DATA_SOURCE 0 salt r d_find_alias
DATA_SOURCE 2 len r get_unaligned_le32
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &session->s_mutex
TYPE_LOCK (struct ceph_mds_session)->s_mutex

fs/xfs/scrub/dirtree_repair.c xrep_dirtree_purge_dentry() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
BUF_SIZE 1 name s32min-(-2),1-s32max
DATA_SOURCE 0 salt r d_find_alias
UNITS 1 name unit_byte
UNITS 2 len unit_byte

fs/jffs2/readinode.c read_direntry() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
LOCK2 &f->sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->wbuf_sem
TYPE_LOCK (struct jffs2_inode_info)->sem

fs/ocfs2/dlm/dlmdomain.c dlm_lookup_lockres() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-32
BUF_SIZE 1 name 10,64
BUF_SIZE 1 name 10,64
DATA_SOURCE 1 name $1
DATA_SOURCE 2 len $2
FUZZY_MAX 2 len 32
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/jffs2/summary.c jffs2_sum_process_sum_data() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 1 name 4096-ptr_max
CAPPED_DATA 2 len 1
DATA_SOURCE 2 len r strnlen
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &fc->uapi_mutex

fs/isofs/inode.c isofs_hash_common() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
BUF_SIZE 0 salt s32min,(-1)-s32max
BUF_SIZE 1 name s32min-(-1),1-s32max
BUF_SIZE 1 name s32min-(-1),1-s32max
DATA_SOURCE 0 salt $0
STR_LEN 0 salt (-1),1-24,26-27,29,31-34,63,99,115,254-255
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock

security/selinux/ss/context.c context_compute_hash() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 1-u32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &s->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &selinux_state.policy_mutex

fs/ceph/inode.c ceph_fill_trace() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
DATA_SOURCE 0 salt r d_find_any_alias
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &mdsc->snap_rwsem
LOCK2 &req->r_fill_mutex
LOCK2 &session->s_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_mds_client)->snap_rwsem
TYPE_LOCK (struct ceph_mds_request)->r_fill_mutex
TYPE_LOCK (struct ceph_mds_session)->s_mutex

fs/ceph/inode.c ceph_readdir_prepopulate() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
BUF_SIZE 1 name s32min-(-2),1-s32max
UNITS 0 salt unit_jiffy
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &mdsc->snap_rwsem
LOCK2 &req->r_fill_mutex
LOCK2 &session->s_mutex
HALF_LOCKED2 &dn->d_lockref.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_mds_client)->snap_rwsem
TYPE_LOCK (struct ceph_mds_request)->r_fill_mutex
TYPE_LOCK (struct ceph_mds_session)->s_mutex

fs/nfsd/export.c hash_mem() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0,4,8,12,16,24
BUF_SIZE 1 name 24
BUF_SIZE 1 name 24
DATA_SOURCE 1 name $0
DATA_SOURCE 2 len $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 global &nfsd_mutex

security/selinux/ss/policydb.c filenametr_hash() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0-u32max
PARAM_VALUE 2 len 0-4087
BUF_SIZE 1 name 1-4088
STR_LEN 0 salt 0-4087
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
HALF_LOCKED2 global &selinux_state.policy_mutex

fs/nfs/dir.c nfs_prime_dcache() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
PARAM_VALUE 1 name 4096-ptr_max
BUF_SIZE 1 name s32min-(-2),1-s32max
BUF_SIZE 1 name s32min-(-2),1-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 0 salt $0
BIT_INFO 2 len 0x0,0x2
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 *name 0-255
UNITS 1 name unit_byte
UNITS 2 len unit_byte
USER_PTR 1 name
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/notify/fanotify/fanotify.c fanotify_alloc_name_event() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 1-u32max
PARAM_VALUE 2 len 1-u32max
BUF_SIZE 1 name s32min-(-2),1-s32max
UNITS 0 salt unit_byte
UNITS 1 name unit_byte
UNITS 2 len unit_byte

fs/notify/fanotify/fanotify.c fanotify_alloc_name_event() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 1-u32max
PARAM_VALUE 2 len 1-u32max
BUF_SIZE 1 name s32min-(-2),1-s32max
UNITS 0 salt unit_byte
UNITS 1 name unit_byte
UNITS 2 len unit_byte

fs/notify/fanotify/fanotify.c fanotify_hash_fh() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0-u16max
PARAM_VALUE 2 len 0,4-128
CAPPED_DATA 2 len 1
FUZZY_MAX 2 len 0
UNITS 2 len unit_byte

security/tomoyo/memory.c tomoyo_get_name() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 1 name 1-u64max
PARAM_VALUE 2 len 0-1010101
BUF_SIZE 1 name (-1),1-1000000001,2147479553
BUF_SIZE 1 name (-1),1-1000000001,2147479553
DATA_SOURCE 1 name $0
STR_LEN 0 salt (-1)-s32max
STR_LEN 1 name (-1)-s32max
USER_DATA 1 *name 0-255[u]
USER_PTR 1 name
HALF_LOCKED2 global &tomoyo_ss

fs/jffs2/dir.c jffs2_lookup() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-254
BUF_SIZE 1 name s32min-(-2),1-s32max
FUZZY_MAX 2 len 254
HARD_MAX 2 len 254
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 &dir_i->i_rwsem

fs/fat/namei_vfat.c vfat_hash() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
BUF_SIZE 0 salt s32min,(-1)-s32max
BUF_SIZE 1 name s32min-(-1),1-s32max
BUF_SIZE 1 name s32min-(-1),1-s32max
DATA_SOURCE 0 salt $0
STR_LEN 0 salt (-1),1-24,26-27,29,31-34,63,99,115,254-255
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte

fs/fat/namei_msdos.c msdos_hash() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
PARAM_VALUE 1 name 3077448610098348032
PARAM_VALUE 2 len 11
BUF_SIZE 0 salt s32min,(-1)-s32max
BUF_SIZE 1 name 11
DATA_SOURCE 0 salt $0
STR_LEN 0 salt (-1),1-24,26-27,29,31-34,63,99,115,254-255
RX_PATH
TASK_NOT_RUNNING

fs/autofs/waitq.c autofs_wait() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
PARAM_VALUE 2 len 0-1010101
BUF_SIZE 0 salt (-1),1-s32max
BUF_SIZE 1 name 256,u64max
BUF_SIZE 1 name 256,u64max
CAPPED_DATA 2 len 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 salt unit_jiffy
UNITS 1 name unit_byte
UNITS 2 len unit_byte

fs/jffs2/scan.c jffs2_scan_dirent_node() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 1 name 4096-ptr_max
CAPPED_DATA 2 len 1
DATA_SOURCE 2 len r strnlen
UNITS 2 len unit_byte

fs/ocfs2/dlm/dlmmaster.c dlm_assert_master_handler() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-64
BUF_SIZE 1 name 64
BUF_SIZE 1 name 64
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmmaster.c dlm_deref_lockres_done_handler() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-32
BUF_SIZE 1 name 64
BUF_SIZE 1 name 64
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmmaster.c dlm_deref_lockres_handler() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-32
BUF_SIZE 1 name 64
BUF_SIZE 1 name 64
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmmaster.c dlm_find_mle() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
BUF_SIZE 1 name s32min-(-2),1-s32max
BUF_SIZE 1 name s32min-(-2),1-s32max
DATA_SOURCE 1 name $2
DATA_SOURCE 2 len $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &dlm->master_lock
HALF_LOCKED2 &dlm->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->master_lock

fs/ocfs2/dlm/dlmmaster.c dlm_get_lock_resource() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 1 name 1-u64max
PARAM_VALUE 2 len 1-31
BUF_SIZE 1 name 10,32
BUF_SIZE 1 name 10,32
CAPPED_DATA 2 len 1
DATA_SOURCE 1 name $1
DATA_SOURCE 2 len $2
RX_PATH
TASK_NOT_RUNNING

fs/ocfs2/dlm/dlmmaster.c dlm_init_lockres() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-32
BUF_SIZE 1 name 10,32
BUF_SIZE 1 name 10,32
CAPPED_DATA 2 len 1
DATA_SOURCE 1 name $2
DATA_SOURCE 2 len $3
FUZZY_MAX 2 len 32
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmmaster.c dlm_init_mle() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 1 name 1-u64max
BUF_SIZE 1 name s32min-(-2),1-s32max
BUF_SIZE 1 name s32min-(-2),1-s32max
DATA_SOURCE 1 name $4
DATA_SOURCE 2 len $5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &dlm->master_lock
LOCK2 &dlm->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ctxt)->master_lock
TYPE_LOCK (struct dlm_ctxt)->spinlock

fs/ocfs2/dlm/dlmmaster.c dlm_master_request_handler() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-255
BUF_SIZE 1 name 64
BUF_SIZE 1 name 64
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmmaster.c dlm_migrate_request_handler() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-32
BUF_SIZE 1 name 64
BUF_SIZE 1 name 64
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/ntfs/namei.c ntfs_lookup() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 4096-ptr_max
PARAM_VALUE 1 name 0,4096-ptr_max
PARAM_VALUE 1 *name 0-255
PARAM_VALUE 2 len 0-s32max
DATA_SOURCE 0 salt $1
FUZZY_MAX 2 len 0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 &dir_ino->i_rwsem

net/core/dev.c dev_name_hash() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 2 len 0-16
BUF_SIZE 0 salt (-1),1-s32max
BUF_SIZE 1 name (-1)-s32max
BUF_SIZE 1 name (-1)-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 0 salt $0
DATA_SOURCE 1 name $1
STR_LEN 0 salt (-1)-1010101
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 *name 0-255
UNITS 0 salt unit_byte
USER_PTR 1 name
HALF_LOCKED2 rcu_read

fs/jffs2/write.c jffs2_write_dirent() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-3999967,4294967263-u32max
BUF_SIZE 1 name s32min-(-1),1-s32max
BUF_SIZE 1 name s32min-(-1),1-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 1 name $3
DATA_SOURCE 2 len $4
TERMINATED 1 name 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
LOCK2 &c->alloc_sem
LOCK2 &f->sem
HALF_LOCKED2 &f->sem
TYPE_LOCK (struct jffs2_inode_info)->sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

security/tomoyo/util.c tomoyo_fill_path_info() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-2147479552
BUF_SIZE 1 name 1-1000000001,2147479553
BUF_SIZE 1 name 1-1000000001,2147479553
CAPPED_DATA 2 len 1
DATA_SOURCE 2 len r __fortify_strlen
STR_LEN 0 salt 0-2147479552
USER_DATA 1 *name 0-255[u]
UNITS 1 name unit_byte
USER_PTR 1 name
HALF_LOCKED2 global &tomoyo_policy_lock
HALF_LOCKED2 global &tomoyo_ss

fs/ocfs2/dlm/dlmrecovery.c dlm_master_requery_handler() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
BUF_SIZE 1 name 64
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmrecovery.c dlm_mig_lockres_handler() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 0 salt 0
PARAM_VALUE 2 len 0-32
BUF_SIZE 1 name 32
FUZZY_MAX 2 len 32
HARD_MAX 2 len 32
RX_PATH
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/proc/proc_sysctl.c proc_sys_fill_cache() -> full_name_hash()

Type Parameter Key Value
PARAM_VALUE 2 len 0-3
BUF_SIZE 1 name 3-4
BUF_SIZE 1 name 3-4
CAPPED_DATA 2 len 1
DATA_SOURCE 2 len r __fortify_strlen
RX_PATH
TASK_NOT_RUNNING
UNITS 1 name unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/dcache.c d_hash_and_lookup() -> full_name_hash()

Type Parameter Key Value
BUF_SIZE 0 salt (-1)-s32max
BUF_SIZE 1 name s32min-(-2),1-s32max
DATA_SOURCE 0 salt $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 salt unit_jiffy
UNITS 1 name unit_byte
UNITS 2 len unit_byte