]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 4.4
authorSasha Levin <sashal@kernel.org>
Mon, 14 Sep 2020 02:58:36 +0000 (22:58 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 14 Sep 2020 02:58:36 +0000 (22:58 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.4/alsa-hda-fix-a-runtime-pm-issue-in-sof-when-integrat.patch [new file with mode: 0644]
queue-4.4/arm-dts-socfpga-fix-register-entry-for-timer3-on-arr.patch [new file with mode: 0644]
queue-4.4/drivers-net-wan-hdlc_cisco-add-hard_header_len.patch [new file with mode: 0644]
queue-4.4/drivers-net-wan-lapbether-added-needed_tailroom.patch [new file with mode: 0644]
queue-4.4/drivers-net-wan-lapbether-set-network_header-before-.patch [new file with mode: 0644]
queue-4.4/firestream-fix-memleak-in-fs_open.patch [new file with mode: 0644]
queue-4.4/gcov-disable-gcov-build-with-gcc-10.patch [new file with mode: 0644]
queue-4.4/iio-adc-mcp3422-fix-locking-on-error-path.patch [new file with mode: 0644]
queue-4.4/scsi-libsas-set-data_dir-as-dma_none-if-libata-marks.patch [new file with mode: 0644]
queue-4.4/series [new file with mode: 0644]
queue-4.4/xfs-initialize-the-shortform-attr-header-padding-ent.patch [new file with mode: 0644]

diff --git a/queue-4.4/alsa-hda-fix-a-runtime-pm-issue-in-sof-when-integrat.patch b/queue-4.4/alsa-hda-fix-a-runtime-pm-issue-in-sof-when-integrat.patch
new file mode 100644 (file)
index 0000000..808866c
--- /dev/null
@@ -0,0 +1,52 @@
+From 2d0752ac0126ae83d218c5fa1764cbb71c04d068 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 2 Sep 2020 18:42:18 +0300
+Subject: ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is
+ disabled
+
+From: Rander Wang <rander.wang@intel.com>
+
+[ Upstream commit 13774d81f38538c5fa2924bdcdfa509155480fa6 ]
+
+In snd_hdac_device_init pm_runtime_set_active is called to
+increase child_count in parent device. But when it is failed
+to build connection with GPU for one case that integrated
+graphic gpu is disabled, snd_hdac_ext_bus_device_exit will be
+invoked to clean up a HD-audio extended codec base device. At
+this time the child_count of parent is not decreased, which
+makes parent device can't get suspended.
+
+This patch calls pm_runtime_set_suspended to decrease child_count
+in parent device in snd_hdac_device_exit to match with
+snd_hdac_device_init. pm_runtime_set_suspended can make sure that
+it will not decrease child_count if the device is already suspended.
+
+Signed-off-by: Rander Wang <rander.wang@intel.com>
+Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
+Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
+Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
+Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
+Link: https://lore.kernel.org/r/20200902154218.1440441-1-kai.vehmanen@linux.intel.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/hda/hdac_device.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/sound/hda/hdac_device.c b/sound/hda/hdac_device.c
+index e361024eabb63..020ec48f39048 100644
+--- a/sound/hda/hdac_device.c
++++ b/sound/hda/hdac_device.c
+@@ -123,6 +123,8 @@ EXPORT_SYMBOL_GPL(snd_hdac_device_init);
+ void snd_hdac_device_exit(struct hdac_device *codec)
+ {
+       pm_runtime_put_noidle(&codec->dev);
++      /* keep balance of runtime PM child_count in parent device */
++      pm_runtime_set_suspended(&codec->dev);
+       snd_hdac_bus_remove_device(codec->bus, codec);
+       kfree(codec->vendor_name);
+       kfree(codec->chip_name);
+-- 
+2.25.1
+
diff --git a/queue-4.4/arm-dts-socfpga-fix-register-entry-for-timer3-on-arr.patch b/queue-4.4/arm-dts-socfpga-fix-register-entry-for-timer3-on-arr.patch
new file mode 100644 (file)
index 0000000..4d2c0c0
--- /dev/null
@@ -0,0 +1,34 @@
+From 09c465b928987a1140b2d73acdb786ffd55b7251 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 31 Jul 2020 10:26:40 -0500
+Subject: ARM: dts: socfpga: fix register entry for timer3 on Arria10
+
+From: Dinh Nguyen <dinguyen@kernel.org>
+
+[ Upstream commit 0ff5a4812be4ebd4782bbb555d369636eea164f7 ]
+
+Fixes the register address for the timer3 entry on Arria10.
+
+Fixes: 475dc86d08de4 ("arm: dts: socfpga: Add a base DTSI for Altera's Arria10 SOC")
+Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm/boot/dts/socfpga_arria10.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/socfpga_arria10.dtsi b/arch/arm/boot/dts/socfpga_arria10.dtsi
+index cce9e50acf68a..b648b1b253c5e 100644
+--- a/arch/arm/boot/dts/socfpga_arria10.dtsi
++++ b/arch/arm/boot/dts/socfpga_arria10.dtsi
+@@ -652,7 +652,7 @@
+               timer3: timer3@ffd00100 {
+                       compatible = "snps,dw-apb-timer";
+                       interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>;
+-                      reg = <0xffd01000 0x100>;
++                      reg = <0xffd00100 0x100>;
+                       clocks = <&l4_sys_free_clk>;
+                       clock-names = "timer";
+               };
+-- 
+2.25.1
+
diff --git a/queue-4.4/drivers-net-wan-hdlc_cisco-add-hard_header_len.patch b/queue-4.4/drivers-net-wan-hdlc_cisco-add-hard_header_len.patch
new file mode 100644 (file)
index 0000000..0253c34
--- /dev/null
@@ -0,0 +1,40 @@
+From 1d611a87ec40e13e9c1ccf974bd17174b39622e8 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 28 Aug 2020 00:07:52 -0700
+Subject: drivers/net/wan/hdlc_cisco: Add hard_header_len
+
+From: Xie He <xie.he.0141@gmail.com>
+
+[ Upstream commit 1a545ebe380bf4c1433e3c136e35a77764fda5ad ]
+
+This driver didn't set hard_header_len. This patch sets hard_header_len
+for it according to its header_ops->create function.
+
+This driver's header_ops->create function (cisco_hard_header) creates
+a header of (struct hdlc_header), so hard_header_len should be set to
+sizeof(struct hdlc_header).
+
+Cc: Martin Schiller <ms@dev.tdt.de>
+Signed-off-by: Xie He <xie.he.0141@gmail.com>
+Acked-by: Krzysztof Halasa <khc@pm.waw.pl>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/wan/hdlc_cisco.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/net/wan/hdlc_cisco.c b/drivers/net/wan/hdlc_cisco.c
+index 3f20808b5ff82..f8ed079d8bc3e 100644
+--- a/drivers/net/wan/hdlc_cisco.c
++++ b/drivers/net/wan/hdlc_cisco.c
+@@ -377,6 +377,7 @@ static int cisco_ioctl(struct net_device *dev, struct ifreq *ifr)
+               memcpy(&state(hdlc)->settings, &new_settings, size);
+               spin_lock_init(&state(hdlc)->lock);
+               dev->header_ops = &cisco_header_ops;
++              dev->hard_header_len = sizeof(struct hdlc_header);
+               dev->type = ARPHRD_CISCO;
+               netif_dormant_on(dev);
+               return 0;
+-- 
+2.25.1
+
diff --git a/queue-4.4/drivers-net-wan-lapbether-added-needed_tailroom.patch b/queue-4.4/drivers-net-wan-lapbether-added-needed_tailroom.patch
new file mode 100644 (file)
index 0000000..1b0a28f
--- /dev/null
@@ -0,0 +1,38 @@
+From 651bad304e729faf431d542aeac325c998581663 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 21 Aug 2020 14:26:59 -0700
+Subject: drivers/net/wan/lapbether: Added needed_tailroom
+
+From: Xie He <xie.he.0141@gmail.com>
+
+[ Upstream commit 1ee39c1448c4e0d480c5b390e2db1987561fb5c2 ]
+
+The underlying Ethernet device may request necessary tailroom to be
+allocated by setting needed_tailroom. This driver should also set
+needed_tailroom to request the tailroom needed by the underlying
+Ethernet device to be allocated.
+
+Cc: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
+Cc: Martin Schiller <ms@dev.tdt.de>
+Signed-off-by: Xie He <xie.he.0141@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/wan/lapbether.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
+index 6eb0f7a85e531..5befc7f3f0e7a 100644
+--- a/drivers/net/wan/lapbether.c
++++ b/drivers/net/wan/lapbether.c
+@@ -343,6 +343,7 @@ static int lapbeth_new_device(struct net_device *dev)
+        */
+       ndev->needed_headroom = -1 + 3 + 2 + dev->hard_header_len
+                                          + dev->needed_headroom;
++      ndev->needed_tailroom = dev->needed_tailroom;
+       lapbeth = netdev_priv(ndev);
+       lapbeth->axdev = ndev;
+-- 
+2.25.1
+
diff --git a/queue-4.4/drivers-net-wan-lapbether-set-network_header-before-.patch b/queue-4.4/drivers-net-wan-lapbether-set-network_header-before-.patch
new file mode 100644 (file)
index 0000000..23780ac
--- /dev/null
@@ -0,0 +1,53 @@
+From ecd16e8ab52b56a22cee88402444c00a5fa12543 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 25 Aug 2020 20:03:53 -0700
+Subject: drivers/net/wan/lapbether: Set network_header before transmitting
+
+From: Xie He <xie.he.0141@gmail.com>
+
+[ Upstream commit 91244d108441013b7367b3b4dcc6869998676473 ]
+
+Set the skb's network_header before it is passed to the underlying
+Ethernet device for transmission.
+
+This patch fixes the following issue:
+
+When we use this driver with AF_PACKET sockets, there would be error
+messages of:
+   protocol 0805 is buggy, dev (Ethernet interface name)
+printed in the system "dmesg" log.
+
+This is because skbs passed down to the Ethernet device for transmission
+don't have their network_header properly set, and the dev_queue_xmit_nit
+function in net/core/dev.c complains about this.
+
+Reason of setting the network_header to this place (at the end of the
+Ethernet header, and at the beginning of the Ethernet payload):
+
+Because when this driver receives an skb from the Ethernet device, the
+network_header is also set at this place.
+
+Cc: Martin Schiller <ms@dev.tdt.de>
+Signed-off-by: Xie He <xie.he.0141@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/wan/lapbether.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
+index 5befc7f3f0e7a..c6db9a4e7c457 100644
+--- a/drivers/net/wan/lapbether.c
++++ b/drivers/net/wan/lapbether.c
+@@ -213,6 +213,8 @@ static void lapbeth_data_transmit(struct net_device *ndev, struct sk_buff *skb)
+       skb->dev = dev = lapbeth->ethdev;
++      skb_reset_network_header(skb);
++
+       dev_hard_header(skb, dev, ETH_P_DEC, bcast_addr, NULL, 0);
+       dev_queue_xmit(skb);
+-- 
+2.25.1
+
diff --git a/queue-4.4/firestream-fix-memleak-in-fs_open.patch b/queue-4.4/firestream-fix-memleak-in-fs_open.patch
new file mode 100644 (file)
index 0000000..180cac3
--- /dev/null
@@ -0,0 +1,34 @@
+From ddebbdfc3d935861a76d574fbda5b1a128956af2 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 23 Aug 2020 19:29:35 +0800
+Subject: firestream: Fix memleak in fs_open
+
+From: Dinghao Liu <dinghao.liu@zju.edu.cn>
+
+[ Upstream commit 15ac5cdafb9202424206dc5bd376437a358963f9 ]
+
+When make_rate() fails, vcc should be freed just
+like other error paths in fs_open().
+
+Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/atm/firestream.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
+index 04b39d0da8681..70708608ab1e7 100644
+--- a/drivers/atm/firestream.c
++++ b/drivers/atm/firestream.c
+@@ -1009,6 +1009,7 @@ static int fs_open(struct atm_vcc *atm_vcc)
+                               error = make_rate (pcr, r, &tmc0, NULL);
+                               if (error) {
+                                       kfree(tc);
++                                      kfree(vcc);
+                                       return error;
+                               }
+                       }
+-- 
+2.25.1
+
diff --git a/queue-4.4/gcov-disable-gcov-build-with-gcc-10.patch b/queue-4.4/gcov-disable-gcov-build-with-gcc-10.patch
new file mode 100644 (file)
index 0000000..1241210
--- /dev/null
@@ -0,0 +1,41 @@
+From 468d91b8a8759ba935302dc08716f4d3242a73a7 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 4 Sep 2020 18:58:08 +0300
+Subject: gcov: Disable gcov build with GCC 10
+
+From: Leon Romanovsky <leonro@nvidia.com>
+
+[ Upstream commit cfc905f158eaa099d6258031614d11869e7ef71c ]
+
+GCOV built with GCC 10 doesn't initialize n_function variable.  This
+produces different kernel panics as was seen by Colin in Ubuntu and me
+in FC 32.
+
+As a workaround, let's disable GCOV build for broken GCC 10 version.
+
+Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1891288
+Link: https://lore.kernel.org/lkml/20200827133932.3338519-1-leon@kernel.org
+Link: https://lore.kernel.org/lkml/CAHk-=whbijeSdSvx-Xcr0DPMj0BiwhJ+uiNnDSVZcr_h_kg7UA@mail.gmail.com/
+Cc: Colin Ian King <colin.king@canonical.com>
+Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ kernel/gcov/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/kernel/gcov/Kconfig b/kernel/gcov/Kconfig
+index 1276aabaab550..1d78ed19a3512 100644
+--- a/kernel/gcov/Kconfig
++++ b/kernel/gcov/Kconfig
+@@ -3,6 +3,7 @@ menu "GCOV-based kernel profiling"
+ config GCOV_KERNEL
+       bool "Enable gcov-based kernel profiling"
+       depends on DEBUG_FS
++      depends on !CC_IS_GCC || GCC_VERSION < 100000
+       select CONSTRUCTORS if !UML
+       default n
+       ---help---
+-- 
+2.25.1
+
diff --git a/queue-4.4/iio-adc-mcp3422-fix-locking-on-error-path.patch b/queue-4.4/iio-adc-mcp3422-fix-locking-on-error-path.patch
new file mode 100644 (file)
index 0000000..0405cb7
--- /dev/null
@@ -0,0 +1,42 @@
+From d56b665d7246185a200f3990ce5a03602916afb5 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 1 Sep 2020 11:32:18 +0200
+Subject: iio: adc: mcp3422: fix locking on error path
+
+From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+
+[ Upstream commit a139ffa40f0c24b753838b8ef3dcf6ad10eb7854 ]
+
+Reading from the chip should be unlocked on error path else the lock
+could never being released.
+
+Fixes: 07914c84ba30 ("iio: adc: Add driver for Microchip MCP3422/3/4 high resolution ADC")
+Fixes: 3f1093d83d71 ("iio: adc: mcp3422: fix locking scope")
+Acked-by: Jonathan Cameron <jonathan.cameron@huawei.com>
+Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
+Link: https://lore.kernel.org/r/20200901093218.1500845-1-angelo.compagnucci@gmail.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/iio/adc/mcp3422.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/iio/adc/mcp3422.c b/drivers/iio/adc/mcp3422.c
+index 3555122008b44..21f37da8ba3d7 100644
+--- a/drivers/iio/adc/mcp3422.c
++++ b/drivers/iio/adc/mcp3422.c
+@@ -147,8 +147,10 @@ static int mcp3422_read_channel(struct mcp3422 *adc,
+               config &= ~MCP3422_PGA_MASK;
+               config |= MCP3422_PGA_VALUE(adc->pga[req_channel]);
+               ret = mcp3422_update_config(adc, config);
+-              if (ret < 0)
++              if (ret < 0) {
++                      mutex_unlock(&adc->lock);
+                       return ret;
++              }
+               msleep(mcp3422_read_times[MCP3422_SAMPLE_RATE(adc->config)]);
+       }
+-- 
+2.25.1
+
diff --git a/queue-4.4/scsi-libsas-set-data_dir-as-dma_none-if-libata-marks.patch b/queue-4.4/scsi-libsas-set-data_dir-as-dma_none-if-libata-marks.patch
new file mode 100644 (file)
index 0000000..844f157
--- /dev/null
@@ -0,0 +1,53 @@
+From aa9571f8cc622d7541f71dfbbc5efaf681073dae Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 26 Aug 2020 15:24:26 +0800
+Subject: scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
+
+From: Luo Jiaxing <luojiaxing@huawei.com>
+
+[ Upstream commit 53de092f47ff40e8d4d78d590d95819d391bf2e0 ]
+
+It was discovered that sdparm will fail when attempting to disable write
+cache on a SATA disk connected via libsas.
+
+In the ATA command set the write cache state is controlled through the SET
+FEATURES operation. This is roughly corresponds to MODE SELECT in SCSI and
+the latter command is what is used in the SCSI-ATA translation layer. A
+subtle difference is that a MODE SELECT carries data whereas SET FEATURES
+is defined as a non-data command in ATA.
+
+Set the DMA data direction to DMA_NONE if the requested ATA command is
+identified as non-data.
+
+[mkp: commit desc]
+
+Fixes: fa1c1e8f1ece ("[SCSI] Add SATA support to libsas")
+Link: https://lore.kernel.org/r/1598426666-54544-1-git-send-email-luojiaxing@huawei.com
+Reviewed-by: John Garry <john.garry@huawei.com>
+Reviewed-by: Jason Yan <yanaijie@huawei.com>
+Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/scsi/libsas/sas_ata.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
+index 6f5e2720ffad1..68b33abeaa5fa 100644
+--- a/drivers/scsi/libsas/sas_ata.c
++++ b/drivers/scsi/libsas/sas_ata.c
+@@ -224,7 +224,10 @@ static unsigned int sas_ata_qc_issue(struct ata_queued_cmd *qc)
+               task->num_scatter = si;
+       }
+-      task->data_dir = qc->dma_dir;
++      if (qc->tf.protocol == ATA_PROT_NODATA)
++              task->data_dir = DMA_NONE;
++      else
++              task->data_dir = qc->dma_dir;
+       task->scatter = qc->sg;
+       task->ata_task.retry_count = 1;
+       task->task_state_flags = SAS_TASK_STATE_PENDING;
+-- 
+2.25.1
+
diff --git a/queue-4.4/series b/queue-4.4/series
new file mode 100644 (file)
index 0000000..5323d6b
--- /dev/null
@@ -0,0 +1,10 @@
+arm-dts-socfpga-fix-register-entry-for-timer3-on-arr.patch
+iio-adc-mcp3422-fix-locking-on-error-path.patch
+scsi-libsas-set-data_dir-as-dma_none-if-libata-marks.patch
+drivers-net-wan-lapbether-added-needed_tailroom.patch
+firestream-fix-memleak-in-fs_open.patch
+drivers-net-wan-lapbether-set-network_header-before-.patch
+xfs-initialize-the-shortform-attr-header-padding-ent.patch
+drivers-net-wan-hdlc_cisco-add-hard_header_len.patch
+alsa-hda-fix-a-runtime-pm-issue-in-sof-when-integrat.patch
+gcov-disable-gcov-build-with-gcc-10.patch
diff --git a/queue-4.4/xfs-initialize-the-shortform-attr-header-padding-ent.patch b/queue-4.4/xfs-initialize-the-shortform-attr-header-padding-ent.patch
new file mode 100644 (file)
index 0000000..6dde9bf
--- /dev/null
@@ -0,0 +1,38 @@
+From 414ad9babd329c871dcf804bb9b828bd4b59f28e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 26 Aug 2020 14:12:18 -0700
+Subject: xfs: initialize the shortform attr header padding entry
+
+From: Darrick J. Wong <darrick.wong@oracle.com>
+
+[ Upstream commit 125eac243806e021f33a1fdea3687eccbb9f7636 ]
+
+Don't leak kernel memory contents into the shortform attr fork.
+
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+Reviewed-by: Eric Sandeen <sandeen@redhat.com>
+Reviewed-by: Dave Chinner <dchinner@redhat.com>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/xfs/libxfs/xfs_attr_leaf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
+index 445a3f2f871fb..da8747b870df3 100644
+--- a/fs/xfs/libxfs/xfs_attr_leaf.c
++++ b/fs/xfs/libxfs/xfs_attr_leaf.c
+@@ -514,8 +514,8 @@ xfs_attr_shortform_create(xfs_da_args_t *args)
+               ASSERT(ifp->if_flags & XFS_IFINLINE);
+       }
+       xfs_idata_realloc(dp, sizeof(*hdr), XFS_ATTR_FORK);
+-      hdr = (xfs_attr_sf_hdr_t *)ifp->if_u1.if_data;
+-      hdr->count = 0;
++      hdr = (struct xfs_attr_sf_hdr *)ifp->if_u1.if_data;
++      memset(hdr, 0, sizeof(*hdr));
+       hdr->totsize = cpu_to_be16(sizeof(*hdr));
+       xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_ADATA);
+ }
+-- 
+2.25.1
+