RE: Re: [PATCH] crypto: virtio-crypto: call finalize with bh disabled

From: Gonglei (Arei)
Date: Wed Sep 27 2023 - 22:03:26 EST




> -----Original Message-----
> From: zhenwei pi [mailto:pizhenwei@xxxxxxxxxxxxx]
> Sent: Thursday, September 28, 2023 9:24 AM
> To: Michael S. Tsirkin <mst@xxxxxxxxxx>; Gonglei (Arei)
> <arei.gonglei@xxxxxxxxxx>
> Cc: Halil Pasic <pasic@xxxxxxxxxxxxx>; Herbert Xu
> <herbert@xxxxxxxxxxxxxxxxxxx>; linux-crypto@xxxxxxxxxxxxxxx; Marc
> Hartmayer <mhartmay@xxxxxxxxxxxxx>; Jason Wang
> <jasowang@xxxxxxxxxx>; virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; Cornelia Huck <cohuck@xxxxxxxxxx>
> Subject: Re: Re: [PATCH] crypto: virtio-crypto: call finalize with bh disabled
>
> Hi Michael & Lei,
>
> I volunteer to fix this by workqueue.
>
Thanks, patches are always welcome.

> I also notice that device drivers use workqueue to handle config-changed again
> and again, what about re-implement __virtio_config_changed() by kicking
> workqueue instead?
>
Personally, I prefer to implement it in the device driver case by case. some devices
want to work in the upper half of the interrupt context, such as virtio-mem.

> By the way, balloon dirvers uses
> spin_lock_irqsave/spin_unlock_irqrestore in config-changed callback, do it
> handle correctly?
>
It's ok. The critical resource protected is global system_freezable_wq.

Regards,
-Gonglei

> On 9/27/23 21:25, Halil Pasic wrote:
> > On Wed, 27 Sep 2023 09:24:09 +0000
> > "Gonglei (Arei)" <arei.gonglei@xxxxxxxxxx> wrote:
> >
> >>> On a related note, config change callback is also handled
> >>> incorrectly in this driver, it takes a mutex from interrupt context.
> >>
> >> Good catch. Will fix it.
> >
> > Thanks Gonglei! Sorry I first misunderstood this as a problem within
> > the virtio-ccw driver, but it is actually about virtio-crypto. Thanks
> > for fixing this!
> >
> > Regards,
> > Halil
>
> --
> zhenwei pi