Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/ext4/inline.c empty_inline_dir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 8544071159926951936
PARAM_VALUE 1 line 1794
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 2-u32max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 4096-ptr_max
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 7 size (-60)-65475
PARAM_VALUE 8 offset 4-65534
BUF_SIZE 0 function 17
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 8 offset 1
DATA_SOURCE 2 dir $0
DATA_SOURCE 4 de r ext4_get_inline_entry
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dir->i_size (-9223372036854775807)-(-4),0-s64max
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/ext4/inline.c ext4_inlinedir_to_tree() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 1548020299765624832
PARAM_VALUE 1 line 1339
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 2-u32max
PARAM_VALUE 3 filp 4096-ptr_max
PARAM_VALUE 3 filp->f_mode 33554432-u32max
PARAM_VALUE 3 filp->f_op 4096-ptr_max
PARAM_VALUE 3 filp->private_data 4096-ptr_max
PARAM_VALUE 4 de 4096-ptr_max
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 6 buf 4096-ptr_max
PARAM_VALUE 7 size 0-u16max
PARAM_VALUE 8 offset 1-s32max
BUF_SIZE 0 function 23
BUF_SIZE 3 filp (-1),1-s32max
BUF_SIZE 3 filp (-1),1-s32max
BUF_SIZE 6 buf 0-u16max
BUF_SIZE 6 buf 0-u16max
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 3 filp->f_inode->i_sb 1
DATA_SOURCE 3 filp $0
DATA_SOURCE 6 buf r _kmalloc_noprof
DATA_SOURCE 7 size r ext4_get_inline_size
PARAM_COMPARE 2 dir == $3->f_inode
PARAM_COMPARE 3 filp->f_inode == $2
PARAM_COMPARE 4 de >= $8
PARAM_COMPARE 4 de >= $8
PARAM_COMPARE 7 size >= $8
PARAM_COMPARE 8 offset <= $4
PARAM_COMPARE 8 offset <= $7
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ext4/inline.c ext4_read_inline_dir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 7746257508181807104
PARAM_VALUE 1 line 1511
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 2-u32max
PARAM_VALUE 3 filp 4096-ptr_max
PARAM_VALUE 3 filp->f_mode 33554432-u32max
PARAM_VALUE 3 filp->f_op 4096-ptr_max
PARAM_VALUE 3 filp->private_data 4096-ptr_max
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 6 buf 4096-ptr_max
PARAM_VALUE 7 size 0-u16max
BUF_SIZE 0 function 21
BUF_SIZE 3 filp (-1)-s32max
BUF_SIZE 3 filp (-1)-s32max
BUF_SIZE 6 buf 0-u16max
BUF_SIZE 6 buf 0-u16max
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 3 filp->f_inode->i_sb 1
CAPPED_DATA 8 offset 1
CAPPED_DATA 8 offset 1
DATA_SOURCE 3 filp $0
DATA_SOURCE 6 buf r _kmalloc_noprof
DATA_SOURCE 7 size r ext4_get_inline_size
PARAM_COMPARE 2 dir == $3->f_inode
PARAM_COMPARE 3 filp->f_inode == $2
RX_PATH
TASK_NOT_RUNNING
UNITS 4 de unit_byte
UNITS 8 offset unit_byte
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ext4/namei.c dx_make_map() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 1580845960809594880
PARAM_VALUE 1 line 1295
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 2-u32max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 0-18446744073709547519
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 5 bh->b_private 4096-ptr_max
BUF_SIZE 0 function 12
CAPPED_DATA 2 dir 1
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 2 dir->i_sb 1
CAPPED_DATA 4 de 1
DATA_SOURCE 2 dir $0
DATA_SOURCE 5 bh $1
RX_PATH
TASK_NOT_RUNNING
UNITS 4 de unit_byte
UNITS 5 bh unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte

