fix libiscsi regression causing udisksd faults with firmware discovery

This commit is contained in:
Chris Leech 2022-06-15 15:32:02 -07:00 committed by Stepan Oksanichenko
parent 1e5bb6dd55
commit 9279c31db8
3 changed files with 46 additions and 1 deletions

View File

@ -0,0 +1 @@
548252927c20ea605def18014cbafa377b1b104d open-iscsi-2a8f9d8.tar.gz

View File

@ -0,0 +1,40 @@
From 47dd191ab5c48932df4c0c219fca19fcedba6cd2 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Thu, 2 Jun 2022 11:37:20 -0700
Subject: [PATCH 1/1] fix libiscsi firmware discovery issue with NULL drec
argument
---
libiscsi/libiscsi.c | 2 +-
usr/idbm.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libiscsi/libiscsi.c b/libiscsi/libiscsi.c
index c598aee..bddf9fc 100644
--- a/libiscsi/libiscsi.c
+++ b/libiscsi/libiscsi.c
@@ -258,7 +258,7 @@ int libiscsi_discover_firmware(struct libiscsi_context *context,
struct libiscsi_node *new_node = new_nodes;
/* in one loop, add nodes to idbm and create libiscsi_node entries */
list_for_each_entry(rec, &rec_list, list) {
- CHECK(idbm_add_node(rec, NULL, 1 /* overwrite */));
+ CHECK(idbm_add_node(rec, &drec, 1 /* overwrite */));
strlcpy(new_node->name, rec->name, LIBISCSI_VALUE_MAXLEN);
new_node->tpgt = rec->tpgt;
diff --git a/usr/idbm.c b/usr/idbm.c
index e9025bf..9cc9c40 100644
--- a/usr/idbm.c
+++ b/usr/idbm.c
@@ -2536,7 +2536,7 @@ int idbm_add_node(node_rec_t *newrec, discovery_rec_t *drec, int overwrite)
if (rc)
goto unlock;
- if (drec->type == DISCOVERY_TYPE_FW) {
+ if (drec && drec->type == DISCOVERY_TYPE_FW) {
log_debug(8, "setting firmware node 'startup' to 'onboot'");
newrec->startup = ISCSI_STARTUP_ONBOOT;
newrec->conn[0].startup = ISCSI_STARTUP_ONBOOT;
--
2.36.1

View File

@ -9,7 +9,7 @@
Summary: iSCSI daemon and utility programs
Name: iscsi-initiator-utils
Version: 6.%{open_iscsi_version}.%{open_iscsi_build}
Release: 2.git%{shortcommit0}%{?dist}
Release: 3.git%{shortcommit0}%{?dist}
License: GPLv2+
URL: https://github.com/open-iscsi/open-iscsi
Source0: https://github.com/open-iscsi/open-iscsi/archive/%{commit0}.tar.gz#/open-iscsi-%{shortcommit0}.tar.gz
@ -41,6 +41,7 @@ Patch0022: 0022-iscsi_if.h-replace-zero-length-array-with-flexible-a.patch
Patch0023: 0023-stop-using-Werror-for-now.patch
Patch0024: 0024-minor-service-file-updates.patch
Patch0025: 0001-Remove-dependences-from-iscsi-init.service.patch
Patch0026: 0001-fix-libiscsi-firmware-discovery-issue-with-NULL-drec.patch
BuildRequires: flex bison doxygen kmod-devel systemd-units
BuildRequires: autoconf automake libtool libmount-devel openssl-devel
@ -304,6 +305,9 @@ fi
%{python3_sitearch}/*
%changelog
* Wed Jun 15 2022 Chris Leech <cleech@redhat.com> - 6.2.1.4-3.git2a8f9d8
- 2016611 fix libiscsi regression causing udisksd faults with firmware discovery
* Mon Nov 01 2021 Chris Leech <cleech@redhat.com> - 6.2.1.4-2.git2a8f9d8
- 2016482: iscsi-init.service modified to work in initramfs