aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_functions.c
diff options
context:
space:
mode:
authorGerhard Engleder <[email protected]>2025-05-14 19:56:57 +0000
committerJakub Kicinski <[email protected]>2025-05-15 14:58:18 +0000
commitb3ca9eef6646576ad506a96d941d87a69f66732a (patch)
treed2ccbfa0dffa9fb2fc0508df041f0f64df2ec0ab /kernel/trace/trace_functions.c
parentnet/tls: fix kernel panic when alloc_page failed (diff)
downloadkernel-b3ca9eef6646576ad506a96d941d87a69f66732a.tar.gz
kernel-b3ca9eef6646576ad506a96d941d87a69f66732a.zip
tsnep: fix timestamping with a stacked DSA driver
This driver is susceptible to a form of the bug explained in commit c26a2c2ddc01 ("gianfar: Fix TX timestamping with a stacked DSA driver") and in Documentation/networking/timestamping.rst section "Other caveats for MAC drivers", specifically it timestamps any skb which has SKBTX_HW_TSTAMP, and does not consider if timestamping has been enabled in adapter->hwtstamp_config.tx_type. Evaluate the proper TX timestamping condition only once on the TX path (in tsnep_xmit_frame_ring()) and store the result in an additional TX entry flag. Evaluate the new TX entry flag in the TX confirmation path (in tsnep_tx_poll()). This way SKBTX_IN_PROGRESS is set by the driver as required, but never evaluated. SKBTX_IN_PROGRESS shall not be evaluated as it can be set by a stacked DSA driver and evaluating it would lead to unwanted timestamps. Fixes: 403f69bbdbad ("tsnep: Add TSN endpoint Ethernet MAC driver") Suggested-by: Vladimir Oltean <[email protected]> Signed-off-by: Gerhard Engleder <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'kernel/trace/trace_functions.c')
0 files changed, 0 insertions, 0 deletions