device-mapper-multipath/0012-mpath-skip-device-configs-without-vendor-product.patch
Benjamin Marzinski c9012ec5b7 device-mapper-multipath-0.7.1-2.gitf21166a
Modify 0004-RH-Remove-the-property-blacklist-exception-builtin.patch
  * update multipath.conf.5 man page to remove builtin listing
Modify 0005-RH-don-t-start-without-a-config-file.patch
  * update multipathd.8 man page to note that a config file is necessary
Modify 0007-RH-add-mpathconf.patch
  * add property blacklist-exception to default config file
Add 0010-libmultipath-change-how-RADOS-checker-is-enabled.patch
  * Makefile now autodetects librados. Posted upstream
Remove related RADOS option from spec file
Add 0011-multipath-set-verbosity-to-default-during-config.patch
  * Allow multipath to print warning messages during configuration.
    Posted upstream
Add 0012-mpath-skip-device-configs-without-vendor-product.patch
  * device entries without vendor/product were breaking configurations.
    Posted upsteam
Add 0013-multipathd-fix-show-maps-json-crash.patch
  * multipathd crashed showing json output with no devices. Posted
    upstream
2017-06-02 00:34:02 -05:00

38 lines
1.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Benjamin Marzinski <bmarzins@redhat.com>
Date: Wed, 31 May 2017 17:58:59 -0500
Subject: [PATCH] mpath: skip device configs without vendor/product
Right now if multipath.conf includes a device configuration without a
vendor or product string, it will automatically be applied to all
devices, skipping all other configs entirely. This is clearly wrong.
This patch makes sure that user added configs include vendor and
product strings
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
---
libmultipath/config.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libmultipath/config.c b/libmultipath/config.c
index c485748..bdde113 100644
--- a/libmultipath/config.c
+++ b/libmultipath/config.c
@@ -452,6 +452,13 @@ restart:
break;
j = n;
vector_foreach_slot_after(hw, hwe2, j) {
+ /* drop invalid device configs */
+ if (!hwe2->vendor || !hwe2->product) {
+ condlog(0, "device config missing vendor or product parameter");
+ vector_del_slot(hw, j--);
+ free_hwe(hwe2);
+ continue;
+ }
if (hwe_regmatch(hwe1, hwe2))
continue;
/* dup */
--
2.7.4