Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

drivers/staging/rtl8723bs/core/rtw_security.c rtw_tkip_decrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
BUF_SIZE 0 ctx 1032
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 bh

drivers/staging/rtl8723bs/core/rtw_security.c rtw_tkip_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
BUF_SIZE 0 ctx 1032
RX_PATH
NOCHECK_CALL
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte

drivers/staging/rtl8723bs/core/rtw_security.c rtw_tkip_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 0-255
PARAM_VALUE 0 ctx->y 0-255
PARAM_VALUE 1 out 4096-ptr_max
PARAM_VALUE 3 len 4
BUF_SIZE 0 ctx 1032
BUF_SIZE 2 in 4
RX_PATH
NOCHECK_CALL
UNITS 1 out unit_byte

drivers/staging/rtl8723bs/core/rtw_security.c rtw_tkip_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
BUF_SIZE 0 ctx 1032
RX_PATH
NOCHECK_CALL
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte

drivers/staging/rtl8723bs/core/rtw_security.c rtw_tkip_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 0-255
PARAM_VALUE 0 ctx->y 0-255
PARAM_VALUE 1 out 4096-ptr_max
PARAM_VALUE 3 len 4
BUF_SIZE 0 ctx 1032
BUF_SIZE 2 in 4
RX_PATH
NOCHECK_CALL
UNITS 1 out unit_byte

drivers/staging/rtl8723bs/core/rtw_security.c rtw_wep_decrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
BUF_SIZE 0 ctx 1032
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 bh

drivers/staging/rtl8723bs/core/rtw_security.c rtw_wep_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
BUF_SIZE 0 ctx 1032
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte

drivers/staging/rtl8723bs/core/rtw_security.c rtw_wep_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 0-255
PARAM_VALUE 0 ctx->y 0-255
PARAM_VALUE 1 out 4096-ptr_max
PARAM_VALUE 3 len 4
BUF_SIZE 0 ctx 1032
BUF_SIZE 2 in 4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 out unit_byte

drivers/staging/rtl8723bs/core/rtw_security.c rtw_wep_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
BUF_SIZE 0 ctx 1032
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte

drivers/staging/rtl8723bs/core/rtw_security.c rtw_wep_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 0-255
PARAM_VALUE 0 ctx->y 0-255
PARAM_VALUE 1 out 4096-ptr_max
PARAM_VALUE 3 len 4
BUF_SIZE 0 ctx 1032
BUF_SIZE 2 in 4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 out unit_byte

drivers/net/wireless/intel/ipw2x00/libipw_crypto_tkip.c libipw_tkip_decrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 *out 0-255
USER_DATA 2 *in 0-255
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &priv->low_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/wireless/intel/ipw2x00/libipw_crypto_tkip.c libipw_tkip_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
PARAM_VALUE 3 len 5-2147483627
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 *out 0-255[u]
USER_DATA 2 *in 0-255[u]
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte
USER_PTR 1 out
USER_PTR 2 in
LOCK2 &ieee->lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct libipw_device)->lock

drivers/net/wireless/intel/ipw2x00/libipw_crypto_wep.c libipw_wep_decrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &priv->low_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/wireless/intel/ipw2x00/libipw_crypto_wep.c libipw_wep_encrypt() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 *out 0-255[u]
USER_DATA 2 *in 0-255[u]
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte
USER_PTR 1 out
USER_PTR 2 in
LOCK2 &ieee->lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct libipw_device)->lock

fs/smb/server/auth.c ksmbd_decode_ntlmssp_auth_blob() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
PARAM_VALUE 1 out 4096-ptr_max
PARAM_VALUE 2 in 4096-ptr_max
PARAM_VALUE 3 len 0-40
BUF_SIZE 0 ctx 1032
BUF_SIZE 1 out 40
BUF_SIZE 1 out 40
DATA_SOURCE 0 ctx r _kmalloc_noprof
DATA_SOURCE 1 out $4
NOCHECK_CALL
USER_DATA 2 *in 0-255
USER_DATA 3 len 0-40
UNITS 2 in unit_byte
UNITS 3 len unit_byte
USER_PTR 2 in
LOCK2 &conn->srv_mutex
LOCK2 &pool->lock
TYPE_LOCK (struct ksmbd_conn)->srv_mutex

