linux-kernel.vger.kernel.org archive mirror
 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,
	syzbot <syzbot+f61766d5763f9e7a118f@syzkaller.appspotmail.com>,
	Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
	Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.14 115/168] loop: reduce the loop_ctl_mutex scope
Date: Mon, 20 Sep 2021 18:44:13 +0200	[thread overview]
Message-ID: <20210920163925.417328067@linuxfoundation.org> (raw)
In-Reply-To: <20210920163921.633181900@linuxfoundation.org>

From: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>

[ Upstream commit 1c500ad706383f1a6609e63d0b5d1723fd84dab9 ]

syzbot is reporting circular locking problem at __loop_clr_fd() [1], for
commit a160c6159d4a0cf8 ("block: add an optional probe callback to
major_names") is calling the module's probe function with major_names_lock
held.

Fortunately, since commit 990e78116d38059c ("block: loop: fix deadlock
between open and remove") stopped holding loop_ctl_mutex in lo_open(),
current role of loop_ctl_mutex is to serialize access to loop_index_idr
and loop_add()/loop_remove(); in other words, management of id for IDR.
To avoid holding loop_ctl_mutex during whole add/remove operation, use
a bool flag to indicate whether the loop device is ready for use.

loop_unregister_transfer() which is called from cleanup_cryptoloop()
currently has possibility of use-after-free problem due to lack of
serialization between kfree() from loop_remove() from loop_control_remove()
and mutex_lock() from unregister_transfer_cb(). But since lo->lo_encryption
should be already NULL when this function is called due to module unload,
and commit 222013f9ac30b9ce ("cryptoloop: add a deprecation warning")
indicates that we will remove this function shortly, this patch updates
this function to emit warning instead of checking lo->lo_encryption.

Holding loop_ctl_mutex in loop_exit() is pointless, for all users must
close /dev/loop-control and /dev/loop$num (in order to drop module's
refcount to 0) before loop_exit() starts, and nobody can open
/dev/loop-control or /dev/loop$num afterwards.

Link: https://syzkaller.appspot.com/bug?id=7bb10e8b62f83e4d445cdf4c13d69e407e629558 [1]
Reported-by: syzbot <syzbot+f61766d5763f9e7a118f@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/adb1e792-fc0e-ee81-7ea0-0906fc36419d@i-love.sakura.ne.jp
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/block/loop.c | 75 +++++++++++++++++++++++++++++---------------
 drivers/block/loop.h |  1 +
 2 files changed, 50 insertions(+), 26 deletions(-)

diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index f0cdff0c5fbf..1f91bd41a29b 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -2113,18 +2113,6 @@ int loop_register_transfer(struct loop_func_table *funcs)
 	return 0;
 }
 
-static int unregister_transfer_cb(int id, void *ptr, void *data)
-{
-	struct loop_device *lo = ptr;
-	struct loop_func_table *xfer = data;
-
-	mutex_lock(&lo->lo_mutex);
-	if (lo->lo_encryption == xfer)
-		loop_release_xfer(lo);
-	mutex_unlock(&lo->lo_mutex);
-	return 0;
-}
-
 int loop_unregister_transfer(int number)
 {
 	unsigned int n = number;
@@ -2132,9 +2120,20 @@ int loop_unregister_transfer(int number)
 
 	if (n == 0 || n >= MAX_LO_CRYPT || (xfer = xfer_funcs[n]) == NULL)
 		return -EINVAL;
+	/*
+	 * This function is called from only cleanup_cryptoloop().
+	 * Given that each loop device that has a transfer enabled holds a
+	 * reference to the module implementing it we should never get here
+	 * with a transfer that is set (unless forced module unloading is
+	 * requested). Thus, check module's refcount and warn if this is
+	 * not a clean unloading.
+	 */
+#ifdef CONFIG_MODULE_UNLOAD
+	if (xfer->owner && module_refcount(xfer->owner) != -1)
+		pr_err("Danger! Unregistering an in use transfer function.\n");
+#endif
 
 	xfer_funcs[n] = NULL;
-	idr_for_each(&loop_index_idr, &unregister_transfer_cb, xfer);
 	return 0;
 }
 
@@ -2325,8 +2324,9 @@ static int loop_add(int i)
 	} else {
 		err = idr_alloc(&loop_index_idr, lo, 0, 0, GFP_KERNEL);
 	}
+	mutex_unlock(&loop_ctl_mutex);
 	if (err < 0)
-		goto out_unlock;
+		goto out_free_dev;
 	i = err;
 
 	err = -ENOMEM;
@@ -2392,15 +2392,19 @@ static int loop_add(int i)
 	disk->private_data	= lo;
 	disk->queue		= lo->lo_queue;
 	sprintf(disk->disk_name, "loop%d", i);
+	/* Make this loop device reachable from pathname. */
 	add_disk(disk);
+	/* Show this loop device. */
+	mutex_lock(&loop_ctl_mutex);
+	lo->idr_visible = true;
 	mutex_unlock(&loop_ctl_mutex);
 	return i;
 
 out_cleanup_tags:
 	blk_mq_free_tag_set(&lo->tag_set);
 out_free_idr:
+	mutex_lock(&loop_ctl_mutex);
 	idr_remove(&loop_index_idr, i);
-out_unlock:
 	mutex_unlock(&loop_ctl_mutex);
 out_free_dev:
 	kfree(lo);
@@ -2410,9 +2414,14 @@ out:
 
 static void loop_remove(struct loop_device *lo)
 {
+	/* Make this loop device unreachable from pathname. */
 	del_gendisk(lo->lo_disk);
 	blk_cleanup_disk(lo->lo_disk);
 	blk_mq_free_tag_set(&lo->tag_set);
+	mutex_lock(&loop_ctl_mutex);
+	idr_remove(&loop_index_idr, lo->lo_number);
+	mutex_unlock(&loop_ctl_mutex);
+	/* There is no route which can find this loop device. */
 	mutex_destroy(&lo->lo_mutex);
 	kfree(lo);
 }
@@ -2436,31 +2445,40 @@ static int loop_control_remove(int idx)
 		return -EINVAL;
 	}
 		
+	/* Hide this loop device for serialization. */
 	ret = mutex_lock_killable(&loop_ctl_mutex);
 	if (ret)
 		return ret;
-
 	lo = idr_find(&loop_index_idr, idx);
-	if (!lo) {
+	if (!lo || !lo->idr_visible)
 		ret = -ENODEV;
-		goto out_unlock_ctrl;
-	}
+	else
+		lo->idr_visible = false;
+	mutex_unlock(&loop_ctl_mutex);
+	if (ret)
+		return ret;
 
+	/* Check whether this loop device can be removed. */
 	ret = mutex_lock_killable(&lo->lo_mutex);
 	if (ret)
-		goto out_unlock_ctrl;
+		goto mark_visible;
 	if (lo->lo_state != Lo_unbound ||
 	    atomic_read(&lo->lo_refcnt) > 0) {
 		mutex_unlock(&lo->lo_mutex);
 		ret = -EBUSY;
-		goto out_unlock_ctrl;
+		goto mark_visible;
 	}
+	/* Mark this loop device no longer open()-able. */
 	lo->lo_state = Lo_deleting;
 	mutex_unlock(&lo->lo_mutex);
 
-	idr_remove(&loop_index_idr, lo->lo_number);
 	loop_remove(lo);
-out_unlock_ctrl:
+	return 0;
+
+mark_visible:
+	/* Show this loop device again. */
+	mutex_lock(&loop_ctl_mutex);
+	lo->idr_visible = true;
 	mutex_unlock(&loop_ctl_mutex);
 	return ret;
 }
@@ -2474,7 +2492,8 @@ static int loop_control_get_free(int idx)
 	if (ret)
 		return ret;
 	idr_for_each_entry(&loop_index_idr, lo, id) {
-		if (lo->lo_state == Lo_unbound)
+		/* Hitting a race results in creating a new loop device which is harmless. */
+		if (lo->idr_visible && data_race(lo->lo_state) == Lo_unbound)
 			goto found;
 	}
 	mutex_unlock(&loop_ctl_mutex);
