stable.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, "Arınç ÜNAL" <arinc.unal@arinc9.com>,
	"Luiz Angelo Daros de Luca" <luizluca@gmail.com>,
	"Alvin Šipraga" <alsi@bang-olufsen.dk>,
	"Vladimir Oltean" <olteanv@gmail.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 5.17 006/219] net: dsa: realtek: rtl8365mb: serialize indirect PHY register access
Date: Mon, 18 Apr 2022 14:09:35 +0200	[thread overview]
Message-ID: <20220418121203.651496793@linuxfoundation.org> (raw)
In-Reply-To: <20220418121203.462784814@linuxfoundation.org>

From: Alvin Šipraga <alsi@bang-olufsen.dk>

commit 2796728460b822d549841e0341752b263dc265c4 upstream.

Realtek switches in the rtl8365mb family can access the PHY registers of
the internal PHYs via the switch registers. This method is called
indirect access. At a high level, the indirect PHY register access
method involves reading and writing some special switch registers in a
particular sequence. This works for both SMI and MDIO connected
switches.

Currently the rtl8365mb driver does not take any care to serialize the
aforementioned access to the switch registers. In particular, it is
permitted for other driver code to access other switch registers while
the indirect PHY register access is ongoing. Locking is only done at the
regmap level. This, however, is a bug: concurrent register access, even
to unrelated switch registers, risks corrupting the PHY register value
read back via the indirect access method described above.

Arınç reported that the switch sometimes returns nonsense data when
reading the PHY registers. In particular, a value of 0 causes the
kernel's PHY subsystem to think that the link is down, but since most
reads return correct data, the link then flip-flops between up and down
over a period of time.

The aforementioned bug can be readily observed by:

 1. Enabling ftrace events for regmap and mdio
 2. Polling BSMR PHY register for a connected port;
    it should always read the same (e.g. 0x79ed)
 3. Wait for step 2 to give a different value

Example command for step 2:

    while true; do phytool read swp2/2/0x01; done

On my i.MX8MM, the above steps will yield a bogus value for the BSMR PHY
register within a matter of seconds. The interleaved register access it
then evident in the trace log:

 kworker/3:4-70      [003] .......  1927.139849: regmap_reg_write: ethernet-switch reg=1004 val=bd
     phytool-16816   [002] .......  1927.139979: regmap_reg_read: ethernet-switch reg=1f01 val=0
 kworker/3:4-70      [003] .......  1927.140381: regmap_reg_read: ethernet-switch reg=1005 val=0
     phytool-16816   [002] .......  1927.140468: regmap_reg_read: ethernet-switch reg=1d15 val=a69
 kworker/3:4-70      [003] .......  1927.140864: regmap_reg_read: ethernet-switch reg=1003 val=0
     phytool-16816   [002] .......  1927.140955: regmap_reg_write: ethernet-switch reg=1f02 val=2041
 kworker/3:4-70      [003] .......  1927.141390: regmap_reg_read: ethernet-switch reg=1002 val=0
     phytool-16816   [002] .......  1927.141479: regmap_reg_write: ethernet-switch reg=1f00 val=1
 kworker/3:4-70      [003] .......  1927.142311: regmap_reg_write: ethernet-switch reg=1004 val=be
     phytool-16816   [002] .......  1927.142410: regmap_reg_read: ethernet-switch reg=1f01 val=0
 kworker/3:4-70      [003] .......  1927.142534: regmap_reg_read: ethernet-switch reg=1005 val=0
     phytool-16816   [002] .......  1927.142618: regmap_reg_read: ethernet-switch reg=1f04 val=0
     phytool-16816   [002] .......  1927.142641: mdio_access: SMI-0 read  phy:0x02 reg:0x01 val:0x0000 <- ?!
 kworker/3:4-70      [003] .......  1927.143037: regmap_reg_read: ethernet-switch reg=1001 val=0
 kworker/3:4-70      [003] .......  1927.143133: regmap_reg_read: ethernet-switch reg=1000 val=2d89
 kworker/3:4-70      [003] .......  1927.143213: regmap_reg_write: ethernet-switch reg=1004 val=be
 kworker/3:4-70      [003] .......  1927.143291: regmap_reg_read: ethernet-switch reg=1005 val=0
 kworker/3:4-70      [003] .......  1927.143368: regmap_reg_read: ethernet-switch reg=1003 val=0
 kworker/3:4-70      [003] .......  1927.143443: regmap_reg_read: ethernet-switch reg=1002 val=6

