Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- drivers/net/thunderbolt/main.c
- drivers/thunderbolt/dma_test.c
- drivers/thunderbolt/property.c
- drivers/thunderbolt/stream.c
- drivers/thunderbolt/test.c
- drivers/thunderbolt/xdomain.c
Smatch caller information:
drivers/net/thunderbolt/main.c tbnet_exit() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
drivers/net/thunderbolt/main.c tbnet_init() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 1-u64max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_create_dir |
| NOCHECK_CALL |
drivers/thunderbolt/xdomain.c tb_service_release() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &subsys->su_mutex |
drivers/thunderbolt/xdomain.c tb_xdomain_exit() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
drivers/thunderbolt/xdomain.c tb_xdomain_get_properties() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 1-u64max |
| NOCHECK_CALL | |||
| LOCK2 | &xd->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tb_xdomain)->lock |
drivers/thunderbolt/xdomain.c tb_xdomain_get_properties() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL | |||
| LOCK2 | &xd->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tb_xdomain)->lock |
drivers/thunderbolt/xdomain.c tb_xdomain_release() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &subsys->su_mutex |
drivers/thunderbolt/xdomain.c update_property_block() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_copy_dir |
| NOCHECK_CALL | |||
| LOCK2 | &xd->lock | ||
| LOCK2 | global &xdomain_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tb_xdomain)->lock |
drivers/thunderbolt/xdomain.c update_property_block() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_copy_dir |
| NOCHECK_CALL | |||
| LOCK2 | &xd->lock | ||
| LOCK2 | global &xdomain_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tb_xdomain)->lock |
drivers/thunderbolt/xdomain.c update_property_block() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_copy_dir |
| NOCHECK_CALL | |||
| LOCK2 | &xd->lock | ||
| LOCK2 | global &xdomain_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tb_xdomain)->lock |
drivers/thunderbolt/xdomain.c update_property_block() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_copy_dir |
| NOCHECK_CALL | |||
| LOCK2 | &xd->lock | ||
| LOCK2 | global &xdomain_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tb_xdomain)->lock |
drivers/thunderbolt/xdomain.c update_service() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &pool->lock |
drivers/thunderbolt/stream.c service_remove_properties() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem |
drivers/thunderbolt/stream.c service_remove_properties() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem |
drivers/thunderbolt/stream.c service_update_properties() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 1-u64max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_create_dir |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &frag->frag_sem |
drivers/thunderbolt/stream.c tbstream_exit() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
drivers/thunderbolt/stream.c tbstream_init() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 1-u64max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_create_dir |
| NOCHECK_CALL |
drivers/thunderbolt/property.c __tb_property_parse_dir() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r _kzalloc_noprof |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &xd->lock |
drivers/thunderbolt/property.c __tb_property_parse_dir() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r _kzalloc_noprof |
| NOCHECK_CALL |
drivers/thunderbolt/property.c __tb_property_parse_dir() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 0 |
| BUF_SIZE | 0 | dir | 24 |
| BUF_SIZE | 0 | dir->uuid | 16 |
| DATA_SOURCE | 0 | dir | r _kzalloc_noprof |
| NOCHECK_CALL |
drivers/thunderbolt/property.c __tb_property_parse_dir() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 1-u64max |
| BUF_SIZE | 0 | dir | 24 |
| BUF_SIZE | 0 | dir->uuid | (-1),16 |
| DATA_SOURCE | 0 | dir | r _kzalloc_noprof |
| NOCHECK_CALL |
drivers/thunderbolt/property.c copy_dir() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_create_dir |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | _T->lock |
drivers/thunderbolt/property.c tb_property_free() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | _T->lock |
drivers/thunderbolt/test.c tb_test_property_copy() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_copy_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_copy() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_format() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_merge() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 1-u64max |
| BUF_SIZE | 0 | dir | 24 |
| CAPPED_DATA | 0 | dir | 1 |
| DATA_SOURCE | 0 | dir | r tb_property_create_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_merge() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 1-u64max |
| BUF_SIZE | 0 | dir | 24 |
| CAPPED_DATA | 0 | dir | 1 |
| DATA_SOURCE | 0 | dir | r tb_property_create_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_parse() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_parse_dir_len_underflow() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 0,4096-ptr_max |
| BUF_SIZE | 0 | dir | (-1),24 |
| BUF_SIZE | 0 | dir | (-1),24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_parse_recursion() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 0,4096-ptr_max |
| BUF_SIZE | 0 | dir | (-1),24 |
| BUF_SIZE | 0 | dir | (-1),24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_parse_rootdir_overflow() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 0,4096-ptr_max |
| BUF_SIZE | 0 | dir | (-1),24 |
| BUF_SIZE | 0 | dir | (-1),24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_parse_u32_wrap() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 0,4096-ptr_max |
| BUF_SIZE | 0 | dir | (-1),24 |
| BUF_SIZE | 0 | dir | (-1),24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/test.c tb_test_property_parse_zero_length() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 0,4096-ptr_max |
| BUF_SIZE | 0 | dir | (-1),24 |
| BUF_SIZE | 0 | dir | (-1),24 |
| DATA_SOURCE | 0 | dir | r tb_property_parse_dir |
| NOCHECK_CALL |
drivers/thunderbolt/dma_test.c dma_test_exit() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
drivers/thunderbolt/dma_test.c dma_test_init() -> tb_property_free_dir()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dir | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->properties.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dir->uuid | 1-u64max |
| BUF_SIZE | 0 | dir | 24 |
| DATA_SOURCE | 0 | dir | r tb_property_create_dir |
| NOCHECK_CALL |