@@ -2590,10 +2609,14 @@ static void __exit loop_exit(void)
 	unregister_blkdev(LOOP_MAJOR, "loop");
 	misc_deregister(&loop_misc);
 
-	mutex_lock(&loop_ctl_mutex);
+	/*
+	 * There is no need to use loop_ctl_mutex here, for nobody else can
+	 * access loop_index_idr when this module is unloading (unless forced
+	 * module unloading is requested). If this is not a clean unloading,
+	 * we have no means to avoid kernel crash.
+	 */
 	idr_for_each_entry(&loop_index_idr, lo, id)
 		loop_remove(lo);
-	mutex_unlock(&loop_ctl_mutex);
 
 	idr_destroy(&loop_index_idr);
 }
diff --git a/drivers/block/loop.h b/drivers/block/loop.h
index 1988899db63a..04c88dd6eabd 100644
--- a/drivers/block/loop.h
+++ b/drivers/block/loop.h
@@ -68,6 +68,7 @@ struct loop_device {
 	struct blk_mq_tag_set	tag_set;
 	struct gendisk		*lo_disk;
 	struct mutex		lo_mutex;
+	bool			idr_visible;
 };
 
 struct loop_cmd {
-- 
2.30.2




  parent reply	other threads:[~2021-09-20 18:49 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-20 16:42 [PATCH 5.14 000/168] 5.14.7-rc1 review Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 001/168] io_uring: ensure symmetry in handling iter types in loop_rw_iter() Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 002/168] swiotlb-xen: avoid double free Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 003/168] swiotlb-xen: fix late init retry Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 004/168] xen: reset legacy rtc flag for PV domU Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 005/168] xen: fix usage of pmd_populate in mremap for pv guests Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 006/168] bnx2x: Fix enabling network interfaces without VFs Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 007/168] arm64/sve: Use correct size when reinitialising SVE state Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 008/168] PM: base: power: dont try to use non-existing RTC for storing data Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 009/168] PCI: Add AMD GPU multi-function power dependencies Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 010/168] drm/amd/display: Get backlight from PWM if DMCU is not initialized Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 011/168] drm/amd/display: dsc mst 2 4K displays go dark with 2 lane HBR3 Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 012/168] drm/amd/display: Fix white screen page fault for gpuvm Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 013/168] drm/amd/pm: fix runpm hang when amdgpu loaded prior to sound driver Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 014/168] drm/amd/amdgpu: Increase HWIP_MAX_INSTANCE to 10 Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 015/168] drm/amdgpu: use IS_ERR for debugfs APIs Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 016/168] drm/amdgpu: fix use after free during BO move Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 017/168] drm/amdgpu: add amdgpu_amdkfd_resume_iommu Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 018/168] drm/amdgpu: move iommu_resume before ip init/resume Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 019/168] drm/amd/pm: fix the issue of uploading powerplay table Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 020/168] drm/amdkfd: separate kfd_iommu_resume from kfd_resume Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 021/168] drm/radeon: pass drm dev radeon_agp_head_init directly Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 022/168] io_uring: allow retry for O_NONBLOCK if async is supported Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 023/168] drm/i915/dp: Use max params for panels < eDP 1.4 Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 024/168] drm/etnaviv: return context from etnaviv_iommu_context_get Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 025/168] drm/etnaviv: put submit prev MMU context when it exists Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 026/168] drm/etnaviv: stop abusing mmu_context as FE running marker Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 027/168] drm/etnaviv: keep MMU context across runtime suspend/resume Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 028/168] drm/etnaviv: exec and MMU state is lost when resetting the GPU Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 029/168] drm/etnaviv: fix MMU context leak on GPU reset Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 030/168] drm/etnaviv: reference MMU context when setting up hardware state Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 031/168] drm/etnaviv: add missing MMU context put when reaping MMU mapping Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 032/168] s390/sclp: fix Secure-IPL facility detection Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 033/168] net: qrtr: revert check in qrtr_endpoint_post() Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 034/168] x86/pat: Pass valid address to sanitize_phys() Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 035/168] x86/mm: Fix kern_addr_valid() to cope with existing but not present entries Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 036/168] x86/mce: Avoid infinite loop for copy from user recovery Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 037/168] tipc: fix an use-after-free issue in tipc_recvmsg Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 038/168] ethtool: Fix rxnfc copy to user buffer overflow Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 039/168] net: remove the unnecessary check in cipso_v4_doi_free Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 040/168] net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert Greg Kroah-Hartman