The kworker here is polling MIB counters for stats, as evidenced by the
register 0x1004 that we are writing to (RTL8365MB_MIB_ADDRESS_REG). This
polling is performed every 3 seconds, but is just one example of such
unsynchronized access. In Arınç's case, the driver was not using the
switch IRQ, so the PHY subsystem was itself doing polling analogous to
phytool in the above example.

A test module was created [see second Link] to simulate such spurious
switch register accesses while performing indirect PHY register reads
and writes. Realtek was also consulted to confirm whether this is a
known issue or not. The conclusion of these lines of inquiry is as
follows:

1. Reading of PHY registers via indirect access will be aborted if,
   after executing the read operation (via a write to the
   INDIRECT_ACCESS_CTRL_REG), any register is accessed, other than
   INDIRECT_ACCESS_STATUS_REG.

2. The PHY register indirect read is only complete when
   INDIRECT_ACCESS_STATUS_REG reads zero.

3. The INDIRECT_ACCESS_DATA_REG, which is read to get the result of the
   PHY read, will contain the result of the last successful read
   operation. If there was spurious register access and the indirect
   read was aborted, then this register is not guaranteed to hold
   anything meaningful and the PHY read will silently fail.

4. PHY writes do not appear to be affected by this mechanism.

5. Other similar access routines, such as for MIB counters, although
   similar to the PHY indirect access method, are actually table access.
   Table access is not affected by spurious reads or writes of other
   registers. However, concurrent table access is not allowed. Currently
   this is protected via mib_lock, so there is nothing to fix.

The above statements are corroborated both via the test module and
through consultation with Realtek. In particular, Realtek states that
this is simply a property of the hardware design and is not a hardware
bug.

To fix this problem, one must guard against regmap access while the
PHY indirect register read is executing. Fix this by using the newly
introduced "nolock" regmap in all PHY-related functions, and by aquiring
the regmap mutex at the top level of the PHY register access callbacks.
Although no issue has been observed with PHY register _writes_, this
change also serializes the indirect access method there. This is done
purely as a matter of convenience and for reasons of symmetry.

Fixes: 4af2950c50c8 ("net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC")
Link: https://lore.kernel.org/netdev/CAJq09z5FCgG-+jVT7uxh1a-0CiiFsoKoHYsAWJtiKwv7LXKofQ@mail.gmail.com/
Link: https://lore.kernel.org/netdev/871qzwjmtv.fsf@bang-olufsen.dk/
Reported-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Reported-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
[alsi: backport to 5.16: s/priv/smi/g]
Cc: stable@vger.kernel.org # v5.16+
Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/dsa/realtek/rtl8365mb.c |   54 ++++++++++++++++++++++--------------
 1 file changed, 33 insertions(+), 21 deletions(-)

