All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Matt Coleman <mcoleman@datto.com>,
	Rahul Kundu <rahul.kundu@chelsio.com>,
	Maurizio Lombardi <mlombard@redhat.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.6 043/161] scsi: target: fix hang when multiple threads try to destroy the same iscsi session
Date: Tue, 16 Jun 2020 17:33:53 +0200	[thread overview]
Message-ID: <20200616153108.424484536@linuxfoundation.org> (raw)
In-Reply-To: <20200616153106.402291280@linuxfoundation.org>

From: Maurizio Lombardi <mlombard@redhat.com>

[ Upstream commit 57c46e9f33da530a2485fa01aa27b6d18c28c796 ]

A number of hangs have been reported against the target driver; they are
due to the fact that multiple threads may try to destroy the iscsi session
at the same time. This may be reproduced for example when a "targetcli
iscsi/iqn.../tpg1 disable" command is executed while a logout operation is
underway.

When this happens, two or more threads may end up sleeping and waiting for
iscsit_close_connection() to execute "complete(session_wait_comp)".  Only
one of the threads will wake up and proceed to destroy the session
structure, the remaining threads will hang forever.

Note that if the blocked threads are somehow forced to wake up with
complete_all(), they will try to free the same iscsi session structure
destroyed by the first thread, causing double frees, memory corruptions
etc...

With this patch, the threads that want to destroy the iscsi session will
increase the session refcount and will set the "session_close" flag to 1;
then they wait for the driver to close the remaining active connections.
When the last connection is closed, iscsit_close_connection() will wake up
all the threads and will wait for the session's refcount to reach zero;
when this happens, iscsit_close_connection() will destroy the session
structure because no one is referencing it anymore.

 INFO: task targetcli:5971 blocked for more than 120 seconds.
       Tainted: P           OE    4.15.0-72-generic #81~16.04.1
 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 targetcli       D    0  5971      1 0x00000080
 Call Trace:
  __schedule+0x3d6/0x8b0
  ? vprintk_func+0x44/0xe0
  schedule+0x36/0x80
  schedule_timeout+0x1db/0x370
  ? __dynamic_pr_debug+0x8a/0xb0
  wait_for_completion+0xb4/0x140
  ? wake_up_q+0x70/0x70
  iscsit_free_session+0x13d/0x1a0 [iscsi_target_mod]
  iscsit_release_sessions_for_tpg+0x16b/0x1e0 [iscsi_target_mod]
  iscsit_tpg_disable_portal_group+0xca/0x1c0 [iscsi_target_mod]
  lio_target_tpg_enable_store+0x66/0xe0 [iscsi_target_mod]
  configfs_write_file+0xb9/0x120
  __vfs_write+0x1b/0x40
  vfs_write+0xb8/0x1b0
  SyS_write+0x5c/0xe0
  do_syscall_64+0x73/0x130
  entry_SYSCALL_64_after_hwframe+0x3d/0xa2

Link: https://lore.kernel.org/r/20200313170656.9716-3-mlombard@redhat.com
Reported-by: Matt Coleman <mcoleman@datto.com>
Tested-by: Matt Coleman <mcoleman@datto.com>
Tested-by: Rahul Kundu <rahul.kundu@chelsio.com>
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/target/iscsi/iscsi_target.c          | 35 ++++++++++++--------
 drivers/target/iscsi/iscsi_target_configfs.c |  5 ++-
 drivers/target/iscsi/iscsi_target_login.c    |  5 +--
 include/target/iscsi/iscsi_target_core.h     |  2 +-
 4 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