fs/smb/client/cifsencrypt.c calc_seckey() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
PARAM_VALUE 2 in 6186015469822881792
PARAM_VALUE 3 len 16
BUF_SIZE 0 ctx 1032
BUF_SIZE 1 out 16
BUF_SIZE 2 in 16
DATA_SOURCE 0 ctx r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ses->session_mutex
TYPE_LOCK (struct cifs_ses)->session_mutex

crypto/arc4.c crypto_arc4_crypt() -> arc4_crypt()

Type Parameter Key Value
BUF_SIZE 0 ctx (-1),4096
BUF_SIZE 0 ctx (-1),4096
BUF_SIZE 1 out (-1),4,24,64,168-s32max
BUF_SIZE 1 out (-1),4,24,64,168-s32max
BUF_SIZE 2 in (-1),4,24,64,168-s32max
BUF_SIZE 2 in (-1),4,24,64,168-s32max
CAPPED_DATA 3 len 1
DATA_SOURCE 0 ctx $4
DATA_SOURCE 1 out $2
DATA_SOURCE 2 in $1
DATA_SOURCE 3 len $3
NOSPEC 3 len
NOSPEC 3 len
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 ctx->x 0-u32max[u]
USER_DATA 0 ctx->y 0-u32max[u]
USER_DATA 1 out 4096-ptr_max[c][u]
USER_DATA 1 *out 0-255
USER_DATA 2 in 4096-ptr_max[c][u]
USER_DATA 2 *in 0-255
USER_DATA 3 len 1-s32max[c]
UNITS 3 len unit_byte
USER_PTR 0 ctx
USER_PTR 1 out
USER_PTR 2 in

drivers/net/ppp/ppp_mppe.c mppe_compress() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
DATA_SOURCE 1 out $2 [m]
DATA_SOURCE 2 in $1 [m]
DATA_SOURCE 3 len $3 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ppp->wlock
LOCK2 bh
TYPE_LOCK (struct ppp)->wlock

drivers/net/ppp/ppp_mppe.c mppe_decompress() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 3 len 1
DATA_SOURCE 1 out $3 [m]
DATA_SOURCE 2 in $1 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ppp->rlock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &network->close_lock
TYPE_LOCK (struct ppp)->rlock

drivers/net/ppp/ppp_mppe.c mppe_decompress() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 0-255
PARAM_VALUE 0 ctx->y 0-255
PARAM_VALUE 1 out 4096-ptr_max
PARAM_VALUE 2 in 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ppp->rlock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &network->close_lock
TYPE_LOCK (struct ppp)->rlock

drivers/net/ppp/ppp_mppe.c mppe_rekey() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
PARAM_VALUE 2 in 4096-ptr_max
BUF_SIZE 1 out 16
BUF_SIZE 2 in 20
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 &ppp->rlock
HALF_LOCKED2 &ppp->wlock
HALF_LOCKED2 rcu_read

net/mac80211/wep.c ieee80211_wep_decrypt_data() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
DATA_SOURCE 0 ctx $0
DATA_SOURCE 1 out $3
DATA_SOURCE 2 in $3
RX_PATH
NOCHECK_CALL
USER_DATA 1 *out 0-255
USER_DATA 2 *in 0-255
UNITS 1 out unit_byte
UNITS 2 in unit_byte
UNITS 3 len unit_byte
USER_PTR 1 out
USER_PTR 2 in

net/mac80211/wep.c ieee80211_wep_encrypt_data() -> arc4_crypt()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->x 1
PARAM_VALUE 0 ctx->y 0
DATA_SOURCE 0 ctx $0
DATA_SOURCE 1 out $3
DATA_SOURCE 2 in $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 3 len unit_byte