--- a/drivers/net/dsa/realtek/rtl8365mb.c
+++ b/drivers/net/dsa/realtek/rtl8365mb.c
@@ -565,7 +565,7 @@ static int rtl8365mb_phy_poll_busy(struc
 {
 	u32 val;
 
-	return regmap_read_poll_timeout(smi->map,
+	return regmap_read_poll_timeout(smi->map_nolock,
 					RTL8365MB_INDIRECT_ACCESS_STATUS_REG,
 					val, !val, 10, 100);
 }
@@ -579,7 +579,7 @@ static int rtl8365mb_phy_ocp_prepare(str
 	/* Set OCP prefix */
 	val = FIELD_GET(RTL8365MB_PHY_OCP_ADDR_PREFIX_MASK, ocp_addr);
 	ret = regmap_update_bits(
-		smi->map, RTL8365MB_GPHY_OCP_MSB_0_REG,
+		smi->map_nolock, RTL8365MB_GPHY_OCP_MSB_0_REG,
 		RTL8365MB_GPHY_OCP_MSB_0_CFG_CPU_OCPADR_MASK,
 		FIELD_PREP(RTL8365MB_GPHY_OCP_MSB_0_CFG_CPU_OCPADR_MASK, val));
 	if (ret)
@@ -592,8 +592,8 @@ static int rtl8365mb_phy_ocp_prepare(str
 			  ocp_addr >> 1);
 	val |= FIELD_PREP(RTL8365MB_INDIRECT_ACCESS_ADDRESS_OCPADR_9_6_MASK,
 			  ocp_addr >> 6);
-	ret = regmap_write(smi->map, RTL8365MB_INDIRECT_ACCESS_ADDRESS_REG,
-			   val);
+	ret = regmap_write(smi->map_nolock,
+			   RTL8365MB_INDIRECT_ACCESS_ADDRESS_REG, val);
 	if (ret)
 		return ret;
 
@@ -606,36 +606,42 @@ static int rtl8365mb_phy_ocp_read(struct
 	u32 val;
 	int ret;
 
+	mutex_lock(&smi->map_lock);
+
 	ret = rtl8365mb_phy_poll_busy(smi);
 	if (ret)
-		return ret;
+		goto out;
 
 	ret = rtl8365mb_phy_ocp_prepare(smi, phy, ocp_addr);
 	if (ret)
-		return ret;
+		goto out;
 
 	/* Execute read operation */
 	val = FIELD_PREP(RTL8365MB_INDIRECT_ACCESS_CTRL_CMD_MASK,
 			 RTL8365MB_INDIRECT_ACCESS_CTRL_CMD_VALUE) |
 	      FIELD_PREP(RTL8365MB_INDIRECT_ACCESS_CTRL_RW_MASK,
 			 RTL8365MB_INDIRECT_ACCESS_CTRL_RW_READ);
-	ret = regmap_write(smi->map, RTL8365MB_INDIRECT_ACCESS_CTRL_REG, val);
+	ret = regmap_write(smi->map_nolock, RTL8365MB_INDIRECT_ACCESS_CTRL_REG,
+			   val);
 	if (ret)
-		return ret;
+		goto out;
 
 	ret = rtl8365mb_phy_poll_busy(smi);
 	if (ret)
-		return ret;
+		goto out;
 
 	/* Get PHY register data */
-	ret = regmap_read(smi->map, RTL8365MB_INDIRECT_ACCESS_READ_DATA_REG,
-			  &val);
+	ret = regmap_read(smi->map_nolock,
+			  RTL8365MB_INDIRECT_ACCESS_READ_DATA_REG, &val);
 	if (ret)
-		return ret;
+		goto out;
 
 	*data = val & 0xFFFF;
 
-	return 0;
+out:
+	mutex_unlock(&smi->map_lock);
+
+	return ret;
 }
 
 static int rtl8365mb_phy_ocp_write(struct realtek_smi *smi, int phy,
@@ -644,32 +650,38 @@ static int rtl8365mb_phy_ocp_write(struc
 	u32 val;
 	int ret;
 
+	mutex_lock(&smi->map_lock);
+
 	ret = rtl8365mb_phy_poll_busy(smi);
 	if (ret)
-		return ret;
+		goto out;
 
 	ret = rtl8365mb_phy_ocp_prepare(smi, phy, ocp_addr);
 	if (ret)
-		return ret;
+		goto out;
 
 	/* Set PHY register data */
-	ret = regmap_write(smi->map, RTL8365MB_INDIRECT_ACCESS_WRITE_DATA_REG,
-			   data);
+	ret = regmap_write(smi->map_nolock,
+			   RTL8365MB_INDIRECT_ACCESS_WRITE_DATA_REG, data);
 	if (ret)
-		return ret;
+		goto out;
 
 	/* Execute write operation */
 	val = FIELD_PREP(RTL8365MB_INDIRECT_ACCESS_CTRL_CMD_MASK,
 			 RTL8365MB_INDIRECT_ACCESS_CTRL_CMD_VALUE) |
 	      FIELD_PREP(RTL8365MB_INDIRECT_ACCESS_CTRL_RW_MASK,
 			 RTL8365MB_INDIRECT_ACCESS_CTRL_RW_WRITE);
-	ret = regmap_write(smi->map, RTL8365MB_INDIRECT_ACCESS_CTRL_REG, val);
+	ret = regmap_write(smi->map_nolock, RTL8365MB_INDIRECT_ACCESS_CTRL_REG,
+			   val);
 	if (ret)
-		return ret;
+		goto out;
 
 	ret = rtl8365mb_phy_poll_busy(smi);
 	if (ret)
-		return ret;
+		goto out;
+
+out:
+	mutex_unlock(&smi->map_lock);
 
 	return 0;
 }



  parent reply	other threads:[~2022-04-18 12:15 UTC|newest]

Thread overview: 232+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-18 12:09 [PATCH 5.17 000/219] 5.17.4-rc1 review Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 001/219] drm/amd/display: Add pstate verification and recovery for DCN31 Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 002/219] drm/amd/display: Fix p-state allow debug index on dcn31 Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 003/219] cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 004/219] ACPI: processor idle: Check for architectural support for LPI Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 005/219] net: dsa: realtek: allow subdrivers to externally lock regmap Greg Kroah-Hartman
2022-04-18 12:09 ` Greg Kroah-Hartman [this message]
2022-04-18 12:09 ` [PATCH 5.17 007/219] net: dsa: realtek: make interface drivers depend on OF Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 008/219] btrfs: remove no longer used counter when reading data page Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 009/219] btrfs: remove unused variable in btrfs_{start,write}_dirty_block_groups() Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 010/219] RISC-V: KVM: Dont clear hgatp CSR in kvm_arch_vcpu_put() Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 011/219] media: si2157: unknown chip version Si2147-A30 ROM 0x50 Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 012/219] uapi/linux/stddef.h: Add include guards Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 013/219] drm/amdgpu: Ensure HDA function is suspended before ASIC reset Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 014/219] btrfs: release correct delalloc amount in direct IO write path Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 015/219] btrfs: fix btrfs_submit_compressed_write cgroup attribution Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 016/219] btrfs: return allocated block group from do_chunk_alloc() Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 017/219] ALSA: core: Add snd_card_free_on_error() helper Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 018/219] ALSA: sis7019: Fix the missing error handling Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 019/219] ALSA: ali5451: Fix the missing snd_card_free() call at probe error Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 020/219] ALSA: als300: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 021/219] ALSA: als4000: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 022/219] ALSA: atiixp: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 023/219] ALSA: au88x0: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 024/219] ALSA: aw2: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 025/219] ALSA: azt3328: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 026/219] ALSA: bt87x: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 027/219] ALSA: ca0106: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 028/219] ALSA: cmipci: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 029/219] ALSA: cs4281: " Greg Kroah-Hartman
2022-04-18 12:09 ` [PATCH 5.17 030/219] ALSA: cs5535audio: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 031/219] ALSA: echoaudio: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 032/219] ALSA: emu10k1x: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 033/219] ALSA: ens137x: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 034/219] ALSA: es1938: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 035/219] ALSA: es1968: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 036/219] ALSA: fm801: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 037/219] ALSA: galaxy: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 038/219] ALSA: hdsp: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 039/219] ALSA: hdspm: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 040/219] ALSA: ice1724: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 041/219] ALSA: intel8x0: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 042/219] ALSA: intel_hdmi: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 043/219] ALSA: korg1212: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 044/219] ALSA: lola: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 045/219] ALSA: lx6464es: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 046/219] ALSA: maestro3: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 047/219] ALSA: oxygen: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 048/219] ALSA: riptide: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 049/219] ALSA: rme32: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 050/219] ALSA: rme9652: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 051/219] ALSA: rme96: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 052/219] ALSA: sc6000: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 053/219] ALSA: sonicvibes: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 054/219] ALSA: via82xx: " Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 055/219] ALSA: usb-audio: Cap upper limits of buffer/period bytes for implicit fb Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 056/219] ALSA: memalloc: Add fallback SG-buffer allocations for x86 Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 057/219] ALSA: nm256: Dont call card private_free at probe error path Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 058/219] drm/msm: Add missing put_task_struct() in debugfs path Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 059/219] nfsd: Fix a write performance regression Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 060/219] firmware: arm_scmi: Remove clear channel call on the TX channel Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 061/219] memory: atmel-ebi: Fix missing of_node_put in atmel_ebi_probe Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 062/219] Revert "ath11k: mesh: add support for 256 bitmap in blockack frames in 11ax" Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 063/219] firmware: arm_scmi: Fix sorting of retrieved clock rates Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 064/219] media: rockchip/rga: do proper error checking in probe Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 065/219] KVM: arm64: Generalise VM features into a set of flags Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 066/219] KVM: arm64: mixed-width check should be skipped for uninitialized vCPUs Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 067/219] SUNRPC: Fix the svc_deferred_event trace class Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 068/219] net/sched: flower: fix parsing of ethertype following VLAN header Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 069/219] veth: Ensure eth header is in skbs linear part Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 070/219] gpiolib: acpi: use correct format characters Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 071/219] cifs: release cached dentries only if mount is complete Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 072/219] ice: arfs: fix use-after-free when freeing @rx_cpu_rmap Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 073/219] Revert "iavf: Fix deadlock occurrence during resetting VF interface" Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 074/219] net: mdio: dont defer probe forever if PHY IRQ provider is missing Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 075/219] mlxsw: i2c: Fix initialization error flow Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 076/219] sctp: use the correct skb for security_sctp_assoc_request Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 077/219] net/sched: fix initialization order when updating chain 0 head Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 078/219] cachefiles: unmark inode in use in error path Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 079/219] cachefiles: Fix KASAN slab-out-of-bounds in cachefiles_set_volume_xattr Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 080/219] net: dsa: felix: suppress -EPROBE_DEFER errors Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 081/219] KVM: selftests: riscv: Set PTE A and D bits in VS-stage page table Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 082/219] KVM: selftests: riscv: Fix alignment of the guest_hang() function Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 083/219] RISC-V: KVM: include missing hwcap.h into vcpu_fp Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 084/219] io_uring: flag the fact that linked file assignment is sane Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 085/219] net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 086/219] net/sched: taprio: Check if socket flags are valid Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 087/219] cfg80211: hold bss_lock while updating nontrans_list Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 088/219] mac80211: fix ht_capa printout in debugfs Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 089/219] netfilter: nft_socket: make cgroup match work in input too Greg Kroah-Hartman
2022-04-18 12:10 ` [PATCH 5.17 090/219] drm/msm: Fix range size vs end confusion Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 091/219] drm/msm/dsi: Use connector directly in msm_dsi_manager_connector_init() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 092/219] drm/msm/dp: add fail safe mode outside of event_mutex context Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 093/219] io_uring: stop using io_wq_work as an fd placeholder Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 094/219] net/smc: use memcpy instead of snprintf to avoid out of bounds read Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 095/219] net/smc: Fix NULL pointer dereference in smc_pnet_find_ib() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 096/219] scsi: pm80xx: Mask and unmask upper interrupt vectors 32-63 Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 097/219] scsi: pm80xx: Enable upper inbound, outbound queues Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 098/219] scsi: iscsi: Move iscsi_ep_disconnect() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 099/219] scsi: iscsi: Fix offload conn cleanup when iscsid restarts Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 100/219] scsi: iscsi: Fix endpoint reuse regression Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 101/219] scsi: iscsi: Fix conn cleanup and stop race during iscsid restart Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 102/219] scsi: iscsi: Fix unbound endpoint error handling Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 103/219] sctp: Initialize daddr on peeled off socket Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 104/219] net: lan966x: Fix when a ports upper is changed Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 105/219] net: lan966x: Stop processing the MAC entry is port is wrong Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 106/219] netfilter: nf_tables: nft_parse_register can return a negative value Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 107/219] io_uring: fix assign file locking issue Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 108/219] ALSA: ad1889: Fix the missing snd_card_free() call at probe error Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 109/219] ALSA: mtpav: Dont call card private_free at probe error path Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 110/219] io_uring: move io_uring_rsrc_update2 validation Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 111/219] io_uring: verify that resv2 is 0 in io_uring_rsrc_update2 Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 112/219] io_uring: verify pad field is 0 in io_get_ext_arg Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 113/219] testing/selftests/mqueue: Fix mq_perf_tests to free the allocated cpu set Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 114/219] ALSA: usb-audio: Increase max buffer size Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 115/219] ALSA: usb-audio: Limit max buffer and period sizes per time Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 116/219] perf tools: Fix misleading add event PMU debug message Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 117/219] macvlan: Fix leaking skb in source mode with nodst option Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 118/219] net: ftgmac100: access hardware register after clock ready Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 119/219] nfc: nci: add flush_workqueue to prevent uaf Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 120/219] cifs: potential buffer overflow in handling symlinks Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 121/219] dm mpath: only use ktime_get_ns() in historical selector Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 122/219] vfio/pci: Fix vf_token mechanism when device-specific VF drivers are used Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 123/219] tun: annotate access to queue->trans_start Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 124/219] net: dsa: felix: fix tagging protocol changes with multiple CPU ports Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 125/219] net: bcmgenet: Revert "Use stronger register read/writes to assure ordering" Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 126/219] block: fix offset/size check in bio_trim() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 127/219] block: null_blk: end timed out poll request Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 128/219] io_uring: abort file assignment prior to assigning creds Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 129/219] KVM: PPC: Book3S HV P9: Fix "lost kick" race Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 130/219] drm/amd: Add USBC connector ID Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 131/219] btrfs: fix fallocate to use file_modified to update permissions consistently Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 132/219] btrfs: do not warn for free space inode in cow_file_range Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 133/219] drm/amdgpu: conduct a proper cleanup of PDB bo Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 134/219] drm/amdgpu/gmc: use PCI BARs for APUs in passthrough Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 135/219] drm/amd/display: fix audio format not updated after edid updated Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 136/219] drm/amd/display: FEC check in timing validation Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 137/219] drm/amd/display: Update VTEM Infopacket definition Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 138/219] drm/amdkfd: Fix Incorrect VMIDs passed to HWS Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 139/219] drm/amdgpu/vcn: improve vcn dpg stop procedure Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 140/219] drm/amdkfd: Check for potential null return of kmalloc_array() Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 141/219] Drivers: hv: vmbus: Deactivate sysctl_record_panic_msg by default in isolated guests Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 142/219] Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus device Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 143/219] PCI: hv: Propagate coherence from VMbus device to PCI device Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 144/219] Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 145/219] scsi: target: tcmu: Fix possible page UAF Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 146/219] scsi: lpfc: Improve PCI EEH Error and Recovery Handling Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 147/219] scsi: lpfc: Fix unload hang after back to back PCI EEH faults Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 148/219] scsi: lpfc: Fix queue failures when recovering from PCI parity error Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 149/219] scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024 Greg Kroah-Hartman
2022-04-18 12:11 ` [PATCH 5.17 150/219] net: micrel: fix KS8851_MLL Kconfig Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 151/219] ata: libata-core: Disable READ LOG DMA EXT for Samsung 840 EVOs Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 152/219] gpu: ipu-v3: Fix dev_dbg frequency output Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 153/219] regulator: wm8994: Add an off-on delay for WM8994 variant Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 154/219] static_call: Properly initialise DEFINE_STATIC_CALL_RET0() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 155/219] arm64: alternatives: mark patch_alternative() as `noinstr` Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 156/219] tlb: hugetlb: Add more sizes to tlb_remove_huge_tlb_entry Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 157/219] net: axienet: setup mdio unconditionally Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 158/219] Drivers: hv: balloon: Disable balloon and hot-add accordingly Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 159/219] net: usb: aqc111: Fix out-of-bounds accesses in RX fixup Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 160/219] myri10ge: fix an incorrect free for skb in myri10ge_sw_tso Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 161/219] spi: cadence-quadspi: fix protocol setup for non-1-1-X operations Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 162/219] drm/amd/display: Correct Slice reset calculation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 163/219] drm/amd/display: Enable power gating before init_pipes Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 164/219] drm/amd/display: Revert FEC check in validation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 165/219] drm/amd/display: Fix allocate_mst_payload assert on resume Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 166/219] drbd: set QUEUE_FLAG_STABLE_WRITES Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 167/219] scsi: mpt3sas: Fail reset operation if config request timed out Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 168/219] scsi: mvsas: Add PCI ID of RocketRaid 2640 Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 169/219] scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 170/219] drivers: net: slip: fix NPD bug in sl_tx_timeout() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 171/219] x86,bpf: Avoid IBT objtool warning Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 172/219] io_uring: zero tag on rsrc removal Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 173/219] io_uring: use nospec annotation for more indexes Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 174/219] perf/imx_ddr: Fix undefined behavior due to shift overflowing the constant Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 175/219] mm/secretmem: fix panic when growing a memfd_secret Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 176/219] mm, page_alloc: fix build_zonerefs_node() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 177/219] mm: fix unexpected zeroed page mapping with zram swap Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 178/219] mm: kmemleak: take a full lowmem check in kmemleak_*_phys() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 179/219] hugetlb: do not demote poisoned hugetlb pages Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 180/219] revert "fs/binfmt_elf: fix PT_LOAD p_align values for loaders" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 181/219] revert "fs/binfmt_elf: use PT_LOAD p_align values for static PIE" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 182/219] KVM: x86/mmu: Resolve nx_huge_pages when kvm.ko is loaded Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 183/219] KVM: Dont create VM debugfs files outside of the VM directory Greg Kroah-Hartman
2022-04-18 17:14   ` Oliver Upton
2022-04-19  7:33     ` Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 184/219] SUNRPC: Fix NFSDs request deferral on RDMA transports Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 185/219] memory: renesas-rpc-if: fix platform-device leak in error path Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 186/219] gcc-plugins: latent_entropy: use /dev/urandom Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 187/219] cifs: verify that tcon is valid before dereference in cifs_kill_sb Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 188/219] gpio: sim: fix setting and getting multiple lines Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 189/219] ath9k: Properly clear TX status area before reporting to mac80211 Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 190/219] ath9k: Fix usage of driver-private space in tx_info Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 191/219] btrfs: zoned: activate block group only for extent allocation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 192/219] btrfs: fix root ref counts in error handling in btrfs_get_root_ref Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 193/219] btrfs: mark resumed async balance as writing Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 194/219] ALSA: hda/realtek: Add quirk for Clevo PD50PNT Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 195/219] ALSA: hda/realtek: add quirk for Lenovo Thinkpad X12 speakers Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 196/219] ALSA: pcm: Test for "silence" field in struct "pcm_format_data" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 197/219] nl80211: correctly check NL80211_ATTR_REG_ALPHA2 size Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 198/219] ipv6: fix panic when forwarding a pkt with no in6 dev Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 199/219] drm/amd/display: dont ignore alpha property on pre-multiplied mode Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 200/219] drm/amdgpu: Enable gfxoff quirk on MacBook Pro Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 201/219] x86/tsx: Use MSR_TSX_CTRL to clear CPUID bits Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 202/219] x86/tsx: Disable TSX development mode at boot Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 203/219] genirq/affinity: Consider that CPUs on nodes can be unbalanced Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 204/219] tick/nohz: Use WARN_ON_ONCE() to prevent console saturation Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 205/219] ARM: davinci: da850-evm: Avoid NULL pointer dereference Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 206/219] ep93xx: clock: Fix UAF in ep93xx_clk_register_gate() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 207/219] dm integrity: fix memory corruption when tag_size is less than digest size Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 208/219] i2c: dev: check return value when calling dev_set_name() Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 209/219] Revert "net: dsa: setup master before ports" Greg Kroah-Hartman
2022-04-18 12:12 ` [PATCH 5.17 210/219] smp: Fix offline cpu check in flush_smp_call_function_queue() Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 211/219] dt-bindings: memory: snps,ddrc-3.80a compatible also need interrupts Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 212/219] i2c: pasemi: Wait for write xfers to finish Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 213/219] dt-bindings: net: snps: remove duplicate name Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 214/219] timers: Fix warning condition in __run_timers() Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 215/219] dma-direct: avoid redundant memory sync for swiotlb Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 216/219] mm, kfence: support kmem_dump_obj() for KFENCE objects Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 217/219] drm/i915: Sunset igpu legacy mmap support based on GRAPHICS_VER_FULL Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 218/219] cpu/hotplug: Remove the cpu member of cpuhp_cpu_state Greg Kroah-Hartman
2022-04-18 12:13 ` [PATCH 5.17 219/219] ax25: Fix UAF bugs in ax25 timers Greg Kroah-Hartman
2022-04-18 20:16 ` [PATCH 5.17 000/219] 5.17.4-rc1 review Justin Forbes
2022-04-18 20:29 ` Florian Fainelli
2022-04-19  0:07 ` Guenter Roeck
2022-04-19  0:08 ` Shuah Khan
2022-04-19  0:51 ` Rudi Heitbaum
2022-04-19  2:47 ` Zan Aziz
2022-04-19  4:08 ` Naresh Kamboju
2022-04-19 10:45 ` Ron Economos
2022-04-19 12:21 ` Jon Hunter
2022-04-20  4:44 ` Jiri Slaby

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=20220418121203.651496793@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alsi@bang-olufsen.dk \
    --cc=arinc.unal@arinc9.com \
    --cc=davem@davemloft.net \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luizluca@gmail.com \
    --cc=olteanv@gmail.com \
    --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).