linux-stable/drivers/virtio
Maximilian Heyne 1014f3ec66 virtio-mmio: fix memory leak of vm_dev
commit fab7f25922 upstream.

With the recent removal of vm_dev from devres its memory is only freed
via the callback virtio_mmio_release_dev. However, this only takes
effect after device_add is called by register_virtio_device. Until then
it's an unmanaged resource and must be explicitly freed on error exit.

This bug was discovered and resolved using Coverity Static Analysis
Security Testing (SAST) by Synopsys, Inc.

Cc: stable@vger.kernel.org
Fixes: 55c91fedd0 ("virtio-mmio: don't break lifecycle of vm_dev")
Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Message-Id: <20230911090328.40538-1-mheyne@amazon.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
2023-11-08 11:22:15 +01:00
..
Kconfig
Makefile
virtio.c virtio: acknowledge all features before access 2022-03-16 13:20:27 +01:00
virtio_balloon.c virtio_balloon: Fix endless deflation and inflation on arm64 2023-11-08 11:22:15 +01:00
virtio_input.c
virtio_mmio.c virtio-mmio: fix memory leak of vm_dev 2023-11-08 11:22:15 +01:00
virtio_pci_common.c virtio-pci: Remove wrong address verification in vp_del_vqs() 2022-06-25 11:49:17 +02:00
virtio_pci_common.h
virtio_pci_legacy.c
virtio_pci_modern.c
virtio_ring.c treewide: Remove uninitialized_var() usage 2023-08-11 11:45:01 +02:00