From 2c7cdf8345ea943906a3e466e6f155e3a2c1933b Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Wed, 15 Jun 2022 15:32:02 -0700 Subject: [PATCH] fix libiscsi regression causing udisksd faults with firmware discovery Resolves: #2016611 --- ...mware-discovery-issue-with-NULL-drec.patch | 40 +++++++++++++++++++ iscsi-initiator-utils.spec | 6 ++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 0001-fix-libiscsi-firmware-discovery-issue-with-NULL-drec.patch diff --git a/0001-fix-libiscsi-firmware-discovery-issue-with-NULL-drec.patch b/0001-fix-libiscsi-firmware-discovery-issue-with-NULL-drec.patch new file mode 100644 index 0000000..f58a1b0 --- /dev/null +++ b/0001-fix-libiscsi-firmware-discovery-issue-with-NULL-drec.patch @@ -0,0 +1,40 @@ +From 47dd191ab5c48932df4c0c219fca19fcedba6cd2 Mon Sep 17 00:00:00 2001 +From: 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 + diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec index efbd77a..4644039 100644 --- a/iscsi-initiator-utils.spec +++ b/iscsi-initiator-utils.spec @@ -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 - 6.2.1.4-3.git2a8f9d8 +- 2016611 fix libiscsi regression causing udisksd faults with firmware discovery + * Mon Nov 01 2021 Chris Leech - 6.2.1.4-2.git2a8f9d8 - 2016482: iscsi-init.service modified to work in initramfs