Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- fs/jffs2/erase.c
- fs/jffs2/gc.c, line 490
- fs/jffs2/nodemgmt.c
- fs/jffs2/scan.c, line 275
- fs/jffs2/wbuf.c
Smatch caller information:
fs/jffs2/erase.c jffs2_erase_succeeded() -> jffs2_garbage_collect_trigger()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | c | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_complete_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_complete_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_complete_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_complete_list.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_completion_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | c->erase_free_sem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | c->erase_free_sem.first_waiter | 0,4096-ptr_max |
| 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->erase_free_sem.first_waiter->task->blocked_on | (-1)-0 |
| PARAM_VALUE | 0 | c->erase_free_sem.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | c->erase_free_sem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | c->erase_free_sem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | c->erase_free_sem.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | c->mtd | 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_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->erase_free_sem | 1 |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| LOCK2 | 0 | &c->erase_free_sem | |
| HALF_LOCKED2 | 0 | &c->alloc_sem | |
| HALF_LOCKED2 | 0 | &c->wbuf_sem | |
| HALF_LOCKED2 | 0 | &c->xattr_sem | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock | ||
| TYPE_LOCK | (struct jffs2_sb_info)->erase_free_sem |
fs/jffs2/erase.c jffs2_mark_erased_block() -> jffs2_garbage_collect_trigger()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | c | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_checking_list.next | 4096-ptr_max |
| 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.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | c->erase_free_sem.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_free_sem.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | c->erase_free_sem.first_waiter->task->blocked_on | (-1)-0 |
| PARAM_VALUE | 0 | c->erase_free_sem.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | c->erase_free_sem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | c->erase_free_sem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | c->erase_free_sem.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | c->mtd | 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_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->mtd | 1 |
| CAPPED_DATA | 0 | &c->erase_free_sem | 1 |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| LOCK2 | 0 | &c->erase_free_sem | |
| HALF_LOCKED2 | 0 | &c->alloc_sem | |
| HALF_LOCKED2 | 0 | &c->wbuf_sem | |
| HALF_LOCKED2 | 0 | &c->xattr_sem | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock | ||
| TYPE_LOCK | (struct jffs2_sb_info)->erase_free_sem |
fs/jffs2/wbuf.c jffs2_block_refile() -> jffs2_garbage_collect_trigger()
| 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->erase_pending_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->mtd | 4096-ptr_max |
| PARAM_VALUE | 0 | c->mtd->parent | 0 |
| PARAM_VALUE | 0 | c->nextblock | 0,4096-ptr_max |
| PARAM_VALUE | 0 | c->wbuf | 1-u64max |
| 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->wbuf_sem.wait_lock.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->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->mtd | 1 |
| CAPPED_DATA | 0 | c->wbuf_len | 1 |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| LOCK2 | 0 | &c->wbuf_sem | |
| HALF_LOCKED2 | 0 | &c->alloc_sem | |
| HALF_LOCKED2 | 0 | &c->xattr_sem | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock | ||
| TYPE_LOCK | (struct jffs2_sb_info)->wbuf_sem |
fs/jffs2/wbuf.c jffs2_refile_wbuf_blocks() -> jffs2_garbage_collect_trigger()
| 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->mtd | 4096-ptr_max |
| PARAM_VALUE | 0 | c->nextblock | 4096-ptr_max |
| PARAM_VALUE | 0 | c->wbuf | 1-u64max |
| 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->wbuf_sem.wait_lock.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->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->mtd | 1 |
| CAPPED_DATA | 0 | c->wbuf_len | 1 |
| CAPPED_DATA | 0 | c->wbuf_pagesize | 1 |
| CAPPED_DATA | 0 | &c->erasable_pending_wbuf_list | 1 |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| PARAM_COMPARE | 0 | &c->erasable_pending_wbuf_list | != $0->erasable_pending_wbuf_list.next |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| LOCK2 | 0 | &c->wbuf_sem | |
| HALF_LOCKED2 | 0 | &c->alloc_sem | |
| HALF_LOCKED2 | 0 | &c->xattr_sem | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock | ||
| TYPE_LOCK | (struct jffs2_sb_info)->wbuf_sem |
fs/jffs2/wbuf.c jffs2_wbuf_recover() -> jffs2_garbage_collect_trigger()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | c | 4096-ptr_max |
| PARAM_VALUE | 0 | c->bad_used_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->bad_used_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->blocks | 4096-ptr_max |
| 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->erase_pending_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.next->prev | 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->flags | 0,2-u32max |
| PARAM_VALUE | 0 | c->nextblock | 4096-ptr_max |
| PARAM_VALUE | 0 | c->summary | 4096-ptr_max |
| PARAM_VALUE | 0 | c->summary->sum_list_head | 0 |
| PARAM_VALUE | 0 | c->summary->sum_list_tail | 0 |
| PARAM_VALUE | 0 | c->summary->sum_num | 0 |
| PARAM_VALUE | 0 | c->summary->sum_padded | 0 |
| PARAM_VALUE | 0 | c->summary->sum_size | u32max |
| 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->wbuf_sem.wait_lock.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->type | 0-1 |
| PARAM_VALUE | 0 | *c->nextblock->last_node->flash_offset | 0-4294967295 |
| 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->wbuf_pagesize | 1 |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| LOCK2 | 0 | &c->wbuf_sem | |
| HALF_LOCKED2 | 0 | &c->alloc_sem | |
| HALF_LOCKED2 | 0 | &c->xattr_sem | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock | ||
| TYPE_LOCK | (struct jffs2_sb_info)->wbuf_sem |
fs/jffs2/gc.c jffs2_garbage_collect_pass() -> jffs2_garbage_collect_trigger()
| 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 | 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->erase_pending_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->gcblock | 0 |
| 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->alloc_sem | 1 |
| CAPPED_DATA | 0 | &c->erase_complete_list | 1 |
| CAPPED_DATA | 0 | &c->erase_pending_list | 1 |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock |
fs/jffs2/nodemgmt.c jffs2_complete_reservation() -> jffs2_garbage_collect_trigger()
| 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 | 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 |
| BUF_SIZE | 0 | c | 1-s32max |
| BUF_SIZE | 0 | c | 1-s32max |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->alloc_sem | |
| LOCK2 | 0 | &c->erase_completion_lock | |
| HALF_LOCKED2 | &dir_f->sem | ||
| HALF_LOCKED2 | &f->sem | ||
| TYPE_LOCK | (struct jffs2_sb_info)->alloc_sem | ||
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock |
fs/jffs2/nodemgmt.c jffs2_find_nextblock() -> jffs2_garbage_collect_trigger()
| 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->erase_pending_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->free_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->nr_erasing_blocks | 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 |
| 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->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->free_list | == $0->free_list.next |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| HALF_LOCKED2 | &f->sem | ||
| HALF_LOCKED2 | 0 | &c->alloc_sem | |
| HALF_LOCKED2 | 0 | &c->wbuf_sem | |
| HALF_LOCKED2 | 0 | &c->xattr_sem | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock |
fs/jffs2/nodemgmt.c jffs2_mark_node_obsolete() -> jffs2_garbage_collect_trigger()
| 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->erase_pending_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->nr_blocks | 1-u32max |
| PARAM_VALUE | 0 | c->os_priv | 4096-ptr_max |
| PARAM_VALUE | 0 | c->wbuf_len | 0 |
| 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)-s32max |
| BUF_SIZE | 0 | c | (-1)-s32max |
| BUF_SIZE | 0 | c->inocache_list | (-1),1024-8192 |
| CAPPED_DATA | 0 | c->flash_size | 1 |
| DATA_SOURCE | 0 | c | $0 |
| STR_LEN | 0 | c | (-1)-254 |
| STR_LEN | 0 | c | (-1)-254 |
| BIT_INFO | 0 | c->flags | 0x0,0xfffffffd |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | c->inocache_hashsize | |
| NO_OVERFLOW_SIMPLE | 0 | c->oobavail | |
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| HALF_LOCKED2 | &dead_f->sem | ||
| HALF_LOCKED2 | &f->sem | ||
| HALF_LOCKED2 | 0 | &c->alloc_sem | |
| HALF_LOCKED2 | 0 | &c->wbuf_sem | |
| HALF_LOCKED2 | 0 | &c->xattr_sem | |
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock |
fs/jffs2/scan.c jffs2_scan_medium() -> jffs2_garbage_collect_trigger()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | c | 4096-ptr_max |
| PARAM_VALUE | 0 | c->bad_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->bad_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->bad_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->bad_used_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->bad_used_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->clean_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->clean_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->clean_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->dirty_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->dirty_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->dirty_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasable_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasable_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasable_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasable_pending_wbuf_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasable_pending_wbuf_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasable_pending_wbuf_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_checking_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_checking_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_checking_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_complete_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_complete_list.prev->next | 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_pending_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erase_pending_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasing_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasing_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->erasing_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->free_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->free_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->free_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->nextblock | 0,4096-ptr_max |
| PARAM_VALUE | 0 | c->nr_blocks | 0-s32max |
| PARAM_VALUE | 0 | c->nr_erasing_blocks | 1-u32max |
| PARAM_VALUE | 0 | c->summary->sum_buf | 16,4096-ptr_max |
| PARAM_VALUE | 0 | c->very_dirty_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->very_dirty_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->very_dirty_list.prev->prev | 4096-ptr_max |
| 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->type | 0-1 |
| PARAM_VALUE | 0 | c->xattr_dead_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->xattr_dead_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->xattr_dead_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | c->xattr_sem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | c->xattr_unchecked.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->xattr_unchecked.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | c->xattr_unchecked.prev->prev | 4096-ptr_max |
| BUF_SIZE | 0 | c | 1-s32max |
| BUF_SIZE | 0 | c | 1-s32max |
| BUF_SIZE | 0 | c->inocache_list | (-1),1024-8192 |
| CAPPED_DATA | 0 | c->nr_blocks | 1 |
| DATA_SOURCE | 0 | c | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | c->inocache_hashsize | |
| NO_OVERFLOW_SIMPLE | 0 | c->oobavail | |
| UNITS | 0 | c | unit_byte |
| LOCK2 | 0 | &c->erase_completion_lock | |
| HALF_LOCKED2 | &fc->uapi_mutex | ||
| TYPE_LOCK | (struct jffs2_sb_info)->erase_completion_lock |