Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/time/timekeeping.c __do_adjtimex() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.clock_valid 1-255
PARAM_VALUE 1 action 2
BUF_SIZE 0 tkd (-1),7488
BUF_SIZE 0 tkd (-1),7488
DATA_SOURCE 0 tkd $0
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &tkd->lock
TYPE_LOCK (struct tk_data)->lock

kernel/time/timekeeping.c __timekeeping_advance() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.clock_valid 1-255
PARAM_VALUE 0 tkd->shadow_timekeeper.cycle_interval 1-u64max
PARAM_VALUE 0 tkd->shadow_timekeeper.ntp_err_mult 0-1
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_mono.clock 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_mono.xtime_nsec 0-18446744073709551614
BUF_SIZE 0 tkd (-1),7488
BUF_SIZE 0 tkd (-1),7488
DATA_SOURCE 0 tkd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq
HALF_LOCKED2 0 &tkd->lock

kernel/time/timekeeping.c __timekeeping_inject_offset() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.clock_valid 1-255
PARAM_VALUE 0 tkd->shadow_timekeeper.id 1-u32max
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_mono.clock 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_mono.xtime_nsec 0-18446744073709551614
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_raw.xtime_nsec 0-18446744073709551614
PARAM_VALUE 0 tkd->timekeeper.id 0-8
PARAM_VALUE 1 action 3
BUF_SIZE 0 tkd (-1),7488
BUF_SIZE 0 tkd (-1),7488
DATA_SOURCE 0 tkd $0
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 0 &tkd->lock

kernel/time/timekeeping.c aux_clock_disable() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.clock_valid 0
PARAM_VALUE 1 action 3
DATA_SOURCE 0 tkd r aux_get_tk_data
CAPABLE 0 25
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 _T->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/time/timekeeping.c aux_clock_enable() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.clock_valid 1
PARAM_VALUE 0 tkd->shadow_timekeeper.cs_ns_to_cyc_shift 0-32
PARAM_VALUE 0 tkd->shadow_timekeeper.cycle_interval 1-u64max
PARAM_VALUE 0 tkd->shadow_timekeeper.ntp_err_mult 0
PARAM_VALUE 0 tkd->shadow_timekeeper.ntp_error 0
PARAM_VALUE 0 tkd->shadow_timekeeper.skew_delta 0
PARAM_VALUE 1 action 3
DATA_SOURCE 0 tkd r aux_get_tk_data
CAPABLE 0 25
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
LOCK2 _T->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/time/timekeeping.c aux_clock_set() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.clock_valid 1-255
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_mono.clock 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_mono.xtime_nsec 0-18446744073709551614
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_raw.xtime_nsec 0-18446744073709551614
PARAM_VALUE 1 action 3
DATA_SOURCE 0 tkd r aux_get_tk_data
NOCHECK_CALL

kernel/time/timekeeping.c change_clocksource() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 7993997016906715136
PARAM_VALUE 1 action 3
BUF_SIZE 0 tkd 7488
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 flags

kernel/time/timekeeping.c do_settimeofday64() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 7993997016906715136
PARAM_VALUE 1 action 3
BUF_SIZE 0 tkd 7488
NOCHECK_CALL
LOCK2 irq

kernel/time/timekeeping.c timekeeping_init() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 7993997016906715136
PARAM_VALUE 1 action 3
BUF_SIZE 0 tkd 7488
NOCHECK_CALL
LOCK2 irq

kernel/time/timekeeping.c timekeeping_inject_sleeptime64() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 7993997016906715136
PARAM_VALUE 1 action 3
BUF_SIZE 0 tkd 7488
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 &fsm->lock

kernel/time/timekeeping.c timekeeping_resume() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 7993997016906715136
PARAM_VALUE 1 action 2
BUF_SIZE 0 tkd 7488
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 global &tick_freeze_lock
HALF_LOCKED2 irq

kernel/time/timekeeping.c timekeeping_suspend() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 7993997016906715136
PARAM_VALUE 1 action 0
BUF_SIZE 0 tkd 7488
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 global &tick_freeze_lock
HALF_LOCKED2 irq

kernel/time/timekeeping.c tk_aux_update_clocksource() -> timekeeping_update_from_shadow()

Type Parameter Key Value
PARAM_VALUE 0 tkd 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.clock_valid 1-255
PARAM_VALUE 0 tkd->shadow_timekeeper.cs_ns_to_cyc_shift 0-32
PARAM_VALUE 0 tkd->shadow_timekeeper.cycle_interval 1-u64max
PARAM_VALUE 0 tkd->shadow_timekeeper.ntp_err_mult 0
PARAM_VALUE 0 tkd->shadow_timekeeper.ntp_error 0
PARAM_VALUE 0 tkd->shadow_timekeeper.skew_delta 0
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_mono.clock 4096-ptr_max
PARAM_VALUE 0 tkd->shadow_timekeeper.tkr_raw.clock 4096-ptr_max
PARAM_VALUE 1 action 3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &tkd->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct tk_data)->lock