linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 5.10 00/23] 5.10.19-rc1 review
@ 2021-02-25  9:53 Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 01/23] bpf: Fix truncation handling for mod32 dst reg wrt zero Greg Kroah-Hartman
                   ` (29 more replies)
  0 siblings, 30 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, torvalds, akpm, linux, shuah, patches,
	lkft-triage, pavel, jonathanh, f.fainelli, stable

This is the start of the stable review cycle for the 5.10.19 release.
There are 23 patches in this series, all will be posted as a response
to this one.  If anyone has any issues with these being applied, please
let me know.

Responses should be made by Sat, 27 Feb 2021 09:25:06 +0000.
Anything received after that time might be too late.

The whole patch series can be found in one patch at:
	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.19-rc1.gz
or in the git tree and branch at:
	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Linux 5.10.19-rc1

Rong Chen <rong.a.chen@intel.com>
    scripts/recordmcount.pl: support big endian for ARCH sh

Masahiro Yamada <masahiroy@kernel.org>
    kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64

Shyam Prasad N <sprasad@microsoft.com>
    cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath.

Raju Rangoju <rajur@chelsio.com>
    cxgb4: Add new T6 PCI device id 0x6092

Christoph Schemmel <christoph.schemmel@gmail.com>
    NET: usb: qmi_wwan: Adding support for Cinterion MV31

Quanyang Wang <quanyang.wang@windriver.com>
    drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable

Sean Christopherson <seanjc@google.com>
    KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped()

Paolo Bonzini <pbonzini@redhat.com>
    mm: provide a saner PTE walking API for modules

Paolo Bonzini <pbonzini@redhat.com>
    KVM: do not assume PTE is writable after follow_pfn

Christoph Hellwig <hch@lst.de>
    mm: simplify follow_pte{,pmd}

Christoph Hellwig <hch@lst.de>
    mm: unexport follow_pte_pmd

Sean Christopherson <seanjc@google.com>
    KVM: x86: Zap the oldest MMU pages, not the newest

Thomas Hebb <tommyhebb@gmail.com>
    hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist

Sameer Pujar <spujar@nvidia.com>
    arm64: tegra: Add power-domain for Tegra210 HDA

Hui Wang <hui.wang@canonical.com>
    Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working

Rustam Kovhaev <rkovhaev@gmail.com>
    ntfs: check for valid standard information attribute

Luis Henriques <lhenriques@suse.de>
    ceph: downgrade warning from mdsmap decode to debug

Stefan Ursella <stefan.ursella@wolfvision.net>
    usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable

Johan Hovold <johan@kernel.org>
    USB: quirks: sort quirk entries

Christoph Hellwig <hch@lst.de>
    nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device

Christoph Hellwig <hch@lst.de>
    RDMA: Lift ibdev_to_node from rds to common code

Will McVicker <willmcvicker@google.com>
    HID: make arrays usage and value to be the same

Daniel Borkmann <daniel@iogearbox.net>
    bpf: Fix truncation handling for mod32 dst reg wrt zero


-------------

Diffstat:

 Makefile                                           |  4 +-
 arch/arm64/boot/dts/nvidia/tegra210.dtsi           |  1 +
 arch/x86/kvm/mmu/mmu.c                             |  2 +-
 drivers/bluetooth/btusb.c                          |  7 +++
 drivers/gpu/drm/xlnx/zynqmp_disp.c                 | 15 +++---
 drivers/hid/hid-core.c                             |  6 +--
 drivers/hwmon/dell-smm-hwmon.c                     |  7 +++
 drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h |  1 +
 drivers/net/usb/qmi_wwan.c                         |  1 +
 drivers/nvme/host/rdma.c                           |  2 +-
 drivers/usb/core/quirks.c                          |  9 ++--
 fs/ceph/mdsmap.c                                   |  4 +-
 fs/cifs/connect.c                                  |  1 +
 fs/dax.c                                           | 10 ++--
 fs/ntfs/inode.c                                    |  6 +++
 include/linux/mm.h                                 |  8 +--
 include/rdma/ib_verbs.h                            | 13 +++++
 kernel/bpf/verifier.c                              | 10 ++--
 mm/memory.c                                        | 57 ++++++++++++----------
 net/rds/ib.h                                       |  7 ---
 scripts/gen_autoksyms.sh                           |  3 ++
 scripts/recordmcount.pl                            |  6 ++-
 virt/kvm/kvm_main.c                                | 17 +++++--
 23 files changed, 127 insertions(+), 70 deletions(-)



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 01/23] bpf: Fix truncation handling for mod32 dst reg wrt zero
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 02/23] HID: make arrays usage and value to be the same Greg Kroah-Hartman
                   ` (28 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Daniel Borkmann, John Fastabend,
	Alexei Starovoitov

From: Daniel Borkmann <daniel@iogearbox.net>

commit 9b00f1b78809309163dda2d044d9e94a3c0248a3 upstream.

Recently noticed that when mod32 with a known src reg of 0 is performed,
then the dst register is 32-bit truncated in verifier:

  0: R1=ctx(id=0,off=0,imm=0) R10=fp0
  0: (b7) r0 = 0
  1: R0_w=inv0 R1=ctx(id=0,off=0,imm=0) R10=fp0
  1: (b7) r1 = -1
  2: R0_w=inv0 R1_w=inv-1 R10=fp0
  2: (b4) w2 = -1
  3: R0_w=inv0 R1_w=inv-1 R2_w=inv4294967295 R10=fp0
  3: (9c) w1 %= w0
  4: R0_w=inv0 R1_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R2_w=inv4294967295 R10=fp0
  4: (b7) r0 = 1
  5: R0_w=inv1 R1_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R2_w=inv4294967295 R10=fp0
  5: (1d) if r1 == r2 goto pc+1
   R0_w=inv1 R1_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R2_w=inv4294967295 R10=fp0
  6: R0_w=inv1 R1_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R2_w=inv4294967295 R10=fp0
  6: (b7) r0 = 2
  7: R0_w=inv2 R1_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R2_w=inv4294967295 R10=fp0
  7: (95) exit
  7: R0=inv1 R1=inv(id=0,umin_value=4294967295,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R2=inv4294967295 R10=fp0
  7: (95) exit

However, as a runtime result, we get 2 instead of 1, meaning the dst
register does not contain (u32)-1 in this case. The reason is fairly
straight forward given the 0 test leaves the dst register as-is:

  # ./bpftool p d x i 23
   0: (b7) r0 = 0
   1: (b7) r1 = -1
   2: (b4) w2 = -1
   3: (16) if w0 == 0x0 goto pc+1
   4: (9c) w1 %= w0
   5: (b7) r0 = 1
   6: (1d) if r1 == r2 goto pc+1
   7: (b7) r0 = 2
   8: (95) exit

This was originally not an issue given the dst register was marked as
completely unknown (aka 64 bit unknown). However, after 468f6eafa6c4
("bpf: fix 32-bit ALU op verification") the verifier casts the register
output to 32 bit, and hence it becomes 32 bit unknown. Note that for
the case where the src register is unknown, the dst register is marked
64 bit unknown. After the fix, the register is truncated by the runtime
and the test passes:

  # ./bpftool p d x i 23
   0: (b7) r0 = 0
   1: (b7) r1 = -1
   2: (b4) w2 = -1
   3: (16) if w0 == 0x0 goto pc+2
   4: (9c) w1 %= w0
   5: (05) goto pc+1
   6: (bc) w1 = w1
   7: (b7) r0 = 1
   8: (1d) if r1 == r2 goto pc+1
   9: (b7) r0 = 2
  10: (95) exit

Semantics also match with {R,W}x mod{64,32} 0 -> {R,W}x. Invalid div
has always been {R,W}x div{64,32} 0 -> 0. Rewrites are as follows:

  mod32:                            mod64:

  (16) if w0 == 0x0 goto pc+2       (15) if r0 == 0x0 goto pc+1
  (9c) w1 %= w0                     (9f) r1 %= r0
  (05) goto pc+1
  (bc) w1 = w1

Fixes: 468f6eafa6c4 ("bpf: fix 32-bit ALU op verification")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 kernel/bpf/verifier.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -10869,7 +10869,7 @@ static int fixup_bpf_calls(struct bpf_ve
 			bool isdiv = BPF_OP(insn->code) == BPF_DIV;
 			struct bpf_insn *patchlet;
 			struct bpf_insn chk_and_div[] = {
-				/* Rx div 0 -> 0 */
+				/* [R,W]x div 0 -> 0 */
 				BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) |
 					     BPF_JNE | BPF_K, insn->src_reg,
 					     0, 2, 0),
@@ -10878,16 +10878,18 @@ static int fixup_bpf_calls(struct bpf_ve
 				*insn,
 			};
 			struct bpf_insn chk_and_mod[] = {
-				/* Rx mod 0 -> Rx */
+				/* [R,W]x mod 0 -> [R,W]x */
 				BPF_RAW_INSN((is64 ? BPF_JMP : BPF_JMP32) |
 					     BPF_JEQ | BPF_K, insn->src_reg,
-					     0, 1, 0),
+					     0, 1 + (is64 ? 0 : 1), 0),
 				*insn,
+				BPF_JMP_IMM(BPF_JA, 0, 0, 1),
+				BPF_MOV32_REG(insn->dst_reg, insn->dst_reg),
 			};
 
 			patchlet = isdiv ? chk_and_div : chk_and_mod;
 			cnt = isdiv ? ARRAY_SIZE(chk_and_div) :
-				      ARRAY_SIZE(chk_and_mod);
+				      ARRAY_SIZE(chk_and_mod) - (is64 ? 2 : 0);
 
 			new_prog = bpf_patch_insn_data(env, i + delta, patchlet, cnt);
 			if (!new_prog)



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 02/23] HID: make arrays usage and value to be the same
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 01/23] bpf: Fix truncation handling for mod32 dst reg wrt zero Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 03/23] RDMA: Lift ibdev_to_node from rds to common code Greg Kroah-Hartman
                   ` (27 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Will McVicker, Jiri Kosina

From: Will McVicker <willmcvicker@google.com>

commit ed9be64eefe26d7d8b0b5b9fa3ffdf425d87a01f upstream.

The HID subsystem allows an "HID report field" to have a different
number of "values" and "usages" when it is allocated. When a field
struct is created, the size of the usage array is guaranteed to be at
least as large as the values array, but it may be larger. This leads to
a potential out-of-bounds write in
__hidinput_change_resolution_multipliers() and an out-of-bounds read in
hidinput_count_leds().

To fix this, let's make sure that both the usage and value arrays are
the same size.

Cc: stable@vger.kernel.org
Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/hid/hid-core.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -90,7 +90,7 @@ EXPORT_SYMBOL_GPL(hid_register_report);
  * Register a new field for this report.
  */
 
-static struct hid_field *hid_register_field(struct hid_report *report, unsigned usages, unsigned values)
+static struct hid_field *hid_register_field(struct hid_report *report, unsigned usages)
 {
 	struct hid_field *field;
 
@@ -101,7 +101,7 @@ static struct hid_field *hid_register_fi
 
 	field = kzalloc((sizeof(struct hid_field) +
 			 usages * sizeof(struct hid_usage) +
-			 values * sizeof(unsigned)), GFP_KERNEL);
+			 usages * sizeof(unsigned)), GFP_KERNEL);
 	if (!field)
 		return NULL;
 
@@ -300,7 +300,7 @@ static int hid_add_field(struct hid_pars
 	usages = max_t(unsigned, parser->local.usage_index,
 				 parser->global.report_count);
 
-	field = hid_register_field(report, usages, parser->global.report_count);
+	field = hid_register_field(report, usages);
 	if (!field)
 		return 0;
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 03/23] RDMA: Lift ibdev_to_node from rds to common code
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 01/23] bpf: Fix truncation handling for mod32 dst reg wrt zero Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 02/23] HID: make arrays usage and value to be the same Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 04/23] nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device Greg Kroah-Hartman
                   ` (26 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christoph Hellwig, Jason Gunthorpe,
	Krishnamraju Eraparaju

From: Christoph Hellwig <hch@lst.de>

commit 8ecfca68dc4cbee1272a0161e3f2fb9387dc6930 upstream.

Lift the ibdev_to_node from rds to common code and document it.

Link: https://lore.kernel.org/r/20201106181941.1878556-4-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: Krishnamraju Eraparaju <krishna2@chelsio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/rdma/ib_verbs.h |   13 +++++++++++++
 net/rds/ib.h            |    7 -------
 2 files changed, 13 insertions(+), 7 deletions(-)

--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -4643,6 +4643,19 @@ static inline struct ib_device *rdma_dev
 }
 
 /**
+ * ibdev_to_node - return the NUMA node for a given ib_device
+ * @dev:	device to get the NUMA node for.
+ */
+static inline int ibdev_to_node(struct ib_device *ibdev)
+{
+	struct device *parent = ibdev->dev.parent;
+
+	if (!parent)
+		return NUMA_NO_NODE;
+	return dev_to_node(parent);
+}
+
+/**
  * rdma_device_to_drv_device - Helper macro to reach back to driver's
  *			       ib_device holder structure from device pointer.
  *
--- a/net/rds/ib.h
+++ b/net/rds/ib.h
@@ -264,13 +264,6 @@ struct rds_ib_device {
 	int			*vector_load;
 };
 
-static inline int ibdev_to_node(struct ib_device *ibdev)
-{
-	struct device *parent;
-
-	parent = ibdev->dev.parent;
-	return parent ? dev_to_node(parent) : NUMA_NO_NODE;
-}
 #define rdsibdev_to_node(rdsibdev) ibdev_to_node(rdsibdev->dev)
 
 /* bits for i_ack_flags */



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 04/23] nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (2 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 03/23] RDMA: Lift ibdev_to_node from rds to common code Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 05/23] USB: quirks: sort quirk entries Greg Kroah-Hartman
                   ` (25 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christoph Hellwig, Jason Gunthorpe,
	Krishnamraju Eraparaju

From: Christoph Hellwig <hch@lst.de>

commit 22dd4c707673129ed17e803b4bf68a567b2731db upstream.

->dma_device is a private implementation detail of the RDMA core.  Use the
ibdev_to_node helper to get the NUMA node for a ib_device instead of
poking into ->dma_device.

Link: https://lore.kernel.org/r/20201106181941.1878556-5-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: Krishnamraju Eraparaju <krishna2@chelsio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/nvme/host/rdma.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/nvme/host/rdma.c
+++ b/drivers/nvme/host/rdma.c
@@ -860,7 +860,7 @@ static int nvme_rdma_configure_admin_que
 		return error;
 
 	ctrl->device = ctrl->queues[0].device;
-	ctrl->ctrl.numa_node = dev_to_node(ctrl->device->dev->dma_device);
+	ctrl->ctrl.numa_node = ibdev_to_node(ctrl->device->dev);
 
 	/* T10-PI support */
 	if (ctrl->device->dev->attrs.device_cap_flags &



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 05/23] USB: quirks: sort quirk entries
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (3 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 04/23] nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 06/23] usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable Greg Kroah-Hartman
                   ` (24 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Johan Hovold

From: Johan Hovold <johan@kernel.org>

commit 43861d29c0810a70792bf69d37482efb7bb6677d upstream.

Move the last entry to its proper place to maintain the VID/PID sort
order.

Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210210111746.13360-1-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/usb/core/quirks.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -415,6 +415,9 @@ static const struct usb_device_id usb_qu
 	{ USB_DEVICE(0x10d6, 0x2200), .driver_info =
 			USB_QUIRK_STRING_FETCH_255 },
 
+	/* novation SoundControl XL */
+	{ USB_DEVICE(0x1235, 0x0061), .driver_info = USB_QUIRK_RESET_RESUME },
+
 	/* Huawei 4G LTE module */
 	{ USB_DEVICE(0x12d1, 0x15bb), .driver_info =
 			USB_QUIRK_DISCONNECT_SUSPEND },
@@ -495,9 +498,6 @@ static const struct usb_device_id usb_qu
 	/* INTEL VALUE SSD */
 	{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
 
-	/* novation SoundControl XL */
-	{ USB_DEVICE(0x1235, 0x0061), .driver_info = USB_QUIRK_RESET_RESUME },
-
 	{ }  /* terminating entry must be last */
 };
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 06/23] usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (4 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 05/23] USB: quirks: sort quirk entries Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 07/23] ceph: downgrade warning from mdsmap decode to debug Greg Kroah-Hartman
                   ` (23 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Stefan Ursella

From: Stefan Ursella <stefan.ursella@wolfvision.net>

commit 1ebe718bb48278105816ba03a0408ecc2d6cf47f upstream.

Without this quirk starting a video capture from the device often fails with

kernel: uvcvideo: Failed to set UVC probe control : -110 (exp. 34).

Signed-off-by: Stefan Ursella <stefan.ursella@wolfvision.net>
Link: https://lore.kernel.org/r/20210210140713.18711-1-stefan.ursella@wolfvision.net
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/usb/core/quirks.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -391,6 +391,9 @@ static const struct usb_device_id usb_qu
 	/* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */
 	{ USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
 
+	/* ELMO L-12F document camera */
+	{ USB_DEVICE(0x09a1, 0x0028), .driver_info = USB_QUIRK_DELAY_CTRL_MSG },
+
 	/* Broadcom BCM92035DGROM BT dongle */
 	{ USB_DEVICE(0x0a5c, 0x2021), .driver_info = USB_QUIRK_RESET_RESUME },
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 07/23] ceph: downgrade warning from mdsmap decode to debug
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (5 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 06/23] usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 08/23] ntfs: check for valid standard information attribute Greg Kroah-Hartman
                   ` (22 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Luis Henriques, Jeff Layton, Ilya Dryomov

From: Luis Henriques <lhenriques@suse.de>

commit ccd1acdf1c49b835504b235461fd24e2ed826764 upstream.

While the MDS cluster is unstable and changing state the client may get
mdsmap updates that will trigger warnings:

  [144692.478400] ceph: mdsmap_decode got incorrect state(up:standby-replay)
  [144697.489552] ceph: mdsmap_decode got incorrect state(up:standby-replay)
  [144697.489580] ceph: mdsmap_decode got incorrect state(up:standby-replay)

This patch downgrades these warnings to debug, as they may flood the logs
if the cluster is unstable for a while.

Signed-off-by: Luis Henriques <lhenriques@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/ceph/mdsmap.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/fs/ceph/mdsmap.c
+++ b/fs/ceph/mdsmap.c
@@ -243,8 +243,8 @@ struct ceph_mdsmap *ceph_mdsmap_decode(v
 		}
 
 		if (state <= 0) {
-			pr_warn("mdsmap_decode got incorrect state(%s)\n",
-				ceph_mds_state_name(state));
+			dout("mdsmap_decode got incorrect state(%s)\n",
+			     ceph_mds_state_name(state));
 			continue;
 		}
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 08/23] ntfs: check for valid standard information attribute
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (6 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 07/23] ceph: downgrade warning from mdsmap decode to debug Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 09/23] Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working Greg Kroah-Hartman
                   ` (21 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Rustam Kovhaev,
	syzbot+c584225dabdea2f71969, Anton Altaparmakov, Andrew Morton,
	Linus Torvalds

From: Rustam Kovhaev <rkovhaev@gmail.com>

commit 4dfe6bd94959222e18d512bdf15f6bf9edb9c27c upstream.

Mounting a corrupted filesystem with NTFS resulted in a kernel crash.

We should check for valid STANDARD_INFORMATION attribute offset and length
before trying to access it

Link: https://lkml.kernel.org/r/20210217155930.1506815-1-rkovhaev@gmail.com
Link: https://syzkaller.appspot.com/bug?extid=c584225dabdea2f71969
Signed-off-by: Rustam Kovhaev <rkovhaev@gmail.com>
Reported-by: syzbot+c584225dabdea2f71969@syzkaller.appspotmail.com
Tested-by: syzbot+c584225dabdea2f71969@syzkaller.appspotmail.com
Acked-by: Anton Altaparmakov <anton@tuxera.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/ntfs/inode.c |    6 ++++++
 1 file changed, 6 insertions(+)

--- a/fs/ntfs/inode.c
+++ b/fs/ntfs/inode.c
@@ -629,6 +629,12 @@ static int ntfs_read_locked_inode(struct
 	}
 	a = ctx->attr;
 	/* Get the standard information attribute value. */
+	if ((u8 *)a + le16_to_cpu(a->data.resident.value_offset)
+			+ le32_to_cpu(a->data.resident.value_length) >
+			(u8 *)ctx->mrec + vol->mft_record_size) {
+		ntfs_error(vi->i_sb, "Corrupt standard information attribute in inode.");
+		goto unm_err_out;
+	}
 	si = (STANDARD_INFORMATION*)((u8*)a +
 			le16_to_cpu(a->data.resident.value_offset));
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 09/23] Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (7 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 08/23] ntfs: check for valid standard information attribute Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 10/23] arm64: tegra: Add power-domain for Tegra210 HDA Greg Kroah-Hartman
                   ` (20 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Hui Wang, Marcel Holtmann,
	Salvatore Bonaccorso

From: Hui Wang <hui.wang@canonical.com>

commit 234f414efd1164786269849b4fbb533d6c9cdbbf upstream.

This issue starts from linux-5.10-rc1, I reproduced this issue on my
Dell Inspiron 7447 with BT adapter 0cf3:e005, the kernel will print
out: "Bluetooth: hci0: don't support firmware rome 0x31010000", and
someone else also reported the similar issue to bugzilla #211571.

I found this is a regression introduced by 'commit b40f58b97386
("Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support"), the
patch assumed that if high ROM version is not zero, it is an adapter
on WCN6855, but many old adapters don't need to load rampatch or nvm,
and they have non-zero high ROM version.

To fix it, let the driver match the rom_version in the
qca_devices_table first, if there is no entry matched, check the
high ROM version, if it is not zero, we assume this adapter is ready
to work and no need to load rampatch and nvm like previously.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=211571
Fixes: b40f58b97386 ("Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support")
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: Salvatore Bonaccorso <carnil@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/bluetooth/btusb.c |    7 +++++++
 1 file changed, 7 insertions(+)

--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -3689,6 +3689,13 @@ static int btusb_setup_qca(struct hci_de
 			info = &qca_devices_table[i];
 	}
 	if (!info) {
+		/* If the rom_version is not matched in the qca_devices_table
+		 * and the high ROM version is not zero, we assume this chip no
+		 * need to load the rampatch and nvm.
+		 */
+		if (ver_rom & ~0xffffU)
+			return 0;
+
 		bt_dev_err(hdev, "don't support firmware rome 0x%x", ver_rom);
 		return -ENODEV;
 	}



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 10/23] arm64: tegra: Add power-domain for Tegra210 HDA
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (8 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 09/23] Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 11/23] hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist Greg Kroah-Hartman
                   ` (19 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Sameer Pujar, Jon Hunter, Thierry Reding

From: Sameer Pujar <spujar@nvidia.com>

commit 1e0ca5467445bc1f41a9e403d6161a22f313dae7 upstream.

HDA initialization is failing occasionally on Tegra210 and following
print is observed in the boot log. Because of this probe() fails and
no sound card is registered.

  [16.800802] tegra-hda 70030000.hda: no codecs found!

Codecs request a state change and enumeration by the controller. In
failure cases this does not seem to happen as STATETS register reads 0.

The problem seems to be related to the HDA codec dependency on SOR
power domain. If it is gated during HDA probe then the failure is
observed. Building Tegra HDA driver into kernel image avoids this
failure but does not completely address the dependency part. Fix this
problem by adding 'power-domains' DT property for Tegra210 HDA. Note
that Tegra186 and Tegra194 HDA do this already.

Fixes: 742af7e7a0a1 ("arm64: tegra: Add Tegra210 support")
Depends-on: 96d1f078ff0 ("arm64: tegra: Add SOR power-domain for Tegra210")
Cc: <stable@vger.kernel.org>
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/arm64/boot/dts/nvidia/tegra210.dtsi |    1 +
 1 file changed, 1 insertion(+)

--- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
@@ -997,6 +997,7 @@
 			 <&tegra_car 128>, /* hda2hdmi */
 			 <&tegra_car 111>; /* hda2codec_2x */
 		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
+		power-domains = <&pd_sor>;
 		status = "disabled";
 	};
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 11/23] hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (9 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 10/23] arm64: tegra: Add power-domain for Tegra210 HDA Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 12/23] KVM: x86: Zap the oldest MMU pages, not the newest Greg Kroah-Hartman
                   ` (18 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Bob Hepple, Thomas Hebb,
	Pali Rohár, Guenter Roeck

From: Thomas Hebb <tommyhebb@gmail.com>

commit 4008bc7d39537bb3be166d8a3129c4980e1dd7dc upstream.

It has been reported[0] that the Dell XPS 15 L502X exhibits similar
freezing behavior to the other systems[1] on this blacklist. The issue
was exposed by a prior change of mine to automatically load
dell_smm_hwmon on a wider set of XPS models. To fix the regression, add
this model to the blacklist.

[0] https://bugzilla.kernel.org/show_bug.cgi?id=211081
[1] https://bugzilla.kernel.org/show_bug.cgi?id=195751

Fixes: b8a13e5e8f37 ("hwmon: (dell-smm) Use one DMI match for all XPS models")
Cc: stable@vger.kernel.org
Reported-by: Bob Hepple <bob.hepple@gmail.com>
Tested-by: Bob Hepple <bob.hepple@gmail.com>
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Reviewed-by: Pali Rohár <pali@kernel.org>
Link: https://lore.kernel.org/r/a09eea7616881d40d2db2fb5fa2770dc6166bdae.1611456351.git.tommyhebb@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/hwmon/dell-smm-hwmon.c |    7 +++++++
 1 file changed, 7 insertions(+)

--- a/drivers/hwmon/dell-smm-hwmon.c
+++ b/drivers/hwmon/dell-smm-hwmon.c
@@ -1159,6 +1159,13 @@ static struct dmi_system_id i8k_blacklis
 			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "XPS13 9333"),
 		},
 	},
