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, Al Viro <viro@zeniv.linux.org.uk>,
	Jens Axboe <axboe@kernel.dk>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 059/102] fs: make unlazy_walk() error handling consistent
Date: Fri,  5 Mar 2021 13:21:18 +0100	[thread overview]
Message-ID: <20210305120906.184092495@linuxfoundation.org> (raw)
In-Reply-To: <20210305120903.276489876@linuxfoundation.org>

From: Jens Axboe <axboe@kernel.dk>

[ Upstream commit e36cffed20a324e116f329a94061ae30dd26fb51 ]

Most callers check for non-zero return, and assume it's -ECHILD (which
it always will be). One caller uses the actual error return. Clean this
up and make it fully consistent, by having unlazy_walk() return a bool
instead. Rename it to try_to_unlazy() and return true on success, and
failure on error. That's easier to read.

No functional changes in this patch.

Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/namei.c | 43 +++++++++++++++++--------------------------
 1 file changed, 17 insertions(+), 26 deletions(-)

diff --git a/fs/namei.c b/fs/namei.c
index d4a6dd772303..7af66d5a0c1b 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -669,17 +669,17 @@ static bool legitimize_root(struct nameidata *nd)
  */
 
 /**
- * unlazy_walk - try to switch to ref-walk mode.
+ * try_to_unlazy - try to switch to ref-walk mode.
  * @nd: nameidata pathwalk data
- * Returns: 0 on success, -ECHILD on failure
+ * Returns: true on success, false on failure
  *
- * unlazy_walk attempts to legitimize the current nd->path and nd->root
+ * try_to_unlazy attempts to legitimize the current nd->path and nd->root
  * for ref-walk mode.
  * Must be called from rcu-walk context.
- * Nothing should touch nameidata between unlazy_walk() failure and
+ * Nothing should touch nameidata between try_to_unlazy() failure and
  * terminate_walk().
  */
-static int unlazy_walk(struct nameidata *nd)
+static bool try_to_unlazy(struct nameidata *nd)
 {
 	struct dentry *parent = nd->path.dentry;
 
@@ -694,14 +694,14 @@ static int unlazy_walk(struct nameidata *nd)
 		goto out;
 	rcu_read_unlock();
 	BUG_ON(nd->inode != parent->d_inode);
-	return 0;
+	return true;
 
 out1:
 	nd->path.mnt = NULL;
 	nd->path.dentry = NULL;
 out:
 	rcu_read_unlock();
-	return -ECHILD;
+	return false;
 }
 
 /**
@@ -792,7 +792,7 @@ static int complete_walk(struct nameidata *nd)
 		 */
 		if (!(nd->flags & (LOOKUP_ROOT | LOOKUP_IS_SCOPED)))
 			nd->root.mnt = NULL;
-		if (unlikely(unlazy_walk(nd)))
+		if (!try_to_unlazy(nd))
 			return -ECHILD;
 	}
 
