* [PATCH 0/2] multipath-tools 0.12.0 - late minor fixes
@ 2025-09-05 21:07 Martin Wilck
2025-09-05 21:07 ` [PATCH 1/2] libmultipath: fix missing return value check in snprint_devices() Martin Wilck
2025-09-05 21:07 ` [PATCH 2/2] libmultipath/foreign/nvme: fix return value check in get_ctrl_blkdev() Martin Wilck
0 siblings, 2 replies; 6+ messages in thread
From: Martin Wilck @ 2025-09-05 21:07 UTC (permalink / raw)
To: Christophe Varoqui, Benjamin Marzinski; +Cc: Xose Vazquez Perez, dm-devel
Two minor fixes that resulted from a coverity scan.
Martin Wilck (2):
libmultipath: fix missing return value check in snprint_devices()
libmultipath/foreign/nvme: fix return value check in get_ctrl_blkdev()
libmultipath/foreign/nvme.c | 2 +-
libmultipath/print.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
--
2.51.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] libmultipath: fix missing return value check in snprint_devices()
2025-09-05 21:07 [PATCH 0/2] multipath-tools 0.12.0 - late minor fixes Martin Wilck
@ 2025-09-05 21:07 ` Martin Wilck
2025-09-08 18:34 ` Benjamin Marzinski
2025-09-05 21:07 ` [PATCH 2/2] libmultipath/foreign/nvme: fix return value check in get_ctrl_blkdev() Martin Wilck
1 sibling, 1 reply; 6+ messages in thread
From: Martin Wilck @ 2025-09-05 21:07 UTC (permalink / raw)
To: Christophe Varoqui, Benjamin Marzinski; +Cc: Xose Vazquez Perez, dm-devel
Coverity scan defect #488155.
Fixes: d041258 ("libmultipath: snprint_devices(): use udev_enumerate")
Signed-off-by: Martin Wilck <mwilck@suse.com>
---
libmultipath/print.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libmultipath/print.c b/libmultipath/print.c
index 019ae56..a7306f0 100644
--- a/libmultipath/print.c
+++ b/libmultipath/print.c
@@ -1993,7 +1993,8 @@ int snprint_devices(struct config *conf, struct strbuf *buff,
enm = udev_enumerate_new(udev);
if (!enm)
return 1;
- udev_enumerate_add_match_subsystem(enm, "block");
+ if ((r = udev_enumerate_add_match_subsystem(enm, "block")) < 0)
+ goto out;
if ((r = append_strbuf_str(buff, "available block devices:\n")) < 0)
goto out;
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] libmultipath/foreign/nvme: fix return value check in get_ctrl_blkdev()
2025-09-05 21:07 [PATCH 0/2] multipath-tools 0.12.0 - late minor fixes Martin Wilck
2025-09-05 21:07 ` [PATCH 1/2] libmultipath: fix missing return value check in snprint_devices() Martin Wilck
@ 2025-09-05 21:07 ` Martin Wilck
2025-09-08 18:54 ` Benjamin Marzinski
1 sibling, 1 reply; 6+ messages in thread
From: Martin Wilck @ 2025-09-05 21:07 UTC (permalink / raw)
To: Christophe Varoqui, Benjamin Marzinski; +Cc: Xose Vazquez Perez, dm-devel
Only a negative return value from udev_enumerate_add_match_subsystem()
indicates an error.
Fixes: 7b47762 ("libmultipath: nvme: fix path detection for kernel 4.16")
Signed-off-by: Martin Wilck <mwilck@suse.com>
---
libmultipath/foreign/nvme.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libmultipath/foreign/nvme.c b/libmultipath/foreign/nvme.c
index 0d19303..4cbdf60 100644
--- a/libmultipath/foreign/nvme.c
+++ b/libmultipath/foreign/nvme.c
@@ -536,7 +536,7 @@ struct udev_device *get_ctrl_blkdev(const struct context *ctx,
pthread_cleanup_push(_udev_enumerate_unref, enm);
if (udev_enumerate_add_match_parent(enm, ctrl) < 0)
goto out;
- if (udev_enumerate_add_match_subsystem(enm, "block"))
+ if (udev_enumerate_add_match_subsystem(enm, "block") < 0)
goto out;
if (udev_enumerate_scan_devices(enm) < 0) {
--
2.51.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] libmultipath: fix missing return value check in snprint_devices()
2025-09-05 21:07 ` [PATCH 1/2] libmultipath: fix missing return value check in snprint_devices() Martin Wilck
@ 2025-09-08 18:34 ` Benjamin Marzinski
2025-09-09 8:57 ` Martin Wilck
0 siblings, 1 reply; 6+ messages in thread
From: Benjamin Marzinski @ 2025-09-08 18:34 UTC (permalink / raw)
To: Martin Wilck; +Cc: Christophe Varoqui, Xose Vazquez Perez, dm-devel
On Fri, Sep 05, 2025 at 11:07:13PM +0200, Martin Wilck wrote:
> Coverity scan defect #488155.
>
Your fix looks fine, but the code I see right above it isn't. We should
not be returning a positive number here if things went wrong. Looking
at the udev_enumerate_new() code, we should be safe always trusting it to
set errno correctly. So, the code should probably be
if (!enm)
return -errno;
If you don't want to handle that is this commit then:
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
> Fixes: d041258 ("libmultipath: snprint_devices(): use udev_enumerate")
> Signed-off-by: Martin Wilck <mwilck@suse.com>
> ---
> libmultipath/print.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libmultipath/print.c b/libmultipath/print.c
> index 019ae56..a7306f0 100644
> --- a/libmultipath/print.c
> +++ b/libmultipath/print.c
> @@ -1993,7 +1993,8 @@ int snprint_devices(struct config *conf, struct strbuf *buff,
> enm = udev_enumerate_new(udev);
> if (!enm)
> return 1;
> - udev_enumerate_add_match_subsystem(enm, "block");
> + if ((r = udev_enumerate_add_match_subsystem(enm, "block")) < 0)
> + goto out;
>
> if ((r = append_strbuf_str(buff, "available block devices:\n")) < 0)
> goto out;
> --
> 2.51.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] libmultipath/foreign/nvme: fix return value check in get_ctrl_blkdev()
2025-09-05 21:07 ` [PATCH 2/2] libmultipath/foreign/nvme: fix return value check in get_ctrl_blkdev() Martin Wilck
@ 2025-09-08 18:54 ` Benjamin Marzinski
0 siblings, 0 replies; 6+ messages in thread
From: Benjamin Marzinski @ 2025-09-08 18:54 UTC (permalink / raw)
To: Martin Wilck; +Cc: Christophe Varoqui, Xose Vazquez Perez, dm-devel
On Fri, Sep 05, 2025 at 11:07:14PM +0200, Martin Wilck wrote:
> Only a negative return value from udev_enumerate_add_match_subsystem()
> indicates an error.
>
> Fixes: 7b47762 ("libmultipath: nvme: fix path detection for kernel 4.16")
>
> Signed-off-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
> ---
> libmultipath/foreign/nvme.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libmultipath/foreign/nvme.c b/libmultipath/foreign/nvme.c
> index 0d19303..4cbdf60 100644
> --- a/libmultipath/foreign/nvme.c
> +++ b/libmultipath/foreign/nvme.c
> @@ -536,7 +536,7 @@ struct udev_device *get_ctrl_blkdev(const struct context *ctx,
> pthread_cleanup_push(_udev_enumerate_unref, enm);
> if (udev_enumerate_add_match_parent(enm, ctrl) < 0)
> goto out;
> - if (udev_enumerate_add_match_subsystem(enm, "block"))
> + if (udev_enumerate_add_match_subsystem(enm, "block") < 0)
> goto out;
>
> if (udev_enumerate_scan_devices(enm) < 0) {
> --
> 2.51.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] libmultipath: fix missing return value check in snprint_devices()
2025-09-08 18:34 ` Benjamin Marzinski
@ 2025-09-09 8:57 ` Martin Wilck
0 siblings, 0 replies; 6+ messages in thread
From: Martin Wilck @ 2025-09-09 8:57 UTC (permalink / raw)
To: Benjamin Marzinski; +Cc: Christophe Varoqui, Xose Vazquez Perez, dm-devel
On Mon, 2025-09-08 at 14:34 -0400, Benjamin Marzinski wrote:
> On Fri, Sep 05, 2025 at 11:07:13PM +0200, Martin Wilck wrote:
> > Coverity scan defect #488155.
> >
>
> Your fix looks fine, but the code I see right above it isn't. We
> should
> not be returning a positive number here if things went wrong. Looking
> at the udev_enumerate_new() code, we should be safe always trusting
> it to
> set errno correctly. So, the code should probably be
>
> if (!enm)
> return -errno;
>
> If you don't want to handle that is this commit then:
Right. I'll push another fix on top, using your suggestion.
Thanks for spotting it!
Martin
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-09-09 8:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-05 21:07 [PATCH 0/2] multipath-tools 0.12.0 - late minor fixes Martin Wilck
2025-09-05 21:07 ` [PATCH 1/2] libmultipath: fix missing return value check in snprint_devices() Martin Wilck
2025-09-08 18:34 ` Benjamin Marzinski
2025-09-09 8:57 ` Martin Wilck
2025-09-05 21:07 ` [PATCH 2/2] libmultipath/foreign/nvme: fix return value check in get_ctrl_blkdev() Martin Wilck
2025-09-08 18:54 ` Benjamin Marzinski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.