index 1c7514543571..59379d662626 100644
--- a/drivers/target/iscsi/iscsi_target.c
+++ b/drivers/target/iscsi/iscsi_target.c
@@ -4301,30 +4301,37 @@ int iscsit_close_connection(
 	if (!atomic_read(&sess->session_reinstatement) &&
 	     atomic_read(&sess->session_fall_back_to_erl0)) {
 		spin_unlock_bh(&sess->conn_lock);
+		complete_all(&sess->session_wait_comp);
 		iscsit_close_session(sess);
 
 		return 0;
 	} else if (atomic_read(&sess->session_logout)) {
 		pr_debug("Moving to TARG_SESS_STATE_FREE.\n");
 		sess->session_state = TARG_SESS_STATE_FREE;
-		spin_unlock_bh(&sess->conn_lock);
 
-		if (atomic_read(&sess->sleep_on_sess_wait_comp))
-			complete(&sess->session_wait_comp);
+		if (atomic_read(&sess->session_close)) {
+			spin_unlock_bh(&sess->conn_lock);
+			complete_all(&sess->session_wait_comp);
+			iscsit_close_session(sess);
+		} else {
+			spin_unlock_bh(&sess->conn_lock);
+		}
 
 		return 0;
 	} else {
 		pr_debug("Moving to TARG_SESS_STATE_FAILED.\n");
 		sess->session_state = TARG_SESS_STATE_FAILED;
 
-		if (!atomic_read(&sess->session_continuation)) {
-			spin_unlock_bh(&sess->conn_lock);
+		if (!atomic_read(&sess->session_continuation))
 			iscsit_start_time2retain_handler(sess);
-		} else
-			spin_unlock_bh(&sess->conn_lock);
 
-		if (atomic_read(&sess->sleep_on_sess_wait_comp))
-			complete(&sess->session_wait_comp);
+		if (atomic_read(&sess->session_close)) {
+			spin_unlock_bh(&sess->conn_lock);
+			complete_all(&sess->session_wait_comp);
+			iscsit_close_session(sess);
+		} else {
+			spin_unlock_bh(&sess->conn_lock);
+		}
 
 		return 0;
 	}
@@ -4429,9 +4436,9 @@ static void iscsit_logout_post_handler_closesession(
 	complete(&conn->conn_logout_comp);
 
 	iscsit_dec_conn_usage_count(conn);
+	atomic_set(&sess->session_close, 1);
 	iscsit_stop_session(sess, sleep, sleep);
 	iscsit_dec_session_usage_count(sess);
-	iscsit_close_session(sess);
 }
 
 static void iscsit_logout_post_handler_samecid(
@@ -4576,8 +4583,6 @@ void iscsit_stop_session(
 	int is_last;
 
 	spin_lock_bh(&sess->conn_lock);
-	if (session_sleep)
-		atomic_set(&sess->sleep_on_sess_wait_comp, 1);
 
 	if (connection_sleep) {
 		list_for_each_entry_safe(conn, conn_tmp, &sess->sess_conn_list,
@@ -4635,12 +4640,15 @@ int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *tpg, int force)
 		spin_lock(&sess->conn_lock);
 		if (atomic_read(&sess->session_fall_back_to_erl0) ||
 		    atomic_read(&sess->session_logout) ||
+		    atomic_read(&sess->session_close) ||
 		    (sess->time2retain_timer_flags & ISCSI_TF_EXPIRED)) {
 			spin_unlock(&sess->conn_lock);
 			continue;
 		}
+		iscsit_inc_session_usage_count(sess);
 		atomic_set(&sess->session_reinstatement, 1);
 		atomic_set(&sess->session_fall_back_to_erl0, 1);
+		atomic_set(&sess->session_close, 1);
 		spin_unlock(&sess->conn_lock);
 
 		list_move_tail(&se_sess->sess_list, &free_list);
@@ -4650,8 +4658,9 @@ int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *tpg, int force)
 	list_for_each_entry_safe(se_sess, se_sess_tmp, &free_list, sess_list) {
 		sess = (struct iscsi_session *)se_sess->fabric_sess_ptr;
 
+		list_del_init(&se_sess->sess_list);
 		iscsit_stop_session(sess, 1, 1);
-		iscsit_close_session(sess);
+		iscsit_dec_session_usage_count(sess);
 		session_count++;
 	}
 
diff --git a/drivers/target/iscsi/iscsi_target_configfs.c b/drivers/target/iscsi/iscsi_target_configfs.c
index 42b369fc415e..0fa1d57b26fa 100644
--- a/drivers/target/iscsi/iscsi_target_configfs.c
+++ b/drivers/target/iscsi/iscsi_target_configfs.c
@@ -1476,20 +1476,23 @@ static void lio_tpg_close_session(struct se_session *se_sess)
 	spin_lock(&sess->conn_lock);
 	if (atomic_read(&sess->session_fall_back_to_erl0) ||
 	    atomic_read(&sess->session_logout) ||
+	    atomic_read(&sess->session_close) ||
 	    (sess->time2retain_timer_flags & ISCSI_TF_EXPIRED)) {
 		spin_unlock(&sess->conn_lock);
 		spin_unlock_bh(&se_tpg->session_lock);
 		return;
 	}
+	iscsit_inc_session_usage_count(sess);
 	atomic_set(&sess->session_reinstatement, 1);
 	atomic_set(&sess->session_fall_back_to_erl0, 1);
+	atomic_set(&sess->session_close, 1);
 	spin_unlock(&sess->conn_lock);
 
 	iscsit_stop_time2retain_timer(sess);
 	spin_unlock_bh(&se_tpg->session_lock);
 
 	iscsit_stop_session(sess, 1, 1);
-	iscsit_close_session(sess);
+	iscsit_dec_session_usage_count(sess);
 }
 
 static u32 lio_tpg_get_inst_index(struct se_portal_group *se_tpg)
diff --git a/drivers/target/iscsi/iscsi_target_login.c b/drivers/target/iscsi/iscsi_target_login.c
index f53330813207..731ee67fe914 100644
--- a/drivers/target/iscsi/iscsi_target_login.c
+++ b/drivers/target/iscsi/iscsi_target_login.c
@@ -156,6 +156,7 @@ int iscsi_check_for_session_reinstatement(struct iscsi_conn *conn)
 		spin_lock(&sess_p->conn_lock);
 		if (atomic_read(&sess_p->session_fall_back_to_erl0) ||
 		    atomic_read(&sess_p->session_logout) ||
+		    atomic_read(&sess_p->session_close) ||
 		    (sess_p->time2retain_timer_flags & ISCSI_TF_EXPIRED)) {
 			spin_unlock(&sess_p->conn_lock);
 			continue;
@@ -166,6 +167,7 @@ int iscsi_check_for_session_reinstatement(struct iscsi_conn *conn)
 		   (sess_p->sess_ops->SessionType == sessiontype))) {
 			atomic_set(&sess_p->session_reinstatement, 1);
 			atomic_set(&sess_p->session_fall_back_to_erl0, 1);
+			atomic_set(&sess_p->session_close, 1);
 			spin_unlock(&sess_p->conn_lock);
 			iscsit_inc_session_usage_count(sess_p);
 			iscsit_stop_time2retain_timer(sess_p);
@@ -190,7 +192,6 @@ int iscsi_check_for_session_reinstatement(struct iscsi_conn *conn)
 	if (sess->session_state == TARG_SESS_STATE_FAILED) {
 		spin_unlock_bh(&sess->conn_lock);
 		iscsit_dec_session_usage_count(sess);
-		iscsit_close_session(sess);
 		return 0;
 	}
 	spin_unlock_bh(&sess->conn_lock);
@@ -198,7 +199,6 @@ int iscsi_check_for_session_reinstatement(struct iscsi_conn *conn)
 	iscsit_stop_session(sess, 1, 1);
 	iscsit_dec_session_usage_count(sess);
 
-	iscsit_close_session(sess);
 	return 0;
 }
 
@@ -486,6 +486,7 @@ static int iscsi_login_non_zero_tsih_s2(
 		sess_p = (struct iscsi_session *)se_sess->fabric_sess_ptr;
 		if (atomic_read(&sess_p->session_fall_back_to_erl0) ||
 		    atomic_read(&sess_p->session_logout) ||
+		    atomic_read(&sess_p->session_close) ||
 		   (sess_p->time2retain_timer_flags & ISCSI_TF_EXPIRED))
 			continue;
 		if (!memcmp(sess_p->isid, pdu->isid, 6) &&
diff --git a/include/target/iscsi/iscsi_target_core.h b/include/target/iscsi/iscsi_target_core.h
index a49d37140a64..591cd9e4692c 100644
--- a/include/target/iscsi/iscsi_target_core.h
+++ b/include/target/iscsi/iscsi_target_core.h
@@ -676,7 +676,7 @@ struct iscsi_session {
 	atomic_t		session_logout;
 	atomic_t		session_reinstatement;
 	atomic_t		session_stop_active;
-	atomic_t		sleep_on_sess_wait_comp;
+	atomic_t		session_close;
 	/* connection list */
 	struct list_head	sess_conn_list;
 	struct list_head	cr_active_list;
-- 
2.25.1




  parent reply	other threads:[~2020-06-16 15:50 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-16 15:33 [PATCH 5.6 000/161] 5.6.19-rc1 review Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 001/161] ipv6: fix IPV6_ADDRFORM operation logic Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 002/161] mlxsw: core: Use different get_trend() callbacks for different thermal zones Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 003/161] net_failover: fixed rollback in net_failover_open() Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 004/161] tun: correct header offsets in napi frags mode Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 005/161] bridge: Avoid infinite loop when suppressing NS messages with invalid options Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 006/161] vxlan: " Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 007/161] net: ena: xdp: XDP_TX: fix memory leak Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 008/161] net: ena: xdp: update napi budget for DROP and ABORTED Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 009/161] genetlink: fix memory leaks in genl_family_rcv_msg_dumpit() Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 010/161] net: dsa: qca8k: Fix "Unexpected gfp" kernel exception Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 011/161] tipc: fix NULL pointer dereference in streaming Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 012/161] bpf: Support llvm-objcopy for vmlinux BTF Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 013/161] elfnote: mark all .note sections SHF_ALLOC Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 014/161] Input: mms114 - fix handling of mms345l Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 015/161] Input: axp20x-pek - always register interrupt handlers Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 016/161] ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 017/161] sched/fair: Dont NUMA balance for kthreads Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 018/161] Input: synaptics - add a second working PNP_ID for Lenovo T470s Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 019/161] csky: Fixup abiv2 syscall_trace break a4 & a5 Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 020/161] gfs2: Even more gfs2_find_jhead fixes Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 021/161] drivers/net/ibmvnic: Update VNIC protocol version reporting Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 022/161] staging: wfx: fix double free Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 023/161] staging: mt7621-pci: properly power off dual-ported pcie phy Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 024/161] perf probe: Accept the instance number of kretprobe event Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 025/161] mm: add kvfree_sensitive() for freeing sensitive data objects Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 026/161] selftests: fix flower parent qdisc Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 027/161] fanotify: fix ignore mask logic for events on child and on dir Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 028/161] driver core: Update device link status correctly for SYNC_STATE_ONLY links Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 029/161] powerpc/xive: Clear the page tables for the ESB IO mapping Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 030/161] ASoC: SOF: imx8: Fix randbuild error Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 031/161] ASoC: SOF: imx: fix undefined reference issue Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 032/161] spi: dw: Fix native CS being unset Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 033/161] ath9k_htc: Silence undersized packet warnings Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 034/161] smack: avoid unused sip variable warning Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 035/161] RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 036/161] padata: add separate cpuhp node for CPUHP_PADATA_DEAD Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 037/161] s390/pci: Log new handle in clp_disable_fh() Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 038/161] x86/cpu/amd: Make erratum #1054 a legacy erratum Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 039/161] KVM: x86: only do L1TF workaround on affected processors Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 040/161] PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 041/161] kobject: Make sure the parent does not get released before its children Greg Kroah-Hartman
