Defined in 2 files as a prototype:

Defined in 1 files as a macro:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/jffs2/fs.c jffs2_do_remount_fs() -> jffs2_flush_wbuf_pad()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->alloc_sem.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 c->alloc_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->flags 1-u32max
PARAM_VALUE 0 c->gc_task->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->gc_task->signal->flags 0,2-u32max
PARAM_VALUE 0 c->gc_thread_exit.done 0-4294967293,u32max
PARAM_VALUE 0 c->gc_thread_exit.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 c->gc_thread_exit.wait.lock.owner (-1)
PARAM_VALUE 0 c->gc_thread_exit.wait.lock.owner_cpu u32max
PARAM_VALUE 0 c->gc_thread_exit.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 c->gc_thread_exit.wait.task_list.prev->next->next 4096-ptr_max
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 0 c->gc_task 1
CAPPED_DATA 0 &c->alloc_sem 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &sb->s_umount
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/super.c jffs2_put_super() -> jffs2_flush_wbuf_pad()

Type Parameter Key Value
PARAM_VALUE 0 c->alloc_sem.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 c->alloc_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner_cpu u32max
BUF_SIZE 0 c (-1),4416
BUF_SIZE 0 c (-1),4416
CAPPED_DATA 0 &c->alloc_sem 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
HALF_LOCKED2 &s->s_umount
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 global &cifs_mount_mutex
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/super.c jffs2_sync_fs() -> jffs2_flush_wbuf_pad()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->alloc_sem.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 c->alloc_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner_cpu u32max
BUF_SIZE 0 c (-1),376,4416
BUF_SIZE 0 c (-1),376,4416
CAPPED_DATA 0 &c->alloc_sem 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
HALF_LOCKED2 &sb->s_umount
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/gc.c jffs2_find_gc_block() -> jffs2_flush_wbuf_pad()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->alloc_sem.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 c->alloc_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->alloc_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 c->clean_list.next 4096-ptr_max
PARAM_VALUE 0 c->dirty_list.next 4096-ptr_max
PARAM_VALUE 0 c->erasable_list.next 4096-ptr_max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->very_dirty_list.next 4096-ptr_max
PARAM_VALUE 0 c->wbuf_dwork.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 c->wbuf_dwork.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 c->wbuf_dwork.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 c->wbuf_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->wbuf_sem.first_waiter->type 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->type 0-1
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 &c->bad_used_list 1
CAPPED_DATA 0 &c->clean_list 1
CAPPED_DATA 0 &c->dirty_list 1
CAPPED_DATA 0 &c->erasable_list 1
CAPPED_DATA 0 &c->erasable_pending_wbuf_list 1
CAPPED_DATA 0 &c->very_dirty_list 1
DATA_SOURCE 0 c $0
STR_LEN 0 c (-1)-254
STR_LEN 0 c (-1)-254
PARAM_COMPARE 0 &c->clean_list == $0->clean_list.next
PARAM_COMPARE 0 &c->dirty_list == $0->dirty_list.next
PARAM_COMPARE 0 &c->erasable_list == $0->erasable_list.next
PARAM_COMPARE 0 &c->erasable_pending_wbuf_list != $0->erasable_pending_wbuf_list.next
PARAM_COMPARE 0 &c->very_dirty_list == $0->very_dirty_list.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/nodemgmt.c jffs2_add_physical_node_ref() -> jffs2_flush_wbuf_pad()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->blocks 4096-ptr_max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->wbuf_dwork.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 c->wbuf_dwork.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 c->wbuf_dwork.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 c->wbuf_len 1-u32max
PARAM_VALUE 0 c->wbuf_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->wbuf_sem.first_waiter->type 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->type 0-1
PARAM_VALUE 0 *c->summary->sum_list_head->d.name 0-255
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 c->nextblock 1
DATA_SOURCE 0 c $0
STR_LEN 0 c (-1)-254
STR_LEN 0 c (-1)-254
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
HALF_LOCKED2 0 &c->xattr_sem

fs/jffs2/nodemgmt.c jffs2_do_reserve_space() -> jffs2_flush_wbuf_pad()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->wbuf_len 1-u32max
PARAM_VALUE 0 c->wbuf_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->wbuf_sem.first_waiter->type 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->type 0-1
PARAM_VALUE 0 *c->summary->sum_list_head->d.name 0-255
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
DATA_SOURCE 0 c $0
STR_LEN 0 c (-1)-254
STR_LEN 0 c (-1)-254
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
HALF_LOCKED2 &f->sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
HALF_LOCKED2 0 &c->xattr_sem

fs/jffs2/nodemgmt.c jffs2_find_nextblock() -> jffs2_flush_wbuf_pad()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->erasable_list.next 4096-ptr_max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->free_list.next 4096-ptr_max
PARAM_VALUE 0 c->nr_erasing_blocks 0
PARAM_VALUE 0 c->wbuf_dwork.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 c->wbuf_dwork.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 c->wbuf_dwork.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 c->wbuf_inodes->ino 0-4294967295
PARAM_VALUE 0 c->wbuf_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->wbuf_sem.first_waiter->type 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->type 0-1
PARAM_VALUE 0 *c->summary->sum_list_head->d.name 0-255
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 &c->erasable_list 1
CAPPED_DATA 0 &c->erasable_pending_wbuf_list 1
CAPPED_DATA 0 &c->free_list 1
DATA_SOURCE 0 c $0
STR_LEN 0 c (-1)-254
STR_LEN 0 c (-1)-254
PARAM_COMPARE 0 &c->erasable_list == $0->erasable_list.next
PARAM_COMPARE 0 &c->erasable_pending_wbuf_list != $0->erasable_pending_wbuf_list.next
PARAM_COMPARE 0 &c->free_list == $0->free_list.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
HALF_LOCKED2 &f->sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
HALF_LOCKED2 0 &c->xattr_sem