Documented in 1 files:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
drivers/mtd/ubi/wl.c __erase_worker() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 0 | e->ec | 1-s32max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | e->pnum | |
| UNITS | 0 | e | unit_byte |
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| HALF_LOCKED2 | &ubi->device_mutex | ||
| HALF_LOCKED2 | &ubi->fm_eba_sem | ||
| HALF_LOCKED2 | &ubi->move_mutex | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |
drivers/mtd/ubi/wl.c erase_aeb() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 0 | e->ec | 1-s32max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| DATA_SOURCE | 0 | e | r kmem_cache_alloc_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | e->pnum | |
| LOCK2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | global &mtd_table_mutex |
drivers/mtd/ubi/wl.c return_unused_peb() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| DATA_SOURCE | 0 | e | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | e | unit_byte |
| HALF_LOCKED2 | global &ubi_devices_mutex |
drivers/mtd/ubi/wl.c serve_prot_queue() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| HALF_LOCKED2 | &ubi->device_mutex | ||
| HALF_LOCKED2 | &ubi->fm_eba_sem | ||
| HALF_LOCKED2 | &ubi->move_mutex | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |
drivers/mtd/ubi/wl.c ubi_bitflip_check() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| CAPPED_DATA | 0 | e | 1 |
| CAPABLE | 0 | 24 | |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |
drivers/mtd/ubi/wl.c ubi_bitflip_check() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 1-u64max |
| PARAM_VALUE | 0 | e->u.rb.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 0 | e->u.rb.rb_right | 0,4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| CAPPED_DATA | 0 | e | 1 |
| CAPPED_DATA | 0 | e->pnum | 1 |
| CAPPED_DATA | 0 | &e->u.rb | 1 |
| CAPABLE | 0 | 24 | |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |
drivers/mtd/ubi/wl.c ubi_refill_pools_and_lock() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 1-u64max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->rb_node | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | e | unit_byte |
| LOCK2 | &ubi->fm_eba_sem | ||
| LOCK2 | &ubi->fm_protect | ||
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| HALF_LOCKED2 | &le->mutex | ||
| HALF_LOCKED2 | &ubi->device_mutex | ||
| HALF_LOCKED2 | global &ubi_devices_mutex | ||
| TYPE_LOCK | (struct ubi_device)->fm_eba_sem | ||
| TYPE_LOCK | (struct ubi_device)->fm_protect | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |
drivers/mtd/ubi/wl.c ubi_wl_init() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| DATA_SOURCE | 0 | e | r kmem_cache_alloc_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | global &mtd_table_mutex |
drivers/mtd/ubi/wl.c ubi_wl_init() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| DATA_SOURCE | 0 | e | r kmem_cache_alloc_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | global &mtd_table_mutex |
drivers/mtd/ubi/wl.c ubi_wl_init() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| DATA_SOURCE | 0 | e | r kmem_cache_alloc_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | global &mtd_table_mutex |
drivers/mtd/ubi/wl.c ubi_wl_put_peb() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 1-u64max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &le->mutex | ||
| LOCK2 | &ubi->fm_protect | ||
| LOCK2 | &ubi->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->fm_protect | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock |
drivers/mtd/ubi/wl.c ubi_wl_scrub_peb() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &le->mutex | ||
| LOCK2 | &ubi->wl_lock | ||
| HALF_LOCKED2 | &ubi->ckvol_mutex | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock |
drivers/mtd/ubi/wl.c wear_leveling_worker() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | e | unit_byte |
| LOCK2 | &ubi->fm_eba_sem | ||
| LOCK2 | &ubi->move_mutex | ||
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| HALF_LOCKED2 | &ubi->device_mutex | ||
| TYPE_LOCK | (struct ubi_device)->fm_eba_sem | ||
| TYPE_LOCK | (struct ubi_device)->move_mutex | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |
drivers/mtd/ubi/wl.c wear_leveling_worker() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| DATA_SOURCE | 0 | e | r get_peb_for_wl |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ubi->fm_eba_sem | ||
| LOCK2 | &ubi->move_mutex | ||
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| HALF_LOCKED2 | &ubi->device_mutex | ||
| TYPE_LOCK | (struct ubi_device)->fm_eba_sem | ||
| TYPE_LOCK | (struct ubi_device)->move_mutex | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |
drivers/mtd/ubi/wl.c wear_leveling_worker() -> wl_tree_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | e | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->rb_node | 0,4096-ptr_max |
| DATA_SOURCE | 0 | e | r get_peb_for_wl |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | e->pnum | |
| LOCK2 | &ubi->fm_eba_sem | ||
| LOCK2 | &ubi->move_mutex | ||
| LOCK2 | &ubi->wl_lock | ||
| LOCK2 | &ubi->work_sem | ||
| HALF_LOCKED2 | &ubi->device_mutex | ||
| TYPE_LOCK | (struct ubi_device)->fm_eba_sem | ||
| TYPE_LOCK | (struct ubi_device)->move_mutex | ||
| TYPE_LOCK | (struct ubi_device)->wl_lock | ||
| TYPE_LOCK | (struct ubi_device)->work_sem |