Jacky Bai
d41b52a4f5
clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
...
commit 5b8843fcd49827813da80c0f590a17ae4ce93c5d upstream.
In tpm_set_next_event(delta), return -ETIME by wrong cast to int when delta
is larger than INT_MAX.
For example:
tpm_set_next_event(delta = 0xffff_fffe)
{
...
next = tpm_read_counter(); // assume next is 0x10
next += delta; // next will 0xffff_fffe + 0x10 = 0x1_0000_000e
now = tpm_read_counter(); // now is 0x10
...
return (int)(next - now) <= 0 ? -ETIME : 0;
^^^^^^^^^^
0x1_0000_000e - 0x10 = 0xffff_fffe, which is -2 when
cast to int. So return -ETIME.
}
To fix this, introduce a 'prev' variable and check if 'now - prev' is
larger than delta.
Cc: stable@vger.kernel.org
Fixes: 059ab7b82e ("clocksource/drivers/imx-tpm: Add imx tpm timer support")
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20240725193355.1436005-1-Frank.Li@nxp.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:03:56 +02:00
..
accessibility
acpi
ACPI: SBS: manage alarm sysfs attribute through psy core
2024-08-19 05:33:47 +02:00
amba
android
binder: fix UAF caused by offsets overwrite
2024-09-12 11:03:55 +02:00
ata
ata: pata_macio: Use WARN instead of BUG
2024-09-12 11:03:55 +02:00
atm
atm: idt77252: prevent use after free in dequeue_rx()
2024-09-04 13:14:51 +02:00
auxdisplay
base
devres: Initialize an uninitialized struct member
2024-09-12 11:03:54 +02:00
bcma
block
rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings
2024-08-19 05:33:40 +02:00
bluetooth
Bluetooth: hci_ldisc: check HCI_UART_PROTO_READY flag in HCIUARTGETPROTO
2024-09-04 13:15:01 +02:00
bus
bus: tegra-aconnect: Update dependency to ARCH_TEGRA
2024-03-26 18:22:15 -04:00
cdrom
char
hwrng: amd - Convert PCIBIOS_* return codes to errnos
2024-08-19 05:33:37 +02:00
clk
clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API
2024-09-12 11:03:51 +02:00
clocksource
clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
2024-09-12 11:03:56 +02:00
connector
counter
cpufreq
cpufreq: exit() callback is optional
2024-06-16 13:28:34 +02:00
cpuidle
crypto
crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
2024-06-16 13:28:51 +02:00
dax
dca
devfreq
dio
dma
dmaengine: ioatdma: Fix missing kmem_cache_destroy()
2024-07-05 09:08:23 +02:00
dma-buf
dma-buf/sw-sync: don't enable IRQ from sync_print_obj()
2024-06-16 13:28:47 +02:00
edac
EDAC, i10nm: make skx_common.o a separate module
2024-08-19 05:33:25 +02:00
eisa
extcon
extcon: max8997: select IRQ_DOMAIN instead of depending on it
2024-06-16 13:28:43 +02:00
firewire
firewire: nosy: ensure user_length is taken into account when fetching packet contents
2024-05-17 11:43:54 +02:00
firmware
firmware: turris-mox-rwtm: Initialize completion before mailbox
2024-08-19 05:33:28 +02:00
fpga
fsi
gnss
gpio
gpio: davinci: Validate the obtained number of IRQs
2024-07-05 09:08:28 +02:00
gpu
drm/amd/display: Skip wbscl_set_scaler_filter if filter is null
2024-09-12 11:03:50 +02:00
greybus
greybus: Fix use-after-free bug in gb_interface_release due to race condition.
2024-07-05 09:08:20 +02:00
hid
HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup
2024-09-12 11:03:54 +02:00
hsi
hv
Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
2024-09-12 11:03:55 +02:00
hwmon
hwmon: (w83627ehf) Fix underflows seen when writing limit attributes
2024-09-12 11:03:54 +02:00
hwspinlock
hwtracing
intel_th: pci: Add Lunar Lake support
2024-07-05 09:08:19 +02:00
i2c
i2c: riic: avoid potential division by zero
2024-09-04 13:14:53 +02:00
i3c
i3c: master: cdns: Update maximum prescaler value for i2c clock
2024-02-23 08:25:02 +01:00
ide
idle
iio
iio: fix scale application in iio_convert_raw_to_processed_unlocked
2024-09-12 11:03:55 +02:00
infiniband
IB/hfi1: Fix potential deadlock on &irq_src_lock and &dd->uctxt_lock
2024-09-04 13:14:54 +02:00
input
Input: uinput - reject requests with unreasonable number of slots
2024-09-12 11:03:55 +02:00
interconnect
interconnect: Treat xlate() returning NULL node as an error
2024-01-08 11:29:45 +01:00
iommu
iommu/vt-d: Handle volatile descriptor status read
2024-09-12 11:03:53 +02:00
ipack
irqchip
irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1
2024-09-12 11:03:52 +02:00
isdn
mISDN: Fix a use after free in hfcmulti_tx()
2024-08-19 05:33:42 +02:00
leds
leds: ss4200: Convert PCIBIOS_* return codes to errnos
2024-08-19 05:33:37 +02:00
lightnvm
macintosh
macintosh/therm_windtunnel: fix module unload.
2024-08-19 05:33:34 +02:00
mailbox
mcb
mcb: fix error handling for different scenarios when parsing
2023-11-28 16:50:19 +00:00
md
dm init: Handle minors larger than 255
2024-09-12 11:03:53 +02:00
media
media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse
2024-09-12 11:03:52 +02:00
memory
memstick
message
mfd
mfd: omap-usb-tll: Use struct_size to allocate tll
2024-08-19 05:33:32 +02:00
misc
VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
2024-09-12 11:03:55 +02:00
mmc
mmc: sdhci-of-aspeed: fix module autoloading
2024-09-12 11:03:51 +02:00
mtd
ubi: eba: properly rollback inside self_check_eba
2024-08-19 05:33:38 +02:00
mux
net
usbnet: ipheth: race between ipheth_close and error handling
2024-09-12 11:03:55 +02:00
nfc
nfc: pn533: Add poll mod list filling check
2024-09-04 13:15:04 +02:00
ntb
nubus
nvdimm
nd_btt: Make BTT lanes preemptible
2023-11-20 10:30:12 +01:00
nvme
nvmet-rdma: fix possible bad dereference when freeing rsps
2024-09-04 13:14:57 +02:00
nvmem
nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc
2024-09-12 11:03:55 +02:00
of
of/irq: Prevent device address out-of-bounds read in interrupt map walk
2024-09-12 11:03:55 +02:00
opp
oprofile
parisc
parisc: iosapic.c: Fix sparse warnings
2023-10-10 21:46:39 +02:00
parport
dev/parport: fix the array out-of-bounds risk
2024-08-19 05:33:43 +02:00
pci
PCI: Add missing bridge lock to pci_bus_lock()
2024-09-12 11:03:54 +02:00
pcmcia
pcmcia: Use resource_size function on resource object
2024-09-12 11:03:52 +02:00
perf
perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
2023-09-23 11:00:03 +02:00
phy
phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
2024-02-23 08:25:06 +01:00
pinctrl
pinctrl: single: fix potential NULL dereference in pcs_get_function()
2024-09-04 13:15:02 +02:00
platform
platform/x86: dell-smbios: Fix error path in dell_smbios_init()
2024-09-12 11:03:52 +02:00
pnp
PNP: ACPI: fix fortify warning
2024-02-23 08:24:54 +01:00
power
power: supply: axp288_charger: Round constant_charge_voltage writes down
2024-08-19 05:33:52 +02:00
powercap
pps
ps3
ptp
ptp: Fix error message on failed pin verification
2024-07-05 09:08:11 +02:00
pwm
pwm: stm32: Always do lazy disabling
2024-08-19 05:33:26 +02:00
rapidio
ras
regulator
regulator: core: Fix modpost error "regulator_get_regmap" undefined
2024-07-05 09:08:23 +02:00
remoteproc
remoteproc: imx_rproc: Skip over memory region when node value is NULL
2024-08-19 05:33:44 +02:00
reset
reset: hi6220: Add support for AO reset controller
2024-09-12 11:03:51 +02:00
rpmsg
rpmsg: virtio: Free driver_override when rpmsg_remove()
2024-02-23 08:24:48 +01:00
rtc
rtc: isl1208: Fix return value of nvmem callbacks
2024-08-19 05:33:39 +02:00
s390
s390/cio: rename bitmap_size() -> idset_bitmap_size()
2024-09-04 13:14:51 +02:00
sbus
scsi
scsi: aacraid: Fix double-free on probe failure
2024-09-04 13:15:05 +02:00
sfi
sh
siox
slimbus
slimbus: core: Remove usage of the deprecated ida_simple_xx() API
2024-04-13 12:51:26 +02:00
soc
soc: qcom: cmd-db: Map shared memory as WC, not WB
2024-09-04 13:15:04 +02:00
soundwire
soundwire: stream: fix programming slave ports for non-continous port maps
2024-09-04 13:15:03 +02:00
spi
spi: spi-fsl-lpspi: Fix scldiv calculation
2024-08-19 05:33:50 +02:00
spmi
ssb
ssb: Fix division by zero issue in ssb_calc_clock_rate
2024-09-04 13:14:53 +02:00
staging
staging: iio: frequency: ad9834: Validate frequency parameter value
2024-09-12 11:03:55 +02:00
target
scsi: target: Fix SELinux error when systemd-modules loads the target module
2024-05-17 11:43:51 +02:00
tc
tee
thermal
thermal: core: prevent potential string overflow
2023-11-20 10:30:09 +01:00
thunderbolt
tty
serial: core: check uartclk for zero to avoid divide by zero
2024-08-19 05:33:52 +02:00
uio
Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
2024-09-12 11:03:55 +02:00
usb
usb: uas: set host status byte on data completion error
2024-09-12 11:03:52 +02:00
vfio
vfio/platform: Create persistent IRQ handlers
2024-04-13 12:51:34 +02:00
vhost
vhost: Add smp_rmb() in vhost_vq_avail_empty()
2024-05-02 16:18:29 +02:00
video
fbdev: savage: Handle err return when savagefb_check_var failed
2024-06-16 13:28:50 +02:00
virt
virtio
virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
2024-06-16 13:28:46 +02:00
visorbus
vlynq
vme
w1
watchdog
watchdog: stm32_iwdg: initialize default timeout
2024-03-26 18:22:24 -04:00
xen
xen/events: close evtchn after mapping cleanup
2024-04-13 12:51:29 +02:00
zorro
Kconfig
Makefile