Documented in 1 files:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
drivers/mtd/ubi/wl.c find_mean_wl_entry() -> find_wl_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ubi | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->rb_node | 4096-ptr_max |
| PARAM_VALUE | 3 | pick_max | 0 |
| CAPPED_DATA | 0 | ubi->wl_free_max_diff | 1 |
| CAPPED_DATA | 2 | diff | 1 |
| DATA_SOURCE | 0 | ubi | $0 |
| DATA_SOURCE | 1 | root | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | ubi->bgt_thread->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->ec_hdr_alsize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->leb_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->mtd->erasesize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->peb_count | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->peb_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vid_hdr_aloffset | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vtbl_size | |
| LOCK2 | 0 | &ubi->fm_eba_sem | |
| LOCK2 | 0 | &ubi->fm_protect | |
| LOCK2 | 0 | &ubi->wl_lock | |
| LOCK2 | 0 | &ubi->work_sem | |
| HALF_LOCKED2 | &le->mutex | ||
| HALF_LOCKED2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | 0 | &ubi->device_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 need_wear_leveling() -> find_wl_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ubi | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->rb_node | 1-u64max |
| PARAM_VALUE | 3 | pick_max | 0 |
| BUF_SIZE | 0 | ubi | (-1),128 |
| BUF_SIZE | 0 | ubi | (-1),128 |
| BUF_SIZE | 0 | ubi->lookuptbl | (-1),8 |
| DATA_SOURCE | 0 | ubi | $0 |
| STR_LEN | 0 | ubi->dev.parent->driver_data | (-1) |
| STR_LEN | 0 | ubi->mtd | (-1) |
| STR_LEN | 0 | ubi->mtd->dev.driver_data | (-1) |
| STR_LEN | 0 | ubi->mtd->name | (-1) |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | ubi->bgt_thread->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->ec_hdr_alsize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->fm_anchor->pnum | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->fm_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->leb_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->mtd->erasesize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->peb_count | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->peb_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vid_hdr_aloffset | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vid_hdr_alsize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vtbl_size | |
| LOCK2 | 0 | &ubi->wl_lock | |
| HALF_LOCKED2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | 0 | &ubi->device_mutex | |
| HALF_LOCKED2 | 0 | &ubi->fm_eba_sem | |
| HALF_LOCKED2 | 0 | &ubi->move_mutex | |
| HALF_LOCKED2 | 0 | &ubi->work_sem | |
| TYPE_LOCK | (struct ubi_device)->wl_lock |
drivers/mtd/ubi/wl.c need_wear_leveling() -> find_wl_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ubi | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->rb_node | 1-u64max |
| PARAM_VALUE | 3 | pick_max | 0 |
| BUF_SIZE | 0 | ubi | (-1),128 |
| BUF_SIZE | 0 | ubi | (-1),128 |
| BUF_SIZE | 0 | ubi->lookuptbl | (-1),8 |
| DATA_SOURCE | 0 | ubi | $0 |
| STR_LEN | 0 | ubi->dev.parent->driver_data | (-1) |
| STR_LEN | 0 | ubi->mtd | (-1) |
| STR_LEN | 0 | ubi->mtd->dev.driver_data | (-1) |
| STR_LEN | 0 | ubi->mtd->name | (-1) |
| PARAM_COMPARE | 0 | ubi->fm_wl_pool.size | != $0->fm_wl_pool.used |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | ubi->bgt_thread->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->ec_hdr_alsize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->fm_anchor->pnum | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->fm_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->leb_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->mtd->erasesize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->peb_count | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->peb_size | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vid_hdr_aloffset | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vid_hdr_alsize | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vtbl_size | |
| LOCK2 | 0 | &ubi->wl_lock | |
| HALF_LOCKED2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | 0 | &ubi->device_mutex | |
| HALF_LOCKED2 | 0 | &ubi->fm_eba_sem | |
| HALF_LOCKED2 | 0 | &ubi->move_mutex | |
| HALF_LOCKED2 | 0 | &ubi->work_sem | |
| TYPE_LOCK | (struct ubi_device)->wl_lock |
drivers/mtd/ubi/wl.c ubi_refill_pools_and_lock() -> find_wl_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ubi | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->rb_node | 4096-ptr_max |
| PARAM_VALUE | 3 | pick_max | 0-1 |
| CAPPED_DATA | 0 | ubi->fm_anchor | 1 |
| CAPPED_DATA | 0 | &ubi->fm_eba_sem | 1 |
| CAPPED_DATA | 0 | &ubi->fm_protect | 1 |
| CAPPED_DATA | 0 | &ubi->work_sem | 1 |
| DATA_SOURCE | 0 | ubi | $0 |
| FUZZY_MAX | 3 | pick_max | 1 |
| HARD_MAX | 3 | pick_max | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | ubi->bgt_thread->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 0 | ubi->vid_hdr_aloffset | |
| LOCK2 | 0 | &ubi->fm_eba_sem | |
| LOCK2 | 0 | &ubi->fm_protect | |
| LOCK2 | 0 | &ubi->wl_lock | |
| LOCK2 | 0 | &ubi->work_sem | |
| HALF_LOCKED2 | &le->mutex | ||
| HALF_LOCKED2 | global &ubi_devices_mutex | ||
| HALF_LOCKED2 | 0 | &ubi->device_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 |