device-mapper-multipath-0.9.9-3
Add 0015-libmultipath-fix-ontap-prioritizer-snprintf-limits.patch Resolves: RHEL-49747
This commit is contained in:
parent
73bc951c61
commit
0a99429874
@ -0,0 +1,77 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Date: Wed, 7 Aug 2024 18:59:10 -0400
|
||||
Subject: [PATCH] libmultipath: fix ontap prioritizer snprintf limits
|
||||
|
||||
The ontap prioritizer functions dump_cdb() and process_sg_error() both
|
||||
incorrectly set the snprintf() limits larger than the available space.
|
||||
Instead of multiplying the number of elements to print by the size of an
|
||||
element to calculate the limit, they multiplied the number of elements
|
||||
to print by the maximum number of elements that the buffer could hold.
|
||||
|
||||
Fix this by making these functions use strbufs instead.
|
||||
|
||||
mwilck: removed log message in print_strbuf() failure case.
|
||||
|
||||
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||||
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
||||
Signed-off-by: Martin Wilck <mwilck@suse.com>
|
||||
---
|
||||
libmultipath/prioritizers/ontap.c | 24 +++++++++++-------------
|
||||
1 file changed, 11 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/libmultipath/prioritizers/ontap.c b/libmultipath/prioritizers/ontap.c
|
||||
index 117886ea..90eaf274 100644
|
||||
--- a/libmultipath/prioritizers/ontap.c
|
||||
+++ b/libmultipath/prioritizers/ontap.c
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "prio.h"
|
||||
#include "structs.h"
|
||||
#include "unaligned.h"
|
||||
+#include "strbuf.h"
|
||||
|
||||
#define INQUIRY_CMD 0x12
|
||||
#define INQUIRY_CMDLEN 6
|
||||
@@ -35,32 +36,29 @@
|
||||
static void dump_cdb(unsigned char *cdb, int size)
|
||||
{
|
||||
int i;
|
||||
- char buf[10*5+1];
|
||||
- char * p = &buf[0];
|
||||
+ STRBUF_ON_STACK(buf);
|
||||
|
||||
- condlog(0, "- SCSI CDB: ");
|
||||
- for (i=0; i<size; i++) {
|
||||
- p += snprintf(p, 10*(size-i), "0x%02x ", cdb[i]);
|
||||
+ for (i = 0; i < size; i++) {
|
||||
+ if (print_strbuf(&buf, "0x%02x ", cdb[i]) < 0)
|
||||
+ return;
|
||||
}
|
||||
- condlog(0, "%s", buf);
|
||||
+ condlog(0, "- SCSI CDB: %s", get_strbuf_str(&buf));
|
||||
}
|
||||
|
||||
static void process_sg_error(struct sg_io_hdr *io_hdr)
|
||||
{
|
||||
int i;
|
||||
- char buf[128*5+1];
|
||||
- char * p = &buf[0];
|
||||
+ STRBUF_ON_STACK(buf);
|
||||
|
||||
condlog(0, "- masked_status=0x%02x, host_status=0x%02x, "
|
||||
"driver_status=0x%02x", io_hdr->masked_status,
|
||||
io_hdr->host_status, io_hdr->driver_status);
|
||||
if (io_hdr->sb_len_wr > 0) {
|
||||
- condlog(0, "- SCSI sense data: ");
|
||||
- for (i=0; i<io_hdr->sb_len_wr; i++) {
|
||||
- p += snprintf(p, 128*(io_hdr->sb_len_wr-i), "0x%02x ",
|
||||
- io_hdr->sbp[i]);
|
||||
+ for (i = 0; i < io_hdr->sb_len_wr; i++) {
|
||||
+ if (print_strbuf(&buf, "0x%02x ", io_hdr->sbp[i]) < 0)
|
||||
+ return;
|
||||
}
|
||||
- condlog(0, "%s", buf);
|
||||
+ condlog(0, "- SCSI sense data: %s", get_strbuf_str(&buf));
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: device-mapper-multipath
|
||||
Version: 0.9.9
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Tools to manage multipath devices using device-mapper
|
||||
License: GPLv2
|
||||
URL: http://christophe.varoqui.free.fr/
|
||||
@ -24,6 +24,7 @@ Patch0011: 0011-RH-make-parse_vpd_pg83-match-scsi_id-output.patch
|
||||
Patch0012: 0012-RH-add-scsi-device-handlers-to-modules-load.d.patch
|
||||
Patch0013: 0013-RH-compile-with-libreadline-support.patch
|
||||
Patch0014: 0014-RH-Add-mpathcleanup.patch
|
||||
Patch0015: 0015-libmultipath-fix-ontap-prioritizer-snprintf-limits.patch
|
||||
|
||||
# runtime
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
@ -233,6 +234,10 @@ fi
|
||||
%{_pkgconfdir}/libdmmp.pc
|
||||
|
||||
%changelog
|
||||
* Fri Sep 13 2024 Benjamin Marzinski <bmarzins@redhat.com> - 0.9.9-3
|
||||
- Add 0015-libmultipath-fix-ontap-prioritizer-snprintf-limits.patch
|
||||
- Resolves: RHEL-49747
|
||||
|
||||
* Thu Sep 12 2024 Benjamin Marzinski <bmarzins@redhat.com> - 0.9.9-2
|
||||
- Improve multiple OSCI tests
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user