fs/ext4/namei.c ext4_empty_dir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 2231634412213198848
PARAM_VALUE 1 line 3092
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 2 dir->i_size 24-s64max
PARAM_VALUE 3 filp 0
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 8 offset 0
BUF_SIZE 0 function 15
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $0
DATA_SOURCE 5 bh r __ext4_read_dirblock
PARAM_COMPARE 6 buf == $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dir->i_size 24-s64max
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/ext4/namei.c ext4_empty_dir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 2231634412213198848
PARAM_VALUE 1 line 3102
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 0-u32max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 2 dir->i_size 24-s64max
PARAM_VALUE 3 filp 0
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 5 bh->b_data 4096-ptr_max
PARAM_VALUE 6 buf 4096-ptr_max
BUF_SIZE 0 function 15
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $0
DATA_SOURCE 4 de r ext4_next_entry
DATA_SOURCE 5 bh r __ext4_read_dirblock
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dir->i_size 24-s64max
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/ext4/namei.c ext4_empty_dir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 2231634412213198848
PARAM_VALUE 1 line 3126
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 0-u32max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 2 dir->i_size 24-s64max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 4096-ptr_max
PARAM_VALUE 5 bh 4096-ptr_max
BUF_SIZE 0 function 15
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 2 dir->i_sb 1
CAPPED_DATA 8 offset 1
DATA_SOURCE 2 dir $0
PARAM_COMPARE 2 dir->i_size > $8
PARAM_COMPARE 6 buf <= $4
PARAM_COMPARE 8 offset < $2->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dir->i_size 24-s64max
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/ext4/namei.c ext4_find_dest_de() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 5707782555300216832
PARAM_VALUE 1 line 2051
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 0-ptr_max
PARAM_VALUE 5 bh 4096-ptr_max
BUF_SIZE 0 function 18
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 2 dir->i_sb 1
CAPPED_DATA 4 de 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $0
DATA_SOURCE 5 bh $1
DATA_SOURCE 6 buf $2
DATA_SOURCE 7 size $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dir->i_size (-9223372036854775807)-(-4),0-s64max
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte

fs/ext4/namei.c ext4_generic_delete_entry() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 386153931068420096
PARAM_VALUE 1 line 2674
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 8 offset 0-2147483646,2147483648-u32max
BUF_SIZE 0 function 26
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 8 offset 1
DATA_SOURCE 2 dir $0
DATA_SOURCE 5 bh $2
DATA_SOURCE 6 buf $3
DATA_SOURCE 7 size $4
RX_PATH
TASK_NOT_RUNNING
UNITS 4 de unit_byte
UNITS 5 bh unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte
HALF_LOCKED2 &dir->i_rwsem

fs/ext4/namei.c ext4_get_first_dir_block() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 5613667629840297984
PARAM_VALUE 1 line 3546
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 8 offset 0
BUF_SIZE 0 function 25
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $1
DATA_SOURCE 5 bh r __ext4_read_dirblock
PARAM_COMPARE 6 buf == $4
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte

fs/ext4/namei.c ext4_get_first_dir_block() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 5613667629840297984
PARAM_VALUE 1 line 3558
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 0-u32max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 5 bh->b_data 4096-ptr_max
PARAM_VALUE 6 buf 4096-ptr_max
BUF_SIZE 0 function 25
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $1
DATA_SOURCE 4 de r ext4_next_entry
DATA_SOURCE 5 bh r __ext4_read_dirblock
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte

fs/ext4/namei.c ext4_search_dir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 5609762807137030144
PARAM_VALUE 1 line 1475
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 4096-18446744073709547519
PARAM_VALUE 4 de->inode 1-u32max
PARAM_VALUE 5 bh 4096-ptr_max
BUF_SIZE 0 function 16
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 4 de 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $3
DATA_SOURCE 5 bh $0
DATA_SOURCE 6 buf $1
DATA_SOURCE 7 size $2
DATA_SOURCE 8 offset $5 [m]
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 dir->i_size
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
HALF_LOCKED2 &dir->i_rwsem

fs/ext4/namei.c htree_dirblock_to_tree() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 6092966813524754432
PARAM_VALUE 1 line 1077
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 0-18446744073709547519
PARAM_VALUE 5 bh 4096-ptr_max
BUF_SIZE 0 function 23
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 4 de 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $1
DATA_SOURCE 5 bh r __ext4_read_dirblock
RX_PATH
TASK_NOT_RUNNING
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &dir_fp->readdir_lock
TYPE_LOCK (struct inode)->i_rwsem

