Re: [PATCH 2/2] virtio: don't free memory until the underlying struct device has been released

From: Michael S. Tsirkin
Date: Sun Jan 04 2015 - 10:41:14 EST


On Sun, Jan 04, 2015 at 10:03:27AM -0500, Sasha Levin wrote:
> On 01/04/2015 06:26 AM, Michael S. Tsirkin wrote:
> > On Fri, Jan 02, 2015 at 02:47:40PM -0500, Sasha Levin wrote:
> >> > When releasing a virtio device, We can't free a struct virtio_device until the
> >> > underlying struct device has been released, which might not happen immediately
> >> > on device_unregister() even if that was the device's last reference.
> >> >
> >> > Instead, free the memory only once we know the device is gone in the release
> >> > callback.
> >> >
> >> > Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
> >
> > Isn't this an old bug: do we need to copy stable on a fix?
> >
> > What is the behaviour without this patch?
> > Is there a way to make this cause a crash?
>
> It will oops if CONFIG_DEBUG_KOBJECT_RELEASE is enabled. I guess
> it needs to go to stable as well.
>
>
> Thanks,
> Sasha

I see.

It's probably a good idea to document the crash in the commit log,
and also add a code comment.

I'll post the series with these minor tweaks, please confirm
that this fixes the issues for you.

--
MST
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/