device-mapper-multipath-0.8.2-3
Add 0031-multipath-fix-issues-found-by-compiling-with-gcc-10.patch * Patch submitted upstream Resolves bz #1799276
This commit is contained in:
parent
89934ae046
commit
6b2237f96e
119
0031-multipath-fix-issues-found-by-compiling-with-gcc-10.patch
Normal file
119
0031-multipath-fix-issues-found-by-compiling-with-gcc-10.patch
Normal file
@ -0,0 +1,119 @@
|
||||
From b665961ce1acc273b936ef8593e328c413d35ba7 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Date: Tue, 11 Feb 2020 17:01:08 -0600
|
||||
Subject: [PATCH] multipath: fix issues found by compiling with gcc 10
|
||||
|
||||
Compiling with gcc 10 raised a number of warings about buffer sizes,
|
||||
and an error based on declaring ___error1___ in multiple c files,
|
||||
do to it being in structs.h. fix these
|
||||
|
||||
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
---
|
||||
kpartx/dasd.c | 6 +++---
|
||||
libmultipath/print.c | 3 ++-
|
||||
libmultipath/structs.c | 6 ++++++
|
||||
libmultipath/structs.h | 5 -----
|
||||
multipath/main.c | 2 +-
|
||||
5 files changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/kpartx/dasd.c b/kpartx/dasd.c
|
||||
index d95d8ca0..42986e78 100644
|
||||
--- a/kpartx/dasd.c
|
||||
+++ b/kpartx/dasd.c
|
||||
@@ -188,7 +188,7 @@ read_dasd_pt(int fd, struct slice all, struct slice *sp, int ns)
|
||||
goto out;
|
||||
}
|
||||
|
||||
- if ((!info.FBA_layout) && (!strcmp(info.type, "ECKD")))
|
||||
+ if ((!info.FBA_layout) && (!strncmp(info.type, "ECKD", 4)))
|
||||
memcpy (&vlabel, data, sizeof(vlabel));
|
||||
else {
|
||||
bzero(&vlabel,4);
|
||||
@@ -218,7 +218,7 @@ read_dasd_pt(int fd, struct slice all, struct slice *sp, int ns)
|
||||
sp[0].size = size - sp[0].start;
|
||||
retval = 1;
|
||||
} else if ((strncmp(type, "VOL1", 4) == 0) &&
|
||||
- (!info.FBA_layout) && (!strcmp(info.type, "ECKD"))) {
|
||||
+ (!info.FBA_layout) && (!strncmp(info.type, "ECKD",4))) {
|
||||
/*
|
||||
* New style VOL1 labeled disk
|
||||
*/
|
||||
@@ -267,7 +267,7 @@ read_dasd_pt(int fd, struct slice all, struct slice *sp, int ns)
|
||||
if (vlabel.ldl_version == 0xf2) {
|
||||
fmt_size = sectors512(vlabel.formatted_blocks,
|
||||
blocksize);
|
||||
- } else if (!strcmp(info.type, "ECKD")) {
|
||||
+ } else if (!strncmp(info.type, "ECKD",4)) {
|
||||
/* formatted w/o large volume support */
|
||||
fmt_size = geo.cylinders * geo.heads
|
||||
* geo.sectors * (blocksize >> 9);
|
||||
diff --git a/libmultipath/print.c b/libmultipath/print.c
|
||||
index 907469ad..61e123de 100644
|
||||
--- a/libmultipath/print.c
|
||||
+++ b/libmultipath/print.c
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "uevent.h"
|
||||
#include "debug.h"
|
||||
#include "discovery.h"
|
||||
+#include "util.h"
|
||||
|
||||
#define MAX(x,y) (((x) > (y)) ? (x) : (y))
|
||||
#define MIN(x,y) (((x) > (y)) ? (y) : (x))
|
||||
@@ -2028,7 +2029,7 @@ int snprint_devices(struct config *conf, char * buff, int len,
|
||||
|
||||
devptr = devpath + 11;
|
||||
*devptr = '\0';
|
||||
- strncat(devptr, blkdev->d_name, PATH_MAX-12);
|
||||
+ strlcpy(devptr, blkdev->d_name, PATH_MAX-11);
|
||||
if (stat(devpath, &statbuf) < 0)
|
||||
continue;
|
||||
|
||||
diff --git a/libmultipath/structs.c b/libmultipath/structs.c
|
||||
index bf7fdd73..46e8bb18 100644
|
||||
--- a/libmultipath/structs.c
|
||||
+++ b/libmultipath/structs.c
|
||||
@@ -20,6 +20,12 @@
|
||||
#include "prioritizers/alua_spc3.h"
|
||||
#include "dm-generic.h"
|
||||
|
||||
+/*
|
||||
+ * _FIND_MULTIPATHS_F must have the same value as YNU_YES.
|
||||
+ * Generate a compile time error if that isn't the case.
|
||||
+ */
|
||||
+char ___error1___[-(_FIND_MULTIPATHS_F != YNU_YES)];
|
||||
+
|
||||
struct adapter_group *
|
||||
alloc_adaptergroup(void)
|
||||
{
|
||||
diff --git a/libmultipath/structs.h b/libmultipath/structs.h
|
||||
index a3adf906..191a5945 100644
|
||||
--- a/libmultipath/structs.h
|
||||
+++ b/libmultipath/structs.h
|
||||
@@ -102,11 +102,6 @@ enum yes_no_undef_states {
|
||||
#define _FIND_MULTIPATHS_F (1 << 1)
|
||||
#define _FIND_MULTIPATHS_I (1 << 2)
|
||||
#define _FIND_MULTIPATHS_N (1 << 3)
|
||||
-/*
|
||||
- * _FIND_MULTIPATHS_F must have the same value as YNU_YES.
|
||||
- * Generate a compile time error if that isn't the case.
|
||||
- */
|
||||
-char ___error1___[-(_FIND_MULTIPATHS_F != YNU_YES)];
|
||||
|
||||
#define find_multipaths_on(conf) \
|
||||
(!!((conf)->find_multipaths & _FIND_MULTIPATHS_F))
|
||||
diff --git a/multipath/main.c b/multipath/main.c
|
||||
index 22aff7be..ed214183 100644
|
||||
--- a/multipath/main.c
|
||||
+++ b/multipath/main.c
|
||||
@@ -1029,7 +1029,7 @@ main (int argc, char *argv[])
|
||||
if (!dev)
|
||||
goto out;
|
||||
|
||||
- strncpy(dev, argv[optind], FILE_NAME_SIZE);
|
||||
+ strlcpy(dev, argv[optind], FILE_NAME_SIZE);
|
||||
if (dev_type != DEV_UEVENT)
|
||||
dev_type = get_dev_type(dev);
|
||||
if (dev_type == DEV_NONE) {
|
||||
--
|
||||
2.17.2
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: device-mapper-multipath
|
||||
Version: 0.8.2
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Tools to manage multipath devices using device-mapper
|
||||
License: GPLv2
|
||||
URL: http://christophe.varoqui.free.fr/
|
||||
@ -40,6 +40,7 @@ Patch0027: 0027-RH-warn-on-invalid-regex-instead-of-failing.patch
|
||||
Patch0028: 0028-RH-reset-default-find_mutipaths-value-to-off.patch
|
||||
Patch0029: 0029-RH-Fix-nvme-compilation-warning.patch
|
||||
Patch0030: 0030-RH-attempt-to-get-ANA-info-via-sysfs-first.patch
|
||||
Patch0031: 0031-multipath-fix-issues-found-by-compiling-with-gcc-10.patch
|
||||
|
||||
# runtime
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
@ -234,6 +235,11 @@ fi
|
||||
%{_pkgconfdir}/libdmmp.pc
|
||||
|
||||
%changelog
|
||||
* Wed Feb 12 2020 Benjamin Marzinski <bmarzins@redhat.com> - 0.8.2-3
|
||||
- Add 0031-multipath-fix-issues-found-by-compiling-with-gcc-10.patch
|
||||
* Patch submitted upstream
|
||||
- Resolves bz #1799276
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user