]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
can: peak_usb: fix shift-out-of-bounds issue
authorStéphane Grosjean <stephane.grosjean@hms-networks.com>
Thu, 18 Sep 2025 13:23:57 +0000 (15:23 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 19 Sep 2025 17:17:37 +0000 (19:17 +0200)
Explicitly uses a 64-bit constant when the number of bits used for its
shifting is 32 (which is the case for PC CAN FD interfaces supported by
this driver).

Signed-off-by: Stéphane Grosjean <stephane.grosjean@hms-networks.com>
Link: https://patch.msgid.link/20250918132413.30071-1-stephane.grosjean@free.fr
Reported-by: Marc Kleine-Budde <mkl@pengutronix.de>
Closes: https://lore.kernel.org/20250917-aboriginal-refined-honeybee-82b1aa-mkl@pengutronix.de
Fixes: bb4785551f64 ("can: usb: PEAK-System Technik USB adapters driver core")
[mkl: update subject, apply manually]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/usb/peak_usb/pcan_usb_core.c

index 117637b9b995b9e7aa8f313574cf9e0a9929e93d..dd5caa1c302b99c8474d244dd193d2923815c535 100644 (file)
@@ -111,7 +111,7 @@ void peak_usb_update_ts_now(struct peak_time_ref *time_ref, u32 ts_now)
                u32 delta_ts = time_ref->ts_dev_2 - time_ref->ts_dev_1;
 
                if (time_ref->ts_dev_2 < time_ref->ts_dev_1)
-                       delta_ts &= (1 << time_ref->adapter->ts_used_bits) - 1;
+                       delta_ts &= (1ULL << time_ref->adapter->ts_used_bits) - 1;
 
                time_ref->ts_total += delta_ts;
        }