On Wed, 2020-10-07 at 10:17 +0000, Aleksandr Nogikh wrote: > > @@ -904,6 +905,10 @@ struct sk_buff { > __u16 network_header; > __u16 mac_header; > > +#ifdef CONFIG_KCOV > + u64 kcov_handle; > +#endif [...]
> @@ -233,6 +233,7 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t > gfp_mask, > skb->end = skb->tail + size; > skb->mac_header = (typeof(skb->mac_header))~0U; > skb->transport_header = (typeof(skb->transport_header))~0U; > + skb_set_kcov_handle(skb, kcov_common_handle()); Btw, you're only setting this here. It seems to me it would make sense to copy it when the skb is copied, rather than then having it set to the kcov handle of the (interrupted) task that was copying the skb? johannes