Skip to content

Commit 66bba1f

Browse files
akodanevgregkh
authored andcommitted
net: lan743x: fix potential out-of-bounds write in lan743x_ptp_io_event_clock_get()
[ Upstream commit e353b08 ] Before calling lan743x_ptp_io_event_clock_get(), the 'channel' value is checked against the maximum value of PCI11X1X_PTP_IO_MAX_CHANNELS(8). This seems correct and aligns with the PTP interrupt status register (PTP_INT_STS) specifications. However, lan743x_ptp_io_event_clock_get() writes to ptp->extts[] with only LAN743X_PTP_N_EXTTS(4) elements, using channel as an index: lan743x_ptp_io_event_clock_get(..., u8 channel,...) { ... /* Update Local timestamp */ extts = &ptp->extts[channel]; extts->ts.tv_sec = sec; ... } To avoid an out-of-bounds write and utilize all the supported GPIO inputs, set LAN743X_PTP_N_EXTTS to 8. Detected using the static analysis tool - Svace. Fixes: 60942c3 ("net: lan743x: Add support for PTP-IO Event Input External Timestamp (extts)") Signed-off-by: Alexey Kodanev <aleksei.kodanev@bell-sw.com> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Acked-by: Rengarajan S <rengarajan.s@microchip.com> Link: https://patch.msgid.link/20250616113743.36284-1-aleksei.kodanev@bell-sw.com Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 7382b6f commit 66bba1f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/net/ethernet/microchip/lan743x_ptp.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
*/
1919
#define LAN743X_PTP_N_EVENT_CHAN 2
2020
#define LAN743X_PTP_N_PEROUT LAN743X_PTP_N_EVENT_CHAN
21-
#define LAN743X_PTP_N_EXTTS 4
22-
#define LAN743X_PTP_N_PPS 0
2321
#define PCI11X1X_PTP_IO_MAX_CHANNELS 8
22+
#define LAN743X_PTP_N_EXTTS PCI11X1X_PTP_IO_MAX_CHANNELS
23+
#define LAN743X_PTP_N_PPS 0
2424
#define PTP_CMD_CTL_TIMEOUT_CNT 50
2525

2626
struct lan743x_adapter;

0 commit comments

Comments
 (0)