Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

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