fs/ext4/namei.c make_indexed_dir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 1610607416924012544
PARAM_VALUE 1 line 2268
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 2-u32max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 4096-ptr_max
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 5 bh->b_private 4096-ptr_max
BUF_SIZE 0 function 17
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 2 dir->i_sb 1
CAPPED_DATA 5 bh 1
DATA_SOURCE 2 dir $2
DATA_SOURCE 5 bh r ext4_append
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 2 dir->i_size
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte

fs/ext4/dir.c ext4_check_all_de() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 1868459777670971392
PARAM_VALUE 1 line 674
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_ino 2-u32max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 3 filp 0
PARAM_VALUE 4 de 0-18446744073709547519
PARAM_VALUE 5 bh 4096-ptr_max
PARAM_VALUE 6 buf 20,4096-ptr_max
PARAM_VALUE 7 size (-4)-65531
PARAM_VALUE 8 offset 0-262143,4294967292-u32max
BUF_SIZE 0 function 18
BUF_SIZE 2 dir (-1),1-s32max
BUF_SIZE 2 dir (-1),1-s32max
BUF_SIZE 2 dir->i_fop (-1),272
BUF_SIZE 2 dir->i_mapping->a_ops (-1),152
BUF_SIZE 2 dir->i_op (-1),256
CAPPED_DATA 2 dir->i_ino 1
CAPPED_DATA 4 de 1
DATA_SOURCE 2 dir $0
DATA_SOURCE 5 bh $1
DATA_SOURCE 6 buf $2
DATA_SOURCE 7 size $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dir->__i_nlink 1-u32max
NO_OVERFLOW_SIMPLE 2 dir->i_blkbits
NO_OVERFLOW_SIMPLE 2 dir->i_bytes
NO_OVERFLOW_SIMPLE 2 dir->i_ino
NO_OVERFLOW_SIMPLE 2 dir->i_size
HALF_LOCKED2 &dir->i_rwsem

fs/ext4/dir.c ext4_readdir() -> __ext4_check_dir_entry()

Type Parameter Key Value
PARAM_VALUE 0 function 2481956511015718912
PARAM_VALUE 1 line 278
PARAM_VALUE 2 dir 4096-ptr_max
PARAM_VALUE 2 dir->i_sb 4096-ptr_max
PARAM_VALUE 2 dir->i_size (-9223372036854775807)-s64max
PARAM_VALUE 3 filp 4096-ptr_max
PARAM_VALUE 3 filp->f_mode 33554432-u32max
PARAM_VALUE 3 filp->f_op 4096-ptr_max
PARAM_VALUE 3 filp->f_ra.prev_pos s64min-(-4096),0,4096-s64max
PARAM_VALUE 4 de 4096-ptr_max
PARAM_VALUE 5 bh 4096-ptr_max
BUF_SIZE 0 function 13
BUF_SIZE 3 filp (-1)-s32max
BUF_SIZE 3 filp (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
BUF_SIZE 5 bh (-1)-s32max
CAPPED_DATA 2 dir 1
CAPPED_DATA 3 filp->f_ra.prev_pos 1
CAPPED_DATA 3 filp->f_ra.start 1
CAPPED_DATA 8 offset 1
DATA_SOURCE 3 filp $0
DATA_SOURCE 5 bh r ext4_bread
PARAM_COMPARE 2 dir == $3->f_inode
PARAM_COMPARE 3 filp->f_inode == $2
PARAM_COMPARE 4 de >= $8
PARAM_COMPARE 4 de >= $8
PARAM_COMPARE 6 buf <= $4
PARAM_COMPARE 8 offset <= $4
BIT_INFO 2 dir->i_flags 0x0,0xffffffff
BIT_INFO 3 filp->f_ra.prev_pos 0x0,0xfffffffffffff000
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 dir->i_blocks 0-18014398515341359,18428729675200069633-u64max
USER_DATA 3 filp->f_ra.prev_pos s64min-(-4096),0,4096-s64max[c]
UNITS 4 de unit_byte
UNITS 6 buf unit_byte
UNITS 7 size unit_byte
UNITS 8 offset unit_byte
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem