Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 18 files:

Smatch caller information:

drivers/rtc/rtc-isl1208.c timestamp0_show() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 6276054051086868480
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)-164
PARAM_VALUE 0 tm->tm_sec 0-165
PARAM_VALUE 0 tm->tm_year 100-265
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/rtc/rtc-mv.c mv_rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)-164
PARAM_VALUE 0 tm->tm_sec 0-165
PARAM_VALUE 0 tm->tm_year 100-265
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/rtc-lpc32xx.c lpc32xx_rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_mday 1-31
PARAM_VALUE 0 tm->tm_mon (-10)-13
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/rtc-m48t59.c m48t59_rtc_readalarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)-164
PARAM_VALUE 0 tm->tm_sec 0-165
BUF_SIZE 0 tm 36
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/rtc-pcf2127.c pcf2127_rtc_ts_read() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 9152804514980511744
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)-164
PARAM_VALUE 0 tm->tm_sec 0-165
PARAM_VALUE 0 tm->tm_year 70-169
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex

drivers/rtc/rtc-wilco-ec.c wilco_ec_rtc_read() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max
PARAM_VALUE 0 tm->tm_hour 0-255
PARAM_VALUE 0 tm->tm_mday 0-255
PARAM_VALUE 0 tm->tm_min 0-255
PARAM_VALUE 0 tm->tm_sec 0-255
DATA_SOURCE 0 tm $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rtc->ops_lock

drivers/rtc/rtc-rv3028.c timestamp0_show() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2893850943931662336
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)-164
PARAM_VALUE 0 tm->tm_sec 0-165
PARAM_VALUE 0 tm->tm_year 100-265
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/rtc/rtc-da9055.c da9055_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour 0-31
PARAM_VALUE 0 tm->tm_mday 0-31
PARAM_VALUE 0 tm->tm_min 0-63
PARAM_VALUE 0 tm->tm_mon (-1)-14
PARAM_VALUE 0 tm->tm_sec 0
PARAM_VALUE 0 tm->tm_year 100-163
BUF_SIZE 0 tm 36
DATA_SOURCE 0 tm $1
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/rtc-da9052.c da9052_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour 0-31
PARAM_VALUE 0 tm->tm_mday 0-31
PARAM_VALUE 0 tm->tm_min 0-63
PARAM_VALUE 0 tm->tm_mon (-1)-14
PARAM_VALUE 0 tm->tm_sec 0
PARAM_VALUE 0 tm->tm_year 100-163
BUF_SIZE 0 tm 36
DATA_SOURCE 0 tm $1
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/rtc-cpcap.c cpcap_rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_mday 1-31
PARAM_VALUE 0 tm->tm_mon (-10)-13
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/dev.c rtc_dev_ioctl() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 6377702576050155524
PARAM_VALUE 0 tm->tm_mday 1-31
PARAM_VALUE 0 tm->tm_mon (-10)-11
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 tm->tm_hour s32min-s32max
USER_DATA 0 tm->tm_min s32min-s32max
USER_DATA 0 tm->tm_sec s32min-s32max

drivers/rtc/rtc-lpc24xx.c lpc24xx_rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/rtc-asm9260.c asm9260_rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
HOST_DATA 0 tm->tm_hour 0-s32max
HOST_DATA 0 tm->tm_mday 0-s32max
HOST_DATA 0 tm->tm_min 0-s32max
HOST_DATA 0 tm->tm_mon 0-s32max
HOST_DATA 0 tm->tm_sec 0-s32max
HOST_DATA 0 tm->tm_wday 0-s32max
HOST_DATA 0 tm->tm_yday 0-s32max
HOST_DATA 0 tm->tm_year 0-s32max
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/interface.c __rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour (-1)
PARAM_VALUE 0 tm->tm_mday (-1)
PARAM_VALUE 0 tm->tm_min (-1)
PARAM_VALUE 0 tm->tm_mon (-1)
PARAM_VALUE 0 tm->tm_sec (-1)
PARAM_VALUE 0 tm->tm_year (-1)

drivers/rtc/interface.c __rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_mday 1-31
PARAM_VALUE 0 tm->tm_mon (-10)-11

drivers/rtc/interface.c __rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour s32min-23
PARAM_VALUE 0 tm->tm_min s32min-59
PARAM_VALUE 0 tm->tm_sec s32min-59

drivers/rtc/interface.c __rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_mday 1-31
PARAM_VALUE 0 tm->tm_mon (-10)-13

drivers/rtc/interface.c __rtc_read_time() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max
PARAM_VALUE 0 tm->tm_mday 0-31
PARAM_VALUE 0 tm->tm_mon (-10)-13
DATA_SOURCE 0 tm $1
FUZZY_MAX 0 tm->tm_mday 0
MEM_ZERO 0 tm
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/interface.c __rtc_set_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 20449480456105988,5782819413759840260,7637157372424630276
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/interface.c rtc_initialize_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_mday (-1),1-31
PARAM_VALUE 0 tm->tm_mon (-10)-13

drivers/rtc/interface.c rtc_set_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 433456976781529092,5708819620589129732,6377702576050155524
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 tm->tm_hour s32min-s32max
USER_DATA 0 tm->tm_isdst s32min-s32max
USER_DATA 0 tm->tm_mday s32min-s32max
USER_DATA 0 tm->tm_min s32min-s32max
USER_DATA 0 tm->tm_mon s32min-s32max
USER_DATA 0 tm->tm_sec s32min-s32max
USER_DATA 0 tm->tm_wday s32min-s32max
USER_DATA 0 tm->tm_yday s32min-s32max
USER_DATA 0 tm->tm_year s32min-s32max
HALF_LOCKED2 &of->mutex

drivers/rtc/interface.c rtc_set_time() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 399660627032096768,5131844922220883968
DATA_SOURCE 0 tm $1
RX_PATH
USER_DATA 0 tm->tm_hour s32min-s32max
USER_DATA 0 tm->tm_isdst s32min-s32max
USER_DATA 0 tm->tm_mday s32min-s32max
USER_DATA 0 tm->tm_min s32min-s32max
USER_DATA 0 tm->tm_mon s32min-s32max
USER_DATA 0 tm->tm_sec s32min-s32max
USER_DATA 0 tm->tm_wday s32min-s32max
USER_DATA 0 tm->tm_yday s32min-s32max
USER_DATA 0 tm->tm_year s32min-s32max

drivers/rtc/rtc-vt8500.c vt8500_rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)
PARAM_VALUE 0 tm->tm_sec 0-165
PARAM_VALUE 0 tm->tm_year (-1)
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

arch/x86/kernel/rtc.c mach_set_cmos_time() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 4363181923014778880
PARAM_VALUE 0 tm->tm_mday 1-31
PARAM_VALUE 0 tm->tm_mon (-10)-13
HALF_LOCKED2 &pool->lock

drivers/rtc/rtc-ma35d1.c ma35d1_rtc_read_alarm() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 2412595738338004996
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)-164
PARAM_VALUE 0 tm->tm_sec 0-165
PARAM_VALUE 0 tm->tm_year 100-265
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/rtc/rtc-ma35d1.c ma35d1_rtc_read_time() -> rtc_valid_tm()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max
PARAM_VALUE 0 tm->tm_hour 0-165
PARAM_VALUE 0 tm->tm_mday 0-165
PARAM_VALUE 0 tm->tm_min 0-165
PARAM_VALUE 0 tm->tm_mon (-1)-164
PARAM_VALUE 0 tm->tm_sec 0-165
PARAM_VALUE 0 tm->tm_year 100-265
DATA_SOURCE 0 tm $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 tm->tm_wday s32min-s32max
HALF_LOCKED2 &rtc->ops_lock