Hello,

> 
> Great explanation! igb_clean_rx_irq_zc() does not need the same treatment,
> correct?
> 
> Reviewed-by: Kurt Kanzenbach <[email protected]>
> 

Looks in the ZC path each frame fits in a single buffer, so 
igb_ptp_rx_pktstamp() only runs on that one buffer. The bug only hits the 
regular RX path, which can spread a frame over multiple buffers and calls 
igb_ptp_rx_pktstamp() on each one - a continuation buffer can then be misread 
as a timestamp header.

On affected systems I switched to Intel's out-of-tree igb 5.19.10 driver, which 
is not affected. I also reproduced both the failure and the 5.19.10 success 
with a simple UDP test client/server (jumbo all-zero payloads), matching what 
the real GigE camera showed

Regards
Tjerk

Reply via email to