Re: [PATCH v4] kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq

From: Andrey Konovalov
Date: Fri Nov 13 2020 - 07:51:34 EST


On Fri, Nov 13, 2020 at 1:30 PM Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx> wrote:
>
> On 2020-10-16 15:57:45 [+0200], Andrey Konovalov wrote:
> > --- a/drivers/usb/core/hcd.c
> > +++ b/drivers/usb/core/hcd.c
> > @@ -1646,9 +1646,16 @@ static void __usb_hcd_giveback_urb(struct urb *urb)
> >
> > /* pass ownership to the completion handler */
> > urb->status = status;
> > - kcov_remote_start_usb((u64)urb->dev->bus->busnum);
> > + /*
> > + * This function can be called in task context inside another remote
> > + * coverage collection section, but KCOV doesn't support that kind of
> > + * recursion yet. Only collect coverage in softirq context for now.
> > + */
> > + if (in_serving_softirq())
>
> Could this in_serving_softirq() usage be replaced, please?

Hi Sebastian,

Replaced with what and why?

Thanks!