@@ -1466,7 +1466,7 @@ static struct dentry *lookup_fast(struct nameidata *nd,
 		unsigned seq;
 		dentry = __d_lookup_rcu(parent, &nd->last, &seq);
 		if (unlikely(!dentry)) {
-			if (unlazy_walk(nd))
+			if (!try_to_unlazy(nd))
 				return ERR_PTR(-ECHILD);
 			return NULL;
 		}
@@ -1567,10 +1567,8 @@ static inline int may_lookup(struct nameidata *nd)
 {
 	if (nd->flags & LOOKUP_RCU) {
 		int err = inode_permission(nd->inode, MAY_EXEC|MAY_NOT_BLOCK);
-		if (err != -ECHILD)
+		if (err != -ECHILD || !try_to_unlazy(nd))
 			return err;
-		if (unlazy_walk(nd))
-			return -ECHILD;
 	}
 	return inode_permission(nd->inode, MAY_EXEC);
 }
@@ -1592,7 +1590,7 @@ static int reserve_stack(struct nameidata *nd, struct path *link, unsigned seq)
 		// unlazy even if we fail to grab the link - cleanup needs it
 		bool grabbed_link = legitimize_path(nd, link, seq);
 
-		if (unlazy_walk(nd) != 0 || !grabbed_link)
+		if (!try_to_unlazy(nd) != 0 || !grabbed_link)
 			return -ECHILD;
 
 		if (nd_alloc_stack(nd))
@@ -1634,7 +1632,7 @@ static const char *pick_link(struct nameidata *nd, struct path *link,
 		touch_atime(&last->link);
 		cond_resched();
 	} else if (atime_needs_update(&last->link, inode)) {
-		if (unlikely(unlazy_walk(nd)))
+		if (!try_to_unlazy(nd))
 			return ERR_PTR(-ECHILD);
 		touch_atime(&last->link);
 	}
@@ -1651,11 +1649,8 @@ static const char *pick_link(struct nameidata *nd, struct path *link,
 		get = inode->i_op->get_link;
 		if (nd->flags & LOOKUP_RCU) {
 			res = get(NULL, inode, &last->done);
-			if (res == ERR_PTR(-ECHILD)) {
-				if (unlikely(unlazy_walk(nd)))
-					return ERR_PTR(-ECHILD);
+			if (res == ERR_PTR(-ECHILD) && try_to_unlazy(nd))
 				res = get(link->dentry, inode, &last->done);
-			}
 		} else {
 			res = get(link->dentry, inode, &last->done);
 		}
@@ -2193,7 +2188,7 @@ OK:
 		}
 		if (unlikely(!d_can_lookup(nd->path.dentry))) {
 			if (nd->flags & LOOKUP_RCU) {
-				if (unlazy_walk(nd))
+				if (!try_to_unlazy(nd))
 					return -ECHILD;
 			}
 			return -ENOTDIR;
@@ -3127,7 +3122,6 @@ static const char *open_last_lookups(struct nameidata *nd,
 	struct inode *inode;
 	struct dentry *dentry;
 	const char *res;
-	int error;
 
 	nd->flags |= op->intent;
 
@@ -3151,9 +3145,8 @@ static const char *open_last_lookups(struct nameidata *nd,
 	} else {
 		/* create side of things */
 		if (nd->flags & LOOKUP_RCU) {
-			error = unlazy_walk(nd);
-			if (unlikely(error))
-				return ERR_PTR(error);
+			if (!try_to_unlazy(nd))
+				return ERR_PTR(-ECHILD);
 		}
 		audit_inode(nd->name, dir, AUDIT_INODE_PARENT);
 		/* trailing slashes? */
@@ -3162,9 +3155,7 @@ static const char *open_last_lookups(struct nameidata *nd,
 	}
 
 	if (open_flag & (O_CREAT | O_TRUNC | O_WRONLY | O_RDWR)) {
-		error = mnt_want_write(nd->path.mnt);
-		if (!error)
-			got_write = true;
+		got_write = !mnt_want_write(nd->path.mnt);
 		/*
 		 * do _not_ fail yet - we might not need that or fail with
 		 * a different error; let lookup_open() decide; we'll be
-- 
2.30.1




  parent reply	other threads:[~2021-03-05 12:31 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-05 12:20 [PATCH 5.10 000/102] 5.10.21-rc1 review Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 001/102] net: usb: qmi_wwan: support ZTE P685M modem Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 002/102] Input: elantech - fix protocol errors for some trackpoints in SMBus mode Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 003/102] Input: elan_i2c - add new trackpoint report type 0x5F Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 004/102] drm/virtio: use kvmalloc for large allocations Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 005/102] x86/build: Treat R_386_PLT32 relocation as R_386_PC32 Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 006/102] JFS: more checks for invalid superblock Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 007/102] sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 008/102] udlfb: Fix memory leak in dlfb_usb_probe Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 009/102] media: mceusb: sanity check for prescaler value Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 010/102] erofs: fix shift-out-of-bounds of blkszbits Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 011/102] media: v4l2-ctrls.c: fix shift-out-of-bounds in std_validate Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 012/102] xfs: Fix assert failure in xfs_setattr_size() Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 013/102] net/af_iucv: remove WARN_ONCE on malformed RX packets Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 014/102] smackfs: restrict bytes count in smackfs write functions Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 015/102] tomoyo: ignore data race while checking quota Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 016/102] net: fix up truesize of cloned skb in skb_prepare_for_shift() Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 017/102] riscv: Get rid of MAX_EARLY_MAPPING_SIZE Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 018/102] nbd: handle device refs for DESTROY_ON_DISCONNECT properly Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 019/102] mm/hugetlb.c: fix unnecessary address expansion of pmd sharing Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 020/102] RDMA/rtrs: Do not signal for heatbeat Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 021/102] RDMA/rtrs-clt: Use bitmask to check sess->flags Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 022/102] RDMA/rtrs-srv: Do not signal REG_MR Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 023/102] tcp: fix tcp_rmem documentation Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 024/102] mptcp: do not wakeup listener for MPJ subflows Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 025/102] net: bridge: use switchdev for port flags set through sysfs too Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 026/102] net/sched: cls_flower: Reject invalid ct_state flags rules Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 027/102] net: dsa: tag_rtl4_a: Support also egress tags Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 028/102] net: ag71xx: remove unnecessary MTU reservation Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 029/102] net: hsr: add support for EntryForgetTime Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 030/102] net: psample: Fix netlink skb length with tunnel info Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 031/102] net: fix dev_ifsioc_locked() race condition Greg Kroah-Hartman
2021-03-08 12:50   ` Pavel Machek
2021-03-08 13:21     ` Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 032/102] dt-bindings: ethernet-controller: fix fixed-link specification Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 033/102] dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/ Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 034/102] ASoC: qcom: Remove useless debug print Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 035/102] rsi: Fix TX EAPOL packet handling against iwlwifi AP Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 036/102] rsi: Move card interrupt handling to RX thread Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 037/102] rcu/nocb: Trigger self-IPI on late deferred wake up before user resume Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 038/102] entry: Explicitly flush pending rcuog wakeup before last rescheduling point Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 039/102] entry/kvm: " Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 040/102] EDAC/amd64: Do not load on family 0x15, model 0x13 Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 041/102] staging: fwserial: Fix error handling in fwserial_create Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 042/102] x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 043/102] vt/consolemap: do font sum unsigned Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 044/102] wlcore: Fix command execute failure 19 for wl12xx Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 045/102] Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 046/102] Bluetooth: btusb: fix memory leak on suspend and resume Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 047/102] mt76: mt7615: reset token when mac_reset happens Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 048/102] pktgen: fix misuse of BUG_ON() in pktgen_thread_worker() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 049/102] ath10k: fix wmi mgmt tx queue full due to race condition Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 050/102] net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 051/102] Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 052/102] Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 053/102] staging: most: sound: add sanity check for function argument Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 054/102] staging: bcm2835-audio: Replace unsafe strcpy() with strscpy() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 055/102] brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 056/102] brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 057/102] drm/hisilicon: Fix use-after-free Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 058/102] crypto: tcrypt - avoid signed overflow in byte count Greg Kroah-Hartman
2021-03-05 12:21 ` Greg Kroah-Hartman [this message]
2021-03-05 12:21 ` [PATCH 5.10 060/102] drm/amdgpu: Add check to prevent IH overflow Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 061/102] PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 062/102] ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 063/102] drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 064/102] drm/amd/amdgpu: add error handling to amdgpu_virt_read_pf2vf_data Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 065/102] media: uvcvideo: Allow entities with no pads Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 066/102] f2fs: handle unallocated section and zone on pinned/atgc Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 067/102] f2fs: fix to set/clear I_LINKABLE under i_lock Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 068/102] nvme-core: add cancel tagset helpers Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 069/102] nvme-rdma: add clean action for failed reconnection Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 070/102] nvme-tcp: " Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 071/102] ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 072/102] btrfs: fix error handling in commit_fs_roots Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 073/102] drm/amdgpu: enable only one high prio compute queue Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 074/102] perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 075/102] ASoC: Intel: sof-sdw: indent and add quirks consistently Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 076/102] ASoC: Intel: sof_sdw: detect DMIC number based on mach params Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 077/102] parisc: Bump 64-bit IRQ stack size to 64 KB Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 078/102] sched/features: Fix hrtick reprogramming Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 079/102] ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 080/102] ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 081/102] ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 082/102] ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 083/102] scsi: iscsi: Restrict sessions and handles to admin capabilities Greg Kroah-Hartman
2021-03-05 22:42   ` Pavel Machek
2021-03-06  0:05     ` Lee Duncan
2021-03-05 12:21 ` [PATCH 5.10 084/102] scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 085/102] scsi: iscsi: Verify lengths on passthrough PDUs Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 086/102] Xen/gnttab: handle p2m update errors on a per-slot basis Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 087/102] xen-netback: respect gnttab_map_refs()s return value Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 088/102] xen: fix p2m size in dom0 for disabled memory hotplug case Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 089/102] zsmalloc: account the number of compacted pages correctly Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 090/102] remoteproc/mediatek: Fix kernel test robot warning Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 091/102] swap: fix swapfile read/write offset Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 092/102] powerpc/sstep: Check instruction validity against ISA version before emulation Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 093/102] powerpc/sstep: Fix incorrect return from analyze_instr() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 094/102] tty: fix up iterate_tty_read() EOVERFLOW handling Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 095/102] tty: fix up hung_up_tty_read() conversion Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 096/102] tty: clean up legacy leftovers from n_tty line discipline Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 097/102] tty: teach n_tty line discipline about the new "cookie continuations" Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 098/102] tty: teach the n_tty ICANON case about the new "cookie continuations" too Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 099/102] media: v4l: ioctl: Fix memory leak in video_usercopy Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 100/102] ALSA: hda/realtek: Add quirk for Clevo NH55RZQ Greg Kroah-Hartman
2021-03-05 12:22 ` [PATCH 5.10 101/102] ALSA: hda/realtek: Add quirk for Intel NUC 10 Greg Kroah-Hartman
2021-03-05 12:22 ` [PATCH 5.10 102/102] ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board Greg Kroah-Hartman
2021-03-05 22:10 ` [PATCH 5.10 000/102] 5.10.21-rc1 review Pavel Machek
2021-03-07 17:18   ` Pavel Machek
2021-03-07 17:47     ` Greg Kroah-Hartman
2021-03-06  3:24 ` Guenter Roeck
2021-03-06  9:54   ` Greg Kroah-Hartman
2021-03-06 17:19     ` Greg Kroah-Hartman
2021-03-06  5:31 ` Florian Fainelli
2021-03-07 11:39   ` Greg Kroah-Hartman
2021-03-06  6:25 ` Samuel Zou
2021-03-07 11:38   ` Greg Kroah-Hartman
2021-03-06  9:36 ` Naresh Kamboju
2021-03-06 16:50 ` Guenter Roeck

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=20210305120906.184092495@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=axboe@kernel.dk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /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).