Defined in 1 files as a macro:

Defined in 1 files as a label:

Defined in 4 files as a function:

Referenced in 13 files:

Smatch caller information:

lib/crypto/curve25519-hacl64.c addanddouble_fmonty() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 3169618519307976904
PARAM_VALUE 1 a 5777632660122648656,5777632660122648816
PARAM_VALUE 2 b 4096-ptr_max
BUF_SIZE 0 output 120
BUF_SIZE 0 output 120
BUF_SIZE 1 a 80,240
BUF_SIZE 1 a 80,240
DATA_SOURCE 1 a $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519-hacl64.c addanddouble_fmonty() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 3169618519307976944
PARAM_VALUE 1 a 4096-ptr_max
PARAM_VALUE 2 b 5777632660122648696,5777632660122648856
BUF_SIZE 0 output 80
BUF_SIZE 0 output 80
BUF_SIZE 1 a 160,320
BUF_SIZE 1 a 160,320
DATA_SOURCE 1 a $2
BIT_INFO 1 a 0x502e464b0d4e4000,0xffffffffffffffff
BIT_INFO 1 a 0x502e464b0d4e4000,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519-hacl64.c addanddouble_fmonty() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 5777632660122648696,5777632660122648856
PARAM_VALUE 1 a 3169618519307976984
PARAM_VALUE 2 b 4096-ptr_max
BUF_SIZE 1 a 40
BUF_SIZE 1 a 40
BUF_SIZE 2 b 80
BUF_SIZE 2 b 80
DATA_SOURCE 2 b $4
BIT_INFO 2 b 0x16fafe3eeb76000,0xffffffffffffffff
BIT_INFO 2 b 0x16fafe3eeb76000,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519-hacl64.c addanddouble_fmonty() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 4096-ptr_max
PARAM_VALUE 1 a 3169618519307976824
PARAM_VALUE 2 b 3169618519307976864
BUF_SIZE 0 output 160,320
BUF_SIZE 0 output 160,320
BUF_SIZE 1 a 200
BUF_SIZE 1 a 200
BUF_SIZE 2 b 160
BUF_SIZE 2 b 160
DATA_SOURCE 0 output $0
BIT_INFO 0 output 0x502e464b0d4e4000,0xffffffffffffffff
BIT_INFO 0 output 0x502e464b0d4e4000,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519-hacl64.c addanddouble_fmonty() -> fmul()

Type Parameter Key Value
PARAM_VALUE 1 a 3169618519307976784
PARAM_VALUE 2 b 3169618519307976864
BUF_SIZE 1 a 240
BUF_SIZE 1 a 240
BUF_SIZE 2 b 160
BUF_SIZE 2 b 160
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519-hacl64.c format_scalar_of_point() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8223835515165872168
PARAM_VALUE 1 a 4096-ptr_max
PARAM_VALUE 2 b 4096-ptr_max
BUF_SIZE 0 output 40
BUF_SIZE 0 output 40
BUF_SIZE 1 a 120
BUF_SIZE 1 a 120
BUF_SIZE 2 b 80
BUF_SIZE 2 b 80
DATA_SOURCE 1 a $1
BIT_INFO 1 a 0x5fee2708b7c6c000,0xffffffffffffffff
BIT_INFO 1 a 0x5fee2708b7c6c000,0xffffffffffffffff
BIT_INFO 2 b 0x7220eed44cb41000,0xffffffffffffffff
BIT_INFO 2 b 0x7220eed44cb41000,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c curve25519_ever64_base() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 3154786544978518208
PARAM_VALUE 1 a 4096-ptr_max
PARAM_VALUE 2 b 3154786544978518176
PARAM_VALUE 3 tmp 3154786544978518272
BUF_SIZE 0 output 224
BUF_SIZE 0 output 224
BUF_SIZE 2 b 256
BUF_SIZE 2 b 256
BUF_SIZE 3 tmp 160
BUF_SIZE 3 tmp 160
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &handshake->lock
HALF_LOCKED2 &handshake->static_identity->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 &wg->static_identity.lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c encode_point() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 4096-ptr_max
PARAM_VALUE 1 a 4096-ptr_max
PARAM_VALUE 2 b 4096-ptr_max
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 64,416
BUF_SIZE 2 b 64,416
BUF_SIZE 3 tmp 128
DATA_SOURCE 2 b $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475296
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 96
BUF_SIZE 0 output 96
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 2 b $1
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 4096-ptr_max
PARAM_VALUE 1 a 8078434219534475296
PARAM_VALUE 2 b 4096-ptr_max
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 128
BUF_SIZE 0 output 128
BUF_SIZE 1 a 96
BUF_SIZE 1 a 96
BUF_SIZE 2 b 128
BUF_SIZE 2 b 128
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
BIT_INFO 0 output 0x701c5d1f0cb66000,0xffffffffffffffff
BIT_INFO 0 output 0x701c5d1f0cb66000,0xffffffffffffffff
BIT_INFO 2 b 0x701c5d1f0cb66000,0xffffffffffffffff
BIT_INFO 2 b 0x701c5d1f0cb66000,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475296
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475296
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 96
BUF_SIZE 0 output 96
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 96
BUF_SIZE 2 b 96
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475296
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475296
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 96
BUF_SIZE 0 output 96
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 96
BUF_SIZE 2 b 96
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475328
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475296
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 64
BUF_SIZE 0 output 64
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 96
BUF_SIZE 2 b 96
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475360
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475328
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 32
BUF_SIZE 0 output 32
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 64
BUF_SIZE 2 b 64
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475296
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475296
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 96
BUF_SIZE 0 output 96
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 96
BUF_SIZE 2 b 96
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475328
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475296
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 64
BUF_SIZE 0 output 64
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 96
BUF_SIZE 2 b 96
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475360
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475328
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 32
BUF_SIZE 0 output 32
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 64
BUF_SIZE 2 b 64
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 8078434219534475360
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 8078434219534475296
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 32
BUF_SIZE 0 output 32
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 96
BUF_SIZE 2 b 96
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c finv() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 4096-ptr_max
PARAM_VALUE 1 a 8078434219534475360
PARAM_VALUE 2 b 4096-ptr_max
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 32
BUF_SIZE 0 output 32
BUF_SIZE 1 a 32
BUF_SIZE 1 a 32
BUF_SIZE 2 b 128
BUF_SIZE 2 b 128
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 0 output $0
DATA_SOURCE 3 tmp $2
BIT_INFO 2 b 0x701c5d1f0cb66000,0x701c5d1f0cb66000
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

lib/crypto/curve25519.c point_add_and_double() -> fmul()

Type Parameter Key Value
PARAM_VALUE 0 output 4096-ptr_max
PARAM_VALUE 1 a 4096-ptr_max
PARAM_VALUE 2 b 4096-ptr_max
PARAM_VALUE 3 tmp 4096-ptr_max
BUF_SIZE 0 output 168
BUF_SIZE 0 output 168
BUF_SIZE 1 a 168
BUF_SIZE 1 a 168
BUF_SIZE 2 b 64
BUF_SIZE 2 b 64
BUF_SIZE 3 tmp 128
BUF_SIZE 3 tmp 128
DATA_SOURCE 2 b $0
DATA_SOURCE 3 tmp $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &peer->handshake.lock
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex