From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Nicholas Bellinger <nab@linux-iscsi.org>,
Mike Christie <mchristi@redhat.com>,
Christoph Hellwig <hch@lst.de>, David Disseldorp <ddiss@suse.de>,
Hannes Reinecke <hare@suse.de>,
Bart Van Assche <bvanassche@acm.org>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.20 066/127] scsi: target/core: Make sure that target_wait_for_sess_cmds() waits long enough
Date: Thu, 24 Jan 2019 20:20:12 +0100 [thread overview]
Message-ID: <20190124190214.945747128@linuxfoundation.org> (raw)
In-Reply-To: <20190124190211.984305387@linuxfoundation.org>
4.20-stable review patch. If anyone has any objections, please let me know.
------------------
[ Upstream commit ad669505c4e9db9af9faeb5c51aa399326a80d91 ]
A session must only be released after all code that accesses the session
structure has finished. Make sure that this is the case by introducing a
new command counter per session that is only decremented after the
.release_cmd() callback has finished. This patch fixes the following crash:
BUG: KASAN: use-after-free in do_raw_spin_lock+0x1c/0x130
Read of size 4 at addr ffff8801534b16e4 by task rmdir/14805
CPU: 16 PID: 14805 Comm: rmdir Not tainted 4.18.0-rc2-dbg+ #5
Call Trace:
dump_stack+0xa4/0xf5
print_address_description+0x6f/0x270
kasan_report+0x241/0x360
__asan_load4+0x78/0x80
do_raw_spin_lock+0x1c/0x130
_raw_spin_lock_irqsave+0x52/0x60
srpt_set_ch_state+0x27/0x70 [ib_srpt]
srpt_disconnect_ch+0x1b/0xc0 [ib_srpt]
srpt_close_session+0xa8/0x260 [ib_srpt]
target_shutdown_sessions+0x170/0x180 [target_core_mod]
core_tpg_del_initiator_node_acl+0xf3/0x200 [target_core_mod]
target_fabric_nacl_base_release+0x25/0x30 [target_core_mod]
config_item_release+0x9c/0x110 [configfs]
config_item_put+0x26/0x30 [configfs]
configfs_rmdir+0x3b8/0x510 [configfs]
vfs_rmdir+0xb3/0x1e0
do_rmdir+0x262/0x2c0
do_syscall_64+0x77/0x230
entry_SYSCALL_64_after_hwframe+0x49/0xbe
Cc: Nicholas Bellinger <nab@linux-iscsi.org>
Cc: Mike Christie <mchristi@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: David Disseldorp <ddiss@suse.de>
Cc: Hannes Reinecke <hare@suse.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/target/target_core_transport.c | 35 ++++++++++++++++++--------
drivers/target/target_core_xcopy.c | 6 ++++-
include/target/target_core_base.h | 1 +
include/target/target_core_fabric.h | 2 +-
4 files changed, 32 insertions(+), 12 deletions(-)
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 2cfd61d62e97..ffa5b9f771b5 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -224,19 +224,28 @@ void transport_subsystem_check_init(void)
sub_api_initialized = 1;
}
+static void target_release_sess_cmd_refcnt(struct percpu_ref *ref)
+{
+ struct se_session *sess = container_of(ref, typeof(*sess), cmd_count);
+
+ wake_up(&sess->cmd_list_wq);
+}
+
/**
* transport_init_session - initialize a session object
* @se_sess: Session object pointer.
*
* The caller must have zero-initialized @se_sess before calling this function.
*/
-void transport_init_session(struct se_session *se_sess)
+int transport_init_session(struct se_session *se_sess)
{
INIT_LIST_HEAD(&se_sess->sess_list);
INIT_LIST_HEAD(&se_sess->sess_acl_list);
INIT_LIST_HEAD(&se_sess->sess_cmd_list);
spin_lock_init(&se_sess->sess_cmd_lock);
init_waitqueue_head(&se_sess->cmd_list_wq);
+ return percpu_ref_init(&se_sess->cmd_count,
+ target_release_sess_cmd_refcnt, 0, GFP_KERNEL);
}
EXPORT_SYMBOL(transport_init_session);
@@ -247,6 +256,7 @@ EXPORT_SYMBOL(transport_init_session);
struct se_session *transport_alloc_session(enum target_prot_op sup_prot_ops)
{
struct se_session *se_sess;
+ int ret;
se_sess = kmem_cache_zalloc(se_sess_cache, GFP_KERNEL);
if (!se_sess) {
@@ -254,7 +264,11 @@ struct se_session *transport_alloc_session(enum target_prot_op sup_prot_ops)
" se_sess_cache\n");
return ERR_PTR(-ENOMEM);
}
- transport_init_session(se_sess);
+ ret = transport_init_session(se_sess);
+ if (ret < 0) {
+ kfree(se_sess);
+ return ERR_PTR(ret);
+ }
se_sess->sup_prot_ops = sup_prot_ops;
return se_sess;
@@ -581,6 +595,7 @@ void transport_free_session(struct se_session *se_sess)
sbitmap_queue_free(&se_sess->sess_tag_pool);
kvfree(se_sess->sess_cmd_map);
}
+ percpu_ref_exit(&se_sess->cmd_count);
kmem_cache_free(se_sess_cache, se_sess);
}
EXPORT_SYMBOL(transport_free_session);
@@ -2719,6 +2734,7 @@ int target_get_sess_cmd(struct se_cmd *se_cmd, bool ack_kref)
}
se_cmd->transport_state |= CMD_T_PRE_EXECUTE;
list_add_tail(&se_cmd->se_cmd_list, &se_sess->sess_cmd_list);
+ percpu_ref_get(&se_sess->cmd_count);
out:
spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags);
@@ -2749,8 +2765,6 @@ static void target_release_cmd_kref(struct kref *kref)
if (se_sess) {
spin_lock_irqsave(&se_sess->sess_cmd_lock, flags);
list_del_init(&se_cmd->se_cmd_list);
- if (se_sess->sess_tearing_down && list_empty(&se_sess->sess_cmd_list))
- wake_up(&se_sess->cmd_list_wq);
spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags);
}
@@ -2758,6 +2772,8 @@ static void target_release_cmd_kref(struct kref *kref)
se_cmd->se_tfo->release_cmd(se_cmd);
if (compl)
complete(compl);
+
+ percpu_ref_put(&se_sess->cmd_count);
}
/**
@@ -2886,6 +2902,8 @@ void target_sess_cmd_list_set_waiting(struct se_session *se_sess)
spin_lock_irqsave(&se_sess->sess_cmd_lock, flags);
se_sess->sess_tearing_down = 1;
spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags);
+
+ percpu_ref_kill(&se_sess->cmd_count);
}
EXPORT_SYMBOL(target_sess_cmd_list_set_waiting);
@@ -2900,17 +2918,14 @@ void target_wait_for_sess_cmds(struct se_session *se_sess)
WARN_ON_ONCE(!se_sess->sess_tearing_down);
- spin_lock_irq(&se_sess->sess_cmd_lock);
do {
- ret = wait_event_lock_irq_timeout(
- se_sess->cmd_list_wq,
- list_empty(&se_sess->sess_cmd_list),
- se_sess->sess_cmd_lock, 180 * HZ);
+ ret = wait_event_timeout(se_sess->cmd_list_wq,
+ percpu_ref_is_zero(&se_sess->cmd_count),
+ 180 * HZ);
list_for_each_entry(cmd, &se_sess->sess_cmd_list, se_cmd_list)
target_show_cmd("session shutdown: still waiting for ",
cmd);
} while (ret <= 0);
- spin_unlock_irq(&se_sess->sess_cmd_lock);
}
EXPORT_SYMBOL(target_wait_for_sess_cmds);
diff --git a/drivers/target/target_core_xcopy.c b/drivers/target/target_core_xcopy.c
index 70adcfdca8d1..124495f953fa 100644
--- a/drivers/target/target_core_xcopy.c
+++ b/drivers/target/target_core_xcopy.c
@@ -479,6 +479,8 @@ static const struct target_core_fabric_ops xcopy_pt_tfo = {
int target_xcopy_setup_pt(void)
{
+ int ret;
+
xcopy_wq = alloc_workqueue("xcopy_wq", WQ_MEM_RECLAIM, 0);
if (!xcopy_wq) {
pr_err("Unable to allocate xcopy_wq\n");
@@ -496,7 +498,9 @@ int target_xcopy_setup_pt(void)
INIT_LIST_HEAD(&xcopy_pt_nacl.acl_list);
INIT_LIST_HEAD(&xcopy_pt_nacl.acl_sess_list);
memset(&xcopy_pt_sess, 0, sizeof(struct se_session));
- transport_init_session(&xcopy_pt_sess);
+ ret = transport_init_session(&xcopy_pt_sess);
+ if (ret < 0)
+ return ret;
xcopy_pt_nacl.se_tpg = &xcopy_pt_tpg;
xcopy_pt_nacl.nacl_sess = &xcopy_pt_sess;
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index e3bdb0550a59..d9fd4eac58c2 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -601,6 +601,7 @@ struct se_session {
struct se_node_acl *se_node_acl;
struct se_portal_group *se_tpg;
void *fabric_sess_ptr;
+ struct percpu_ref cmd_count;
struct list_head sess_list;
struct list_head sess_acl_list;
struct list_head sess_cmd_list;
diff --git a/include/target/target_core_fabric.h b/include/target/target_core_fabric.h
index f4147b398431..eb9d0923c55c 100644
--- a/include/target/target_core_fabric.h
+++ b/include/target/target_core_fabric.h
@@ -116,7 +116,7 @@ struct se_session *target_setup_session(struct se_portal_group *,
struct se_session *, void *));
void target_remove_session(struct se_session *);
-void transport_init_session(struct se_session *);
+int transport_init_session(struct se_session *se_sess);
struct se_session *transport_alloc_session(enum target_prot_op);
int transport_alloc_session_tags(struct se_session *, unsigned int,
unsigned int);
--
2.19.1
next prev parent reply other threads:[~2019-01-24 19:41 UTC|newest]
Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-24 19:19 [PATCH 4.20 000/127] 4.20.5-stable review Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 001/127] ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped address Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 002/127] mlxsw: spectrum: Disable lag port TX before removing it Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 003/127] mlxsw: spectrum_switchdev: Set PVID correctly during VLAN deletion Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 004/127] net: dsa: mv88x6xxx: mv88e6390 errata Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 005/127] net, skbuff: do not prefer skb allocation fails early Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 006/127] qmi_wwan: add MTU default to qmap network interface Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 007/127] r8169: Add support for new Realtek Ethernet Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 008/127] ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 009/127] ipv6: Fix dump of specific table with strict checking Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 010/127] netlink: fixup regression in RTM_GETADDR Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 011/127] octeontx2-af: Fix a resource leak in an error handling path in cgx_probe() Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 012/127] openvswitch: Fix IPv6 later frags parsing Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 013/127] net: clear skb->tstamp in bridge forwarding path Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 014/127] netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 015/127] gpio: pl061: Move irq_chip definition inside struct pl061 Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 016/127] ASoC: wm97xx: fix uninitialized regmap pointer problem Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 017/127] drm/amd/display: Guard against null stream_state in set_crc_source Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 018/127] drm/amdkfd: fix interrupt spin lock Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 019/127] qtnfmac: fix error handling in control path Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 020/127] ixgbe: allow IPsec Tx offload in VEPA mode Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 021/127] platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 022/127] e1000e: allow non-monotonic SYSTIM readings Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 023/127] usb: typec: tcpm: Do not disconnect link for self powered devices Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 024/127] selftests/bpf: enable (uncomment) all tests in test_libbpf.sh Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 025/127] of: overlay: add missing of_node_put() after add new node to changeset Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 026/127] writeback: dont decrement wb->refcnt if !wb->bdi Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 027/127] serial: set suppress_bind_attrs flag only if builtin Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 028/127] bpf: Allow narrow loads with offset > 0 Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 029/127] ALSA: oxfw: add support for APOGEE duet FireWire Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 030/127] x86/mce: Fix -Wmissing-prototypes warnings Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 031/127] MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 032/127] crypto: ecc - regularize scalar for scalar multiplication Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 033/127] drm/scheduler: Fix bad job be re-processed in TDR Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 034/127] arm64: perf: set suppress_bind_attrs flag to true Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 035/127] MIPS: Loongson: Add Loongson-3A R2.1 basic support Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 036/127] x86/fault: Dont try to recover from an implicit supervisor access Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 037/127] drm/atomic-helper: Complete fake_commit->flip_done potentially earlier Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 038/127] clk: meson: meson8b: add support for more M/N values in sys_pll Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 039/127] clk: meson: meson8b: fix incorrect divider mapping in cpu_scale_table Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 040/127] samples: bpf: fix: error handling regarding kprobe_events Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 041/127] usb: gadget: udc: renesas_usb3: add a safety connection way for forced_b_device Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 042/127] fpga: altera-cvp: fix probing for multiple FPGAs on the bus Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 043/127] selinux: always allow mounting submounts Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 044/127] arm64: Use a raw spinlock in __install_bp_hardening_cb() Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 045/127] ASoC: pcm3168a: Dont disable pcm3168a when CONFIG_PM defined Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 046/127] scsi: qedi: Check for session online before getting iSCSI TLV data Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 047/127] net: ethernet: ave: Set initial wol state to disabled Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 048/127] drm/amdgpu: Reorder uvd ring init before uvd resume Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 049/127] rxe: IB_WR_REG_MR does not capture MRs iova field Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 050/127] efi/libstub: Disable some warnings for x86{,_64} Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 051/127] jffs2: Fix use of uninitialized delayed_work, lockdep breakage Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 052/127] kbuild: let fixdep directly write to .*.cmd files Greg Kroah-Hartman
2019-01-24 19:19 ` [PATCH 4.20 053/127] clk: imx: make mux parent strings const Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 054/127] pstore/ram: Do not treat empty buffers as valid Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 055/127] media: uvcvideo: Refactor teardown of uvc on USB disconnect Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 056/127] powerpc/xmon: Fix invocation inside lock region Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 057/127] powerpc/pseries/cpuidle: Fix preempt warning Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 058/127] arm64: relocatable: fix inconsistencies in linker script and options Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 059/127] media: firewire: Fix app_info parameter type in avc_ca{,_app}_info Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 060/127] ASoC: use dma_ops of parent device for acp_audio_dma Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 061/127] coresight: tmc: Fix bad register address for CLAIM Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 062/127] media: venus: core: Set dma maximum segment size Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 063/127] staging: erofs: fix use-after-free of on-stack `z_erofs_vle_unzip_io Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 064/127] net: call sk_dst_reset when set SO_DONTROUTE Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 065/127] scsi: target: use consistent left-aligned ASCII INQUIRY data Greg Kroah-Hartman
2019-01-24 19:20 ` Greg Kroah-Hartman [this message]
2019-01-24 19:20 ` [PATCH 4.20 067/127] selftests: do not macro-expand failed assertion expressions Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 068/127] arm64: kasan: Increase stack size for KASAN_EXTRA Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 069/127] clk: imx6q: reset exclusive gates on init Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 070/127] arm64: Fix minor issues with the dcache_by_line_op macro Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 071/127] bpf: relax verifier restriction on BPF_MOV | BPF_ALU Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 072/127] usb: dwc2: Fix disable all EPs on disconnect Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 073/127] x86/resctrl: Fix rdt_find_domain() return value and checks Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 074/127] kconfig: fix file name and line number of warn_ignored_character() Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 075/127] kconfig: fix memory leak when EOF is encountered in quotation Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 076/127] mmc: atmel-mci: do not assume idle after atmci_request_end Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 077/127] btrfs: volumes: Make sure there is no overlap of dev extents at mount time Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 078/127] btrfs: alloc_chunk: fix more DUP stripe size handling Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 079/127] btrfs: fix use-after-free due to race between replace start and cancel Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 080/127] btrfs: improve error handling of btrfs_add_link Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 081/127] tty/serial: do not free trasnmit buffer page under port lock Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 082/127] tools lib traceevent: Fix compile warnings in tools/lib/traceevent/event-parse.c Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 083/127] perf intel-pt: Fix error with config term "pt=0" Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 084/127] perf tests ARM: Disable breakpoint tests 32-bit Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 085/127] perf svghelper: Fix unchecked usage of strncpy() Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 086/127] perf parse-events: " Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 087/127] perf vendor events intel: Fix Load_Miss_Real_Latency on SKL/SKX Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 088/127] netfilter: ipt_CLUSTERIP: check MAC address when duplicate config is set Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 089/127] netfilter: ipt_CLUSTERIP: remove wrong WARN_ON_ONCE in netns exit routine Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 090/127] netfilter: ipt_CLUSTERIP: fix deadlock " Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 091/127] x86/topology: Use total_cpus for max logical packages calculation Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 092/127] dm crypt: use u64 instead of sector_t to store iv_offset Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 093/127] dm kcopyd: Fix bug causing workqueue stalls Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 094/127] perf stat: Avoid segfaults caused by negated options Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 095/127] tools lib subcmd: Dont add the kernel sources to the include path Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 096/127] dm snapshot: Fix excessive memory usage and workqueue stalls Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 097/127] perf cs-etm: Correct packets swapping in cs_etm__flush() Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 098/127] perf tools: Add missing sigqueue() prototype for systems lacking it Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 099/127] perf tools: Add missing open_memstream() " Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 100/127] quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON,OFF} quotactls Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 101/127] clocksource/drivers/integrator-ap: Add missing of_node_put() Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 102/127] dm: Check for device sector overflow if CONFIG_LBDAF is not set Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 103/127] Bluetooth: btusb: Add support for Intel bluetooth device 8087:0029 Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 104/127] ALSA: bebob: fix model-id of unit for Apogee Ensemble Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 105/127] sysfs: Disable lockdep for driver bind/unbind files Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 106/127] IB/usnic: Fix potential deadlock Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 107/127] scsi: mpt3sas: fix memory ordering on 64bit writes Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 108/127] scsi: smartpqi: correct lun reset issues Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 109/127] ath10k: fix peer stats null pointer dereference Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 110/127] scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown() Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 111/127] KVM: PPC: Book3S HV: Align gfn to L1 page size when inserting nest-rmap entry Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 112/127] KVM: PPC: Book3S HV: Apply combination of host and l1 pte rc for nested guest Greg Kroah-Hartman
2019-01-24 19:20 ` [PATCH 4.20 113/127] scsi: megaraid: fix out-of-bound array accesses Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 114/127] iomap: dont search past page end in iomap_is_partially_uptodate Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 115/127] ocfs2: fix panic due to unrecovered local alloc Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 116/127] mm/page-writeback.c: dont break integrity writeback on ->writepage() error Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 117/127] mm/swap: use nr_node_ids for avail_lists in swap_info_struct Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 118/127] userfaultfd: clear flag if remap event not enabled Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 119/127] mm, proc: be more verbose about unstable VMA flags in /proc/<pid>/smaps Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 120/127] mm/memblock.c: skip kmemleak for kasan_init() Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 121/127] drm/amd/display: Fix disabled cursor on top screen edge Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 122/127] Bluetooth: Fix unnecessary error message for HCI request completion Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 123/127] ipmi: fix use-after-free of user->release_barrier.rda Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 124/127] ipmi: Dont initialize anything in the core until something uses it Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 125/127] ipmi: msghandler: Fix potential Spectre v1 vulnerabilities Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 126/127] ipmi: Prevent use-after-free in deliver_response Greg Kroah-Hartman
2019-01-24 19:21 ` [PATCH 4.20 127/127] ipmi:ssif: Fix handling of multi-part return messages Greg Kroah-Hartman
2019-01-25 14:55 ` [PATCH 4.20 000/127] 4.20.5-stable review shuah
2019-01-26 8:16 ` Greg Kroah-Hartman
2019-01-25 16:45 ` Naresh Kamboju
2019-01-26 8:18 ` Greg Kroah-Hartman
2019-01-25 23:20 ` Guenter Roeck
2019-01-26 8:17 ` 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=20190124190214.945747128@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bvanassche@acm.org \
--cc=ddiss@suse.de \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=mchristi@redhat.com \
--cc=nab@linux-iscsi.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).