Re: [PATCH v5 2/9] ALSA: virtio: add virtio sound driver

From: Takashi Iwai
Date: Thu Feb 25 2021 - 07:08:53 EST


On Thu, 25 Feb 2021 12:51:36 +0100,
Anton Yakovlev wrote:
>
> > Now I'm wondering whether it's safe to do that from this place.
> > Basically device_reprobe() unbinds the device that releases the full
> > resources once including the devm_* stuff. And this work itself is in
> > a part of devm allocated resource, so it'll be released there. That
> > said, we might hit use-after-free... This needs to be verified.
>
> It's safe. Suicide kernel workers are funny but possible things. Since
> the kernel itself (AFAIU) assumes such a situation and does not access
> the worker structure after the callback function call.

Indeed, process_one_work() in workqueue.c assures no access to the
work object after the callback. Then this must be fine. Good to
know!


thanks,

Takashi