+	{
+		.ident = "Dell XPS 15 L502X",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Dell System XPS L502X"),
+		},
+	},
 	{ }
 };
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 12/23] KVM: x86: Zap the oldest MMU pages, not the newest
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (10 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 11/23] hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 13/23] mm: unexport follow_pte_pmd Greg Kroah-Hartman
                   ` (17 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Zdenek Kaspar, Sean Christopherson,
	Paolo Bonzini

From: Sean Christopherson <seanjc@google.com>

commit 8fc517267fb28576dfca2380cc2497a2454b8fae upstream.

Walk the list of MMU pages in reverse in kvm_mmu_zap_oldest_mmu_pages().
The list is FIFO, meaning new pages are inserted at the head and thus
the oldest pages are at the tail.  Using a "forward" iterator causes KVM
to zap MMU pages that were just added, which obliterates guest
performance once the max number of shadow MMU pages is reached.

Fixes: 6b82ef2c9cf1 ("KVM: x86/mmu: Batch zap MMU pages when recycling oldest pages")
Reported-by: Zdenek Kaspar <zkaspar82@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210113205030.3481307-1-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/x86/kvm/mmu/mmu.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -2409,7 +2409,7 @@ static unsigned long kvm_mmu_zap_oldest_
 		return 0;
 
 restart:
-	list_for_each_entry_safe(sp, tmp, &kvm->arch.active_mmu_pages, link) {
+	list_for_each_entry_safe_reverse(sp, tmp, &kvm->arch.active_mmu_pages, link) {
 		/*
 		 * Don't zap active root pages, the page itself can't be freed
 		 * and zapping it will just force vCPUs to realloc and reload.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 13/23] mm: unexport follow_pte_pmd
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (11 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 12/23] KVM: x86: Zap the oldest MMU pages, not the newest Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 14/23] mm: simplify follow_pte{,pmd} Greg Kroah-Hartman
                   ` (16 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christoph Hellwig,
	Matthew Wilcox (Oracle),
	Dan Williams, Daniel Vetter, Andrew Morton, Linus Torvalds

From: Christoph Hellwig <hch@lst.de>

commit 7336375734d65ecc82956b59a79cf5deccce880c upstream.

Patch series "simplify follow_pte a bit".

This small series drops the not needed follow_pte_pmd exports, and
simplifies the follow_pte family of functions a bit.

This patch (of 2):

follow_pte_pmd() is only used by the DAX code, which can't be modular.

Link: https://lkml.kernel.org/r/20201029101432.47011-2-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 mm/memory.c |    1 -
 1 file changed, 1 deletion(-)

--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4798,7 +4798,6 @@ int follow_pte_pmd(struct mm_struct *mm,
 						    ptepp, pmdpp, ptlp)));
 	return res;
 }
-EXPORT_SYMBOL(follow_pte_pmd);
 
 /**
  * follow_pfn - look up PFN at a user virtual address



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 14/23] mm: simplify follow_pte{,pmd}
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (12 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 13/23] mm: unexport follow_pte_pmd Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 15/23] KVM: do not assume PTE is writable after follow_pfn Greg Kroah-Hartman
                   ` (15 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christoph Hellwig,
	Matthew Wilcox (Oracle),
	Daniel Vetter, Dan Williams, Nick Desaulniers, Andrew Morton,
	Linus Torvalds

From: Christoph Hellwig <hch@lst.de>

commit ff5c19ed4b087073cea38ff0edc80c23d7256943 upstream.

Merge __follow_pte_pmd, follow_pte_pmd and follow_pte into a single
follow_pte function and just pass two additional NULL arguments for the
two previous follow_pte callers.

[sfr@canb.auug.org.au: merge fix for "s390/pci: remove races against pte updates"]
  Link: https://lkml.kernel.org/r/20201111221254.7f6a3658@canb.auug.org.au

Link: https://lkml.kernel.org/r/20201029101432.47011-3-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/dax.c           |    9 ++++-----
 include/linux/mm.h |    6 +++---
 mm/memory.c        |   35 +++++------------------------------
 3 files changed, 12 insertions(+), 38 deletions(-)

--- a/fs/dax.c
+++ b/fs/dax.c
@@ -810,12 +810,11 @@ static void dax_entry_mkclean(struct add
 		address = pgoff_address(index, vma);
 
 		/*
-		 * Note because we provide range to follow_pte_pmd it will
-		 * call mmu_notifier_invalidate_range_start() on our behalf
-		 * before taking any lock.
+		 * Note because we provide range to follow_pte it will call
+		 * mmu_notifier_invalidate_range_start() on our behalf before
+		 * taking any lock.
 		 */
