Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/jffs2/xattr.c check_xattr_ref_inode() -> delete_xattr_ref()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
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->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 0
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 &c->xattr_sem 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
LOCK2 0 &c->xattr_sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c check_xattr_ref_inode() -> delete_xattr_ref()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
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->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 0
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 &c->xattr_sem 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
LOCK2 0 &c->xattr_sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c check_xattr_ref_inode() -> delete_xattr_ref()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
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->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 1-u64max
PARAM_VALUE 1 ref->xseqno 0-4294967294
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 &c->xattr_sem 1
CAPPED_DATA 1 ref->xd->xprefix 1
CAPPED_DATA 1 ref->xseqno 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
LOCK2 0 &c->xattr_sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c check_xattr_ref_inode() -> delete_xattr_ref()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
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->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 1-u64max
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 &c->xattr_sem 1
CAPPED_DATA 1 ref->xd->xprefix 1
CAPPED_DATA 1 ref->xseqno 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
LOCK2 0 &c->xattr_sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c do_jffs2_getxattr() -> delete_xattr_ref()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
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_dead_list.next 4096-ptr_max
PARAM_VALUE 0 c->xattr_sem.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 c->xattr_sem.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 c->xattr_sem.first_waiter->type 0-1
PARAM_VALUE 0 c->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->ic 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xindex.next->next 4096-ptr_max
PARAM_VALUE 1 ref->xd->xindex.prev->prev 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 0
PARAM_VALUE 1 ref->xd->xprefix 0-255
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 0 &c->xattr_sem 1
CAPPED_DATA 1 ref->ic 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->xattr_sem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c do_jffs2_setxattr() -> delete_xattr_ref()

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.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->xattr_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 c->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 *c->summary->sum_list_head->d.name 0-255
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 0
PARAM_VALUE 1 ref->xd->xprefix 0-255
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 0 &c->xattr_sem 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
LOCK2 0 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c do_jffs2_setxattr() -> delete_xattr_ref()

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.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 c->clean_list.prev 4096-ptr_max
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_complete_list.prev->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.first_waiter->list.next 5159360019465732096
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->gc_task->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 c->gc_task->signal->curr_target 4096-ptr_max
PARAM_VALUE 0 c->gc_task->signal->curr_target->futex_state 0-4294967295
PARAM_VALUE 0 c->gc_task->signal->curr_target->user_dumpable 0-1
PARAM_VALUE 0 c->gc_task->signal->flags 0,2-u32max
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.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->list.next 2624917664208203776
PARAM_VALUE 0 c->wbuf_sem.first_waiter->list.prev 2624917664208203776
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->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 *c->summary->sum_list_head->d.name 0-255
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 1-u64max
PARAM_VALUE 1 ref->xd->xprefix 0-255
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 0 &c->xattr_sem 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->alloc_sem
LOCK2 0 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c jffs2_listxattr() -> delete_xattr_ref()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
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_dead_list.next 4096-ptr_max
PARAM_VALUE 0 c->xattr_sem.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 c->xattr_sem.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 c->xattr_sem.first_waiter->type 0-1
PARAM_VALUE 0 c->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 ref 4096-ptr_max
PARAM_VALUE 1 ref->ic 4096-ptr_max
PARAM_VALUE 1 ref->xd 4096-ptr_max
PARAM_VALUE 1 ref->xd->xindex.next->next 4096-ptr_max
PARAM_VALUE 1 ref->xd->xindex.prev->prev 4096-ptr_max
PARAM_VALUE 1 ref->xd->xname 0
BUF_SIZE 0 c 1-s32max
BUF_SIZE 0 c 1-s32max
CAPPED_DATA 0 &c->xattr_sem 1
CAPPED_DATA 1 ref->ic 1
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 c unit_byte
LOCK2 0 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem

fs/jffs2/xattr.c jffs2_xattr_delete_inode() -> delete_xattr_ref()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
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.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 c->xattr_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 c->xattr_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 c->xattr_sem.first_waiter->type 0-1
PARAM_VALUE 0 c->xattr_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 c->xattr_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner (-1)
PARAM_VALUE 0 c->xattr_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 ref 4096-ptr_max
BUF_SIZE 0 c (-1),1-s32max
BUF_SIZE 0 c (-1),1-s32max
CAPPED_DATA 0 &c->xattr_sem 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
LOCK2 0 &c->xattr_sem
HALF_LOCKED2 0 &c->alloc_sem
HALF_LOCKED2 0 &c->wbuf_sem
TYPE_LOCK (struct jffs2_sb_info)->xattr_sem