Documented in 1 files:
Defined in 2 files as a function:
- include/linux/list.h, line 1106 (as a function)
- tools/include/linux/list.h, line 680 (as a function)
Referenced in 15 files:
- drivers/crypto/cavium/cpt/cptvf_main.c, line 251
- drivers/md/dm-snap.c, line 815
- drivers/net/ethernet/aquantia/atlantic/aq_filters.c, line 684
- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c, line 189
- drivers/net/ethernet/intel/i40e/i40e_ethtool.c, line 3783
- drivers/net/ethernet/intel/igb/igb_ethtool.c, line 2882
- drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c, line 2890
- drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c, line 3499
- drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c, line 326
- drivers/net/wireguard/selftest/allowedips.c, line 175
- fs/libfs.c
- fs/namespace.c
- kernel/bpf/cgroup.c, line 786
- lib/tests/list-test.c
- net/batman-adv/fragmentation.c, line 212
Smatch caller information:
drivers/net/ethernet/aquantia/atlantic/aq_filters.c aq_update_table_filters() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prev->next | 1-u64max |
| NOCHECK_CALL |
net/batman-adv/fragmentation.c batadv_frag_insert_packet() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &chain->lock | ||
| LOCK2 | bh | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct batadv_frag_table_entry)->lock |
drivers/net/wireguard/allowedips.c horrible_insert_ordered() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &mutex |
drivers/crypto/cavium/cpt/cptvf_main.c alloc_command_queues() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 24 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/md/dm-snap.c dm_insert_exception() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &s->lock | ||
| HALF_LOCKED2 | lock.complete_slot | ||
| HALF_LOCKED2 | lock.pending_slot |
drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_update_ethtool_fdir_entry() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prev->next | 1-u64max |
| NOCHECK_CALL |
fs/namespace.c clone_mnt() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &root->d_inode->i_rwsem | ||
| HALF_LOCKED2 | &to_path.dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | global &acct_on_mutex | ||
| HALF_LOCKED2 | global &namespace_sem |
fs/namespace.c do_set_group() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | global &namespace_sem |
kernel/bpf/cgroup.c insert_pl_to_hlist() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 1-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | global &cgroup_mutex |
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c nix_update_mce_list_entry() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| RX_PATH | |||
| NOCHECK_CALL | |||
| LOCK2 | &mcast->mce_lock | ||
| HALF_LOCKED2 | &rvu->flr_lock | ||
| TYPE_LOCK | (struct nix_mcast)->mce_lock |
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c ixgbe_update_ethtool_fdir_entry() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prev->next | 1-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &adapter->fdir_perfect_lock | ||
| HALF_LOCKED2 | &block->cb_lock | ||
| TYPE_LOCK | (struct ixgbe_adapter)->fdir_perfect_lock |
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c txgbe_update_ethtool_fdir_entry() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 1-u64max |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | &txgbe->fdir_perfect_lock | ||
| TYPE_LOCK | (struct txgbe)->fdir_perfect_lock |
drivers/net/ethernet/intel/igb/igb_ethtool.c igb_update_ethtool_nfc_entry() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | &adapter->nfc_lock | ||
| TYPE_LOCK | (struct igb_adapter)->nfc_lock |
lib/tests/list-test.c hlist_test_add() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 7750414414285979648 |
| PARAM_VALUE | 1 | prev | 114546257186250752 |
| PARAM_VALUE | 1 | prev->next | 0 |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_del() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 5947716152500293632 |
| PARAM_VALUE | 1 | prev | 3295469340062085120 |
| PARAM_VALUE | 1 | prev->next | 0 |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_del_init() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 1359624600211832832 |
| PARAM_VALUE | 1 | prev | 1753525233711714304 |
| PARAM_VALUE | 1 | prev->next | 0 |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4270199517800857608 |
| PARAM_VALUE | 1 | prev | 4270199517800857600 |
| BUF_SIZE | 0 | n | 32 |
| BUF_SIZE | 1 | prev | 48 |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4270199517800857616 |
| PARAM_VALUE | 1 | prev | 4270199517800857608 |
| BUF_SIZE | 1 | prev | 32 |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each_entry() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each_entry_continue() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each_entry_from() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each_entry_safe() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each_safe() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 2395473870353477640 |
| PARAM_VALUE | 1 | prev | 2395473870353477632 |
| BUF_SIZE | 0 | n | 32 |
| BUF_SIZE | 1 | prev | 48 |
| NOCHECK_CALL |
lib/tests/list-test.c hlist_test_for_each_safe() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 2395473870353477648 |
| PARAM_VALUE | 1 | prev | 2395473870353477640 |
| BUF_SIZE | 1 | prev | 32 |
| NOCHECK_CALL |
fs/libfs.c dcache_dir_lseek() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &dentry->d_inode->i_rwsem | ||
| LOCK2 | &dentry->d_lockref.lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem | ||
| TYPE_LOCK | (struct lockref)->lock |
fs/libfs.c scan_positives() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->pprev | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &dentry->d_inode->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_fd.c hclge_fd_insert_rule_node() -> hlist_add_behind()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | n | 4096-ptr_max |
| PARAM_VALUE | 0 | n->next | 0 |
| PARAM_VALUE | 0 | n->pprev | 0 |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &hdev->fd_rule_lock | ||
| LOCK2 | bh | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct hclge_dev)->fd_rule_lock |