-		if (follow_pte_pmd(vma->vm_mm, address, &range,
-				   &ptep, &pmdp, &ptl))
+		if (follow_pte(vma->vm_mm, address, &range, &ptep, &pmdp, &ptl))
 			continue;
 
 		/*
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1655,9 +1655,9 @@ void free_pgd_range(struct mmu_gather *t
 		unsigned long end, unsigned long floor, unsigned long ceiling);
 int
 copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma);
-int follow_pte_pmd(struct mm_struct *mm, unsigned long address,
-		   struct mmu_notifier_range *range,
-		   pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp);
+int follow_pte(struct mm_struct *mm, unsigned long address,
+		struct mmu_notifier_range *range, pte_t **ptepp, pmd_t **pmdpp,
+		spinlock_t **ptlp);
 int follow_pfn(struct vm_area_struct *vma, unsigned long address,
 	unsigned long *pfn);
 int follow_phys(struct vm_area_struct *vma, unsigned long address,
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4707,9 +4707,9 @@ int __pmd_alloc(struct mm_struct *mm, pu
 }
 #endif /* __PAGETABLE_PMD_FOLDED */
 
-static int __follow_pte_pmd(struct mm_struct *mm, unsigned long address,
-			    struct mmu_notifier_range *range,
-			    pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp)
+int follow_pte(struct mm_struct *mm, unsigned long address,
+	       struct mmu_notifier_range *range, pte_t **ptepp, pmd_t **pmdpp,
+	       spinlock_t **ptlp)
 {
 	pgd_t *pgd;
 	p4d_t *p4d;
@@ -4774,31 +4774,6 @@ out:
 	return -EINVAL;
 }
 
-static inline int follow_pte(struct mm_struct *mm, unsigned long address,
-			     pte_t **ptepp, spinlock_t **ptlp)
-{
-	int res;
-
-	/* (void) is needed to make gcc happy */
-	(void) __cond_lock(*ptlp,
-			   !(res = __follow_pte_pmd(mm, address, NULL,
-						    ptepp, NULL, ptlp)));
-	return res;
-}
-
-int follow_pte_pmd(struct mm_struct *mm, unsigned long address,
-		   struct mmu_notifier_range *range,
-		   pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp)
-{
-	int res;
-
-	/* (void) is needed to make gcc happy */
-	(void) __cond_lock(*ptlp,
-			   !(res = __follow_pte_pmd(mm, address, range,
-						    ptepp, pmdpp, ptlp)));
-	return res;
-}
-
 /**
  * follow_pfn - look up PFN at a user virtual address
  * @vma: memory mapping
@@ -4819,7 +4794,7 @@ int follow_pfn(struct vm_area_struct *vm
 	if (!(vma->vm_flags & (VM_IO | VM_PFNMAP)))
 		return ret;
 
-	ret = follow_pte(vma->vm_mm, address, &ptep, &ptl);
+	ret = follow_pte(vma->vm_mm, address, NULL, &ptep, NULL, &ptl);
 	if (ret)
 		return ret;
 	*pfn = pte_pfn(*ptep);
@@ -4840,7 +4815,7 @@ int follow_phys(struct vm_area_struct *v
 	if (!(vma->vm_flags & (VM_IO | VM_PFNMAP)))
 		goto out;
 
-	if (follow_pte(vma->vm_mm, address, &ptep, &ptl))
+	if (follow_pte(vma->vm_mm, address, NULL, &ptep, NULL, &ptl))
 		goto out;
 	pte = *ptep;
 



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 15/23] KVM: do not assume PTE is writable after follow_pfn
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (13 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 14/23] mm: simplify follow_pte{,pmd} Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 16/23] mm: provide a saner PTE walking API for modules Greg Kroah-Hartman
                   ` (14 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, David Stevens, 3pvd, Jann Horn,
	Jason Gunthorpe, Paolo Bonzini

From: Paolo Bonzini <pbonzini@redhat.com>

commit bd2fae8da794b55bf2ac02632da3a151b10e664c upstream.

In order to convert an HVA to a PFN, KVM usually tries to use
the get_user_pages family of functinso.  This however is not
possible for VM_IO vmas; in that case, KVM instead uses follow_pfn.

In doing this however KVM loses the information on whether the
PFN is writable.  That is usually not a problem because the main
use of VM_IO vmas with KVM is for BARs in PCI device assignment,
however it is a bug.  To fix it, use follow_pte and check pte_write
while under the protection of the PTE lock.  The information can
be used to fail hva_to_pfn_remapped or passed back to the
caller via *writable.

Usage of follow_pfn was introduced in commit add6a0cd1c5b ("KVM: MMU: try to fix
up page faults before giving up", 2016-07-05); however, even older version
have the same issue, all the way back to commit 2e2e3738af33 ("KVM:
Handle vma regions with no backing page", 2008-07-20), as they also did
not check whether the PFN was writable.

Fixes: 2e2e3738af33 ("KVM: Handle vma regions with no backing page")
Reported-by: David Stevens <stevensd@google.com>
Cc: 3pvd@google.com
Cc: Jann Horn <jannh@google.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 virt/kvm/kvm_main.c |   15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1889,9 +1889,11 @@ static int hva_to_pfn_remapped(struct vm
 			       kvm_pfn_t *p_pfn)
 {
 	unsigned long pfn;
+	pte_t *ptep;
+	spinlock_t *ptl;
 	int r;
 
-	r = follow_pfn(vma, addr, &pfn);
+	r = follow_pte(vma->vm_mm, addr, NULL, &ptep, NULL, &ptl);
 	if (r) {
 		/*
 		 * get_user_pages fails for VM_IO and VM_PFNMAP vmas and does
@@ -1906,14 +1908,19 @@ static int hva_to_pfn_remapped(struct vm
 		if (r)
 			return r;
 
-		r = follow_pfn(vma, addr, &pfn);
+		r = follow_pte(vma->vm_mm, addr, NULL, &ptep, NULL, &ptl);
 		if (r)
 			return r;
+	}
 
+	if (write_fault && !pte_write(*ptep)) {
+		pfn = KVM_PFN_ERR_RO_FAULT;
+		goto out;
 	}
 
 	if (writable)
-		*writable = true;
+		*writable = pte_write(*ptep);
+	pfn = pte_pfn(*ptep);
 
 	/*
 	 * Get a reference here because callers of *hva_to_pfn* and
@@ -1928,6 +1935,8 @@ static int hva_to_pfn_remapped(struct vm
 	 */ 
 	kvm_get_pfn(pfn);
 
+out:
+	pte_unmap_unlock(ptep, ptl);
 	*p_pfn = pfn;
 	return 0;
 }



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 16/23] mm: provide a saner PTE walking API for modules
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (14 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 15/23] KVM: do not assume PTE is writable after follow_pfn Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 17/23] KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() Greg Kroah-Hartman
                   ` (13 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Jason Gunthorpe, Paolo Bonzini

From: Paolo Bonzini <pbonzini@redhat.com>

commit 9fd6dad1261a541b3f5fa7dc5b152222306e6702 upstream.

Currently, the follow_pfn function is exported for modules but
follow_pte is not.  However, follow_pfn is very easy to misuse,
because it does not provide protections (so most of its callers
assume the page is writable!) and because it returns after having
already unlocked the page table lock.

Provide instead a simplified version of follow_pte that does
not have the pmdpp and range arguments.  The older version
survives as follow_invalidate_pte() for use by fs/dax.c.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/dax.c            |    5 +++--
 include/linux/mm.h  |    6 ++++--
 mm/memory.c         |   41 ++++++++++++++++++++++++++++++++++++-----
 virt/kvm/kvm_main.c |    4 ++--
 4 files changed, 45 insertions(+), 11 deletions(-)

--- a/fs/dax.c
+++ b/fs/dax.c
@@ -810,11 +810,12 @@ static void dax_entry_mkclean(struct add
 		address = pgoff_address(index, vma);
 
 		/*
-		 * Note because we provide range to follow_pte it will call
+		 * follow_invalidate_pte() will use the range to call
 		 * mmu_notifier_invalidate_range_start() on our behalf before
 		 * taking any lock.
 		 */
-		if (follow_pte(vma->vm_mm, address, &range, &ptep, &pmdp, &ptl))
+		if (follow_invalidate_pte(vma->vm_mm, address, &range, &ptep,
+					  &pmdp, &ptl))
 			continue;
 
 		/*
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1655,9 +1655,11 @@ void free_pgd_range(struct mmu_gather *t
 		unsigned long end, unsigned long floor, unsigned long ceiling);
 int
 copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma);
+int follow_invalidate_pte(struct mm_struct *mm, unsigned long address,
+			  struct mmu_notifier_range *range, pte_t **ptepp,
+			  pmd_t **pmdpp, spinlock_t **ptlp);
 int follow_pte(struct mm_struct *mm, unsigned long address,
-		struct mmu_notifier_range *range, pte_t **ptepp, pmd_t **pmdpp,
-		spinlock_t **ptlp);
+	       pte_t **ptepp, spinlock_t **ptlp);
 int follow_pfn(struct vm_area_struct *vma, unsigned long address,
 	unsigned long *pfn);
 int follow_phys(struct vm_area_struct *vma, unsigned long address,
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4707,9 +4707,9 @@ int __pmd_alloc(struct mm_struct *mm, pu
 }
 #endif /* __PAGETABLE_PMD_FOLDED */
 
-int follow_pte(struct mm_struct *mm, unsigned long address,
-	       struct mmu_notifier_range *range, pte_t **ptepp, pmd_t **pmdpp,
-	       spinlock_t **ptlp)
+int follow_invalidate_pte(struct mm_struct *mm, unsigned long address,
+			  struct mmu_notifier_range *range, pte_t **ptepp,
+			  pmd_t **pmdpp, spinlock_t **ptlp)
 {
 	pgd_t *pgd;
 	p4d_t *p4d;
@@ -4775,6 +4775,34 @@ out:
 }
 
 /**
+ * follow_pte - look up PTE at a user virtual address
+ * @mm: the mm_struct of the target address space
+ * @address: user virtual address
+ * @ptepp: location to store found PTE
+ * @ptlp: location to store the lock for the PTE
+ *
+ * On a successful return, the pointer to the PTE is stored in @ptepp;
+ * the corresponding lock is taken and its location is stored in @ptlp.
+ * The contents of the PTE are only stable until @ptlp is released;
+ * any further use, if any, must be protected against invalidation
+ * with MMU notifiers.
+ *
+ * Only IO mappings and raw PFN mappings are allowed.  The mmap semaphore
+ * should be taken for read.
+ *
+ * KVM uses this function.  While it is arguably less bad than ``follow_pfn``,
+ * it is not a good general-purpose API.
+ *
+ * Return: zero on success, -ve otherwise.
+ */
+int follow_pte(struct mm_struct *mm, unsigned long address,
+	       pte_t **ptepp, spinlock_t **ptlp)
+{
+	return follow_invalidate_pte(mm, address, NULL, ptepp, NULL, ptlp);
+}
+EXPORT_SYMBOL_GPL(follow_pte);
+
+/**
  * follow_pfn - look up PFN at a user virtual address
  * @vma: memory mapping
  * @address: user virtual address
@@ -4782,6 +4810,9 @@ out:
  *
  * Only IO mappings and raw PFN mappings are allowed.
  *
+ * This function does not allow the caller to read the permissions
+ * of the PTE.  Do not use it.
+ *
  * Return: zero and the pfn at @pfn on success, -ve otherwise.
  */
 int follow_pfn(struct vm_area_struct *vma, unsigned long address,
@@ -4794,7 +4825,7 @@ int follow_pfn(struct vm_area_struct *vm
 	if (!(vma->vm_flags & (VM_IO | VM_PFNMAP)))
 		return ret;
 
-	ret = follow_pte(vma->vm_mm, address, NULL, &ptep, NULL, &ptl);
+	ret = follow_pte(vma->vm_mm, address, &ptep, &ptl);
 	if (ret)
 		return ret;
 	*pfn = pte_pfn(*ptep);
@@ -4815,7 +4846,7 @@ int follow_phys(struct vm_area_struct *v
 	if (!(vma->vm_flags & (VM_IO | VM_PFNMAP)))
 		goto out;
 
-	if (follow_pte(vma->vm_mm, address, NULL, &ptep, NULL, &ptl))
+	if (follow_pte(vma->vm_mm, address, &ptep, &ptl))
 		goto out;
 	pte = *ptep;
 
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1893,7 +1893,7 @@ static int hva_to_pfn_remapped(struct vm
 	spinlock_t *ptl;
 	int r;
 
-	r = follow_pte(vma->vm_mm, addr, NULL, &ptep, NULL, &ptl);
+	r = follow_pte(vma->vm_mm, addr, &ptep, &ptl);
 	if (r) {
 		/*
 		 * get_user_pages fails for VM_IO and VM_PFNMAP vmas and does
@@ -1908,7 +1908,7 @@ static int hva_to_pfn_remapped(struct vm
 		if (r)
 			return r;
 
-		r = follow_pte(vma->vm_mm, addr, NULL, &ptep, NULL, &ptl);
+		r = follow_pte(vma->vm_mm, addr, &ptep, &ptl);
 		if (r)
 			return r;
 	}



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 17/23] KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped()
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (15 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 16/23] mm: provide a saner PTE walking API for modules Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 18/23] drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable Greg Kroah-Hartman
                   ` (12 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Sean Christopherson, Paolo Bonzini

From: Sean Christopherson <seanjc@google.com>

commit a9545779ee9e9e103648f6f2552e73cfe808d0f4 upstream.

Use kvm_pfn_t, a.k.a. u64, for the local 'pfn' variable when retrieving
a so called "remapped" hva/pfn pair.  In theory, the hva could resolve to
a pfn in high memory on a 32-bit kernel.

This bug was inadvertantly exposed by commit bd2fae8da794 ("KVM: do not
assume PTE is writable after follow_pfn"), which added an error PFN value
to the mix, causing gcc to comlain about overflowing the unsigned long.

  arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function ‘hva_to_pfn_remapped’:
  include/linux/kvm_host.h:89:30: error: conversion from ‘long long unsigned int’
                                  to ‘long unsigned int’ changes value from
                                  ‘9218868437227405314’ to ‘2’ [-Werror=overflow]
   89 | #define KVM_PFN_ERR_RO_FAULT (KVM_PFN_ERR_MASK + 2)
      |                              ^
virt/kvm/kvm_main.c:1935:9: note: in expansion of macro ‘KVM_PFN_ERR_RO_FAULT’

Cc: stable@vger.kernel.org
Fixes: add6a0cd1c5b ("KVM: MMU: try to fix up page faults before giving up")
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210208201940.1258328-1-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 virt/kvm/kvm_main.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1888,7 +1888,7 @@ static int hva_to_pfn_remapped(struct vm
 			       bool write_fault, bool *writable,
 			       kvm_pfn_t *p_pfn)
 {
-	unsigned long pfn;
+	kvm_pfn_t pfn;
 	pte_t *ptep;
 	spinlock_t *ptl;
 	int r;



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 5.10 18/23] drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (16 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 17/23] KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 19/23] NET: usb: qmi_wwan: Adding support for Cinterion MV31 Greg Kroah-Hartman
                   ` (11 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Quanyang Wang, Daniel Vetter, Sasha Levin

From: Quanyang Wang <quanyang.wang@windriver.com>

[ Upstream commit a7e02f7796c163ac8297b30223bf24bade9f8a50 ]

When running xrandr to change resolution of DP, the kmemleak as below
can be observed:

unreferenced object 0xffff00080a351000 (size 256):
  comm "Xorg", pid 248, jiffies 4294899614 (age 19.960s)
  hex dump (first 32 bytes):
    98 a0 bc 01 08 00 ff ff 01 00 00 00 00 00 00 00  ................
    ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<00000000e0bd0f69>] kmemleak_alloc+0x30/0x40
    [<00000000cde2f318>] kmem_cache_alloc+0x3d4/0x588
    [<0000000088ea9bd7>] drm_atomic_helper_setup_commit+0x84/0x5f8
    [<000000002290a264>] drm_atomic_helper_commit+0x58/0x388
    [<00000000f6ea78c3>] drm_atomic_commit+0x4c/0x60
    [<00000000c8e0725e>] drm_atomic_connector_commit_dpms+0xe8/0x110
    [<0000000020ade187>] drm_mode_obj_set_property_ioctl+0x1b0/0x450
    [<00000000918206d6>] drm_connector_property_set_ioctl+0x3c/0x68
    [<000000008d51e7a5>] drm_ioctl_kernel+0xc4/0x118
    [<000000002a819b75>] drm_ioctl+0x214/0x448
    [<000000008ca4e588>] __arm64_sys_ioctl+0xa8/0xf0
    [<0000000034e15a35>] el0_svc_common.constprop.0+0x74/0x190
    [<000000001b93d916>] do_el0_svc+0x24/0x90
    [<00000000ce9230e0>] el0_svc+0x14/0x20
    [<00000000e3607d82>] el0_sync_handler+0xb0/0xb8
    [<000000003e79c15f>] el0_sync+0x174/0x180

This is because there is a scenario that a drm_crtc_commit commit is
allocated but not freed. The drm subsystem require/release references
to a CRTC commit by calling drm_crtc_commit_get/put, and when
drm_crtc_commit_put find that commit.ref.refcount is zero, it will
call __drm_crtc_commit_free to free this CRTC commit. Among these
drm_crtc_commit_get/put pairs, there is a drm_crtc_commit_get in
drm_atomic_helper_setup_commit as below:

...
new_crtc_state->event->base.completion = &commit->flip_done;
new_crtc_state->event->base.completion_release = release_crtc_commit;
drm_crtc_commit_get(commit);
...

This reference to the CRTC commit should be released at the function
release_crtc_commit by calling e->completion_release(e->completion) in
drm_send_event_locked. So we need to call drm_send_event_locked at
two places: handling vblank event in the irq handler and the crtc disable
helper. But in zynqmp_disp_crtc_atomic_disable, it only marks the flip
is done and not call drm_crtc_commit_put. This result that the refcount
of this commit is always non-zero and this commit will never be freed.

Since the function drm_crtc_send_vblank_event has operations both sending
a flip_done signal and releasing reference to the CRTC commit, let's use
it instead.

Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210202064121.173362-1-quanyang.wang@windriver.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/xlnx/zynqmp_disp.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c
index 98bd48f13fd11..8cd8af35cfaac 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
@@ -1398,19 +1398,11 @@ static void zynqmp_disp_enable(struct zynqmp_disp *disp)
  */
 static void zynqmp_disp_disable(struct zynqmp_disp *disp)
 {
-	struct drm_crtc *crtc = &disp->crtc;
-
 	zynqmp_disp_audio_disable(&disp->audio);
 
 	zynqmp_disp_avbuf_disable_audio(&disp->avbuf);
 	zynqmp_disp_avbuf_disable_channels(&disp->avbuf);
 	zynqmp_disp_avbuf_disable(&disp->avbuf);
-
-	/* Mark the flip is done as crtc is disabled anyway */
-	if (crtc->state->event) {
-		complete_all(crtc->state->event->base.completion);
-		crtc->state->event = NULL;
-	}
 }
 
 static inline struct zynqmp_disp *crtc_to_disp(struct drm_crtc *crtc)
@@ -1499,6 +1491,13 @@ zynqmp_disp_crtc_atomic_disable(struct drm_crtc *crtc,
 
 	drm_crtc_vblank_off(&disp->crtc);
 
+	spin_lock_irq(&crtc->dev->event_lock);
+	if (crtc->state->event) {
+		drm_crtc_send_vblank_event(crtc, crtc->state->event);
+		crtc->state->event = NULL;
+	}
+	spin_unlock_irq(&crtc->dev->event_lock);
+
 	clk_disable_unprepare(disp->pclk);
 	pm_runtime_put_sync(disp->dev);
 }
-- 
2.27.0




^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 5.10 19/23] NET: usb: qmi_wwan: Adding support for Cinterion MV31
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (17 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 18/23] drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 20/23] cxgb4: Add new T6 PCI device id 0x6092 Greg Kroah-Hartman
                   ` (10 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christoph Schemmel, Jakub Kicinski,
	Sasha Levin

From: Christoph Schemmel <christoph.schemmel@gmail.com>

[ Upstream commit a4dc7eee9106a9d2a6e08b442db19677aa9699c7 ]

Adding support for Cinterion MV31 with PID 0x00B7.

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 11 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs=  1
P:  Vendor=1e2d ProdID=00b7 Rev=04.14
S:  Manufacturer=Cinterion
S:  Product=Cinterion USB Mobile Broadband
S:  SerialNumber=b3246eed
C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=896mA
I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option

Signed-off-by: Christoph Schemmel <christoph.schemmel@gmail.com>
Link: https://lore.kernel.org/r/20210202084523.4371-1-christoph.schemmel@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index ce73df4c137ea..b223536e07bed 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -1332,6 +1332,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1e2d, 0x0082, 5)},	/* Cinterion PHxx,PXxx (2 RmNet) */
 	{QMI_FIXED_INTF(0x1e2d, 0x0083, 4)},	/* Cinterion PHxx,PXxx (1 RmNet + USB Audio)*/
 	{QMI_QUIRK_SET_DTR(0x1e2d, 0x00b0, 4)},	/* Cinterion CLS8 */
+	{QMI_FIXED_INTF(0x1e2d, 0x00b7, 0)},	/* Cinterion MV31 RmNet */
 	{QMI_FIXED_INTF(0x413c, 0x81a2, 8)},	/* Dell Wireless 5806 Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a3, 8)},	/* Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a4, 8)},	/* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */
-- 
2.27.0




^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 5.10 20/23] cxgb4: Add new T6 PCI device id 0x6092
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (18 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 19/23] NET: usb: qmi_wwan: Adding support for Cinterion MV31 Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 21/23] cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath Greg Kroah-Hartman
                   ` (9 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Raju Rangoju, Jakub Kicinski, Sasha Levin

From: Raju Rangoju <rajur@chelsio.com>

[ Upstream commit 3401e4aa43a540881cc97190afead650e709c418 ]

Signed-off-by: Raju Rangoju <rajur@chelsio.com>
Link: https://lore.kernel.org/r/20210202182511.8109-1-rajur@chelsio.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h b/drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h
index 0c5373462cedb..0b1b5f9c67d47 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/t4_pci_id_tbl.h
@@ -219,6 +219,7 @@ CH_PCI_DEVICE_ID_TABLE_DEFINE_BEGIN
 	CH_PCI_ID_TABLE_FENTRY(0x6089), /* Custom T62100-KR */
 	CH_PCI_ID_TABLE_FENTRY(0x608a), /* Custom T62100-CR */
 	CH_PCI_ID_TABLE_FENTRY(0x608b), /* Custom T6225-CR */
+	CH_PCI_ID_TABLE_FENTRY(0x6092), /* Custom T62100-CR-LOM */
 CH_PCI_DEVICE_ID_TABLE_DEFINE_END;
 
 #endif /* __T4_PCI_ID_TBL_H__ */
-- 
2.27.0




^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 5.10 21/23] cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath.
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (19 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 20/23] cxgb4: Add new T6 PCI device id 0x6092 Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 22/23] kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 Greg Kroah-Hartman
                   ` (8 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Shyam Prasad N, Aurelien Aptel,
	Steve French, Sasha Levin

From: Shyam Prasad N <sprasad@microsoft.com>

[ Upstream commit a738c93fb1c17e386a09304b517b1c6b2a6a5a8b ]

While debugging another issue today, Steve and I noticed that if a
subdir for a file share is already mounted on the client, any new
mount of any other subdir (or the file share root) of the same share
results in sharing the cifs superblock, which e.g. can result in
incorrect device name.

While setting prefix path for the root of a cifs_sb,
CIFS_MOUNT_USE_PREFIX_PATH flag should also be set.
Without it, prepath is not even considered in some places,
and output of "mount" and various /proc/<>/*mount* related
options can be missing part of the device name.

Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/cifs/connect.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 44f9cce570995..ad3ecda1314d9 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -4007,6 +4007,7 @@ int cifs_setup_cifs_sb(struct smb_vol *pvolume_info,
 		cifs_sb->prepath = kstrdup(pvolume_info->prepath, GFP_KERNEL);
 		if (cifs_sb->prepath == NULL)
 			return -ENOMEM;
+		cifs_sb->mnt_cifs_flags |= CIFS_MOUNT_USE_PREFIX_PATH;
 	}
 
 	return 0;
-- 
2.27.0




^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 5.10 22/23] kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (20 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 21/23] cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25  9:53 ` [PATCH 5.10 23/23] scripts/recordmcount.pl: support big endian for ARCH sh Greg Kroah-Hartman
                   ` (7 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Stephen Rothwell, Masahiro Yamada,
	Jessica Yu, Sasha Levin

From: Masahiro Yamada <masahiroy@kernel.org>

[ Upstream commit 29500f15b54b63ad0ea60b58e85144262bd24df2 ]

Stephen Rothwell reported a build error on ppc64 when
CONFIG_TRIM_UNUSED_KSYMS is enabled.

Jessica Yu pointed out the cause of the error with the reference to the
ppc64 ELF ABI:
  "Symbol names with a dot (.) prefix are reserved for holding entry
   point addresses. The value of a symbol named ".FN", if it exists,
   is the entry point of the function "FN".

As it turned out, CONFIG_TRIM_UNUSED_KSYMS has never worked for ppc64,
but this issue has been unnoticed until recently because this option
depends on !UNUSED_SYMBOLS hence is disabled by all{mod,yes}config.
(Then, it was uncovered by another patch removing UNUSED_SYMBOLS.)

Removing the dot prefix in scripts/gen_autoksyms.sh fixes the issue.
Please note it must be done before 'sort -u' because modules have
both ._mcount and _mcount undefined when CONFIG_FUNCTION_TRACER=y.

Link: https://lore.kernel.org/lkml/20210209210843.3af66662@canb.auug.org.au/
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Tested-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 scripts/gen_autoksyms.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/scripts/gen_autoksyms.sh b/scripts/gen_autoksyms.sh
index 16c0b2ddaa4c9..d54dfba15bf25 100755
--- a/scripts/gen_autoksyms.sh
+++ b/scripts/gen_autoksyms.sh
@@ -43,6 +43,9 @@ EOT
 sed 's/ko$/mod/' $modlist |
 xargs -n1 sed -n -e '2{s/ /\n/g;/^$/!p;}' -- |
 cat - "$ksym_wl" |
+# Remove the dot prefix for ppc64; symbol names with a dot (.) hold entry
+# point addresses.
+sed -e 's/^\.//' |
 sort -u |
 sed -e 's/\(.*\)/#define __KSYM_\1 1/' >> "$output_file"
 
-- 
2.27.0




^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 5.10 23/23] scripts/recordmcount.pl: support big endian for ARCH sh
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (21 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 22/23] kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 Greg Kroah-Hartman
@ 2021-02-25  9:53 ` Greg Kroah-Hartman
  2021-02-25 19:52 ` [PATCH 5.10 00/23] 5.10.19-rc1 review Guenter Roeck
                   ` (6 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Greg Kroah-Hartman @ 2021-02-25  9:53 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Rong Chen, kernel test robot,
	Yoshinori Sato, Rich Felker, Andrew Morton, Linus Torvalds,
	Sasha Levin

From: Rong Chen <rong.a.chen@intel.com>

[ Upstream commit 93ca696376dd3d44b9e5eae835ffbc84772023ec ]

The kernel test robot reported the following issue:

    CC [M]  drivers/soc/litex/litex_soc_ctrl.o
  sh4-linux-objcopy: Unable to change endianness of input file(s)
  sh4-linux-ld: cannot find drivers/soc/litex/.tmp_gl_litex_soc_ctrl.o: No such file or directory
  sh4-linux-objcopy: 'drivers/soc/litex/.tmp_mx_litex_soc_ctrl.o': No such file

The problem is that the format of input file is elf32-shbig-linux, but
sh4-linux-objcopy wants to output a file which format is elf32-sh-linux:

  $ sh4-linux-objdump -d drivers/soc/litex/litex_soc_ctrl.o | grep format
  drivers/soc/litex/litex_soc_ctrl.o:     file format elf32-shbig-linux

Link: https://lkml.kernel.org/r/20210210150435.2171567-1-rong.a.chen@intel.com
Link: https://lore.kernel.org/linux-mm/202101261118.GbbYSlHu-lkp@intel.com
Signed-off-by: Rong Chen <rong.a.chen@intel.com>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Yoshinori Sato <ysato@users.osdn.me>
Cc: Rich Felker <dalias@libc.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 scripts/recordmcount.pl | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index 3f77a5d695c13..0bafed857e171 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -268,7 +268,11 @@ if ($arch eq "x86_64") {
 
     # force flags for this arch
     $ld .= " -m shlelf_linux";
-    $objcopy .= " -O elf32-sh-linux";
+    if ($endian eq "big") {
+        $objcopy .= " -O elf32-shbig-linux";
+    } else {
+        $objcopy .= " -O elf32-sh-linux";
+    }
 
 } elsif ($arch eq "powerpc") {
     my $ldemulation;
-- 
2.27.0




^ permalink raw reply related	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (22 preceding siblings ...)
  2021-02-25  9:53 ` [PATCH 5.10 23/23] scripts/recordmcount.pl: support big endian for ARCH sh Greg Kroah-Hartman
@ 2021-02-25 19:52 ` Guenter Roeck
  2021-02-25 19:54 ` Pavel Machek
                   ` (5 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Guenter Roeck @ 2021-02-25 19:52 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, shuah, patches, lkft-triage, pavel,
	jonathanh, f.fainelli, stable

On Thu, Feb 25, 2021 at 10:53:31AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.19 release.
> There are 23 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Sat, 27 Feb 2021 09:25:06 +0000.
> Anything received after that time might be too late.
> 

Build results:
	total: 156 pass: 156 fail: 0
Qemu test results:
	total: 430 pass: 430 fail: 0

Tested-by: Guenter Roeck <linux@roeck-us.net>

Guenter

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (23 preceding siblings ...)
  2021-02-25 19:52 ` [PATCH 5.10 00/23] 5.10.19-rc1 review Guenter Roeck
@ 2021-02-25 19:54 ` Pavel Machek
  2021-02-25 21:35 ` Florian Fainelli
                   ` (4 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Pavel Machek @ 2021-02-25 19:54 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches, lkft-triage,
	pavel, jonathanh, f.fainelli, stable

[-- Attachment #1: Type: text/plain, Size: 729 bytes --]

Hi!

> This is the start of the stable review cycle for the 5.10.19 release.
> There are 23 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.

CIP testing did not find any problems here: (2 failures are due to
targets not available; not a kernel problem)

https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-4.19.y

Tested-by: Pavel Machek (CIP) <pavel@denx.de>

Best regards,
                                                                Pavel
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (24 preceding siblings ...)
  2021-02-25 19:54 ` Pavel Machek
@ 2021-02-25 21:35 ` Florian Fainelli
  2021-02-26  2:24 ` Shuah Khan
                   ` (3 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Florian Fainelli @ 2021-02-25 21:35 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, lkft-triage, pavel,
	jonathanh, stable



On 2/25/2021 1:53 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.19 release.
> There are 23 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Sat, 27 Feb 2021 09:25:06 +0000.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.19-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h

On ARCH_BRCMSTB, using 32-bit and 64-bit ARM:

Tested-by: Florian Fainelli <f.fainelli@gmail.com>
-- 
Florian

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (25 preceding siblings ...)
  2021-02-25 21:35 ` Florian Fainelli
@ 2021-02-26  2:24 ` Shuah Khan
  2021-02-26  3:41 ` Ross Schmidt
                   ` (2 subsequent siblings)
  29 siblings, 0 replies; 32+ messages in thread
From: Shuah Khan @ 2021-02-26  2:24 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, lkft-triage, pavel,
	jonathanh, f.fainelli, stable, Shuah Khan

On 2/25/21 2:53 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.19 release.
> There are 23 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Sat, 27 Feb 2021 09:25:06 +0000.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.19-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 


Compiled and booted on my test system. No dmesg regressions.

Tested-by: Shuah Khan <skhan@linuxfoundation.org>

thanks,
-- Shuah

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (26 preceding siblings ...)
  2021-02-26  2:24 ` Shuah Khan
@ 2021-02-26  3:41 ` Ross Schmidt
  2021-02-26  6:44 ` Hanjun Guo
  2021-02-26  6:57 ` Naresh Kamboju
  29 siblings, 0 replies; 32+ messages in thread
From: Ross Schmidt @ 2021-02-26  3:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches, lkft-triage,
	pavel, jonathanh, f.fainelli, stable

On Thu, Feb 25, 2021 at 10:53:31AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.19 release.
> There are 23 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
>

Compiled and booted with no regressions on x86_64.

Tested-by: Ross Schmidt <ross.schm.dev@gmail.com>


thanks,

Ross

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (27 preceding siblings ...)
  2021-02-26  3:41 ` Ross Schmidt
@ 2021-02-26  6:44 ` Hanjun Guo
  2021-02-27  1:47   ` Hanjun Guo
  2021-02-26  6:57 ` Naresh Kamboju
  29 siblings, 1 reply; 32+ messages in thread
From: Hanjun Guo @ 2021-02-26  6:44 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, lkft-triage, pavel,
	jonathanh, f.fainelli, stable

Hi Greg,

On 2021/2/25 17:53, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.19 release.
> There are 23 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Sat, 27 Feb 2021 09:25:06 +0000.
> Anything received after that time might be too late.

It takes longer time to set up our test farm than I expected,
for now we can run test on x86 for stable 5.10, test for
ARM64 server and other stable kernels (4.19 and 5.4) is
in progress (needs more machines and a rack in the data
center), please give us a bit more time to get things ready.

Here is the test results for x86, compiled and booted OK,
also no regressions for the functional test [1] (the failed
ones are the mismatch of the testcase and the test environment,
not the kernel failures),

Tested-by: Hulk Robot <hulkci@huawei.com>

Thanks
Hanjun

[1]:
Kernel repo: 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git

Branch: linux-5.10.y

Arch: x86

Version: 5.10.19-rc1+

Commit: 6ffb943c0e01d843a06842f9a7bcfc008e10a6d2

Compiler: gcc version 8.3.1 (GCC)

--------------------------------------------------------------------

Testcase Result Summary:

total_num: 4739

succeed_num: 4732

failed_num: 7

timeout_num: 0

--------------------------------------------------------------------

Testsuites List:

autotest

crackerjack

kernel_selftests

ltp-aiodio

ltp-aio-stress

ltp-controllers

ltp-openposix

ltp-can

ltp-cap_bounds

ltp-commands

ltp-connectors

ltp-containers

ltp-cpuhotplug

ltp-crashme

ltp-crypto

ltp-cve

ltp-dio

ltp-dma_thread_diotest

ltp-fcntl-locktests

ltp-filecaps

ltp-fs

ltp-fs_bind

ltp-fs_perms_simple

ltp-fs_readonly

ltp-fsx

ltp-hugetlb

ltp-hyperthreading

ltp-ima

ltp-input

ltp-io

ltp-io_cd

ltp-io_floppy

ltp-ipc

ltp-kernel_misc

ltp-fsstress

ltp-fsx-linux

ltp-math

ltp-mm

ltp-nptl

ltp-numa

ltp-power_management_tests

ltp-power_management_tests_exclusive

ltp-pty

ltp-sched

ltp-scsi_debug

ltp-securebits

ltp-smack

ltp-smoketest

ltp-syscalls

ltp-tracing

ltp-uevent

ltp-realtime

memory_ksm

security_audit

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
                   ` (28 preceding siblings ...)
  2021-02-26  6:44 ` Hanjun Guo
@ 2021-02-26  6:57 ` Naresh Kamboju
  29 siblings, 0 replies; 32+ messages in thread
From: Naresh Kamboju @ 2021-02-26  6:57 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: open list, Shuah Khan, Florian Fainelli, patches, lkft-triage,
	Jon Hunter, linux-stable, pavel, Andrew Morton, Linus Torvalds,
	Guenter Roeck

On Thu, 25 Feb 2021 at 15:24, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> This is the start of the stable review cycle for the 5.10.19 release.
> There are 23 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Sat, 27 Feb 2021 09:25:06 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
>         https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.19-rc1.gz
> or in the git tree and branch at:
>         git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h


Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>

Summary
------------------------------------------------------------------------

kernel: 5.10.19-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-5.10.y
git commit: 6ffb943c0e01d843a06842f9a7bcfc008e10a6d2
git describe: v5.10.18-24-g6ffb943c0e01
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.10.y/build/v5.10.18-24-g6ffb943c0e01

No regressions (compared to build v5.10.18)

No fixes (compared to build v5.10.18)

Ran 50352 total tests in the following environments and test suites.

Environments
--------------
- arc
- arm
- arm64
- dragonboard-410c
- hi6220-hikey
- i386
- juno-r2
- juno-r2-compat
- juno-r2-kasan
- mips
- nxp-ls2088
- nxp-ls2088-64k_page_size
- parisc
- powerpc
- qemu-arm-clang
- qemu-arm64-clang
- qemu-arm64-kasan
- qemu-x86_64-clang
- qemu-x86_64-kasan
- qemu-x86_64-kcsan
- qemu_arm
- qemu_arm64
- qemu_arm64-compat
- qemu_i386
- qemu_x86_64
- qemu_x86_64-compat
- riscv
- s390
- sh
- sparc
- x15
- x86
- x86-kasan
- x86_64

Test Suites
-----------
* build
* linux-log-parser
* install-android-platform-tools-r2600
* kselftest-android
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-filesystems
* kselftest-firmware
* kselftest-fpu
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-ir
* kselftest-kcmp
* kselftest-livepatch
* kselftest-ptrace
* libhugetlbfs
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-cve-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-tracing-tests
* fwts
* kselftest-
* kselftest-kvm
* kselftest-lib
* kselftest-membarrier
* kselftest-memfd
* kselftest-memory-hotplug
* kselftest-mincore
* kselftest-mount
* kselftest-mqueue
* kselftest-net
* kselftest-netfilter
* kselftest-nsfs
* kselftest-openat2
* kselftest-pid_namespace
* kselftest-pidfd
* kselftest-proc
* kselftest-pstore
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-splice
* kselftest-static_keys
* kselftest-sync
* kselftest-sysctl
* kselftest-tc-testing
* ltp-dio-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-mm-tests
* network-basic-tests
* perf
* kselftest-bpf
* kselftest-kexec
* kselftest-lkdtm
* kselftest-timens
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user
* kselftest-vm
* kselftest-x86
* kselftest-zram
* ltp-controllers-tests
* ltp-open-posix-tests
* v4l2-compliance
* kvm-unit-tests
* kunit
* rcutorture
* ssuite

-- 
Linaro LKFT
https://lkft.linaro.org

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 5.10 00/23] 5.10.19-rc1 review
  2021-02-26  6:44 ` Hanjun Guo
@ 2021-02-27  1:47   ` Hanjun Guo
  0 siblings, 0 replies; 32+ messages in thread
From: Hanjun Guo @ 2021-02-27  1:47 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, lkft-triage, pavel,
	jonathanh, f.fainelli, stable

On 2021/2/26 14:44, Hanjun Guo wrote:
> Hi Greg,
> 
> On 2021/2/25 17:53, Greg Kroah-Hartman wrote:
>> This is the start of the stable review cycle for the 5.10.19 release.
>> There are 23 patches in this series, all will be posted as a response
>> to this one.  If anyone has any issues with these being applied, please
>> let me know.
>>
>> Responses should be made by Sat, 27 Feb 2021 09:25:06 +0000.
>> Anything received after that time might be too late.
> 
> It takes longer time to set up our test farm than I expected,
> for now we can run test on x86 for stable 5.10, test for
> ARM64 server and other stable kernels (4.19 and 5.4) is
> in progress (needs more machines and a rack in the data
> center), please give us a bit more time to get things ready.
> 
> Here is the test results for x86, compiled and booted OK,
> also no regressions for the functional test [1] (the failed
> ones are the mismatch of the testcase and the test environment,
> not the kernel failures),

Although 5.10.19 is released, it's better to report the ARM64
test results as well:

Testcase Result Summary:

total_num: 4732

succeed_num: 4732

failed_num: 0

timeout_num: 0

Thanks
Hanjun

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2021-02-27  1:48 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-25  9:53 [PATCH 5.10 00/23] 5.10.19-rc1 review Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 01/23] bpf: Fix truncation handling for mod32 dst reg wrt zero Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 02/23] HID: make arrays usage and value to be the same Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 03/23] RDMA: Lift ibdev_to_node from rds to common code Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 04/23] nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 05/23] USB: quirks: sort quirk entries Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 06/23] usb: quirks: add quirk to start video capture on ELMO L-12F document camera reliable Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 07/23] ceph: downgrade warning from mdsmap decode to debug Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 08/23] ntfs: check for valid standard information attribute Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 09/23] Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 10/23] arm64: tegra: Add power-domain for Tegra210 HDA Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 11/23] hwmon: (dell-smm) Add XPS 15 L502X to fan control blacklist Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 12/23] KVM: x86: Zap the oldest MMU pages, not the newest Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 13/23] mm: unexport follow_pte_pmd Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 14/23] mm: simplify follow_pte{,pmd} Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 15/23] KVM: do not assume PTE is writable after follow_pfn Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 16/23] mm: provide a saner PTE walking API for modules Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 17/23] KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 18/23] drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 19/23] NET: usb: qmi_wwan: Adding support for Cinterion MV31 Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 20/23] cxgb4: Add new T6 PCI device id 0x6092 Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 21/23] cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 22/23] kbuild: fix CONFIG_TRIM_UNUSED_KSYMS build for ppc64 Greg Kroah-Hartman
2021-02-25  9:53 ` [PATCH 5.10 23/23] scripts/recordmcount.pl: support big endian for ARCH sh Greg Kroah-Hartman
2021-02-25 19:52 ` [PATCH 5.10 00/23] 5.10.19-rc1 review Guenter Roeck
2021-02-25 19:54 ` Pavel Machek
2021-02-25 21:35 ` Florian Fainelli
2021-02-26  2:24 ` Shuah Khan
2021-02-26  3:41 ` Ross Schmidt
2021-02-26  6:44 ` Hanjun Guo
2021-02-27  1:47   ` Hanjun Guo
2021-02-26  6:57 ` Naresh Kamboju

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).