Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/jffs2/wbuf.c jffs2_wbuf_recover() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

fs/jffs2/wbuf.c jffs2_wbuf_recover() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

fs/jffs2/wbuf.c jffs2_wbuf_recover() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 0,4096-ptr_max
DATA_SOURCE 0 ref r ref_next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

fs/jffs2/wbuf.c jffs2_wbuf_recover() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

fs/jffs2/wbuf.c jffs2_wbuf_recover() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
DATA_SOURCE 0 ref r ref_next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

fs/jffs2/wbuf.c jffs2_wbuf_recover() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->erase_completion_lock
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->erase_completion_lock
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

fs/jffs2/nodelist.c __ref_totlen() -> ref_next()

Type Parameter Key Value
BUF_SIZE 0 ref (-1),1-s32max
BUF_SIZE 0 ref (-1),1-s32max
DATA_SOURCE 0 ref $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->erase_completion_lock
HALF_LOCKED2 &c->erase_free_sem
HALF_LOCKED2 &c->wbuf_sem
HALF_LOCKED2 &c->xattr_sem
HALF_LOCKED2 &f->sem

fs/jffs2/gc.c jffs2_garbage_collect_pass() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->alloc_sem
LOCK2 &c->erase_completion_lock
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem
TYPE_LOCK (struct jffs2_sb_info)->erase_completion_lock

fs/jffs2/scan.c jffs2_scan_classify_jeb() -> ref_next()

Type Parameter Key Value
PARAM_VALUE 0 ref 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex