Linux v5.8.10
Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
parent
5ddef448e9
commit
8a74f415f4
|
@ -1,38 +0,0 @@
|
||||||
From 10b34a18180269103dafc68f1a4257ae61c87415 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sasha Levin <sashal@kernel.org>
|
|
||||||
Date: Tue, 8 Sep 2020 16:15:06 +0200
|
|
||||||
Subject: block: restore a specific error code in bdev_del_partition
|
|
||||||
|
|
||||||
From: Christoph Hellwig <hch@lst.de>
|
|
||||||
|
|
||||||
[ Upstream commit 88ce2a530cc9865a894454b2e40eba5957a60e1a ]
|
|
||||||
|
|
||||||
mdadm relies on the fact that deleting an invalid partition returns
|
|
||||||
-ENXIO or -ENOTTY to detect if a block device is a partition or a
|
|
||||||
whole device.
|
|
||||||
|
|
||||||
Fixes: 08fc1ab6d748 ("block: fix locking in bdev_del_partition")
|
|
||||||
Reported-by: kernel test robot <rong.a.chen@intel.com>
|
|
||||||
Signed-off-by: Christoph Hellwig <hch@lst.de>
|
|
||||||
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
|
||||||
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
||||||
---
|
|
||||||
block/partitions/core.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/block/partitions/core.c b/block/partitions/core.c
|
|
||||||
index 534e11285a8d4..b45539764c994 100644
|
|
||||||
--- a/block/partitions/core.c
|
|
||||||
+++ b/block/partitions/core.c
|
|
||||||
@@ -529,7 +529,7 @@ int bdev_del_partition(struct block_device *bdev, int partno)
|
|
||||||
|
|
||||||
bdevp = bdget_disk(bdev->bd_disk, partno);
|
|
||||||
if (!bdevp)
|
|
||||||
- return -ENOMEM;
|
|
||||||
+ return -ENXIO;
|
|
||||||
|
|
||||||
mutex_lock(&bdevp->bd_mutex);
|
|
||||||
mutex_lock_nested(&bdev->bd_mutex, 1);
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
15
kernel.spec
15
kernel.spec
|
@ -80,7 +80,7 @@ Summary: The Linux kernel
|
||||||
# For non-released -rc kernels, this will be appended after the rcX and
|
# For non-released -rc kernels, this will be appended after the rcX and
|
||||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||||
#
|
#
|
||||||
%global baserelease 301
|
%global baserelease 300
|
||||||
%global fedora_build %{baserelease}
|
%global fedora_build %{baserelease}
|
||||||
|
|
||||||
# base_sublevel is the kernel version we're starting with and patching
|
# base_sublevel is the kernel version we're starting with and patching
|
||||||
|
@ -92,7 +92,7 @@ Summary: The Linux kernel
|
||||||
%if 0%{?released_kernel}
|
%if 0%{?released_kernel}
|
||||||
|
|
||||||
# Do we have a -stable update to apply?
|
# Do we have a -stable update to apply?
|
||||||
%define stable_update 9
|
%define stable_update 10
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%if 0%{?stable_update}
|
%if 0%{?stable_update}
|
||||||
%define stablerev %{stable_update}
|
%define stablerev %{stable_update}
|
||||||
|
@ -880,8 +880,11 @@ Patch112: memory-tegra-Remove-GPU-from-DRM-IOMMU-group.patch
|
||||||
# CVE-2020-25211 rhbz 1877571 1877572
|
# CVE-2020-25211 rhbz 1877571 1877572
|
||||||
Patch113: netfilter-ctnetlink-add-range-check-for-l3-l4-protonum.patch
|
Patch113: netfilter-ctnetlink-add-range-check-for-l3-l4-protonum.patch
|
||||||
|
|
||||||
# rhbz 1878858
|
# rhbz 1873720
|
||||||
Patch114: block-restore-a-specific-error-code-in-bdev_del_part.patch
|
Patch112: v2-nfs-Fix-security-label-length-not-being-reset.patch
|
||||||
|
|
||||||
|
# rhbz 1875339 1875828 1876997
|
||||||
|
Patch113: pdx86-SW_TABLET_MODE-fixes.patch
|
||||||
|
|
||||||
# END OF PATCH DEFINITIONS
|
# END OF PATCH DEFINITIONS
|
||||||
|
|
||||||
|
@ -2987,6 +2990,10 @@ fi
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 17 08:47:40 CDT 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.10-300
|
||||||
|
- Linux v5.8.10
|
||||||
|
- Fix (rhbz 1873720 1876997)
|
||||||
|
|
||||||
* Mon Sep 14 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.9-301
|
* Mon Sep 14 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.9-301
|
||||||
- Fix error code in bdev_del_part (rhbz 1878858)
|
- Fix error code in bdev_del_part (rhbz 1878858)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,212 @@
|
||||||
|
From 9126d28cf4e537ef5e77006c51b1a24ad8e8170b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Fri, 11 Sep 2020 13:34:42 +0200
|
||||||
|
Subject: [PATCH 1/2] platform/x86: intel-vbtn: Fix SW_TABLET_MODE always
|
||||||
|
reporting 1 on the HP Pavilion 11 x360
|
||||||
|
|
||||||
|
Commit cfae58ed681c ("platform/x86: intel-vbtn: Only blacklist
|
||||||
|
SW_TABLET_MODE on the 9 / "Laptop" chasis-type") restored SW_TABLET_MODE
|
||||||
|
reporting on the HP stream x360 11 series on which it was previously broken
|
||||||
|
by commit de9647efeaa9 ("platform/x86: intel-vbtn: Only activate tablet
|
||||||
|
mode switch on 2-in-1's").
|
||||||
|
|
||||||
|
It turns out that enabling SW_TABLET_MODE reporting on devices with a
|
||||||
|
chassis-type of 10 ("Notebook") causes SW_TABLET_MODE to always report 1
|
||||||
|
at boot on the HP Pavilion 11 x360, which causes libinput to disable the
|
||||||
|
kbd and touchpad.
|
||||||
|
|
||||||
|
The HP Pavilion 11 x360's ACPI VGBS method sets bit 4 instead of bit 6 when
|
||||||
|
NOT in tablet mode at boot. Inspecting all the DSDTs in my DSDT collection
|
||||||
|
shows only one other model, the Medion E1239T ever setting bit 4 and it
|
||||||
|
always sets this together with bit 6.
|
||||||
|
|
||||||
|
So lets treat bit 4 as a second bit which when set indicates the device not
|
||||||
|
being in tablet-mode, as we already do for bit 6.
|
||||||
|
|
||||||
|
While at it also prefix all VGBS constant defines with "VGBS_".
|
||||||
|
|
||||||
|
Fixes: cfae58ed681c ("platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type")
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
drivers/platform/x86/intel-vbtn.c | 12 ++++++++----
|
||||||
|
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
|
||||||
|
index e85d8e58320c..f443619e1e7e 100644
|
||||||
|
--- a/drivers/platform/x86/intel-vbtn.c
|
||||||
|
+++ b/drivers/platform/x86/intel-vbtn.c
|
||||||
|
@@ -15,9 +15,13 @@
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/suspend.h>
|
||||||
|
|
||||||
|
+/* Returned when NOT in tablet mode on some HP Stream x360 11 models */
|
||||||
|
+#define VGBS_TABLET_MODE_FLAG_ALT 0x10
|
||||||
|
/* When NOT in tablet mode, VGBS returns with the flag 0x40 */
|
||||||
|
-#define TABLET_MODE_FLAG 0x40
|
||||||
|
-#define DOCK_MODE_FLAG 0x80
|
||||||
|
+#define VGBS_TABLET_MODE_FLAG 0x40
|
||||||
|
+#define VGBS_DOCK_MODE_FLAG 0x80
|
||||||
|
+
|
||||||
|
+#define VGBS_TABLET_MODE_FLAGS (VGBS_TABLET_MODE_FLAG | VGBS_TABLET_MODE_FLAG_ALT)
|
||||||
|
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
MODULE_AUTHOR("AceLan Kao");
|
||||||
|
@@ -72,9 +76,9 @@ static void detect_tablet_mode(struct platform_device *device)
|
||||||
|
if (ACPI_FAILURE(status))
|
||||||
|
return;
|
||||||
|
|
||||||
|
- m = !(vgbs & TABLET_MODE_FLAG);
|
||||||
|
+ m = !(vgbs & VGBS_TABLET_MODE_FLAGS);
|
||||||
|
input_report_switch(priv->input_dev, SW_TABLET_MODE, m);
|
||||||
|
- m = (vgbs & DOCK_MODE_FLAG) ? 1 : 0;
|
||||||
|
+ m = (vgbs & VGBS_DOCK_MODE_FLAG) ? 1 : 0;
|
||||||
|
input_report_switch(priv->input_dev, SW_DOCK, m);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
||||||
|
From d26d82852e926fee13b5fa71cc004da391aaa5e3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Wed, 16 Sep 2020 16:14:39 +0200
|
||||||
|
Subject: [PATCH 2/2] platform/x86: asus-wmi: Fix SW_TABLET_MODE always
|
||||||
|
reporting 1 on many different models
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Commit b0dbd97de1f1 ("platform/x86: asus-wmi: Add support for
|
||||||
|
SW_TABLET_MODE") added support for reporting SW_TABLET_MODE using the
|
||||||
|
Asus 0x00120063 WMI-device-id to see if various transformer models were
|
||||||
|
docked into their keyboard-dock (SW_TABLET_MODE=0) or if they were
|
||||||
|
being used as a tablet.
|
||||||
|
|
||||||
|
The new SW_TABLET_MODE support (naively?) assumed that non Transformer
|
||||||
|
devices would either not support the 0x00120063 WMI-device-id at all,
|
||||||
|
or would NOT set ASUS_WMI_DSTS_PRESENCE_BIT in their reply when querying
|
||||||
|
the device-id.
|
||||||
|
|
||||||
|
Unfortunately this is not true and we have received many bug reports about
|
||||||
|
this change causing the asus-wmi driver to always report SW_TABLET_MODE=1
|
||||||
|
on non Transformer devices. This causes libinput to think that these are
|
||||||
|
360 degree hinges style 2-in-1s folded into tablet-mode. Making libinput
|
||||||
|
suppress keyboard and touchpad events from the builtin keyboard and
|
||||||
|
touchpad. So effectively this causes the keyboard and touchpad to not work
|
||||||
|
on many non Transformer Asus models.
|
||||||
|
|
||||||
|
This commit fixes this by using the existing DMI based quirk mechanism in
|
||||||
|
asus-nb-wmi.c to allow using the 0x00120063 device-id for reporting
|
||||||
|
SW_TABLET_MODE on Transformer models and ignoring it on all other models.
|
||||||
|
|
||||||
|
Fixes: b0dbd97de1f1 ("platform/x86: asus-wmi: Add support for SW_TABLET_MODE")
|
||||||
|
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=209011
|
||||||
|
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1875339
|
||||||
|
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1875828
|
||||||
|
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1876997
|
||||||
|
Reported-by: Samuel Čavoj <samuel@cavoj.net>
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
drivers/platform/x86/asus-nb-wmi.c | 32 ++++++++++++++++++++++++++++++
|
||||||
|
drivers/platform/x86/asus-wmi.c | 16 ++++++++-------
|
||||||
|
drivers/platform/x86/asus-wmi.h | 1 +
|
||||||
|
3 files changed, 42 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
|
||||||
|
index 680c3640e013..1d9fbabd02fb 100644
|
||||||
|
--- a/drivers/platform/x86/asus-nb-wmi.c
|
||||||
|
+++ b/drivers/platform/x86/asus-nb-wmi.c
|
||||||
|
@@ -115,6 +115,10 @@ static struct quirk_entry quirk_asus_vendor_backlight = {
|
||||||
|
.wmi_backlight_set_devstate = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
+static struct quirk_entry quirk_asus_use_kbd_dock_devid = {
|
||||||
|
+ .use_kbd_dock_devid = true,
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
static int dmi_matched(const struct dmi_system_id *dmi)
|
||||||
|
{
|
||||||
|
pr_info("Identified laptop model '%s'\n", dmi->ident);
|
||||||
|
@@ -488,6 +492,34 @@ static const struct dmi_system_id asus_quirks[] = {
|
||||||
|
},
|
||||||
|
.driver_data = &quirk_asus_ga502i,
|
||||||
|
},
|
||||||
|
+ {
|
||||||
|
+ .callback = dmi_matched,
|
||||||
|
+ .ident = "Asus Transformer T100TA / T100HA / T100CHI",
|
||||||
|
+ .matches = {
|
||||||
|
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
|
||||||
|
+ /* Match *T100* */
|
||||||
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "T100"),
|
||||||
|
+ },
|
||||||
|
+ .driver_data = &quirk_asus_use_kbd_dock_devid,
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ .callback = dmi_matched,
|
||||||
|
+ .ident = "Asus Transformer T101HA",
|
||||||
|
+ .matches = {
|
||||||
|
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
|
||||||
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "T101HA"),
|
||||||
|
+ },
|
||||||
|
+ .driver_data = &quirk_asus_use_kbd_dock_devid,
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ .callback = dmi_matched,
|
||||||
|
+ .ident = "Asus Transformer T200TA",
|
||||||
|
+ .matches = {
|
||||||
|
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
|
||||||
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "T200TA"),
|
||||||
|
+ },
|
||||||
|
+ .driver_data = &quirk_asus_use_kbd_dock_devid,
|
||||||
|
+ },
|
||||||
|
{},
|
||||||
|
};
|
||||||
|
|
||||||
|
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
|
||||||
|
index 8f4acdc06b13..ae6289d37faf 100644
|
||||||
|
--- a/drivers/platform/x86/asus-wmi.c
|
||||||
|
+++ b/drivers/platform/x86/asus-wmi.c
|
||||||
|
@@ -365,12 +365,14 @@ static int asus_wmi_input_init(struct asus_wmi *asus)
|
||||||
|
if (err)
|
||||||
|
goto err_free_dev;
|
||||||
|
|
||||||
|
- result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_KBD_DOCK);
|
||||||
|
- if (result >= 0) {
|
||||||
|
- input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE);
|
||||||
|
- input_report_switch(asus->inputdev, SW_TABLET_MODE, !result);
|
||||||
|
- } else if (result != -ENODEV) {
|
||||||
|
- pr_err("Error checking for keyboard-dock: %d\n", result);
|
||||||
|
+ if (asus->driver->quirks->use_kbd_dock_devid) {
|
||||||
|
+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_KBD_DOCK);
|
||||||
|
+ if (result >= 0) {
|
||||||
|
+ input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE);
|
||||||
|
+ input_report_switch(asus->inputdev, SW_TABLET_MODE, !result);
|
||||||
|
+ } else if (result != -ENODEV) {
|
||||||
|
+ pr_err("Error checking for keyboard-dock: %d\n", result);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
err = input_register_device(asus->inputdev);
|
||||||
|
@@ -2114,7 +2116,7 @@ static void asus_wmi_handle_event_code(int code, struct asus_wmi *asus)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (code == NOTIFY_KBD_DOCK_CHANGE) {
|
||||||
|
+ if (asus->driver->quirks->use_kbd_dock_devid && code == NOTIFY_KBD_DOCK_CHANGE) {
|
||||||
|
result = asus_wmi_get_devstate_simple(asus,
|
||||||
|
ASUS_WMI_DEVID_KBD_DOCK);
|
||||||
|
if (result >= 0) {
|
||||||
|
diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h
|
||||||
|
index 4f31b68642a0..1a95c172f94b 100644
|
||||||
|
--- a/drivers/platform/x86/asus-wmi.h
|
||||||
|
+++ b/drivers/platform/x86/asus-wmi.h
|
||||||
|
@@ -33,6 +33,7 @@ struct quirk_entry {
|
||||||
|
bool wmi_backlight_native;
|
||||||
|
bool wmi_backlight_set_devstate;
|
||||||
|
bool wmi_force_als_set;
|
||||||
|
+ bool use_kbd_dock_devid;
|
||||||
|
int wapf;
|
||||||
|
/*
|
||||||
|
* For machines with AMD graphic chips, it will send out WMI event
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
2
sources
2
sources
|
@ -1,2 +1,2 @@
|
||||||
SHA512 (linux-5.8.tar.xz) = 19c8694bda4533464877e2d976aca95f48c2c40c11efcc1dce0ca91cc5f9826110e277c7de2a49ff99af8ae1c76e275b7c463abf71fbf410956d63066dc4ee53
|
SHA512 (linux-5.8.tar.xz) = 19c8694bda4533464877e2d976aca95f48c2c40c11efcc1dce0ca91cc5f9826110e277c7de2a49ff99af8ae1c76e275b7c463abf71fbf410956d63066dc4ee53
|
||||||
SHA512 (patch-5.8.9.xz) = 75c4b0c41660da07e46280e0315d67964aae94730a5698c0384de2b8ae1ca42c191f0db5ce3e067ecfc425e523c5d7634651e81ea3a7f5dde95116baa1120fb9
|
SHA512 (patch-5.8.10.xz) = cc7fd627fdaf502fd760e995f1a3e058a5cb4b5996e47ffb71076f4251fe5b8abeb786a209d0b40564b3a6765d36a5eb9add92c3e81e476210e87c0f9d3f086c
|
||||||
|
|
|
@ -0,0 +1,150 @@
|
||||||
|
From patchwork Tue Sep 15 21:42:52 2020
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
X-Patchwork-Submitter: Jeffrey Mitchell <jeffrey.mitchell@starlab.io>
|
||||||
|
X-Patchwork-Id: 11777881
|
||||||
|
Return-Path: <SRS0=S9kK=CY=vger.kernel.org=linux-nfs-owner@kernel.org>
|
||||||
|
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||||
|
[172.30.200.123])
|
||||||
|
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9BEEA618
|
||||||
|
for <patchwork-linux-nfs@patchwork.kernel.org>;
|
||||||
|
Tue, 15 Sep 2020 21:44:46 +0000 (UTC)
|
||||||
|
Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
|
||||||
|
by mail.kernel.org (Postfix) with ESMTP id 600CF20731
|
||||||
|
for <patchwork-linux-nfs@patchwork.kernel.org>;
|
||||||
|
Tue, 15 Sep 2020 21:44:46 +0000 (UTC)
|
||||||
|
Authentication-Results: mail.kernel.org;
|
||||||
|
dkim=pass (1024-bit key) header.d=starlab.io header.i=@starlab.io
|
||||||
|
header.b="aJuHPsEZ"
|
||||||
|
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||||
|
id S1728066AbgIOVoW (ORCPT
|
||||||
|
<rfc822;patchwork-linux-nfs@patchwork.kernel.org>);
|
||||||
|
Tue, 15 Sep 2020 17:44:22 -0400
|
||||||
|
Received: from mail-dm3gcc02on2104.outbound.protection.outlook.com
|
||||||
|
([40.107.91.104]:22176
|
||||||
|
"EHLO GCC02-DM3-obe.outbound.protection.outlook.com"
|
||||||
|
rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP
|
||||||
|
id S1727845AbgIOVnq (ORCPT <rfc822;linux-nfs@vger.kernel.org>);
|
||||||
|
Tue, 15 Sep 2020 17:43:46 -0400
|
||||||
|
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
|
||||||
|
b=gP59+M9kP3ZEQtpnFruwMJTxipkpx5mXy/SAn2tLXN3JL4qzMJ1ovTpHbiAiF/nRgN+JWCDnMI8WCCcRMUXjnFduBiNpgILfXKaDFIuooiqrtNQxzbDEq+ZXqd/6dyBNj6iD6CmIZdrBoo6eEZJhIR2gVWzt1Zu1x2I8WkY2+RjJDlgZrfvNwRcw/4U3TdF97r5ksdewF0BlNby6ZExrsumudCVvW+WO8hM/di5362QOMxgKtlaqtFHQX4/sqqgAZs6qXS1WZMpGBjKNYO3kZhTdRl0X06MFZ2UnBUMt/P9Vh4IpyS3dUHF9DQWGbOXmF9OR97gJSP4UYP6Vo+NIvg==
|
||||||
|
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
|
||||||
|
s=arcselector9901;
|
||||||
|
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
|
||||||
|
bh=5XTZZ/aS36tpTnR5M4LBDQk4eW6LhdJERW6/8ZQBdjg=;
|
||||||
|
b=AEMkmqRUg3UZV5ehyVTDA4QkihRZ0LrGTYP4+eEdl+HOkLUjAoN3uBVLLoJlH2fPtc1OtuPBOe6RA6OE3dr3FKkRGBU86TJAfPr8Mr8nkNHkKcK2wXE2uMFPinGFNIq8DVH2P5c8qKxMSe/e48ddMFm/cKT/T6YCQHAtxWOBQSrZM9Gm3Dci1Vc6xbAceeaIrV7uqIAt+aSmcu7+HnZT3PDT1IsxxgdT5xexteAv8RKROzjmpwlzYCMuMeLNN2zV7TMVCaqZUkMQEe6MjAsvnvQ4erXTZ1441TMna1uCIsttHHrkV3rb9UABF9g5P5ffrbNzUXeKwEMYjUjUFq6SXg==
|
||||||
|
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
|
||||||
|
smtp.mailfrom=starlab.io; dmarc=pass action=none header.from=starlab.io;
|
||||||
|
dkim=pass header.d=starlab.io; arc=none
|
||||||
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=starlab.io;
|
||||||
|
s=selector2;
|
||||||
|
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
|
||||||
|
bh=5XTZZ/aS36tpTnR5M4LBDQk4eW6LhdJERW6/8ZQBdjg=;
|
||||||
|
b=aJuHPsEZcvYEP98mtq2JKo/LbYpT9T2mpgQahKfEPFXnrB3ajaaj7edTDPFd88SsdHU/wC7pVNVj0g8Ybc9hBn483uen/K+fV2fNe2IiND7jJO/8+jusNVQEVcBbNcaGNFA1idd4Us3/7XC9AqnJ7uKjYcLlkpDC5MooQ2ALKLA=
|
||||||
|
Authentication-Results: starlab.io; dkim=none (message not signed)
|
||||||
|
header.d=none;starlab.io; dmarc=none action=none header.from=starlab.io;
|
||||||
|
Received: from SA9PR09MB5246.namprd09.prod.outlook.com (2603:10b6:806:4b::9)
|
||||||
|
by SA9PR09MB5376.namprd09.prod.outlook.com (2603:10b6:806:44::20) with
|
||||||
|
Microsoft SMTP Server (version=TLS1_2,
|
||||||
|
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Tue, 15 Sep
|
||||||
|
2020 21:43:23 +0000
|
||||||
|
Received: from SA9PR09MB5246.namprd09.prod.outlook.com
|
||||||
|
([fe80::e90f:c1b7:2964:d2ac]) by SA9PR09MB5246.namprd09.prod.outlook.com
|
||||||
|
([fe80::e90f:c1b7:2964:d2ac%7]) with mapi id 15.20.3370.019; Tue, 15 Sep 2020
|
||||||
|
21:43:23 +0000
|
||||||
|
From: Jeffrey Mitchell <jeffrey.mitchell@starlab.io>
|
||||||
|
To: Trond Myklebust <trond.myklebust@hammerspace.com>,
|
||||||
|
Anna Schumaker <anna.schumaker@netapp.com>,
|
||||||
|
"J . Bruce Fields" <bfields@fieldses.org>
|
||||||
|
Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
|
||||||
|
Jeffrey Mitchell <jeffrey.mitchell@starlab.io>
|
||||||
|
Subject: [PATCH v2] nfs: Fix security label length not being reset
|
||||||
|
Date: Tue, 15 Sep 2020 16:42:52 -0500
|
||||||
|
Message-Id: <20200915214252.262881-1-jeffrey.mitchell@starlab.io>
|
||||||
|
X-Mailer: git-send-email 2.25.1
|
||||||
|
In-Reply-To: <20200914154958.55451-1-jeffrey.mitchell@starlab.io>
|
||||||
|
References: <20200914154958.55451-1-jeffrey.mitchell@starlab.io>
|
||||||
|
X-ClientProxiedBy: SN4PR0701CA0023.namprd07.prod.outlook.com
|
||||||
|
(2603:10b6:803:28::33) To SA9PR09MB5246.namprd09.prod.outlook.com
|
||||||
|
(2603:10b6:806:4b::9)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
X-MS-Exchange-MessageSentRepresentingType: 1
|
||||||
|
Received: from jeffrey-work-20 (75.1.70.238) by
|
||||||
|
SN4PR0701CA0023.namprd07.prod.outlook.com (2603:10b6:803:28::33) with
|
||||||
|
Microsoft SMTP Server (version=TLS1_2,
|
||||||
|
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16 via Frontend
|
||||||
|
Transport; Tue, 15 Sep 2020 21:43:22 +0000
|
||||||
|
X-Mailer: git-send-email 2.25.1
|
||||||
|
X-Originating-IP: [75.1.70.238]
|
||||||
|
X-MS-PublicTrafficType: Email
|
||||||
|
X-MS-Office365-Filtering-Correlation-Id: f6b6cbb7-73d3-494f-9182-08d859c05e6a
|
||||||
|
X-MS-TrafficTypeDiagnostic: SA9PR09MB5376:
|
||||||
|
X-MS-Exchange-Transport-Forked: True
|
||||||
|
X-Microsoft-Antispam-PRVS:
|
||||||
|
<SA9PR09MB537678871DE105834C46ED4BF8200@SA9PR09MB5376.namprd09.prod.outlook.com>
|
||||||
|
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
|
||||||
|
X-MS-Exchange-SenderADCheck: 1
|
||||||
|
X-Microsoft-Antispam: BCL:0;
|
||||||
|
X-Microsoft-Antispam-Message-Info:
|
||||||
|
ve0rVm2dgAEEJAHk636eMFSzbaG54N1EjudpqWLYW0DylXWpm1XPdYOKGIJ7OQAUpYFiKRVvvCCHJyBpHbHzGKC4nG5t9P4JC8cVt7aPrOwpeaPSxWzUaFp0k9bOYDPZUOJ8XLYLs7IY1pk2rtYoLLTdDcfG5Kzzo2J3bIaePbV3MKzQ0UsODbgcJZlEpmQscx6xeqDlu+uG1mYjrtw5UiZLSQAD5lbkudMm2EmmZLEYqmYHzwFZpOujih7ONUEwBPmwH3cgEdqhdth5H9fRA5RelGwfRwMIn7uLA+/xqi7XnIvhkfvfdF/IyPz3eBCA
|
||||||
|
X-Forefront-Antispam-Report:
|
||||||
|
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA9PR09MB5246.namprd09.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39830400003)(346002)(136003)(376002)(366004)(16526019)(186003)(107886003)(4326008)(8676002)(8936002)(36756003)(6496006)(66946007)(2906002)(15650500001)(52116002)(66556008)(66476007)(316002)(6666004)(86362001)(26005)(5660300002)(1076003)(44832011)(83380400001)(478600001)(2616005)(110136005)(956004)(6486002);DIR:OUT;SFP:1102;
|
||||||
|
X-MS-Exchange-AntiSpam-MessageData:
|
||||||
|
q4wBhvrjMzSF6Plz5Ht6sf9Uu69ig8LJutAd8jEyaoRDqKTewYyNQQYzV/bQE3XEV4LlM1hb3ypXtn2UD9kZ/IWTmgpl/Y1MFe+L1ElTHVh//V3w7gSJ81b08ickMgWfthsYiUVGueTLp5bDY8dzcUXctkSBIycLijlMk9+jcS/InJxM/w8oiMk/mNtfX7EFuhtrsvQyWRN5ixKH/jgHOhkH7+r8SK5ywKJUxitBRQHXKyBbJ9wi7nEbTIzYCW4WKtrnhYoNWNvKgjBUWA0LPrhxeO1sXAk5oq+Vuw0Oo4uzI4RtN84ucfhZCYEh5tbZXN7/hZ7VucAojcwKizYByZwF9Y7Tms+Qu6o+0mYEg8rv3674tDIbW55gvLpoClnMmUgAKEzNg3gEgaTkoYgW2ASPlIsKNy1rO+ukeMT7BSsbPQRBapQYtCSIs/TsmQcBp2XuuNqtXEhKJNwc+yV3tT3/D7hfCg9JfhdCwpS03f5o4OZPzwW+O0EF3E4KpZkQ81iTRmt6v5H+6f57VRofr6IckSvmbX+Mwbis7sXKBegIgGp8/a87r847npRq68Rao6ZDV+Z7R7M5FYP/bzJZOIWJmmn8EIoY/0as0nZmCFPxewig4O+RKwxixWqNxIYAEZZWR96si8n53nHTsMOJHQ==
|
||||||
|
X-OriginatorOrg: starlab.io
|
||||||
|
X-MS-Exchange-CrossTenant-Network-Message-Id:
|
||||||
|
f6b6cbb7-73d3-494f-9182-08d859c05e6a
|
||||||
|
X-MS-Exchange-CrossTenant-AuthSource: SA9PR09MB5246.namprd09.prod.outlook.com
|
||||||
|
X-MS-Exchange-CrossTenant-AuthAs: Internal
|
||||||
|
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2020 21:43:22.8388
|
||||||
|
(UTC)
|
||||||
|
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
|
||||||
|
X-MS-Exchange-CrossTenant-Id: 5e611933-986f-4838-a403-4acb432ce224
|
||||||
|
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
|
||||||
|
X-MS-Exchange-CrossTenant-UserPrincipalName:
|
||||||
|
chYVMMkYAvfiR0om1oU7hkRD1vHWk8vWKpUFgxhDUxbYALnkAu4ki99P8nO5pZmG5IsEx33nXgcNyg9tcTPVyxPI/upgYllWlX/Q0iCwT6Q=
|
||||||
|
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA9PR09MB5376
|
||||||
|
Sender: linux-nfs-owner@vger.kernel.org
|
||||||
|
Precedence: bulk
|
||||||
|
List-ID: <linux-nfs.vger.kernel.org>
|
||||||
|
X-Mailing-List: linux-nfs@vger.kernel.org
|
||||||
|
|
||||||
|
nfs_readdir_page_filler() iterates over entries in a directory, reusing
|
||||||
|
the same security label buffer, but does not reset the buffer's length.
|
||||||
|
This causes decode_attr_security_label() to return -ERANGE if an entry's
|
||||||
|
security label is longer than the previous one's. This error, in
|
||||||
|
nfs4_decode_dirent(), only gets passed up as -EAGAIN, which causes another
|
||||||
|
failed attempt to copy into the buffer. The second error is ignored and
|
||||||
|
the remaining entries do not show up in ls, specifically the getdents64()
|
||||||
|
syscall.
|
||||||
|
|
||||||
|
Reproduce by creating multiple files in NFS and giving one of the later
|
||||||
|
files a longer security label. ls will not see that file nor any that are
|
||||||
|
added afterwards, though they will exist on the backend.
|
||||||
|
|
||||||
|
In nfs_readdir_page_filler(), reset security label buffer length before
|
||||||
|
every reuse
|
||||||
|
|
||||||
|
Signed-off-by: Jeffrey Mitchell <jeffrey.mitchell@starlab.io>
|
||||||
|
---
|
||||||
|
v2: Added explanation from cover letter as requested by J. Bruce Fields
|
||||||
|
<bfields@fieldses.org>
|
||||||
|
|
||||||
|
fs/nfs/dir.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
|
||||||
|
index e732580fe47b..cb52db9a0cfb 100644
|
||||||
|
--- a/fs/nfs/dir.c
|
||||||
|
+++ b/fs/nfs/dir.c
|
||||||
|
@@ -579,6 +579,9 @@ int nfs_readdir_page_filler(nfs_readdir_descriptor_t *desc, struct nfs_entry *en
|
||||||
|
xdr_set_scratch_buffer(&stream, page_address(scratch), PAGE_SIZE);
|
||||||
|
|
||||||
|
do {
|
||||||
|
+ if (entry->label)
|
||||||
|
+ entry->label->len = NFS4_MAXLABELLEN;
|
||||||
|
+
|
||||||
|
status = xdr_decode(desc, entry, &stream);
|
||||||
|
if (status != 0) {
|
||||||
|
if (status == -EAGAIN)
|
Loading…
Reference in New Issue