Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/jffs2/fs.c jffs2_do_setattr() -> jffs2_add_full_dnode_to_inode()

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->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->prev 0,5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 c->erase_complete_list.next->next 4096-ptr_max
PARAM_VALUE 0 c->erase_complete_list.next->prev 4096-ptr_max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->erase_free_sem->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 c->erase_free_sem.dep_map->name 0-255
PARAM_VALUE 0 c->erase_free_sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->erase_free_sem.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 c->free_list.prev->next 4096-ptr_max
PARAM_VALUE 0 c->free_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 c->nextblock->allocated_refs 1
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
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->sem.dep_map->name 0-255
PARAM_VALUE 1 f->sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 f->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 2 fn 0-ptr_max
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 1 &f->sem 1
DATA_SOURCE 2 fn r jffs2_write_dnode
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
LOCK2 1 &f->sem
TYPE_LOCK (struct jffs2_inode_info)->sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/file.c jffs2_write_begin() -> jffs2_add_full_dnode_to_inode()

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->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->prev 0,5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 c->erase_complete_list.next->next 4096-ptr_max
PARAM_VALUE 0 c->erase_complete_list.next->prev 4096-ptr_max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->erase_free_sem->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 c->erase_free_sem.dep_map->name 0-255
PARAM_VALUE 0 c->erase_free_sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->erase_free_sem.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 c->free_list.prev->next 4096-ptr_max
PARAM_VALUE 0 c->free_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 c->nextblock->allocated_refs 1
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
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->inocache 4096-ptr_max
PARAM_VALUE 1 f->sem.dep_map->name 0-255
PARAM_VALUE 1 f->sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 f->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 2 fn 0-ptr_max
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 1 &f->sem 1
DATA_SOURCE 2 fn r jffs2_write_dnode
RX_PATH
TASK_NOT_RUNNING
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
LOCK2 1 &f->sem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct jffs2_inode_info)->sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/readinode.c jffs2_build_inode_fragtree() -> jffs2_add_full_dnode_to_inode()

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->inocache_list 4096-ptr_max
PARAM_VALUE 0 c->inocache_lock.rlock.dep_map->name 0-255
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 1 f 4096-ptr_max
PARAM_VALUE 1 f->inocache 4096-ptr_max
PARAM_VALUE 1 f->inocache->nodes 0,4096-ptr_max
PARAM_VALUE 1 f->inocache->state 1,5
PARAM_VALUE 1 f->sem.dep_map->name 0-255
PARAM_VALUE 1 f->sem.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 f->sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 f->sem.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 f->sem.osq.tail.counter 0-s32max
PARAM_VALUE 1 f->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 f->sem.wait_lock.owner (-1)
PARAM_VALUE 1 f->sem.wait_lock.owner_cpu u32max
PARAM_VALUE 2 fn 4096-ptr_max
PARAM_VALUE 2 fn->raw 4096-ptr_max
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 1 f (-1),1368
BUF_SIZE 1 f (-1),1368
DATA_SOURCE 0 c $0
DATA_SOURCE 1 f $1
STR_LEN 0 c (-1)-254
STR_LEN 0 c (-1)-254
HARD_MAX 1 f->inocache->state 5
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 f->inocache->ino 0-u32max[c]
UNITS 0 c unit_byte
LOCK2 1 &f->sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_inode_info)->sem

fs/jffs2/gc.c jffs2_garbage_collect_dnode() -> jffs2_add_full_dnode_to_inode()

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->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->prev 0,5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 c->alloc_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->inocache_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->nextblock->allocated_refs 1
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
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->fragtree.rb_node 1-u64max
PARAM_VALUE 1 f->inocache 4096-ptr_max
PARAM_VALUE 1 f->metadata 0,4096-ptr_max
PARAM_VALUE 1 f->sem.dep_map->name 0-255
PARAM_VALUE 1 f->sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 f->sem.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 f->sem.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 f->sem.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 f->sem.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 1 f->sem.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 f->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 f->vfs_inode.i_mapping 4096-ptr_max
PARAM_VALUE 1 f->vfs_inode.i_sb 4096-ptr_max
PARAM_VALUE 2 fn 0-ptr_max
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 1 &f->sem 1
DATA_SOURCE 0 c $0
DATA_SOURCE 1 f $2
DATA_SOURCE 2 fn r jffs2_write_dnode
STR_LEN 0 c (-1)-254
STR_LEN 0 c (-1)-254
RX_PATH
TASK_NOT_RUNNING
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
LOCK2 1 &f->sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_inode_info)->sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/gc.c jffs2_garbage_collect_hole() -> jffs2_add_full_dnode_to_inode()

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->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->prev 0,5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 c->alloc_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->erase_checking_list.next->next 4096-ptr_max
PARAM_VALUE 0 c->erase_checking_list.next->prev 4096-ptr_max
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->erase_free_sem->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 c->erase_free_sem.dep_map->name 0-255
PARAM_VALUE 0 c->erase_free_sem.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 c->gc_task->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->inocache_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->nextblock->allocated_refs 1
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
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->fragtree.rb_node 1-u64max
PARAM_VALUE 1 f->inocache 4096-ptr_max
PARAM_VALUE 1 f->metadata 0,4096-ptr_max
PARAM_VALUE 1 f->sem.dep_map->name 0-255
PARAM_VALUE 1 f->sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 f->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 f->vfs_inode.i_sb 4096-ptr_max
PARAM_VALUE 2 fn 0-ptr_max
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 1 f->highest_version 1
DATA_SOURCE 0 c $0
DATA_SOURCE 1 f $2
DATA_SOURCE 2 fn r jffs2_write_dnode
STR_LEN 0 c (-1)-254
STR_LEN 0 c (-1)-254
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
LOCK2 1 &f->sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_inode_info)->sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

fs/jffs2/write.c jffs2_write_inode_range() -> jffs2_add_full_dnode_to_inode()

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->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->list.prev->prev 0,5159360019465732096
PARAM_VALUE 0 c->alloc_sem.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 c->erase_completion_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->nextblock->allocated_refs 1
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
PARAM_VALUE 1 f 4096-ptr_max
PARAM_VALUE 1 f->inocache 4096-ptr_max
PARAM_VALUE 1 f->sem.dep_map->name 0-255
PARAM_VALUE 1 f->sem.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 f->sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 2 fn 0-ptr_max
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 1 &f->sem 1
DATA_SOURCE 0 c $0
DATA_SOURCE 1 f $1
DATA_SOURCE 2 fn r jffs2_write_dnode
RX_PATH
TASK_NOT_RUNNING
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
LOCK2 1 &f->sem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct jffs2_inode_info)->sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem