Message ID | 20241213073645.2347787-1-ming.lei@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | blktests: src/miniublk.c: fix segment fault when io_uring is disabled | expand |
On Dec 13, 2024 / 15:36, Ming Lei wrote: > When io_uring is disabled, ublk_ctrl_init() will return NULL, so we > have to check the result. > > Fixes segment fault reported from Yi. Ming, let me confirm, the segmentation fault was reported in the blktests GitHub PR 153 [1]. AFAIU, the segmentation fault cause is in liburing, not in blktests src/miniublk.c. So I guess that this patch is not needed. Do you have same view? [1] https://github.com/osandov/blktests/pull/153
On Wed, Dec 18, 2024 at 6:17 PM Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com> wrote: > > On Dec 13, 2024 / 15:36, Ming Lei wrote: > > When io_uring is disabled, ublk_ctrl_init() will return NULL, so we > > have to check the result. > > > > Fixes segment fault reported from Yi. > > Ming, let me confirm, the segmentation fault was reported in the blktests GitHub > PR 153 [1]. AFAIU, the segmentation fault cause is in liburing, not in blktests > src/miniublk.c. So I guess that this patch is not needed. Do you have same view? Hi Shinichiro, This patch fixes another segment fault which is miniublk specific. Thanks,
On Dec 18, 2024 / 18:38, Ming Lei wrote: > On Wed, Dec 18, 2024 at 6:17 PM Shinichiro Kawasaki > <shinichiro.kawasaki@wdc.com> wrote: > > > > On Dec 13, 2024 / 15:36, Ming Lei wrote: > > > When io_uring is disabled, ublk_ctrl_init() will return NULL, so we > > > have to check the result. > > > > > > Fixes segment fault reported from Yi. > > > > Ming, let me confirm, the segmentation fault was reported in the blktests GitHub > > PR 153 [1]. AFAIU, the segmentation fault cause is in liburing, not in blktests > > src/miniublk.c. So I guess that this patch is not needed. Do you have same view? > > Hi Shinichiro, > > This patch fixes another segment fault which is miniublk specific. Got it, I have applied this patch. Thanks!
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; }
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(-)