Files
linux-stable-mirror/drivers
Ilya DryomovandGreg Kroah-Hartman ae16346078 rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails
commit f7c4d9b133 upstream.

If getting an ID or setting up a work queue in rbd_dev_create() fails,
use-after-free on rbd_dev->rbd_client, rbd_dev->spec and rbd_dev->opts
is triggered in do_rbd_add().  The root cause is that the ownership of
these structures is transfered to rbd_dev prematurely and they all end
up getting freed when rbd_dev_create() calls rbd_dev_free() prior to
returning to do_rbd_add().

Found by Linux Verification Center (linuxtesting.org) with SVACE, an
incomplete patch submitted by Natalia Petrova <n.petrova@fintech.ru>.

Cc: stable@vger.kernel.org
Fixes: 1643dfa4c2 ("rbd: introduce a per-device ordered workqueue")
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-11 16:40:03 +01:00
..
2023-03-03 11:44:51 +01:00
2023-03-11 16:40:02 +01:00
2023-01-24 07:20:00 +01:00
2023-02-22 12:56:00 +01:00
2023-01-14 10:16:24 +01:00
2023-03-11 16:39:54 +01:00