2020-06-16 17:05   ` Rafael J. Wysocki
2020-06-16 17:11     ` Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 042/161] scsi: target: remove boilerplate code Greg Kroah-Hartman
2020-06-16 15:33 ` Greg Kroah-Hartman [this message]
2020-06-16 15:33 ` [PATCH 5.6 044/161] drm/amd/display: remove invalid dc_is_hw_initialized function Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 045/161] drm/amd/display: Not doing optimize bandwidth if flip pending Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 046/161] aio: fix async fsync creds Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 047/161] usercopy: mark dma-kmalloc caches as usercopy caches Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 048/161] x86_64: Fix jiffies ODR violation Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.6 049/161] x86: mm: ptdump: calculate effective permissions correctly Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 050/161] x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 051/161] x86/speculation: Prevent rogue cross-process SSBD shutdown Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 052/161] x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 053/161] x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 054/161] x86/reboot/quirks: Add MacBook6,1 reboot quirk Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 055/161] perf/x86/intel: Add more available bits for OFFCORE_RESPONSE of Intel Tremont Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 056/161] KVM: x86: allow KVM_STATE_NESTED_MTF_PENDING in kvm_state flags Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 057/161] KVM: x86/mmu: Set mmio_value to 0 if reserved #PF cant be generated Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 058/161] KVM: x86: respect singlestep when emulating instruction Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 059/161] KVM: x86: Fix APIC page invalidation race Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 060/161] powerpc/ptdump: Properly handle non standard page size Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 061/161] ASoC: max9867: fix volume controls Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 062/161] io_uring: use kvfree() in io_sqe_buffer_register() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 063/161] efi/efivars: Add missing kobject_put() in sysfs entry creation error path Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 064/161] smb3: fix incorrect number of credits when ioctl MaxOutputResponse > 64K Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 065/161] smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 066/161] smb3: fix typo in mount options displayed in /proc/mounts Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 067/161] watchdog: imx_sc_wdt: Fix reboot on crash Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 068/161] ALSA: es1688: Add the missed snd_card_free() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 069/161] ALSA: hda: add sienna_cichlid audio asic id for sienna_cichlid up Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 070/161] ALSA: fireface: fix configuration error for nominal sampling transfer frequency Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 071/161] ALSA: fireface: start IR context immediately Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 072/161] ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 073/161] ALSA: pcm: disallow linking stream to itself Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 074/161] ALSA: pcm: fix snd_pcm_link() lockdep splat Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 075/161] ALSA: usb-audio: Fix inconsistent card PM state after resume Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 076/161] ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 077/161] ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 078/161] ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 079/161] ACPI: GED: add support for _Exx / _Lxx handler methods Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 080/161] ACPI: PM: Avoid using power resources if there are none for D0 Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 081/161] arm64: acpi: fix UBSAN warning Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 082/161] lib/lzo: fix ambiguous encoding bug in lzo-rle Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 083/161] nilfs2: fix null pointer dereference at nilfs_segctor_do_construct() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 084/161] lib: fix bitmap_parse() on 64-bit big endian archs Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 085/161] spi: dw: Fix controller unregister order Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 086/161] spi: " Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 087/161] spi: pxa2xx: " Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 088/161] spi: pxa2xx: Fix runtime PM ref imbalance on probe error Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 089/161] spi: bcm2835: Fix controller unregister order Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 090/161] spi: bcm2835aux: " Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 091/161] spi: bcm-qspi: Handle clock probe deferral Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 092/161] spi: bcm-qspi: when tx/rx buffer is NULL set to 0 Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 093/161] PM: runtime: clk: Fix clk_pm_runtime_get() error path Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 094/161] gup: document and work around "COW can break either way" issue Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 095/161] crypto: cavium/nitrox - Fix nitrox_get_first_device() when ndevlist is fully iterated Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 096/161] crypto: algapi - Avoid spurious modprobe on LOADED Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 097/161] crypto: drbg - fix error return code in drbg_alloc_state() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 098/161] crypto: virtio: Fix dest length calculation in __virtio_crypto_skcipher_do_req() Greg Kroah-Hartman
2020-06-16 15:34   ` Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 099/161] crypto: virtio: Fix use-after-free in virtio_crypto_skcipher_finalize_req() Greg Kroah-Hartman
2020-06-16 15:34   ` Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 100/161] crypto: virtio: Fix src/dst scatterlist calculation in __virtio_crypto_skcipher_do_req() Greg Kroah-Hartman
2020-06-16 15:34   ` Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 101/161] io_uring: fix mismatched finish_wait() calls in io_uring_cancel_files() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 102/161] io_uring: fix flush req->refs underflow Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 103/161] x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 104/161] firmware: imx-scu: Support one TX and one RX Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 105/161] firmware: imx: scu: Fix corruption of header Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 106/161] dccp: Fix possible memleak in dccp_init and dccp_fini Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 107/161] net: mvneta: do not redirect frames during reconfiguration Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 108/161] selftests/net: in rxtimestamp getopt_long needs terminating null entry Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.6 109/161] net/mlx5: drain health workqueue in case of driver load error Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 110/161] net/mlx5: Fix fatal error handling during device load Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 111/161] net/mlx5e: Fix repeated XSK usage on one channel Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 112/161] net: cadence: macb: disable NAPI on error Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 113/161] net: macb: Only disable NAPI on the actual error path Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 114/161] net/mlx5: Disable reload while removing the device Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 115/161] ovl: fix out of bounds access warning in ovl_check_fb_len() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 116/161] ovl: initialize error in ovl_copy_xattr Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 117/161] proc: Use new_inode not new_inode_pseudo Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 118/161] remoteproc: Fall back to using parent memory pool if no dedicated available Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 119/161] remoteproc: Fix and restore the parenting hierarchy for vdev Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 120/161] cpufreq: Fix up cpufreq_boost_set_sw() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 121/161] EDAC/skx: Use the mcmtr register to retrieve close_pg/bank_xor_enable Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 122/161] video: vt8500lcdfb: fix fallthrough warning Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 123/161] video: fbdev: w100fb: Fix a potential double free Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 124/161] media: videobuf2-dma-contig: fix bad kfree in vb2_dma_contig_clear_max_seg_size Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 125/161] KVM: nVMX: Skip IBPB when switching between vmcs01 and vmcs02 Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 126/161] KVM: nSVM: fix condition for filtering async PF Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 127/161] KVM: nSVM: leave ASID aside in copy_vmcb_control_area Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 128/161] KVM: nVMX: Consult only the "basic" exit reason when routing nested exit Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 129/161] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 130/161] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 131/161] KVM: arm64: Stop writing aarch32s CSSELR into ACTLR Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 132/161] KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 133/161] scsi: megaraid_sas: TM command refire leads to controller firmware crash Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 134/161] scsi: lpfc: Fix negation of else clause in lpfc_prep_node_fc4type Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 135/161] scsi: megaraid_sas: Replace undefined MFI_BIG_ENDIAN macro with __BIG_ENDIAN_BITFIELD macro Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 136/161] selftests/ftrace: Return unsupported if no error_log file Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 137/161] ath9k: Fix use-after-free Read in htc_connect_service Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 138/161] ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 139/161] ath9k: Fix use-after-free Write in ath9k_htc_rx_msg Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 140/161] ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 141/161] ath9k: Fix general protection fault " Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 142/161] Smack: slab-out-of-bounds in vsscanf Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 143/161] drm/vkms: Hold gem object while still in-use Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 144/161] mm/slub: fix a memory leak in sysfs_slab_add() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 145/161] fat: dont allow to mount if the FAT length == 0 Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 146/161] perf: Add cond_resched() to task_function_call() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 147/161] agp/intel: Reinforce the barrier after GTT updates Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 148/161] mmc: sdhci-msm: Clear tuning done flag while hs400 tuning Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 149/161] mmc: sdhci-of-at91: fix CALCR register being rewritten Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 150/161] mmc: mmci_sdmmc: fix DMA API warning overlapping mappings Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 151/161] mmc: tmio: Further fixup runtime PM management at remove Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 152/161] mmc: uniphier-sd: call devm_request_irq() after tmio_mmc_host_probe() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 153/161] ARM: dts: at91: sama5d2_ptc_ek: fix sdmmc0 node description Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 154/161] mmc: sdio: Fix potential NULL pointer error in mmc_sdio_init_card() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 155/161] mmc: sdio: Fix several potential memory leaks " Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 156/161] block/floppy: fix contended case in floppy_queue_rq() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 157/161] xen/pvcalls-back: test for errors when calling backend_connect() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 158/161] platform/x86: sony-laptop: SNC calls should handle BUFFER types Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 159/161] platform/x86: sony-laptop: Make resuming thermal profile safer Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 160/161] KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.6 161/161] KVM: arm64: Save the hosts PtrAuth keys in non-preemptible context Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200616153108.424484536@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mcoleman@datto.com \
    --cc=mlombard@redhat.com \
    --cc=rahul.kundu@chelsio.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.