<div dir="ltr">I am sorry for breaking the mailing list and sending my answer only to Igor, I've never used emails that much. To make it clear, the answer was: "Hi Igor! No, it hasn't been reproduced in reality because I don't have any appropriate device."</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">пн, 4 дек. 2023 г. в 19:06, Igor Russkikh <<a href="mailto:irusskikh@marvell.com">irusskikh@marvell.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Hi Daniil,<br>
<br>
> If is_ptp_ring == true in the loop of __aq_ring_xdp_clean function,<br>
> then a timestamp is stored from a packet in a field of skb object,<br>
> which is not allocated at the moment of the call (skb == NULL).<br>
> <br>
> Generalize aq_ptp_extract_ts and other affected functions so they don't<br>
> work with struct sk_buff*, but with struct skb_shared_hwtstamps*.<br>
> <br>
> Found by Linux Verification Center (<a href="http://linuxtesting.org" rel="noreferrer" target="_blank">linuxtesting.org</a>) with SVACE<br>
<br>
Thanks for finding this and working on this.<br>
<br>
Have you reproduced it in wild, or this just comes out of static analysis?<br>
<br>
I'm asking because looking into the flow you described - it looks like XDP<br>
mode should immediately fail with null pointer access on any rx traffic.<br>
But that was never reported.<br>
<br>
I will try to debug and validate the fix, but this may take some time.<br>
<br>
So for now <br>
<br>
Reviewed-by: Igor Russkikh <<a href="mailto:irusskikh@marvell.com" target="_blank">irusskikh@marvell.com</a>><br>
<br>
<br>
Thanks<br>
Igor<br>
</blockquote></div>