On 23/06/2022 09:36, Hangyu Hua wrote: > [1] commit 1680939e9ecf ("rpmsg: virtio: Fix possible double free in > rpmsg_virtio_add_ctrl_dev()") > [2] commit c2eecefec5df ("rpmsg: virtio: Fix possible double free in > rpmsg_probe()") > [3] commit bb17d110cbf2 ("rpmsg: Fix calling device_lock() on > non-initialized device") I think only the last [3] introduced it, because it's the commit missing put_device in first error path. > > The above three patches merged at the same time introduced a new bug. > [1] and [2] make rpmsg_ns_register_device and rpmsg_ctrldev_register_device > need to call the callback function internally to free vch when it fails. > [3] has an error return path not handled vch. > > Fix this by adding a put_device() to the error path. > > Fixes: bb17d110cbf2 ("rpmsg: Fix calling device_lock() on non-initialized device") > Signed-off-by: Hangyu Hua <hbh25y@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> Best regards, Krzysztof