ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/net/open-iscsi/patches/0019-Coverity-scan-fixes.patch b/external/subpack/net/open-iscsi/patches/0019-Coverity-scan-fixes.patch
new file mode 100644
index 0000000..d542c23
--- /dev/null
+++ b/external/subpack/net/open-iscsi/patches/0019-Coverity-scan-fixes.patch
@@ -0,0 +1,99 @@
+From ad8c3353b8e482575ff2208182290cf35b624dde Mon Sep 17 00:00:00 2001
+From: Chris Leech <cleech@redhat.com>
+Date: Wed, 5 Jun 2019 09:08:39 -0700
+Subject: [PATCH 1/1] Coverity scan fixes
+
+---
+ iscsiuio/src/unix/libs/qedi.c |  2 +-
+ iscsiuio/src/unix/main.c      |  3 +++
+ libopeniscsiusr/idbm.c        | 11 +++++------
+ usr/idbm.c                    | 10 ++++------
+ usr/initiator.c               |  2 +-
+ usr/iscsid.c                  |  2 +-
+ 6 files changed, 15 insertions(+), 15 deletions(-)
+
+--- a/iscsiuio/src/unix/libs/qedi.c
++++ b/iscsiuio/src/unix/libs/qedi.c
+@@ -1030,7 +1030,7 @@ static int qedi_read(nic_t *nic, packet_
+ 
+ 	LOG_DEBUG(PFX "%s:hw_prod %d bd_prod %d, rx_pkt_idx %d, rxlen %d",
+ 		  nic->log_name, hw_prod, bd_prod, rx_bd->rx_pkt_index, len);
+-	LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %d",
++	LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %lu",
+ 		  nic->log_name, sw_cons, bd_cons, QEDI_NUM_RX_BD);
+ 
+ 	if (bd_cons != bd_prod) {
+--- a/iscsiuio/src/unix/main.c
++++ b/iscsiuio/src/unix/main.c
+@@ -391,6 +391,9 @@ int main(int argc, char *argv[])
+ 	sigaddset(&set, SIGTERM);
+ 	sigaddset(&set, SIGUSR1);
+ 	rc = pthread_sigmask(SIG_SETMASK, &set, NULL);
++	if (rc != 0) {
++		LOG_ERR("Failed to set thread signal mask");
++	}
+ 
+ 	/*  Spin off the signal handling thread */
+ 	pthread_attr_init(&attr);
+--- a/libopeniscsiusr/idbm.c
++++ b/libopeniscsiusr/idbm.c
+@@ -321,12 +321,11 @@ int _idbm_lock(struct iscsi_context *ctx
+ 		return 0;
+ 	}
+ 
+-	if (access(LOCK_DIR, F_OK) != 0) {
+-		if (mkdir(LOCK_DIR, 0660) != 0) {
+-			_error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno,
+-				_strerror(errno, strerr_buff));
+-			return LIBISCSI_ERR_IDBM;
+-		}
++	if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) ||
++	    (access(LOCK_DIR, F_OK) != 0)) {
++		_error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno,
++			_strerror(errno, strerr_buff));
++		return LIBISCSI_ERR_IDBM;
+ 	}
+ 
+ 	fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
+--- a/usr/idbm.c
++++ b/usr/idbm.c
+@@ -1439,12 +1439,10 @@ int idbm_lock(void)
+ 		return 0;
+ 	}
+ 
+-	if (access(LOCK_DIR, F_OK) != 0) {
+-		if (mkdir(LOCK_DIR, 0660) != 0) {
+-			log_error("Could not open %s: %s", LOCK_DIR,
+-				  strerror(errno));
+-			return ISCSI_ERR_IDBM;
+-		}
++	if (((mkdir(LOCK_DIR, 0660) != 0) && (errno != EEXIST)) ||
++	    (access(LOCK_DIR, F_OK) != 0)) {
++		log_error("Could not open %s: %s", LOCK_DIR, strerror(errno));
++		return ISCSI_ERR_IDBM;
+ 	}
+ 
+ 	fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
+--- a/usr/iscsid.c
++++ b/usr/iscsid.c
+@@ -495,8 +495,8 @@ int main(int argc, char *argv[])
+ 				log_close(log_pid);
+ 				exit(ISCSI_ERR);
+ 			}
++			close(fd);
+ 		}
+-		close(fd);
+ 
+ 		if ((control_fd = ipc->ctldev_open()) < 0) {
+ 			log_close(log_pid);
+--- a/usr/initiator.c
++++ b/usr/initiator.c
+@@ -580,7 +580,7 @@ __session_conn_reopen(iscsi_conn_t *conn
+ 		      int redirected)
+ {
+ 	iscsi_session_t *session = conn->session;
+-	uint32_t delay;
++	uint32_t delay = 0;
+ 
+ 	log_debug(1, "re-opening session %d (reopen_cnt %d)", session->id,
+ 			session->reopen_cnt);