diff mbox series

blktests: src/miniublk.c: fix segment fault when io_uring is disabled

Message ID 20241213073645.2347787-1-ming.lei@redhat.com (mailing list archive)
State New
Headers show
Series blktests: src/miniublk.c: fix segment fault when io_uring is disabled | expand

Commit Message

Ming Lei Dec. 13, 2024, 7:36 a.m. UTC
When io_uring is disabled, ublk_ctrl_init() will return NULL, so we
have to check the result.

Fixes segment fault reported from Yi.

Reported-by: Zhang Yi <yi.zhang@redhat.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
---
 src/miniublk.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/src/miniublk.c b/src/miniublk.c
index 73791fd..f98f850 100644
--- a/src/miniublk.c
+++ b/src/miniublk.c
@@ -1136,9 +1136,14 @@  static int ublk_stop_io_daemon(const struct ublk_dev *dev)
 static int __cmd_dev_del(int number, bool log)
 {
 	struct ublk_dev *dev;
-	int ret;
+	int ret = -ENODEV;
 
 	dev = ublk_ctrl_init();
+	if (!dev) {
+		ublk_err("del dev %d failed\n", number);
+		goto fail;
+	}
+
 	dev->dev_info.dev_id = number;
 
 	ret = ublk_ctrl_get_info(dev);
@@ -1208,8 +1213,14 @@  static int cmd_dev_del(int argc, char *argv[])
 
 static int __cmd_dev_list(int number, bool log)
 {
-	struct ublk_dev *dev = ublk_ctrl_init();
-	int ret;
+	struct ublk_dev *dev;
+	int ret = -ENODEV;
+
+	dev = ublk_ctrl_init();
+	if (!dev) {
+		ublk_err("list dev %d failed\n", number);
+		goto exit;
+	}
 
 	dev->dev_info.dev_id = number;
 
@@ -1223,7 +1234,7 @@  static int __cmd_dev_list(int number, bool log)
 	}
 
 	ublk_ctrl_deinit(dev);
-
+exit:
 	return ret;
 }