2021-09-20 16:42 ` [PATCH 5.14 041/168] net-caif: avoid user-triggerable WARN_ON(1) Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 042/168] ptp: dp83640: dont define PAGE0 Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 043/168] dccp: dont duplicate ccid when cloning dccp sock Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 044/168] net/l2tp: Fix reference count leak in l2tp_udp_recv_core Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 045/168] r6040: Restore MDIO clock frequency after MAC reset Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 046/168] tipc: increase timeout in tipc_sk_enqueue() Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 047/168] drm/rockchip: cdn-dp-core: Make cdn_dp_core_resume __maybe_unused Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 048/168] rtc: cmos: Disable irq around direct invocation of cmos_interrupt() Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 049/168] drm/i915/dp: return proper DPRX link training result Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 050/168] perf machine: Initialize srcline string member in add_location struct Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 051/168] net/mlx5: FWTrace, cancel work on alloc pd error flow Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 052/168] net/mlx5: Fix potential sleeping in atomic context Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 053/168] net: stmmac: fix system hang caused by eee_ctrl_timer during suspend/resume Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 054/168] igc: fix tunnel offloading Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 055/168] nvme-tcp: fix io_work priority inversion Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 056/168] powerpc/64s: system call scv tabort fix for corrupt irq soft-mask state Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 057/168] events: Reuse value read using READ_ONCE instead of re-reading it Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 058/168] net: ipa: initialize all filter table slots Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 059/168] gen_compile_commands: fix missing sys package Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 060/168] vhost_net: fix OoB on sendmsg() failure Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 061/168] net/af_unix: fix a data-race in unix_dgram_poll Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 062/168] net: dsa: destroy the phylink instance on any error in dsa_slave_phy_setup Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 063/168] x86/uaccess: Fix 32-bit __get_user_asm_u64() when CC_HAS_ASM_GOTO_OUTPUT=y Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 064/168] tcp: fix tp->undo_retrans accounting in tcp_sacktag_one() Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 065/168] selftest: net: fix typo in altname test Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 066/168] qed: Handle management FW error Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 067/168] udp_tunnel: Fix udp_tunnel_nic work-queue type Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 068/168] dt-bindings: arm: Fix Toradex compatible typo Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 069/168] ibmvnic: check failover_pending in login response Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 070/168] KVM: PPC: Book3S HV: Tolerate treclaim. in fake-suspend mode changing registers Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 071/168] powerpc/64s: system call rfscv workaround for TM bugs Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 072/168] powerpc/mce: Fix access error in mce handler Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 073/168] s390/pci_mmio: fully validate the VMA before calling follow_pte() Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 074/168] bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem() Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 075/168] net: hns3: pad the short tunnel frame before sending to hardware Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 076/168] net: hns3: change affinity_mask to numa node range Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 077/168] net: hns3: disable mac in flr process Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 078/168] net: hns3: fix the timing issue of VF clearing interrupt sources Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 079/168] net: stmmac: platform: fix build warning when with !CONFIG_PM_SLEEP Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 080/168] Drivers: hv: vmbus: Fix kernel crash upon unbinding a device from uio_hv_generic driver Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 081/168] net/mlx5e: Fix mutual exclusion between CQE compression and HW TS Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 082/168] ice: Correctly deal with PFs that do not support RDMA Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 083/168] net: dsa: qca8k: fix kernel panic with legacy mdio mapping Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 084/168] net: dsa: lantiq_gswip: Add 200ms assert delay Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 085/168] net: hns3: fix the exception when query imp info Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 086/168] nvme: avoid race in shutdown namespace removal Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 087/168] blkcg: fix memory leak in blk_iolatency_init Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 088/168] net: dsa: flush switchdev workqueue before tearing down CPU/DSA ports Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 089/168] mlxbf_gige: clear valid_polarity upon open Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 090/168] dt-bindings: mtd: gpmc: Fix the ECC bytes vs. OOB bytes equation Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 091/168] remoteproc: qcom: wcnss: Fix race with iris probe Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 092/168] mfd: db8500-prcmu: Adjust map to reality Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 093/168] PCI: Add ACS quirks for NXP LX2xx0 and LX2xx2 platforms Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 094/168] fuse: fix use after free in fuse_read_interrupt() Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 095/168] PCI: tegra194: Fix handling BME_CHGED event Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 096/168] PCI: tegra194: Fix MSI-X programming Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 097/168] PCI: tegra: Fix OF node reference leak Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 098/168] mfd: Dont use irq_create_mapping() to resolve a mapping Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 099/168] PCI: rcar: Fix runtime PM imbalance in rcar_pcie_ep_probe() Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 100/168] riscv: fix the global name pfn_base confliction error Greg Kroah-Hartman
2021-09-20 16:43 ` [PATCH 5.14 101/168] KVM: arm64: Make hyp_panic() more robust when protected mode is enabled Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 102/168] tracing/probes: Reject events which have the same name of existing one Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 103/168] PCI: cadence: Use bitfield for *quirk_retrain_flag* instead of bool Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 104/168] PCI: cadence: Add quirk flag to set minimum delay in LTSSM Detect.Quiet state Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 105/168] PCI: j721e: Add PCIe support for J7200 Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 106/168] PCI: j721e: Add PCIe support for AM64 Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 107/168] PCI: Add ACS quirks for Cavium multi-function devices Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 108/168] watchdog: Start watchdog in watchdog_set_last_hw_keepalive only if appropriate Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 109/168] octeontx2-af: Add additional register check to rvu_poll_reg() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 110/168] Set fc_nlinfo in nh_create_ipv4, nh_create_ipv6 Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 111/168] flow: fix object-size-mismatch warning in flowi{4,6}_to_flowi_common() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 112/168] net: usb: cdc_mbim: avoid altsetting toggling for Telit LN920 Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 113/168] block, bfq: honor already-setup queue merges Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 114/168] PCI: ibmphp: Fix double unmap of io_mem Greg Kroah-Hartman
2021-09-20 16:44 ` Greg Kroah-Hartman [this message]
2021-09-20 16:44 ` [PATCH 5.14 116/168] ethtool: Fix an error code in cxgb2.c Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 117/168] NTB: Fix an error code in ntb_msit_probe() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 118/168] NTB: perf: Fix an error code in perf_setup_inbuf() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 119/168] stmmac: dwmac-loongson:Fix missing return value Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 120/168] net: phylink: add suspend/resume support Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 121/168] mfd: axp20x: Update AXP288 volatile ranges Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 122/168] backlight: ktd253: Stabilize backlight Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 123/168] PCI: controller: PCI_IXP4XX should depend on ARCH_IXP4XX Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 124/168] PCI: of: Dont fail devm_pci_alloc_host_bridge() on missing ranges Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 125/168] PCI: iproc: Fix BCMA probe resource handling Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 126/168] netfilter: nft_ct: protect nft_ct_pcpu_template_refcnt with mutex Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 127/168] KVM: arm64: Restrict IPA size to maximum 48 bits on 4K and 16K page size Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 128/168] PCI: Fix pci_dev_str_match_path() alloc while atomic bug Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 129/168] mfd: tqmx86: Clear GPIO IRQ resource when no IRQ is set Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 130/168] tracing/boot: Fix a hist trigger dependency for boot time tracing Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 131/168] mtd: mtdconcat: Judge callback existence based on the master Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 132/168] mtd: mtdconcat: Check _read, _write callbacks existence before assignment Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 133/168] KVM: arm64: Fix read-side race on updates to vcpu reset state Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 134/168] KVM: arm64: Handle PSCI resets before userspace touches vCPU state Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 135/168] PCI/PTM: Remove error message at boot Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 136/168] PCI: Sync __pci_register_driver() stub for CONFIG_PCI=n Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 137/168] watchdog: Fix NULL pointer dereference when releasing cdev Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 138/168] mtd: rawnand: cafe: Fix a resource leak in the error handling path of cafe_nand_probe() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 139/168] ARC: export clear_user_page() for modules Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 140/168] perf config: Fix caching and memory leak in perf_home_perfconfig() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 141/168] perf unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64} Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 142/168] perf bench inject-buildid: Handle writen() errors Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 143/168] gpio: mpc8xxx: Fix a resources leak in the error handling path of mpc8xxx_probe() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 144/168] gpio: mpc8xxx: Fix a potential double iounmap call in mpc8xxx_probe() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 145/168] gpio: mpc8xxx: Use devm_gpiochip_add_data() to simplify the code and avoid a leak Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 146/168] io_uring: retry in case of short read on block device Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 147/168] net: dsa: tag_rtl4_a: Fix egress tags Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 148/168] tools build: Fix feature detect clean for out of source builds Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 149/168] mptcp: fix possible divide by zero Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 150/168] selftests: mptcp: clean tmp files in simult_flows Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 151/168] net: hso: add failure handler for add_net_device Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 152/168] net: dsa: b53: Fix calculating number of switch ports Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 153/168] net: dsa: b53: Set correct number of ports in the DSA struct Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 154/168] mptcp: Only send extra TCP acks in eligible socket states Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 155/168] netfilter: socket: icmp6: fix use-after-scope Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 156/168] fq_codel: reject silly quantum parameters Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 157/168] qlcnic: Remove redundant unlock in qlcnic_pinit_from_rom Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 158/168] iwlwifi: move get pnvm file name to a separate function Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 159/168] iwlwifi: pnvm: Fix a memory leak in iwl_pnvm_get_from_fs() Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 160/168] ip_gre: validate csum_start only on pull Greg Kroah-Hartman
2021-09-20 16:44 ` [PATCH 5.14 161/168] net: dsa: b53: Fix IMP port setup on BCM5301x Greg Kroah-Hartman
2021-09-20 16:45 ` [PATCH 5.14 162/168] bnxt_en: fix stored FW_PSID version masks Greg Kroah-Hartman
2021-09-20 16:45 ` [PATCH 5.14 163/168] bnxt_en: Fix asic.rev in devlink dev info command Greg Kroah-Hartman
2021-09-20 16:45 ` [PATCH 5.14 164/168] bnxt_en: Fix possible unintended driver initiated error recovery Greg Kroah-Hartman
2021-09-20 18:13   ` Michael Chan
2021-09-20 16:45 ` [PATCH 5.14 165/168] ip6_gre: Revert "ip6_gre: add validation for csum_start" Greg Kroah-Hartman
2021-09-20 16:45 ` [PATCH 5.14 166/168] mfd: lpc_sch: Rename GPIOBASE to prevent build error Greg Kroah-Hartman
2021-09-20 16:45 ` [PATCH 5.14 167/168] cxgb3: fix oops on module removal Greg Kroah-Hartman
2021-09-20 16:45 ` [PATCH 5.14 168/168] net: renesas: sh_eth: Fix freeing wrong tx descriptor Greg Kroah-Hartman
2021-09-20 18:54 ` [PATCH 5.14 000/168] 5.14.7-rc1 review Florian Fainelli
2021-09-21  6:37   ` Greg Kroah-Hartman
2021-09-21 16:58   ` Florian Fainelli
2021-09-20 23:17 ` Fox Chen
2021-09-20 23:59 ` Justin Forbes
2021-09-21 14:04 ` Shuah Khan
2021-09-21 20:35 ` Guenter Roeck
2021-09-22  4:54 ` Daniel Díaz
2021-09-22  5:30   ` Naresh Kamboju
2021-09-22 10:04 ` Rudi Heitbaum

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=20210920163925.417328067@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penguin-kernel@I-love.SAKURA.ne.jp \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=syzbot+f61766d5763f9e7a118f@syzkaller.appspotmail.com \
    /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).