Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/nilfs2/recovery.c nilfs_read_super_root_block() -> nilfs_compute_checksum()

Type Parameter Key Value
PARAM_VALUE 0 nilfs 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_bdev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_bdev->bd_fsfreeze_count.counter s32min-0
PARAM_VALUE 0 nilfs->ns_bdev->bd_mapping 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_bdev->bd_mapping->i_private_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_blocks_per_segment 0-u32max
PARAM_VALUE 0 nilfs->ns_blocksize 1024-65536
PARAM_VALUE 0 nilfs->ns_blocksize_bits 9-73
PARAM_VALUE 0 nilfs->ns_dirty_files.next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.next->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.prev->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.prev->prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.next->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.prev->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.prev->prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_inode_size 0-u16max
PARAM_VALUE 0 nilfs->ns_mount_state 0-u16max
PARAM_VALUE 0 nilfs->ns_ndirtyblks.counter 0
PARAM_VALUE 0 nilfs->ns_nrsvsegs 8-u64max
PARAM_VALUE 0 nilfs->ns_r_segments_percentage 0-u32max
PARAM_VALUE 0 nilfs->ns_sb 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_bdev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_bdev_file 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_bdi 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_blocksize 0,512-65536
PARAM_VALUE 0 nilfs->ns_sb->s_blocksize_bits 9-41
PARAM_VALUE 0 nilfs->ns_sb->s_iflags 0,8-u64max
PARAM_VALUE 0 nilfs->ns_sb->s_root 0
PARAM_VALUE 0 nilfs->ns_sb_update_freq 10
PARAM_VALUE 0 nilfs->ns_sbsize 0-u16max
PARAM_VALUE 0 nilfs->ns_sbwcount 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.count.counter 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_segctor_sem.first_waiter 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.magic 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_segctor_sem.osq.tail.counter 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.owner.counter 0
PARAM_VALUE 0 nilfs->ns_sem.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->type 0-1
PARAM_VALUE 0 nilfs->ns_snapshot_mount_mutex.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_snapshot_mount_mutex.magic 4096-ptr_max
PARAM_VALUE 1 bhs 4096-ptr_max
PARAM_VALUE 1 bhs->b_data 4096-ptr_max
PARAM_VALUE 2 sum 8058974400438341632
PARAM_VALUE 3 offset 4
PARAM_VALUE 4 check_bytes 1-u16max
PARAM_VALUE 6 nblock 1
BUF_SIZE 0 nilfs->ns_sb (-1),2880
BUF_SIZE 1 bhs (-1)-s32max
BUF_SIZE 1 bhs (-1)-s32max
CAPPED_DATA 0 nilfs->ns_blocks_per_segment 1
CAPPED_DATA 0 nilfs->ns_blocksize 1
CAPPED_DATA 4 check_bytes 1
DATA_SOURCE 0 nilfs $0
DATA_SOURCE 1 bhs r __bread
DATA_SOURCE 5 start $1
STR_LEN 0 nilfs (-1),8
STR_LEN 0 nilfs (-1),8
STR_LEN 0 nilfs->ns_sb (-1),8
PARAM_COMPARE 4 check_bytes <= $0->ns_blocksize
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 nilfs->ns_nrsvsegs 8-92233368503352116[c]
USER_DATA 0 nilfs->ns_sb->s_flags 0-2147486719[c]
UNITS 3 offset unit_byte
UNITS 4 check_bytes unit_byte
HALF_LOCKED2 &fc->uapi_mutex

fs/nilfs2/recovery.c nilfs_validate_log() -> nilfs_compute_checksum()

Type Parameter Key Value
PARAM_VALUE 0 nilfs 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_bdev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_bdev->bd_fsfreeze_count.counter s32min-0
PARAM_VALUE 0 nilfs->ns_bdev->bd_mapping 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_bdev->bd_mapping->i_private_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_blocks_per_segment 1-u32max
PARAM_VALUE 0 nilfs->ns_blocksize 1024-65536
PARAM_VALUE 0 nilfs->ns_blocksize_bits 0,9-73
PARAM_VALUE 0 nilfs->ns_cpfile->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 nilfs->ns_cpfile->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 nilfs->ns_dat->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 nilfs->ns_dat->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 nilfs->ns_dirty_files.next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.next->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.prev->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_dirty_files.prev->prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.next->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.prev->next 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_gc_inodes.prev->prev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_inode_size 0-u16max
PARAM_VALUE 0 nilfs->ns_mount_state 0-u16max
PARAM_VALUE 0 nilfs->ns_ndirtyblks.counter 0
PARAM_VALUE 0 nilfs->ns_nrsvsegs 0,8-u64max
PARAM_VALUE 0 nilfs->ns_r_segments_percentage 0-u32max
PARAM_VALUE 0 nilfs->ns_sb 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_bdev 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_bdev_file 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_bdi 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_sb->s_blocksize 0,512-65536
PARAM_VALUE 0 nilfs->ns_sb->s_blocksize_bits 9-41
PARAM_VALUE 0 nilfs->ns_sb->s_iflags 0,8-u64max
PARAM_VALUE 0 nilfs->ns_sb->s_root 0
PARAM_VALUE 0 nilfs->ns_sb_update_freq 10
PARAM_VALUE 0 nilfs->ns_sbsize 0-u16max
PARAM_VALUE 0 nilfs->ns_sbwcount 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.count.counter 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_segctor_sem.first_waiter 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.magic 4096-ptr_max
PARAM_VALUE 0 nilfs->ns_segctor_sem.osq.tail.counter 0
PARAM_VALUE 0 nilfs->ns_segctor_sem.owner.counter 0
PARAM_VALUE 0 nilfs->ns_sem.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 nilfs->ns_sem.first_waiter->type 0-1
PARAM_VALUE 0 nilfs->ns_snapshot_mount_mutex.dep_map->name 0-255
PARAM_VALUE 0 nilfs->ns_snapshot_mount_mutex.magic 4096-ptr_max
PARAM_VALUE 1 bhs 4096-ptr_max
PARAM_VALUE 2 sum 8185754705199124480
PARAM_VALUE 3 offset 4
PARAM_VALUE 6 nblock 1-u32max
BUF_SIZE 0 nilfs->ns_sb (-1),2816,2880
BUF_SIZE 1 bhs (-1)-s32max
BUF_SIZE 1 bhs (-1)-s32max
CAPPED_DATA 0 nilfs->ns_blocks_per_segment 1
CAPPED_DATA 0 nilfs->ns_blocksize 1
CAPPED_DATA 6 nblock 1
CAPPED_DATA 6 nblock 1
DATA_SOURCE 0 nilfs $0
DATA_SOURCE 1 bhs $2
STR_LEN 0 nilfs (-1),8
STR_LEN 0 nilfs (-1),8
STR_LEN 0 nilfs->ns_sb (-1),8
PARAM_COMPARE 6 nblock <= $0->ns_blocks_per_segment
PARAM_COMPARE 6 nblock <= $0->ns_blocks_per_segment
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 nilfs->ns_cpfile->__i_nlink 1-u32max
USER_DATA 0 nilfs->ns_cpfile->i_blocks 0-u64max
USER_DATA 0 nilfs->ns_cpfile->i_bytes 0-511[c]
USER_DATA 0 nilfs->ns_cpfile->i_ino 0-u64max
USER_DATA 0 nilfs->ns_cpfile->i_mode 0-u16max[c]
USER_DATA 0 nilfs->ns_cpfile->i_rdev 0-u32max[c]
USER_DATA 0 nilfs->ns_dat->__i_nlink 1-u32max
USER_DATA 0 nilfs->ns_dat->i_blocks 0-u64max
USER_DATA 0 nilfs->ns_dat->i_bytes 0-511[c]
USER_DATA 0 nilfs->ns_dat->i_ino 0-u64max
USER_DATA 0 nilfs->ns_dat->i_mode 0-u16max[c]
USER_DATA 0 nilfs->ns_dat->i_rdev 0-u32max[c]
USER_DATA 0 nilfs->ns_nrsvsegs 8-92233368503352116[c]
USER_DATA 0 nilfs->ns_sb->s_flags 0-2147486719[c]
USER_DATA 0 nilfs->ns_sufile->__i_nlink 1-u32max
USER_DATA 0 nilfs->ns_sufile->i_blocks 0-u64max
USER_DATA 0 nilfs->ns_sufile->i_bytes 0-511[c]
USER_DATA 0 nilfs->ns_sufile->i_ino 0-u64max
USER_DATA 0 nilfs->ns_sufile->i_mode 0-u16max[c]
USER_DATA 0 nilfs->ns_sufile->i_rdev 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 nilfs->ns_cpfile->i_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 nilfs->ns_dat->i_mapping->host->i_bytes
UNITS 3 offset unit_byte
UNITS 5 start unit_byte
HALF_LOCKED2 &fc->uapi_mutex