All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5.10 00/25] 5.10.31-rc1 review
@ 2021-04-15 14:47 Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 01/25] interconnect: core: fix error return code of icc_link_destroy() Greg Kroah-Hartman
                   ` (34 more replies)
  0 siblings, 35 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:47 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.31 release.
There are 25 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, 17 Apr 2021 14:44:01 +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.31-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.31-rc1

Juergen Gross <jgross@suse.com>
    xen/events: fix setting irq affinity

Russell King <rmk+kernel@armlinux.org.uk>
    net: sfp: cope with SFPs that set both LOS normal and LOS inverted

Russell King <rmk+kernel@armlinux.org.uk>
    net: sfp: relax bitrate-derived mode check

Arnaldo Carvalho de Melo <acme@redhat.com>
    perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches

Florian Westphal <fw@strlen.de>
    netfilter: x_tables: fix compat match/target pad out-of-bound write

Pavel Begunkov <asml.silence@gmail.com>
    block: don't ignore REQ_NOWAIT for direct IO

Zihao Yu <yuzihao@ict.ac.cn>
    riscv,entry: fix misaligned base for excp_vect_table

Jens Axboe <axboe@kernel.dk>
    io_uring: don't mark S_ISBLK async work as unbounded

Damien Le Moal <damien.lemoal@wdc.com>
    null_blk: fix command timeout completion handling

Matthew Wilcox (Oracle) <willy@infradead.org>
    idr test suite: Create anchor before launching throbber

Matthew Wilcox (Oracle) <willy@infradead.org>
    idr test suite: Take RCU read lock in idr_find_test_1

Matthew Wilcox (Oracle) <willy@infradead.org>
    radix tree test suite: Register the main thread with the RCU library

Yufen Yu <yuyufen@huawei.com>
    block: only update parent bi_status when bio fail

Matthew Wilcox (Oracle) <willy@infradead.org>
    radix tree test suite: Fix compilation

Matthew Wilcox (Oracle) <willy@infradead.org>
    XArray: Fix splitting to non-zero orders

Mikko Perttunen <mperttunen@nvidia.com>
    gpu: host1x: Use different lock classes for each client

Dmitry Osipenko <digetx@gmail.com>
    drm/tegra: dc: Don't set PLL clock to 0Hz

Stefan Raspl <raspl@linux.ibm.com>
    tools/kvm_stat: Add restart delay

Steven Rostedt (VMware) <rostedt@goodmis.org>
    ftrace: Check if pages were allocated before calling free_pages()

Bob Peterson <rpeterso@redhat.com>
    gfs2: report "already frozen/thawed" errors

Arnd Bergmann <arnd@arndb.de>
    drm/imx: imx-ldb: fix out of bounds array access warning

Suzuki K Poulose <suzuki.poulose@arm.com>
    KVM: arm64: Disable guest access to trace filter controls

Suzuki K Poulose <suzuki.poulose@arm.com>
    KVM: arm64: Hide system instruction access to Trace registers

Andrew Price <anprice@redhat.com>
    gfs2: Flag a withdraw if init_threads() fails

Jia-Ju Bai <baijiaju1990@gmail.com>
    interconnect: core: fix error return code of icc_link_destroy()


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

Diffstat:

 Makefile                                        |  4 +--
 arch/arm64/include/asm/kvm_arm.h                |  1 +
 arch/arm64/kernel/cpufeature.c                  |  1 -
 arch/arm64/kvm/debug.c                          |  2 ++
 arch/riscv/kernel/entry.S                       |  1 +
 block/bio.c                                     |  2 +-
 drivers/block/null_blk.h                        |  1 +
 drivers/block/null_blk_main.c                   | 26 ++++++++++++++----
 drivers/gpu/drm/imx/imx-ldb.c                   | 10 +++++++
 drivers/gpu/drm/tegra/dc.c                      | 10 +++----
 drivers/gpu/host1x/bus.c                        | 10 ++++---
 drivers/interconnect/core.c                     |  2 ++
 drivers/net/phy/sfp-bus.c                       | 11 ++++----
 drivers/net/phy/sfp.c                           | 36 +++++++++++++++----------
 drivers/xen/events/events_base.c                |  4 +--
 fs/block_dev.c                                  |  4 +++
 fs/gfs2/super.c                                 | 14 ++++++----
 fs/io_uring.c                                   |  2 +-
 include/linux/host1x.h                          |  9 ++++++-
 kernel/trace/ftrace.c                           |  9 ++++---
 lib/test_xarray.c                               | 26 +++++++++---------
 lib/xarray.c                                    |  4 +--
 net/ipv4/netfilter/arp_tables.c                 |  2 ++
 net/ipv4/netfilter/ip_tables.c                  |  2 ++
 net/ipv6/netfilter/ip6_tables.c                 |  2 ++
 net/netfilter/x_tables.c                        | 10 ++-----
 tools/kvm/kvm_stat/kvm_stat.service             |  1 +
 tools/perf/util/map.c                           |  7 +++--
 tools/testing/radix-tree/idr-test.c             | 10 +++++--
 tools/testing/radix-tree/linux/compiler_types.h |  0
 tools/testing/radix-tree/multiorder.c           |  2 ++
 tools/testing/radix-tree/xarray.c               |  2 ++
 32 files changed, 149 insertions(+), 78 deletions(-)



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

* [PATCH 5.10 01/25] interconnect: core: fix error return code of icc_link_destroy()
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
@ 2021-04-15 14:47 ` Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 02/25] gfs2: Flag a withdraw if init_threads() fails Greg Kroah-Hartman
                   ` (33 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, TOTE Robot, Jia-Ju Bai,
	Georgi Djakov, Sasha Levin

From: Jia-Ju Bai <baijiaju1990@gmail.com>

[ Upstream commit 715ea61532e731c62392221238906704e63d75b6 ]

When krealloc() fails and new is NULL, no error return code of
icc_link_destroy() is assigned.
To fix this bug, ret is assigned with -ENOMEM hen new is NULL.

Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Link: https://lore.kernel.org/r/20210306132857.17020-1-baijiaju1990@gmail.com
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/interconnect/core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
index 5ad519c9f239..8a1e70e00876 100644
--- a/drivers/interconnect/core.c
+++ b/drivers/interconnect/core.c
@@ -942,6 +942,8 @@ int icc_link_destroy(struct icc_node *src, struct icc_node *dst)
 		       GFP_KERNEL);
 	if (new)
 		src->links = new;
+	else
+		ret = -ENOMEM;
 
 out:
 	mutex_unlock(&icc_lock);
-- 
2.30.2




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

* [PATCH 5.10 02/25] gfs2: Flag a withdraw if init_threads() fails
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 01/25] interconnect: core: fix error return code of icc_link_destroy() Greg Kroah-Hartman
@ 2021-04-15 14:47 ` Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 03/25] KVM: arm64: Hide system instruction access to Trace registers Greg Kroah-Hartman
                   ` (32 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Alexander Aring, Andrew Price,
	Andreas Gruenbacher, Sasha Levin

From: Andrew Price <anprice@redhat.com>

[ Upstream commit 62dd0f98a0e5668424270b47a0c2e973795faba7 ]

Interrupting mount with ^C quickly enough can cause the kthread_run()
calls in gfs2's init_threads() to fail and the error path leads to a
deadlock on the s_umount rwsem. The abridged chain of events is:

  [mount path]
  get_tree_bdev()
    sget_fc()
      alloc_super()
        down_write_nested(&s->s_umount, SINGLE_DEPTH_NESTING); [acquired]
    gfs2_fill_super()
      gfs2_make_fs_rw()
        init_threads()
          kthread_run()
            ( Interrupted )
      [Error path]
      gfs2_gl_hash_clear()
        flush_workqueue(glock_workqueue)
          wait_for_completion()

  [workqueue context]
  glock_work_func()
    run_queue()
      do_xmote()
        freeze_go_sync()
          freeze_super()
            down_write(&sb->s_umount) [deadlock]

In freeze_go_sync() there is a gfs2_withdrawn() check that we can use to
make sure freeze_super() is not called in the error path, so add a
gfs2_withdraw_delayed() call when init_threads() fails.

Ref: https://bugzilla.kernel.org/show_bug.cgi?id=212231

Reported-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: Andrew Price <anprice@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/gfs2/super.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index ddd40c96f7a2..0581612dd91e 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -169,8 +169,10 @@ int gfs2_make_fs_rw(struct gfs2_sbd *sdp)
 	int error;
 
 	error = init_threads(sdp);
-	if (error)
+	if (error) {
+		gfs2_withdraw_delayed(sdp);
 		return error;
+	}
 
 	j_gl->gl_ops->go_inval(j_gl, DIO_METADATA);
 	if (gfs2_withdrawn(sdp)) {
-- 
2.30.2




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

* [PATCH 5.10 03/25] KVM: arm64: Hide system instruction access to Trace registers
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 01/25] interconnect: core: fix error return code of icc_link_destroy() Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 02/25] gfs2: Flag a withdraw if init_threads() fails Greg Kroah-Hartman
@ 2021-04-15 14:47 ` Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 04/25] KVM: arm64: Disable guest access to trace filter controls Greg Kroah-Hartman
                   ` (31 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Will Deacon, Catalin Marinas,
	Mark Rutland, Suzuki K Poulose, Marc Zyngier, Sasha Levin

From: Suzuki K Poulose <suzuki.poulose@arm.com>

[ Upstream commit 1d676673d665fd2162e7e466dcfbe5373bfdb73e ]

Currently we advertise the ID_AA6DFR0_EL1.TRACEVER for the guest,
when the trace register accesses are trapped (CPTR_EL2.TTA == 1).
So, the guest will get an undefined instruction, if trusts the
ID registers and access one of the trace registers.
Lets be nice to the guest and hide the feature to avoid
unexpected behavior.

Even though this can be done at KVM sysreg emulation layer,
we do this by removing the TRACEVER from the sanitised feature
register field. This is fine as long as the ETM drivers
can handle the individual trace units separately, even
when there are differences among the CPUs.

Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210323120647.454211-2-suzuki.poulose@arm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/arm64/kernel/cpufeature.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 7da9a7cee4ce..5001c43ea6c3 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -382,7 +382,6 @@ static const struct arm64_ftr_bits ftr_id_aa64dfr0[] = {
 	 * of support.
 	 */
 	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64DFR0_PMUVER_SHIFT, 4, 0),
-	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_TRACEVER_SHIFT, 4, 0),
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_DEBUGVER_SHIFT, 4, 0x6),
 	ARM64_FTR_END,
 };
-- 
2.30.2




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

* [PATCH 5.10 04/25] KVM: arm64: Disable guest access to trace filter controls
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (2 preceding siblings ...)
  2021-04-15 14:47 ` [PATCH 5.10 03/25] KVM: arm64: Hide system instruction access to Trace registers Greg Kroah-Hartman
@ 2021-04-15 14:47 ` Greg Kroah-Hartman
  2021-04-15 14:47 ` [PATCH 5.10 05/25] drm/imx: imx-ldb: fix out of bounds array access warning Greg Kroah-Hartman
                   ` (30 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Marc Zyngier, Will Deacon,
	Mark Rutland, Catalin Marinas, Suzuki K Poulose, Sasha Levin

From: Suzuki K Poulose <suzuki.poulose@arm.com>

[ Upstream commit a354a64d91eec3e0f8ef0eed575b480fd75b999c ]

Disable guest access to the Trace Filter control registers.
We do not advertise the Trace filter feature to the guest
(ID_AA64DFR0_EL1: TRACE_FILT is cleared) already, but the guest
can still access the TRFCR_EL1 unless we trap it.

This will also make sure that the guest cannot fiddle with
the filtering controls set by a nvhe host.

Cc: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210323120647.454211-3-suzuki.poulose@arm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/arm64/include/asm/kvm_arm.h | 1 +
 arch/arm64/kvm/debug.c           | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h
index 64ce29378467..395cb22d9f7d 100644
--- a/arch/arm64/include/asm/kvm_arm.h
+++ b/arch/arm64/include/asm/kvm_arm.h
@@ -277,6 +277,7 @@
 #define CPTR_EL2_DEFAULT	CPTR_EL2_RES1
 
 /* Hyp Debug Configuration Register bits */
+#define MDCR_EL2_TTRF		(1 << 19)
 #define MDCR_EL2_TPMS		(1 << 14)
 #define MDCR_EL2_E2PB_MASK	(UL(0x3))
 #define MDCR_EL2_E2PB_SHIFT	(UL(12))
diff --git a/arch/arm64/kvm/debug.c b/arch/arm64/kvm/debug.c
index 7a7e425616b5..dbc890511631 100644
--- a/arch/arm64/kvm/debug.c
+++ b/arch/arm64/kvm/debug.c
@@ -89,6 +89,7 @@ void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu)
  *  - Debug ROM Address (MDCR_EL2_TDRA)
  *  - OS related registers (MDCR_EL2_TDOSA)
  *  - Statistical profiler (MDCR_EL2_TPMS/MDCR_EL2_E2PB)
+ *  - Self-hosted Trace Filter controls (MDCR_EL2_TTRF)
  *
  * Additionally, KVM only traps guest accesses to the debug registers if
  * the guest is not actively using them (see the KVM_ARM64_DEBUG_DIRTY
@@ -112,6 +113,7 @@ void kvm_arm_setup_debug(struct kvm_vcpu *vcpu)
 	vcpu->arch.mdcr_el2 = __this_cpu_read(mdcr_el2) & MDCR_EL2_HPMN_MASK;
 	vcpu->arch.mdcr_el2 |= (MDCR_EL2_TPM |
 				MDCR_EL2_TPMS |
+				MDCR_EL2_TTRF |
 				MDCR_EL2_TPMCR |
 				MDCR_EL2_TDRA |
 				MDCR_EL2_TDOSA);
-- 
2.30.2




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

* [PATCH 5.10 05/25] drm/imx: imx-ldb: fix out of bounds array access warning
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (3 preceding siblings ...)
  2021-04-15 14:47 ` [PATCH 5.10 04/25] KVM: arm64: Disable guest access to trace filter controls Greg Kroah-Hartman
@ 2021-04-15 14:47 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 06/25] gfs2: report "already frozen/thawed" errors Greg Kroah-Hartman
                   ` (29 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Arnd Bergmann, Liu Ying,
	Philipp Zabel, Sasha Levin

From: Arnd Bergmann <arnd@arndb.de>

[ Upstream commit 33ce7f2f95cabb5834cf0906308a5cb6103976da ]

When CONFIG_OF is disabled, building with 'make W=1' produces warnings
about out of bounds array access:

drivers/gpu/drm/imx/imx-ldb.c: In function 'imx_ldb_set_clock.constprop':
drivers/gpu/drm/imx/imx-ldb.c:186:8: error: array subscript -22 is below array bounds of 'struct clk *[4]' [-Werror=array-bounds]

Add an error check before the index is used, which helps with the
warning, as well as any possible other error condition that may be
triggered at runtime.

The warning could be fixed by adding a Kconfig depedency on CONFIG_OF,
but Liu Ying points out that the driver may hit the out-of-bounds
problem at runtime anyway.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/imx/imx-ldb.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
index 41e2978cb1eb..75036aaa0c63 100644
--- a/drivers/gpu/drm/imx/imx-ldb.c
+++ b/drivers/gpu/drm/imx/imx-ldb.c
@@ -190,6 +190,11 @@ static void imx_ldb_encoder_enable(struct drm_encoder *encoder)
 	int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN;
 	int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder);
 
+	if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) {
+		dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux);
+		return;
+	}
+
 	drm_panel_prepare(imx_ldb_ch->panel);
 
 	if (dual) {
@@ -248,6 +253,11 @@ imx_ldb_encoder_atomic_mode_set(struct drm_encoder *encoder,
 	int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder);
 	u32 bus_format = imx_ldb_ch->bus_format;
 
+	if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) {
+		dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux);
+		return;
+	}
+
 	if (mode->clock > 170000) {
 		dev_warn(ldb->dev,
 			 "%s: mode exceeds 170 MHz pixel clock\n", __func__);
-- 
2.30.2




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

* [PATCH 5.10 06/25] gfs2: report "already frozen/thawed" errors
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (4 preceding siblings ...)
  2021-04-15 14:47 ` [PATCH 5.10 05/25] drm/imx: imx-ldb: fix out of bounds array access warning Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 07/25] ftrace: Check if pages were allocated before calling free_pages() Greg Kroah-Hartman
                   ` (28 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Bob Peterson, Andreas Gruenbacher,
	Sasha Levin

From: Bob Peterson <rpeterso@redhat.com>

[ Upstream commit ff132c5f93c06bd4432bbab5c369e468653bdec4 ]

Before this patch, gfs2's freeze function failed to report an error
when the target file system was already frozen as it should (and as
generic vfs function freeze_super does. Similarly, gfs2's thaw function
failed to report an error when trying to thaw a file system that is not
frozen, as vfs function thaw_super does. The errors were checked, but
it always returned a 0 return code.

This patch adds the missing error return codes to gfs2 freeze and thaw.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/gfs2/super.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 0581612dd91e..077dc8c035a8 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -769,11 +769,13 @@ void gfs2_freeze_func(struct work_struct *work)
 static int gfs2_freeze(struct super_block *sb)
 {
 	struct gfs2_sbd *sdp = sb->s_fs_info;
-	int error = 0;
+	int error;
 
 	mutex_lock(&sdp->sd_freeze_mutex);
-	if (atomic_read(&sdp->sd_freeze_state) != SFS_UNFROZEN)
+	if (atomic_read(&sdp->sd_freeze_state) != SFS_UNFROZEN) {
+		error = -EBUSY;
 		goto out;
+	}
 
 	for (;;) {
 		if (gfs2_withdrawn(sdp)) {
@@ -814,10 +816,10 @@ static int gfs2_unfreeze(struct super_block *sb)
 	struct gfs2_sbd *sdp = sb->s_fs_info;
 
 	mutex_lock(&sdp->sd_freeze_mutex);
-        if (atomic_read(&sdp->sd_freeze_state) != SFS_FROZEN ||
+	if (atomic_read(&sdp->sd_freeze_state) != SFS_FROZEN ||
 	    !gfs2_holder_initialized(&sdp->sd_freeze_gh)) {
 		mutex_unlock(&sdp->sd_freeze_mutex);
-                return 0;
+		return -EINVAL;
 	}
 
 	gfs2_freeze_unlock(&sdp->sd_freeze_gh);
-- 
2.30.2




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

* [PATCH 5.10 07/25] ftrace: Check if pages were allocated before calling free_pages()
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (5 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 06/25] gfs2: report "already frozen/thawed" errors Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 08/25] tools/kvm_stat: Add restart delay Greg Kroah-Hartman
                   ` (27 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Abaci Robot, Steven Rostedt (VMware),
	Sasha Levin

From: Steven Rostedt (VMware) <rostedt@goodmis.org>

[ Upstream commit 59300b36f85f254260c81d9dd09195fa49eb0f98 ]

It is possible that on error pg->size can be zero when getting its order,
which would return a -1 value. It is dangerous to pass in an order of -1
to free_pages(). Check if order is greater than or equal to zero before
calling free_pages().

Link: https://lore.kernel.org/lkml/20210330093916.432697c7@gandalf.local.home/

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/trace/ftrace.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 82041bbf8fc2..b1983c2aeb53 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -3230,7 +3230,8 @@ ftrace_allocate_pages(unsigned long num_to_init)
 	pg = start_pg;
 	while (pg) {
 		order = get_count_order(pg->size / ENTRIES_PER_PAGE);
-		free_pages((unsigned long)pg->records, order);
+		if (order >= 0)
+			free_pages((unsigned long)pg->records, order);
 		start_pg = pg->next;
 		kfree(pg);
 		pg = start_pg;
@@ -6452,7 +6453,8 @@ void ftrace_release_mod(struct module *mod)
 		clear_mod_from_hashes(pg);
 
 		order = get_count_order(pg->size / ENTRIES_PER_PAGE);
-		free_pages((unsigned long)pg->records, order);
+		if (order >= 0)
+			free_pages((unsigned long)pg->records, order);
 		tmp_page = pg->next;
 		kfree(pg);
 		ftrace_number_of_pages -= 1 << order;
@@ -6812,7 +6814,8 @@ void ftrace_free_mem(struct module *mod, void *start_ptr, void *end_ptr)
 		if (!pg->index) {
 			*last_pg = pg->next;
 			order = get_count_order(pg->size / ENTRIES_PER_PAGE);
-			free_pages((unsigned long)pg->records, order);
+			if (order >= 0)
+				free_pages((unsigned long)pg->records, order);
 			ftrace_number_of_pages -= 1 << order;
 			ftrace_number_of_groups--;
 			kfree(pg);
-- 
2.30.2




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

* [PATCH 5.10 08/25] tools/kvm_stat: Add restart delay
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (6 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 07/25] ftrace: Check if pages were allocated before calling free_pages() Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 09/25] drm/tegra: dc: Dont set PLL clock to 0Hz Greg Kroah-Hartman
                   ` (26 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Stefan Raspl, Paolo Bonzini, Sasha Levin

From: Stefan Raspl <raspl@linux.ibm.com>

[ Upstream commit 75f94ecbd0dfd2ac4e671f165f5ae864b7301422 ]

If this service is enabled and the system rebooted, Systemd's initial
attempt to start this unit file may fail in case the kvm module is not
loaded. Since we did not specify a delay for the retries, Systemd
restarts with a minimum delay a number of times before giving up and
disabling the service. Which means a subsequent kvm module load will
have kvm running without monitoring.
Adding a delay to fix this.

Signed-off-by: Stefan Raspl <raspl@linux.ibm.com>
Message-Id: <20210325122949.1433271-1-raspl@linux.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/kvm/kvm_stat/kvm_stat.service | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/kvm/kvm_stat/kvm_stat.service b/tools/kvm/kvm_stat/kvm_stat.service
index 71aabaffe779..8f13b843d5b4 100644
--- a/tools/kvm/kvm_stat/kvm_stat.service
+++ b/tools/kvm/kvm_stat/kvm_stat.service
@@ -9,6 +9,7 @@ Type=simple
 ExecStart=/usr/bin/kvm_stat -dtcz -s 10 -L /var/log/kvm_stat.csv
 ExecReload=/bin/kill -HUP $MAINPID
 Restart=always
+RestartSec=60s
 SyslogIdentifier=kvm_stat
 SyslogLevel=debug
 
-- 
2.30.2




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

* [PATCH 5.10 09/25] drm/tegra: dc: Dont set PLL clock to 0Hz
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (7 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 08/25] tools/kvm_stat: Add restart delay Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 10/25] gpu: host1x: Use different lock classes for each client Greg Kroah-Hartman
                   ` (25 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Dmitry Osipenko, Thierry Reding, Sasha Levin

From: Dmitry Osipenko <digetx@gmail.com>

[ Upstream commit f8fb97c915954fc6de6513cdf277103b5c6df7b3 ]

RGB output doesn't allow to change parent clock rate of the display and
PCLK rate is set to 0Hz in this case. The tegra_dc_commit_state() shall
not set the display clock to 0Hz since this change propagates to the
parent clock. The DISP clock is defined as a NODIV clock by the tegra-clk
driver and all NODIV clocks use the CLK_SET_RATE_PARENT flag.

This bug stayed unnoticed because by default PLLP is used as the parent
clock for the display controller and PLLP silently skips the erroneous 0Hz
rate changes because it always has active child clocks that don't permit
rate changes. The PLLP isn't acceptable for some devices that we want to
upstream (like Samsung Galaxy Tab and ASUS TF700T) due to a display panel
clock rate requirements that can't be fulfilled by using PLLP and then the
bug pops up in this case since parent clock is set to 0Hz, killing the
display output.

Don't touch DC clock if pclk=0 in order to fix the problem.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/tegra/dc.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index 3a244ef7f30f..3aa9a7406085 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -1688,6 +1688,11 @@ static void tegra_dc_commit_state(struct tegra_dc *dc,
 			dev_err(dc->dev,
 				"failed to set clock rate to %lu Hz\n",
 				state->pclk);
+
+		err = clk_set_rate(dc->clk, state->pclk);
+		if (err < 0)
+			dev_err(dc->dev, "failed to set clock %pC to %lu Hz: %d\n",
+				dc->clk, state->pclk, err);
 	}
 
 	DRM_DEBUG_KMS("rate: %lu, div: %u\n", clk_get_rate(dc->clk),
@@ -1698,11 +1703,6 @@ static void tegra_dc_commit_state(struct tegra_dc *dc,
 		value = SHIFT_CLK_DIVIDER(state->div) | PIXEL_CLK_DIVIDER_PCD1;
 		tegra_dc_writel(dc, value, DC_DISP_DISP_CLOCK_CONTROL);
 	}
-
-	err = clk_set_rate(dc->clk, state->pclk);
-	if (err < 0)
-		dev_err(dc->dev, "failed to set clock %pC to %lu Hz: %d\n",
-			dc->clk, state->pclk, err);
 }
 
 static void tegra_dc_stop(struct tegra_dc *dc)
-- 
2.30.2




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

* [PATCH 5.10 10/25] gpu: host1x: Use different lock classes for each client
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (8 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 09/25] drm/tegra: dc: Dont set PLL clock to 0Hz Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 11/25] XArray: Fix splitting to non-zero orders Greg Kroah-Hartman
                   ` (24 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Mikko Perttunen, Thierry Reding, Sasha Levin

From: Mikko Perttunen <mperttunen@nvidia.com>

[ Upstream commit a24f98176d1efae2c37d3438c57a624d530d9c33 ]

To avoid false lockdep warnings, give each client lock a different
lock class, passed from the initialization site by macro.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/host1x/bus.c | 10 ++++++----
 include/linux/host1x.h   |  9 ++++++++-
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c
index e201f62d62c0..9e2cb6968819 100644
--- a/drivers/gpu/host1x/bus.c
+++ b/drivers/gpu/host1x/bus.c
@@ -704,8 +704,9 @@ void host1x_driver_unregister(struct host1x_driver *driver)
 EXPORT_SYMBOL(host1x_driver_unregister);
 
 /**
- * host1x_client_register() - register a host1x client
+ * __host1x_client_register() - register a host1x client
  * @client: host1x client
+ * @key: lock class key for the client-specific mutex
  *
  * Registers a host1x client with each host1x controller instance. Note that
  * each client will only match their parent host1x controller and will only be
@@ -714,13 +715,14 @@ EXPORT_SYMBOL(host1x_driver_unregister);
  * device and call host1x_device_init(), which will in turn call each client's
  * &host1x_client_ops.init implementation.
  */
-int host1x_client_register(struct host1x_client *client)
+int __host1x_client_register(struct host1x_client *client,
+			     struct lock_class_key *key)
 {
 	struct host1x *host1x;
 	int err;
 
 	INIT_LIST_HEAD(&client->list);
-	mutex_init(&client->lock);
+	__mutex_init(&client->lock, "host1x client lock", key);
 	client->usecount = 0;
 
 	mutex_lock(&devices_lock);
@@ -741,7 +743,7 @@ int host1x_client_register(struct host1x_client *client)
 
 	return 0;
 }
-EXPORT_SYMBOL(host1x_client_register);
+EXPORT_SYMBOL(__host1x_client_register);
 
 /**
  * host1x_client_unregister() - unregister a host1x client
diff --git a/include/linux/host1x.h b/include/linux/host1x.h
index ce59a6a6a008..9eb77c87a83b 100644
--- a/include/linux/host1x.h
+++ b/include/linux/host1x.h
@@ -320,7 +320,14 @@ static inline struct host1x_device *to_host1x_device(struct device *dev)
 int host1x_device_init(struct host1x_device *device);
 int host1x_device_exit(struct host1x_device *device);
 
-int host1x_client_register(struct host1x_client *client);
+int __host1x_client_register(struct host1x_client *client,
+			     struct lock_class_key *key);
+#define host1x_client_register(class) \
+	({ \
+		static struct lock_class_key __key; \
+		__host1x_client_register(class, &__key); \
+	})
+
 int host1x_client_unregister(struct host1x_client *client);
 
 int host1x_client_suspend(struct host1x_client *client);
-- 
2.30.2




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

* [PATCH 5.10 11/25] XArray: Fix splitting to non-zero orders
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (9 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 10/25] gpu: host1x: Use different lock classes for each client Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 12/25] radix tree test suite: Fix compilation Greg Kroah-Hartman
                   ` (23 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Zi Yan, Matthew Wilcox (Oracle), Sasha Levin

From: Matthew Wilcox (Oracle) <willy@infradead.org>

[ Upstream commit 3012110d71f41410932924e1d188f9eb57f1f824 ]

Splitting an order-4 entry into order-2 entries would leave the array
containing pointers to 000040008000c000 instead of 000044448888cccc.
This is a one-character fix, but enhance the test suite to check this
case.

Reported-by: Zi Yan <ziy@nvidia.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 lib/test_xarray.c | 26 ++++++++++++++------------
 lib/xarray.c      |  4 ++--
 2 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/lib/test_xarray.c b/lib/test_xarray.c
index 8294f43f4981..8b1c318189ce 100644
--- a/lib/test_xarray.c
+++ b/lib/test_xarray.c
@@ -1530,24 +1530,24 @@ static noinline void check_store_range(struct xarray *xa)
 
 #ifdef CONFIG_XARRAY_MULTI
 static void check_split_1(struct xarray *xa, unsigned long index,
-							unsigned int order)
+				unsigned int order, unsigned int new_order)
 {
-	XA_STATE(xas, xa, index);
-	void *entry;
-	unsigned int i = 0;
+	XA_STATE_ORDER(xas, xa, index, new_order);
+	unsigned int i;
 
 	xa_store_order(xa, index, order, xa, GFP_KERNEL);
 
 	xas_split_alloc(&xas, xa, order, GFP_KERNEL);
 	xas_lock(&xas);
 	xas_split(&xas, xa, order);
+	for (i = 0; i < (1 << order); i += (1 << new_order))
+		__xa_store(xa, index + i, xa_mk_index(index + i), 0);
 	xas_unlock(&xas);
 
-	xa_for_each(xa, index, entry) {
-		XA_BUG_ON(xa, entry != xa);
-		i++;
+	for (i = 0; i < (1 << order); i++) {
+		unsigned int val = index + (i & ~((1 << new_order) - 1));
+		XA_BUG_ON(xa, xa_load(xa, index + i) != xa_mk_index(val));
 	}
-	XA_BUG_ON(xa, i != 1 << order);
 
 	xa_set_mark(xa, index, XA_MARK_0);
 	XA_BUG_ON(xa, !xa_get_mark(xa, index, XA_MARK_0));
@@ -1557,14 +1557,16 @@ static void check_split_1(struct xarray *xa, unsigned long index,
 
 static noinline void check_split(struct xarray *xa)
 {
-	unsigned int order;
+	unsigned int order, new_order;
 
 	XA_BUG_ON(xa, !xa_empty(xa));
 
 	for (order = 1; order < 2 * XA_CHUNK_SHIFT; order++) {
-		check_split_1(xa, 0, order);
-		check_split_1(xa, 1UL << order, order);
-		check_split_1(xa, 3UL << order, order);
+		for (new_order = 0; new_order < order; new_order++) {
+			check_split_1(xa, 0, order, new_order);
+			check_split_1(xa, 1UL << order, order, new_order);
+			check_split_1(xa, 3UL << order, order, new_order);
+		}
 	}
 }
 #else
diff --git a/lib/xarray.c b/lib/xarray.c
index 5fa51614802a..ed775dee1074 100644
--- a/lib/xarray.c
+++ b/lib/xarray.c
@@ -1011,7 +1011,7 @@ void xas_split_alloc(struct xa_state *xas, void *entry, unsigned int order,
 
 	do {
 		unsigned int i;
-		void *sibling;
+		void *sibling = NULL;
 		struct xa_node *node;
 
 		node = kmem_cache_alloc(radix_tree_node_cachep, gfp);
@@ -1021,7 +1021,7 @@ void xas_split_alloc(struct xa_state *xas, void *entry, unsigned int order,
 		for (i = 0; i < XA_CHUNK_SIZE; i++) {
 			if ((i & mask) == 0) {
 				RCU_INIT_POINTER(node->slots[i], entry);
-				sibling = xa_mk_sibling(0);
+				sibling = xa_mk_sibling(i);
 			} else {
 				RCU_INIT_POINTER(node->slots[i], sibling);
 			}
-- 
2.30.2




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

* [PATCH 5.10 12/25] radix tree test suite: Fix compilation
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (10 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 11/25] XArray: Fix splitting to non-zero orders Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 15:12   ` Matthew Wilcox
  2021-04-15 14:48 ` [PATCH 5.10 13/25] block: only update parent bi_status when bio fail Greg Kroah-Hartman
                   ` (22 subsequent siblings)
  34 siblings, 1 reply; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Matthew Wilcox (Oracle), Sasha Levin

From: Matthew Wilcox (Oracle) <willy@infradead.org>

[ Upstream commit 7487de534dcbe143e6f41da751dd3ffcf93b00ee ]

Commit 4bba4c4bb09a added tools/include/linux/compiler_types.h which
includes linux/compiler-gcc.h.  Unfortunately, we had our own (empty)
compiler_types.h which overrode the one added by that commit, and
so we lost the definition of __must_be_array().  Removing our empty
compiler_types.h fixes the problem and reduces our divergence from the
rest of the tools.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/testing/radix-tree/linux/compiler_types.h | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 tools/testing/radix-tree/linux/compiler_types.h

diff --git a/tools/testing/radix-tree/linux/compiler_types.h b/tools/testing/radix-tree/linux/compiler_types.h
deleted file mode 100644
index e69de29bb2d1..000000000000
-- 
2.30.2




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

* [PATCH 5.10 13/25] block: only update parent bi_status when bio fail
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (11 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 12/25] radix tree test suite: Fix compilation Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 14/25] radix tree test suite: Register the main thread with the RCU library Greg Kroah-Hartman
                   ` (21 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Keith Busch, Yufen Yu, Ming Lei,
	Jens Axboe, Sasha Levin

From: Yufen Yu <yuyufen@huawei.com>

[ Upstream commit 3edf5346e4f2ce2fa0c94651a90a8dda169565ee ]

For multiple split bios, if one of the bio is fail, the whole
should return error to application. But we found there is a race
between bio_integrity_verify_fn and bio complete, which return
io success to application after one of the bio fail. The race as
following:

split bio(READ)          kworker

nvme_complete_rq
blk_update_request //split error=0
  bio_endio
    bio_integrity_endio
      queue_work(kintegrityd_wq, &bip->bip_work);

                         bio_integrity_verify_fn
                         bio_endio //split bio
                          __bio_chain_endio
                             if (!parent->bi_status)

                               <interrupt entry>
                               nvme_irq
                                 blk_update_request //parent error=7
                                 req_bio_endio
                                    bio->bi_status = 7 //parent bio
                               <interrupt exit>

                               parent->bi_status = 0
                        parent->bi_end_io() // return bi_status=0

The bio has been split as two: split and parent. When split
bio completed, it depends on kworker to do endio, while
bio_integrity_verify_fn have been interrupted by parent bio
complete irq handler. Then, parent bio->bi_status which have
been set in irq handler will overwrite by kworker.

In fact, even without the above race, we also need to conside
the concurrency beteen mulitple split bio complete and update
the same parent bi_status. Normally, multiple split bios will
be issued to the same hctx and complete from the same irq
vector. But if we have updated queue map between multiple split
bios, these bios may complete on different hw queue and different
irq vector. Then the concurrency update parent bi_status may
cause the final status error.

Suggested-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Yufen Yu <yuyufen@huawei.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20210331115359.1125679-1-yuyufen@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 block/bio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/bio.c b/block/bio.c
index fa01bef35bb1..9c931df2d986 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -313,7 +313,7 @@ static struct bio *__bio_chain_endio(struct bio *bio)
 {
 	struct bio *parent = bio->bi_private;
 
-	if (!parent->bi_status)
+	if (bio->bi_status && !parent->bi_status)
 		parent->bi_status = bio->bi_status;
 	bio_put(bio);
 	return parent;
-- 
2.30.2




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

* [PATCH 5.10 14/25] radix tree test suite: Register the main thread with the RCU library
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (12 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 13/25] block: only update parent bi_status when bio fail Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 15/25] idr test suite: Take RCU read lock in idr_find_test_1 Greg Kroah-Hartman
                   ` (20 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Chris von Recklinghausen,
	Matthew Wilcox (Oracle),
	Sasha Levin

From: Matthew Wilcox (Oracle) <willy@infradead.org>

[ Upstream commit 1bb4bd266cf39fd2fa711f2d265c558b92df1119 ]

Several test runners register individual worker threads with the
RCU library, but neglect to register the main thread, which can lead
to objects being freed while the main thread is in what appears to be
an RCU critical section.

Reported-by: Chris von Recklinghausen <crecklin@redhat.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/testing/radix-tree/idr-test.c   | 2 ++
 tools/testing/radix-tree/multiorder.c | 2 ++
 tools/testing/radix-tree/xarray.c     | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/tools/testing/radix-tree/idr-test.c b/tools/testing/radix-tree/idr-test.c
index 3b796dd5e577..44ceff95a9b3 100644
--- a/tools/testing/radix-tree/idr-test.c
+++ b/tools/testing/radix-tree/idr-test.c
@@ -577,6 +577,7 @@ void ida_tests(void)
 
 int __weak main(void)
 {
+	rcu_register_thread();
 	radix_tree_init();
 	idr_checks();
 	ida_tests();
@@ -584,5 +585,6 @@ int __weak main(void)
 	rcu_barrier();
 	if (nr_allocated)
 		printf("nr_allocated = %d\n", nr_allocated);
+	rcu_unregister_thread();
 	return 0;
 }
diff --git a/tools/testing/radix-tree/multiorder.c b/tools/testing/radix-tree/multiorder.c
index 9eae0fb5a67d..e00520cc6349 100644
--- a/tools/testing/radix-tree/multiorder.c
+++ b/tools/testing/radix-tree/multiorder.c
@@ -224,7 +224,9 @@ void multiorder_checks(void)
 
 int __weak main(void)
 {
+	rcu_register_thread();
 	radix_tree_init();
 	multiorder_checks();
+	rcu_unregister_thread();
 	return 0;
 }
diff --git a/tools/testing/radix-tree/xarray.c b/tools/testing/radix-tree/xarray.c
index e61e43efe463..f20e12cbbfd4 100644
--- a/tools/testing/radix-tree/xarray.c
+++ b/tools/testing/radix-tree/xarray.c
@@ -25,11 +25,13 @@ void xarray_tests(void)
 
 int __weak main(void)
 {
+	rcu_register_thread();
 	radix_tree_init();
 	xarray_tests();
 	radix_tree_cpu_dead(1);
 	rcu_barrier();
 	if (nr_allocated)
 		printf("nr_allocated = %d\n", nr_allocated);
+	rcu_unregister_thread();
 	return 0;
 }
-- 
2.30.2




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

* [PATCH 5.10 15/25] idr test suite: Take RCU read lock in idr_find_test_1
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (13 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 14/25] radix tree test suite: Register the main thread with the RCU library Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 16/25] idr test suite: Create anchor before launching throbber Greg Kroah-Hartman
                   ` (19 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Chris von Recklinghausen,
	Matthew Wilcox (Oracle),
	Sasha Levin

From: Matthew Wilcox (Oracle) <willy@infradead.org>

[ Upstream commit 703586410da69eb40062e64d413ca33bd735917a ]

When run on a single CPU, this test would frequently access already-freed
memory.  Due to timing, this bug never showed up on multi-CPU tests.

Reported-by: Chris von Recklinghausen <crecklin@redhat.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/testing/radix-tree/idr-test.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/testing/radix-tree/idr-test.c b/tools/testing/radix-tree/idr-test.c
index 44ceff95a9b3..4a9b451b7ba0 100644
--- a/tools/testing/radix-tree/idr-test.c
+++ b/tools/testing/radix-tree/idr-test.c
@@ -306,11 +306,15 @@ void idr_find_test_1(int anchor_id, int throbber_id)
 	BUG_ON(idr_alloc(&find_idr, xa_mk_value(anchor_id), anchor_id,
 				anchor_id + 1, GFP_KERNEL) != anchor_id);
 
+	rcu_read_lock();
 	do {
 		int id = 0;
 		void *entry = idr_get_next(&find_idr, &id);
+		rcu_read_unlock();
 		BUG_ON(entry != xa_mk_value(id));
+		rcu_read_lock();
 	} while (time(NULL) < start + 11);
+	rcu_read_unlock();
 
 	pthread_join(throbber, NULL);
 
-- 
2.30.2




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

* [PATCH 5.10 16/25] idr test suite: Create anchor before launching throbber
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (14 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 15/25] idr test suite: Take RCU read lock in idr_find_test_1 Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 17/25] null_blk: fix command timeout completion handling Greg Kroah-Hartman
                   ` (18 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Matthew Wilcox (Oracle), Sasha Levin

From: Matthew Wilcox (Oracle) <willy@infradead.org>

[ Upstream commit 094ffbd1d8eaa27ed426feb8530cb1456348b018 ]

The throbber could race with creation of the anchor entry and cause the
IDR to have zero entries in it, which would cause the test to fail.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/testing/radix-tree/idr-test.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/radix-tree/idr-test.c b/tools/testing/radix-tree/idr-test.c
index 4a9b451b7ba0..6ce7460f3c7a 100644
--- a/tools/testing/radix-tree/idr-test.c
+++ b/tools/testing/radix-tree/idr-test.c
@@ -301,11 +301,11 @@ void idr_find_test_1(int anchor_id, int throbber_id)
 	pthread_t throbber;
 	time_t start = time(NULL);
 
-	pthread_create(&throbber, NULL, idr_throbber, &throbber_id);
-
 	BUG_ON(idr_alloc(&find_idr, xa_mk_value(anchor_id), anchor_id,
 				anchor_id + 1, GFP_KERNEL) != anchor_id);
 
+	pthread_create(&throbber, NULL, idr_throbber, &throbber_id);
+
 	rcu_read_lock();
 	do {
 		int id = 0;
-- 
2.30.2




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

* [PATCH 5.10 17/25] null_blk: fix command timeout completion handling
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (15 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 16/25] idr test suite: Create anchor before launching throbber Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 18/25] io_uring: dont mark S_ISBLK async work as unbounded Greg Kroah-Hartman
                   ` (17 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Johannes Thumshirn, Damien Le Moal,
	Jens Axboe, Sasha Levin

From: Damien Le Moal <damien.lemoal@wdc.com>

[ Upstream commit de3510e52b0a398261271455562458003b8eea62 ]

Memory backed or zoned null block devices may generate actual request
timeout errors due to the submission path being blocked on memory
allocation or zone locking. Unlike fake timeouts or injected timeouts,
the request submission path will call blk_mq_complete_request() or
blk_mq_end_request() for these real timeout errors, causing a double
completion and use after free situation as the block layer timeout
handler executes blk_mq_rq_timed_out() and __blk_mq_free_request() in
blk_mq_check_expired(). This problem often triggers a NULL pointer
dereference such as:

BUG: kernel NULL pointer dereference, address: 0000000000000050
RIP: 0010:blk_mq_sched_mark_restart_hctx+0x5/0x20
...
Call Trace:
  dd_finish_request+0x56/0x80
  blk_mq_free_request+0x37/0x130
  null_handle_cmd+0xbf/0x250 [null_blk]
  ? null_queue_rq+0x67/0xd0 [null_blk]
  blk_mq_dispatch_rq_list+0x122/0x850
  __blk_mq_do_dispatch_sched+0xbb/0x2c0
  __blk_mq_sched_dispatch_requests+0x13d/0x190
  blk_mq_sched_dispatch_requests+0x30/0x60
  __blk_mq_run_hw_queue+0x49/0x90
  process_one_work+0x26c/0x580
  worker_thread+0x55/0x3c0
  ? process_one_work+0x580/0x580
  kthread+0x134/0x150
  ? kthread_create_worker_on_cpu+0x70/0x70
  ret_from_fork+0x1f/0x30

This problem very often triggers when running the full btrfs xfstests
on a memory-backed zoned null block device in a VM with limited amount
of memory.

Avoid this by executing blk_mq_complete_request() in null_timeout_rq()
only for commands that are marked for a fake timeout completion using
the fake_timeout boolean in struct null_cmd. For timeout errors injected
through debugfs, the timeout handler will execute
blk_mq_complete_request()i as before. This is safe as the submission
path does not execute complete requests in this case.

In null_timeout_rq(), also make sure to set the command error field to
BLK_STS_TIMEOUT and to propagate this error through to the request
completion.

Reported-by: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Tested-by: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
Reviewed-by: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20210331225244.126426-1-damien.lemoal@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/block/null_blk.h      |  1 +
 drivers/block/null_blk_main.c | 26 +++++++++++++++++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/drivers/block/null_blk.h b/drivers/block/null_blk.h
index c24d9b5ad81a..7de703f28617 100644
--- a/drivers/block/null_blk.h
+++ b/drivers/block/null_blk.h
@@ -20,6 +20,7 @@ struct nullb_cmd {
 	blk_status_t error;
 	struct nullb_queue *nq;
 	struct hrtimer timer;
+	bool fake_timeout;
 };
 
 struct nullb_queue {
diff --git a/drivers/block/null_blk_main.c b/drivers/block/null_blk_main.c
index 4685ea401d5b..bb3686c3869d 100644
--- a/drivers/block/null_blk_main.c
+++ b/drivers/block/null_blk_main.c
@@ -1367,10 +1367,13 @@ static blk_status_t null_handle_cmd(struct nullb_cmd *cmd, sector_t sector,
 	}
 
 	if (dev->zoned)
-		cmd->error = null_process_zoned_cmd(cmd, op,
-						    sector, nr_sectors);
+		sts = null_process_zoned_cmd(cmd, op, sector, nr_sectors);
 	else
-		cmd->error = null_process_cmd(cmd, op, sector, nr_sectors);
+		sts = null_process_cmd(cmd, op, sector, nr_sectors);
+
+	/* Do not overwrite errors (e.g. timeout errors) */
+	if (cmd->error == BLK_STS_OK)
+		cmd->error = sts;
 
 out:
 	nullb_complete_cmd(cmd);
@@ -1449,8 +1452,20 @@ static bool should_requeue_request(struct request *rq)
 
 static enum blk_eh_timer_return null_timeout_rq(struct request *rq, bool res)
 {
+	struct nullb_cmd *cmd = blk_mq_rq_to_pdu(rq);
+
 	pr_info("rq %p timed out\n", rq);
-	blk_mq_complete_request(rq);
+
+	/*
+	 * If the device is marked as blocking (i.e. memory backed or zoned
+	 * device), the submission path may be blocked waiting for resources
+	 * and cause real timeouts. For these real timeouts, the submission
+	 * path will complete the request using blk_mq_complete_request().
+	 * Only fake timeouts need to execute blk_mq_complete_request() here.
+	 */
+	cmd->error = BLK_STS_TIMEOUT;
+	if (cmd->fake_timeout)
+		blk_mq_complete_request(rq);
 	return BLK_EH_DONE;
 }
 
@@ -1471,6 +1486,7 @@ static blk_status_t null_queue_rq(struct blk_mq_hw_ctx *hctx,
 	cmd->rq = bd->rq;
 	cmd->error = BLK_STS_OK;
 	cmd->nq = nq;
+	cmd->fake_timeout = should_timeout_request(bd->rq);
 
 	blk_mq_start_request(bd->rq);
 
@@ -1487,7 +1503,7 @@ static blk_status_t null_queue_rq(struct blk_mq_hw_ctx *hctx,
 			return BLK_STS_OK;
 		}
 	}
-	if (should_timeout_request(bd->rq))
+	if (cmd->fake_timeout)
 		return BLK_STS_OK;
 
 	return null_handle_cmd(cmd, sector, nr_sectors, req_op(bd->rq));
-- 
2.30.2




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

* [PATCH 5.10 18/25] io_uring: dont mark S_ISBLK async work as unbounded
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (16 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 17/25] null_blk: fix command timeout completion handling Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 19/25] riscv,entry: fix misaligned base for excp_vect_table Greg Kroah-Hartman
                   ` (16 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Jens Axboe, Sasha Levin

From: Jens Axboe <axboe@kernel.dk>

[ Upstream commit 4b982bd0f383db9132e892c0c5144117359a6289 ]

S_ISBLK is marked as unbounded work for async preparation, because it
doesn't match S_ISREG. That is incorrect, as any read/write to a block
device is also a bounded operation. Fix it up and ensure that S_ISBLK
isn't marked unbounded.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/io_uring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 0de27e75460d..dc1b0f6fd49b 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -1439,7 +1439,7 @@ static void io_prep_async_work(struct io_kiocb *req)
 	if (req->flags & REQ_F_ISREG) {
 		if (def->hash_reg_file || (ctx->flags & IORING_SETUP_IOPOLL))
 			io_wq_hash_work(&req->work, file_inode(req->file));
-	} else {
+	} else if (!req->file || !S_ISBLK(file_inode(req->file)->i_mode)) {
 		if (def->unbound_nonreg_file)
 			req->work.flags |= IO_WQ_WORK_UNBOUND;
 	}
-- 
2.30.2




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

* [PATCH 5.10 19/25] riscv,entry: fix misaligned base for excp_vect_table
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (17 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 18/25] io_uring: dont mark S_ISBLK async work as unbounded Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 20/25] block: dont ignore REQ_NOWAIT for direct IO Greg Kroah-Hartman
                   ` (15 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Zihao Yu, Anup Patel, Palmer Dabbelt,
	Sasha Levin

From: Zihao Yu <yuzihao@ict.ac.cn>

[ Upstream commit ac8d0b901f0033b783156ab2dc1a0e73ec42409b ]

In RV64, the size of each entry in excp_vect_table is 8 bytes. If the
base of the table is not 8-byte aligned, loading an entry in the table
will raise a misaligned exception. Although such exception will be
handled by opensbi/bbl, this still causes performance degradation.

Signed-off-by: Zihao Yu <yuzihao@ict.ac.cn>
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/riscv/kernel/entry.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/riscv/kernel/entry.S b/arch/riscv/kernel/entry.S
index 744f3209c48d..76274a4a1d8e 100644
--- a/arch/riscv/kernel/entry.S
+++ b/arch/riscv/kernel/entry.S
@@ -447,6 +447,7 @@ ENDPROC(__switch_to)
 #endif
 
 	.section ".rodata"
+	.align LGREG
 	/* Exception vector table */
 ENTRY(excp_vect_table)
 	RISCV_PTR do_trap_insn_misaligned
-- 
2.30.2




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

* [PATCH 5.10 20/25] block: dont ignore REQ_NOWAIT for direct IO
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (18 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 19/25] riscv,entry: fix misaligned base for excp_vect_table Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 21/25] netfilter: x_tables: fix compat match/target pad out-of-bound write Greg Kroah-Hartman
                   ` (14 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Pavel Begunkov, Jens Axboe, Sasha Levin

From: Pavel Begunkov <asml.silence@gmail.com>

[ Upstream commit f8b78caf21d5bc3fcfc40c18898f9d52ed1451a5 ]

If IOCB_NOWAIT is set on submission, then that needs to get propagated to
REQ_NOWAIT on the block side. Otherwise we completely lose this
information, and any issuer of IOCB_NOWAIT IO will potentially end up
blocking on eg request allocation on the storage side.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/block_dev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/block_dev.c b/fs/block_dev.c
index 6516051807b8..718533f0fb90 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -280,6 +280,8 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct iov_iter *iter,
 		bio.bi_opf = dio_bio_write_op(iocb);
 		task_io_account_write(ret);
 	}
+	if (iocb->ki_flags & IOCB_NOWAIT)
+		bio.bi_opf |= REQ_NOWAIT;
 	if (iocb->ki_flags & IOCB_HIPRI)
 		bio_set_polled(&bio, iocb);
 
@@ -433,6 +435,8 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter, int nr_pages)
 			bio->bi_opf = dio_bio_write_op(iocb);
 			task_io_account_write(bio->bi_iter.bi_size);
 		}
+		if (iocb->ki_flags & IOCB_NOWAIT)
+			bio->bi_opf |= REQ_NOWAIT;
 
 		dio->size += bio->bi_iter.bi_size;
 		pos += bio->bi_iter.bi_size;
-- 
2.30.2




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

* [PATCH 5.10 21/25] netfilter: x_tables: fix compat match/target pad out-of-bound write
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (19 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 20/25] block: dont ignore REQ_NOWAIT for direct IO Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 22/25] perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches Greg Kroah-Hartman
                   ` (13 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, syzbot+cfc0247ac173f597aaaa,
	Andy Nguyen, Florian Westphal, Pablo Neira Ayuso

From: Florian Westphal <fw@strlen.de>

commit b29c457a6511435960115c0f548c4360d5f4801d upstream.

xt_compat_match/target_from_user doesn't check that zeroing the area
to start of next rule won't write past end of allocated ruleset blob.

Remove this code and zero the entire blob beforehand.

Reported-by: syzbot+cfc0247ac173f597aaaa@syzkaller.appspotmail.com
Reported-by: Andy Nguyen <theflow@google.com>
Fixes: 9fa492cdc160c ("[NETFILTER]: x_tables: simplify compat API")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/ipv4/netfilter/arp_tables.c |    2 ++
 net/ipv4/netfilter/ip_tables.c  |    2 ++
 net/ipv6/netfilter/ip6_tables.c |    2 ++
 net/netfilter/x_tables.c        |   10 ++--------
 4 files changed, 8 insertions(+), 8 deletions(-)

--- a/net/ipv4/netfilter/arp_tables.c
+++ b/net/ipv4/netfilter/arp_tables.c
@@ -1193,6 +1193,8 @@ static int translate_compat_table(struct
 	if (!newinfo)
 		goto out_unlock;
 
+	memset(newinfo->entries, 0, size);
+
 	newinfo->number = compatr->num_entries;
 	for (i = 0; i < NF_ARP_NUMHOOKS; i++) {
 		newinfo->hook_entry[i] = compatr->hook_entry[i];
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
@@ -1428,6 +1428,8 @@ translate_compat_table(struct net *net,
 	if (!newinfo)
 		goto out_unlock;
 
+	memset(newinfo->entries, 0, size);
+
 	newinfo->number = compatr->num_entries;
 	for (i = 0; i < NF_INET_NUMHOOKS; i++) {
 		newinfo->hook_entry[i] = compatr->hook_entry[i];
--- a/net/ipv6/netfilter/ip6_tables.c
+++ b/net/ipv6/netfilter/ip6_tables.c
@@ -1443,6 +1443,8 @@ translate_compat_table(struct net *net,
 	if (!newinfo)
 		goto out_unlock;
 
+	memset(newinfo->entries, 0, size);
+
 	newinfo->number = compatr->num_entries;
 	for (i = 0; i < NF_INET_NUMHOOKS; i++) {
 		newinfo->hook_entry[i] = compatr->hook_entry[i];
--- a/net/netfilter/x_tables.c
+++ b/net/netfilter/x_tables.c
@@ -733,7 +733,7 @@ void xt_compat_match_from_user(struct xt
 {
 	const struct xt_match *match = m->u.kernel.match;
 	struct compat_xt_entry_match *cm = (struct compat_xt_entry_match *)m;
-	int pad, off = xt_compat_match_offset(match);
+	int off = xt_compat_match_offset(match);
 	u_int16_t msize = cm->u.user.match_size;
 	char name[sizeof(m->u.user.name)];
 
@@ -743,9 +743,6 @@ void xt_compat_match_from_user(struct xt
 		match->compat_from_user(m->data, cm->data);
 	else
 		memcpy(m->data, cm->data, msize - sizeof(*cm));
-	pad = XT_ALIGN(match->matchsize) - match->matchsize;
-	if (pad > 0)
-		memset(m->data + match->matchsize, 0, pad);
 
 	msize += off;
 	m->u.user.match_size = msize;
@@ -1116,7 +1113,7 @@ void xt_compat_target_from_user(struct x
 {
 	const struct xt_target *target = t->u.kernel.target;
 	struct compat_xt_entry_target *ct = (struct compat_xt_entry_target *)t;
-	int pad, off = xt_compat_target_offset(target);
+	int off = xt_compat_target_offset(target);
 	u_int16_t tsize = ct->u.user.target_size;
 	char name[sizeof(t->u.user.name)];
 
@@ -1126,9 +1123,6 @@ void xt_compat_target_from_user(struct x
 		target->compat_from_user(t->data, ct->data);
 	else
 		memcpy(t->data, ct->data, tsize - sizeof(*ct));
-	pad = XT_ALIGN(target->targetsize) - target->targetsize;
-	if (pad > 0)
-		memset(t->data + target->targetsize, 0, pad);
 
 	tsize += off;
 	t->u.user.target_size = tsize;



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

* [PATCH 5.10 22/25] perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (20 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 21/25] netfilter: x_tables: fix compat match/target pad out-of-bound write Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 23/25] net: sfp: relax bitrate-derived mode check Greg Kroah-Hartman
                   ` (12 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Arnaldo Carvalho de Melo, Anders Roxell

From: Arnaldo Carvalho de Melo <acme@redhat.com>

commit 77d02bd00cea9f1a87afe58113fa75b983d6c23a upstream.

Noticed on a debian:experimental mips and mipsel cross build build
environment:

  perfbuilder@ec265a086e9b:~$ mips-linux-gnu-gcc --version | head -1
  mips-linux-gnu-gcc (Debian 10.2.1-3) 10.2.1 20201224
  perfbuilder@ec265a086e9b:~$

    CC       /tmp/build/perf/util/map.o
  util/map.c: In function 'map__new':
  util/map.c:109:5: error: '%s' directive output may be truncated writing between 1 and 2147483645 bytes into a region of size 4096 [-Werror=format-truncation=]
    109 |    "%s/platforms/%s/arch-%s/usr/lib/%s",
        |     ^~
  In file included from /usr/mips-linux-gnu/include/stdio.h:867,
                   from util/symbol.h:11,
                   from util/map.c:2:
  /usr/mips-linux-gnu/include/bits/stdio2.h:67:10: note: '__builtin___snprintf_chk' output 32 or more bytes (assuming 4294967321) into a destination of size 4096
     67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     68 |        __bos (__s), __fmt, __va_arg_pack ());
        |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: all warnings being treated as errors

Since we have the lenghts for what lands in that place, use it to give
the compiler more info and make it happy.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 tools/perf/util/map.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

--- a/tools/perf/util/map.c
+++ b/tools/perf/util/map.c
@@ -77,8 +77,7 @@ static inline bool replace_android_lib(c
 	if (strstarts(filename, "/system/lib/")) {
 		char *ndk, *app;
 		const char *arch;
-		size_t ndk_length;
-		size_t app_length;
+		int ndk_length, app_length;
 
 		ndk = getenv("NDK_ROOT");
 		app = getenv("APP_PLATFORM");
@@ -106,8 +105,8 @@ static inline bool replace_android_lib(c
 		if (new_length > PATH_MAX)
 			return false;
 		snprintf(newfilename, new_length,
-			"%s/platforms/%s/arch-%s/usr/lib/%s",
-			ndk, app, arch, libname);
+			"%.*s/platforms/%.*s/arch-%s/usr/lib/%s",
+			ndk_length, ndk, app_length, app, arch, libname);
 
 		return true;
 	}



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

* [PATCH 5.10 23/25] net: sfp: relax bitrate-derived mode check
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (21 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 22/25] perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 24/25] net: sfp: cope with SFPs that set both LOS normal and LOS inverted Greg Kroah-Hartman
                   ` (11 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Pali Rohár, Andrew Lunn,
	Russell King, David S. Miller

From: Russell King <rmk+kernel@armlinux.org.uk>

commit 7a77233ec6d114322e2c4f71b4e26dbecd9ea8a7 upstream.

Do not check the encoding when deriving 1000BASE-X from the bitrate
when no other modes are discovered. Some GPON modules (VSOL V2801F
and CarlitoxxPro CPGOS03-0490 v2.0) indicate NRZ encoding with a
1200Mbaud bitrate, but should be driven with 1000BASE-X on the host
side.

Tested-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/phy/sfp-bus.c |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

--- a/drivers/net/phy/sfp-bus.c
+++ b/drivers/net/phy/sfp-bus.c
@@ -349,14 +349,13 @@ void sfp_parse_support(struct sfp_bus *b
 	}
 
 	/* If we haven't discovered any modes that this module supports, try
-	 * the encoding and bitrate to determine supported modes. Some BiDi
-	 * modules (eg, 1310nm/1550nm) are not 1000BASE-BX compliant due to
-	 * the differing wavelengths, so do not set any transceiver bits.
+	 * the bitrate to determine supported modes. Some BiDi modules (eg,
+	 * 1310nm/1550nm) are not 1000BASE-BX compliant due to the differing
+	 * wavelengths, so do not set any transceiver bits.
 	 */
 	if (bitmap_empty(modes, __ETHTOOL_LINK_MODE_MASK_NBITS)) {
-		/* If the encoding and bit rate allows 1000baseX */
-		if (id->base.encoding == SFF8024_ENCODING_8B10B && br_nom &&
-		    br_min <= 1300 && br_max >= 1200)
+		/* If the bit rate allows 1000baseX */
+		if (br_nom && br_min <= 1300 && br_max >= 1200)
 			phylink_set(modes, 1000baseX_Full);
 	}
 



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

* [PATCH 5.10 24/25] net: sfp: cope with SFPs that set both LOS normal and LOS inverted
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (22 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 23/25] net: sfp: relax bitrate-derived mode check Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 14:48 ` [PATCH 5.10 25/25] xen/events: fix setting irq affinity Greg Kroah-Hartman
                   ` (10 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Russell King, Andrew Lunn,
	Jakub Kicinski, Pali Rohár

From: Russell King <rmk+kernel@armlinux.org.uk>

commit 624407d2cf14ff58e53bf4b2af9595c4f21d606e upstream.

The SFP MSA defines two option bits in byte 65 to indicate how the
Rx_LOS signal on SFP pin 8 behaves:

bit 2 - Loss of Signal implemented, signal inverted from standard
        definition in SFP MSA (often called "Signal Detect").
bit 1 - Loss of Signal implemented, signal as defined in SFP MSA
        (often called "Rx_LOS").

Clearly, setting both bits results in a meaningless situation: it would
mean that LOS is implemented in both the normal sense (1 = signal loss)
and inverted sense (0 = signal loss).

Unfortunately, there are modules out there which set both bits, which
will be initially interpret as "inverted" sense, and then, if the LOS
signal changes state, we will toggle between LINK_UP and WAIT_LOS
states.

Change our LOS handling to give well defined behaviour: only interpret
these bits as meaningful if exactly one is set, otherwise treat it as
if LOS is not implemented.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/E1kyYQa-0004iR-CU@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Cc: Pali Rohár <pali@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/phy/sfp.c |   36 ++++++++++++++++++++++--------------
 1 file changed, 22 insertions(+), 14 deletions(-)

--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -1501,15 +1501,19 @@ static void sfp_sm_link_down(struct sfp
 
 static void sfp_sm_link_check_los(struct sfp *sfp)
 {
-	unsigned int los = sfp->state & SFP_F_LOS;
+	const __be16 los_inverted = cpu_to_be16(SFP_OPTIONS_LOS_INVERTED);
+	const __be16 los_normal = cpu_to_be16(SFP_OPTIONS_LOS_NORMAL);
+	__be16 los_options = sfp->id.ext.options & (los_inverted | los_normal);
+	bool los = false;
 
 	/* If neither SFP_OPTIONS_LOS_INVERTED nor SFP_OPTIONS_LOS_NORMAL
-	 * are set, we assume that no LOS signal is available.
+	 * are set, we assume that no LOS signal is available. If both are
+	 * set, we assume LOS is not implemented (and is meaningless.)
 	 */
-	if (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_INVERTED))
-		los ^= SFP_F_LOS;
-	else if (!(sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_NORMAL)))
-		los = 0;
+	if (los_options == los_inverted)
+		los = !(sfp->state & SFP_F_LOS);
+	else if (los_options == los_normal)
+		los = !!(sfp->state & SFP_F_LOS);
 
 	if (los)
 		sfp_sm_next(sfp, SFP_S_WAIT_LOS, 0);
@@ -1519,18 +1523,22 @@ static void sfp_sm_link_check_los(struct
 
 static bool sfp_los_event_active(struct sfp *sfp, unsigned int event)
 {
-	return (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_INVERTED) &&
-		event == SFP_E_LOS_LOW) ||
-	       (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_NORMAL) &&
-		event == SFP_E_LOS_HIGH);
+	const __be16 los_inverted = cpu_to_be16(SFP_OPTIONS_LOS_INVERTED);
+	const __be16 los_normal = cpu_to_be16(SFP_OPTIONS_LOS_NORMAL);
+	__be16 los_options = sfp->id.ext.options & (los_inverted | los_normal);
+
+	return (los_options == los_inverted && event == SFP_E_LOS_LOW) ||
+	       (los_options == los_normal && event == SFP_E_LOS_HIGH);
 }
 
 static bool sfp_los_event_inactive(struct sfp *sfp, unsigned int event)
 {
-	return (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_INVERTED) &&
-		event == SFP_E_LOS_HIGH) ||
-	       (sfp->id.ext.options & cpu_to_be16(SFP_OPTIONS_LOS_NORMAL) &&
-		event == SFP_E_LOS_LOW);
+	const __be16 los_inverted = cpu_to_be16(SFP_OPTIONS_LOS_INVERTED);
+	const __be16 los_normal = cpu_to_be16(SFP_OPTIONS_LOS_NORMAL);
+	__be16 los_options = sfp->id.ext.options & (los_inverted | los_normal);
+
+	return (los_options == los_inverted && event == SFP_E_LOS_HIGH) ||
+	       (los_options == los_normal && event == SFP_E_LOS_LOW);
 }
 
 static void sfp_sm_fault(struct sfp *sfp, unsigned int next_state, bool warn)



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

* [PATCH 5.10 25/25] xen/events: fix setting irq affinity
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (23 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 24/25] net: sfp: cope with SFPs that set both LOS normal and LOS inverted Greg Kroah-Hartman
@ 2021-04-15 14:48 ` Greg Kroah-Hartman
  2021-04-15 19:11 ` [PATCH 5.10 00/25] 5.10.31-rc1 review Pavel Machek
                   ` (9 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-15 14:48 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, Juergen Gross

From: Juergen Gross <jgross@suse.com>

The backport of upstream patch 25da4618af240fbec61 ("xen/events: don't
unmask an event channel when an eoi is pending") introduced a
regression for stable kernels 5.10 and older: setting IRQ affinity for
IRQs related to interdomain events would no longer work, as moving the
IRQ to its new cpu was not included in the irq_ack callback for those
events.

Fix that by adding the needed call.

Note that kernels 5.11 and later don't need the explicit moving of the
IRQ to the target cpu in the irq_ack callback, due to a rework of the
affinity setting in kernel 5.11.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/xen/events/events_base.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1809,7 +1809,7 @@ static void lateeoi_ack_dynirq(struct ir
 
 	if (VALID_EVTCHN(evtchn)) {
 		do_mask(info, EVT_MASK_REASON_EOI_PENDING);
-		event_handler_exit(info);
+		ack_dynirq(data);
 	}
 }
 
@@ -1820,7 +1820,7 @@ static void lateeoi_mask_ack_dynirq(stru
 
 	if (VALID_EVTCHN(evtchn)) {
 		do_mask(info, EVT_MASK_REASON_EXPLICIT);
-		event_handler_exit(info);
+		ack_dynirq(data);
 	}
 }
 



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

* Re: [PATCH 5.10 12/25] radix tree test suite: Fix compilation
  2021-04-15 14:48 ` [PATCH 5.10 12/25] radix tree test suite: Fix compilation Greg Kroah-Hartman
@ 2021-04-15 15:12   ` Matthew Wilcox
  2021-04-16  0:06     ` Sasha Levin
  0 siblings, 1 reply; 38+ messages in thread
From: Matthew Wilcox @ 2021-04-15 15:12 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable, Sasha Levin

On Thu, Apr 15, 2021 at 04:48:06PM +0200, Greg Kroah-Hartman wrote:
> From: Matthew Wilcox (Oracle) <willy@infradead.org>
> 
> [ Upstream commit 7487de534dcbe143e6f41da751dd3ffcf93b00ee ]
> 
> Commit 4bba4c4bb09a added tools/include/linux/compiler_types.h which
> includes linux/compiler-gcc.h.  Unfortunately, we had our own (empty)
> compiler_types.h which overrode the one added by that commit, and
> so we lost the definition of __must_be_array().  Removing our empty
> compiler_types.h fixes the problem and reduces our divergence from the
> rest of the tools.

I don't see 4bba4c4bb09a backported to 5.10.y, so I think this will break
compilation of the radix tree test suite.  The corresponding commit for
5.11.y is good, since 5.11.y includes 4bba4c4bb09a.

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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (24 preceding siblings ...)
  2021-04-15 14:48 ` [PATCH 5.10 25/25] xen/events: fix setting irq affinity Greg Kroah-Hartman
@ 2021-04-15 19:11 ` Pavel Machek
  2021-04-15 20:03 ` Andrei Rabusov
                   ` (8 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Pavel Machek @ 2021-04-15 19:11 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: 863 bytes --]

Hi!

> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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 kernel problems here: (some boards
are unavailable)

https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-4.4.y
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-4.19.y
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-5.10.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] 38+ messages in thread

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (25 preceding siblings ...)
  2021-04-15 19:11 ` [PATCH 5.10 00/25] 5.10.31-rc1 review Pavel Machek
@ 2021-04-15 20:03 ` Andrei Rabusov
  2021-04-15 22:42 ` Shuah Khan
                   ` (7 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Andrei Rabusov @ 2021-04-15 20:03 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches, lkft-triage,
	pavel, jonathanh, f.fainelli, stable

On Thu, Apr 15, 2021 at 04:47:54PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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

I found no issues with my i686 (gcc 10.3)
Selftests result [ok/not ok]: 1434/82
No regressions compared to 5.10.30-rc1

Tested-by: Andrei Rabusov <a.rabusov@tum.de>

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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (26 preceding siblings ...)
  2021-04-15 20:03 ` Andrei Rabusov
@ 2021-04-15 22:42 ` Shuah Khan
  2021-04-16  0:52 ` Florian Fainelli
                   ` (6 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Shuah Khan @ 2021-04-15 22:42 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 4/15/21 8:47 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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] 38+ messages in thread

* Re: [PATCH 5.10 12/25] radix tree test suite: Fix compilation
  2021-04-15 15:12   ` Matthew Wilcox
@ 2021-04-16  0:06     ` Sasha Levin
  0 siblings, 0 replies; 38+ messages in thread
From: Sasha Levin @ 2021-04-16  0:06 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: Greg Kroah-Hartman, linux-kernel, stable

On Thu, Apr 15, 2021 at 04:12:36PM +0100, Matthew Wilcox wrote:
>On Thu, Apr 15, 2021 at 04:48:06PM +0200, Greg Kroah-Hartman wrote:
>> From: Matthew Wilcox (Oracle) <willy@infradead.org>
>>
>> [ Upstream commit 7487de534dcbe143e6f41da751dd3ffcf93b00ee ]
>>
>> Commit 4bba4c4bb09a added tools/include/linux/compiler_types.h which
>> includes linux/compiler-gcc.h.  Unfortunately, we had our own (empty)
>> compiler_types.h which overrode the one added by that commit, and
>> so we lost the definition of __must_be_array().  Removing our empty
>> compiler_types.h fixes the problem and reduces our divergence from the
>> rest of the tools.
>
>I don't see 4bba4c4bb09a backported to 5.10.y, so I think this will break
>compilation of the radix tree test suite.  The corresponding commit for
>5.11.y is good, since 5.11.y includes 4bba4c4bb09a.

I'll drop it from 5.10, thanks!

-- 
Thanks,
Sasha

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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (27 preceding siblings ...)
  2021-04-15 22:42 ` Shuah Khan
@ 2021-04-16  0:52 ` Florian Fainelli
  2021-04-16  9:22 ` Jon Hunter
                   ` (5 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Florian Fainelli @ 2021-04-16  0:52 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, lkft-triage, pavel,
	jonathanh, stable



On 4/15/2021 7:47 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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 kernels:

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

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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (28 preceding siblings ...)
  2021-04-16  0:52 ` Florian Fainelli
@ 2021-04-16  9:22 ` Jon Hunter
  2021-04-16  9:38 ` Naresh Kamboju
                   ` (4 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Jon Hunter @ 2021-04-16  9:22 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Greg Kroah-Hartman, torvalds, akpm, linux, shuah, patches,
	lkft-triage, pavel, jonathanh, f.fainelli, stable, linux-tegra

On Thu, 15 Apr 2021 16:47:54 +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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

All tests passing for Tegra ...

Test results for stable-v5.10:
    12 builds:	12 pass, 0 fail
    28 boots:	28 pass, 0 fail
    70 tests:	70 pass, 0 fail

Linux version:	5.10.31-rc1-g32f5704a0a4f
Boards tested:	tegra124-jetson-tk1, tegra186-p2771-0000,
                tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
                tegra20-ventana, tegra210-p2371-2180,
                tegra210-p3450-0000, tegra30-cardhu-a04

Tested-by: Jon Hunter <jonathanh@nvidia.com>

Jon

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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (29 preceding siblings ...)
  2021-04-16  9:22 ` Jon Hunter
@ 2021-04-16  9:38 ` Naresh Kamboju
  2021-04-16 19:48 ` Patrick Mccormick
                   ` (3 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Naresh Kamboju @ 2021-04-16  9:38 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: open list, Shuah Khan, Florian Fainelli, patches, lkft-triage,
	Jon Hunter, linux-stable, Pavel Machek, Andrew Morton,
	Linus Torvalds, Guenter Roeck

On Thu, 15 Apr 2021 at 20:33, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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>

## Build
* kernel: 5.10.31-rc1
* git: ['https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git',
'https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc']
* git branch: linux-5.10.y
* git commit: 32f5704a0a4f7dcc8aa74a49dbcce359d758f6d5
* git describe: v5.10.30-26-g32f5704a0a4f
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.10.y/build/v5.10.30-26-g32f5704a0a4f

## No regressions (compared to v5.10.30)

## No fixes (compared to v5.10.30)

## Test result summary
 total: 72955, pass: 61311, fail: 1785, skip: 9589, xfail: 270,

## Build Summary
* arc: 10 total, 10 passed, 0 failed
* arm: 192 total, 192 passed, 0 failed
* arm64: 26 total, 26 passed, 0 failed
* dragonboard-410c: 1 total, 1 passed, 0 failed
* hi6220-hikey: 1 total, 1 passed, 0 failed
* i386: 25 total, 25 passed, 0 failed
* juno-r2: 1 total, 1 passed, 0 failed
* mips: 45 total, 45 passed, 0 failed
* parisc: 9 total, 9 passed, 0 failed
* powerpc: 27 total, 27 passed, 0 failed
* riscv: 21 total, 21 passed, 0 failed
* s390: 18 total, 18 passed, 0 failed
* sh: 18 total, 18 passed, 0 failed
* sparc: 9 total, 9 passed, 0 failed
* x15: 1 total, 1 passed, 0 failed
* x86: 1 total, 1 passed, 0 failed
* x86_64: 26 total, 26 passed, 0 failed

## Test suites summary
* fwts
* install-android-platform-tools-r2600
* kselftest-
* kselftest-android
* kselftest-bpf
* 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-kexec
* kselftest-kvm
* kselftest-lib
* kselftest-livepatch
* kselftest-lkdtm
* 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-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-splice
* kselftest-static_keys
* kselftest-sync
* kselftest-sysctl
* kselftest-tc-testing
* kselftest-timens
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user
* kselftest-vm
* kselftest-vsyscall-mod[
* kselftest-vsyscall-mode-native-
* kselftest-x86
* kselftest-zram
* kunit
* kvm-unit-tests
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-controllers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-open-posix-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-tracing-tests
* network-basic-tests
* perf
* rcutorture
* ssuite
* v4l2-compliance

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

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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (30 preceding siblings ...)
  2021-04-16  9:38 ` Naresh Kamboju
@ 2021-04-16 19:48 ` Patrick Mccormick
  2021-04-16 19:57 ` Fox Chen
                   ` (2 subsequent siblings)
  34 siblings, 0 replies; 38+ messages in thread
From: Patrick Mccormick @ 2021-04-16 19:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable

We tested on this kernel:

commit 32f5704a0a4f7dcc8aa74a49dbcce359d758f6d5 (HEAD ->
rc/linux-5.10.y, stable_rc/linux-5.10.y)
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Thu Apr 15 16:44:09 2021 +0200

    Linux 5.10.31-rc1

And all tests pass.

Specific tests ran:

ok 1 ltp.py:LTP.test_nptl
ok 2 ltp.py:LTP.test_math
ok 3 ltp.py:LTP.test_dio
ok 4 ltp.py:LTP.test_io
ok 5 ltp.py:LTP.test_power_management_tests
ok 6 ltp.py:LTP.test_can
ok 7 ltp.py:LTP.test_input
ok 8 ltp.py:LTP.test_hugetlb
ok 9 ltp.py:LTP.test_ipc
ok 10 ltp.py:LTP.test_uevent
ok 11 ltp.py:LTP.test_smoketest
ok 12 ltp.py:LTP.test_containers
ok 13 ltp.py:LTP.test_filecaps
ok 14 ltp.py:LTP.test_sched
ok 15 ltp.py:LTP.test_hyperthreading
ok 16 ltp.py:LTP.test_cap_bounds
ok 17 kpatch.sh
ok 18 perf.py:PerfNonPriv.test_perf_help
ok 19 perf.py:PerfNonPriv.test_perf_version
ok 20 perf.py:PerfNonPriv.test_perf_list
ok 21 perf.py:PerfPriv.test_perf_record
ok 22 perf.py:PerfPriv.test_perf_cmd_kallsyms
ok 23 perf.py:PerfPriv.test_perf_cmd_annotate
ok 24 perf.py:PerfPriv.test_perf_cmd_evlist
ok 25 perf.py:PerfPriv.test_perf_cmd_script
ok 26 perf.py:PerfPriv.test_perf_stat
ok 27 perf.py:PerfPriv.test_perf_bench
ok 28 kselftest.py:kselftest.test_sysctl
ok 29 kselftest.py:kselftest.test_size
ok 30 kselftest.py:kselftest.test_sync
ok 31 kselftest.py:kselftest.test_capabilities
ok 32 kselftest.py:kselftest.test_x86
ok 33 kselftest.py:kselftest.test_pidfd
ok 34 kselftest.py:kselftest.test_membarrier
ok 35 kselftest.py:kselftest.test_sigaltstack
ok 36 kselftest.py:kselftest.test_tmpfs
ok 37 kselftest.py:kselftest.test_user
ok 38 kselftest.py:kselftest.test_sched
ok 39 kselftest.py:kselftest.test_timens
ok 40 kselftest.py:kselftest.test_timers

Tested-By: Patrick McCormick <pmccormick@digitalocean.com>

On Thu, Apr 15, 2021 at 8:06 AM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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.31-rc1
>
> Juergen Gross <jgross@suse.com>
>     xen/events: fix setting irq affinity
>
> Russell King <rmk+kernel@armlinux.org.uk>
>     net: sfp: cope with SFPs that set both LOS normal and LOS inverted
>
> Russell King <rmk+kernel@armlinux.org.uk>
>     net: sfp: relax bitrate-derived mode check
>
> Arnaldo Carvalho de Melo <acme@redhat.com>
>     perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches
>
> Florian Westphal <fw@strlen.de>
>     netfilter: x_tables: fix compat match/target pad out-of-bound write
>
> Pavel Begunkov <asml.silence@gmail.com>
>     block: don't ignore REQ_NOWAIT for direct IO
>
> Zihao Yu <yuzihao@ict.ac.cn>
>     riscv,entry: fix misaligned base for excp_vect_table
>
> Jens Axboe <axboe@kernel.dk>
>     io_uring: don't mark S_ISBLK async work as unbounded
>
> Damien Le Moal <damien.lemoal@wdc.com>
>     null_blk: fix command timeout completion handling
>
> Matthew Wilcox (Oracle) <willy@infradead.org>
>     idr test suite: Create anchor before launching throbber
>
> Matthew Wilcox (Oracle) <willy@infradead.org>
>     idr test suite: Take RCU read lock in idr_find_test_1
>
> Matthew Wilcox (Oracle) <willy@infradead.org>
>     radix tree test suite: Register the main thread with the RCU library
>
> Yufen Yu <yuyufen@huawei.com>
>     block: only update parent bi_status when bio fail
>
> Matthew Wilcox (Oracle) <willy@infradead.org>
>     radix tree test suite: Fix compilation
>
> Matthew Wilcox (Oracle) <willy@infradead.org>
>     XArray: Fix splitting to non-zero orders
>
> Mikko Perttunen <mperttunen@nvidia.com>
>     gpu: host1x: Use different lock classes for each client
>
> Dmitry Osipenko <digetx@gmail.com>
>     drm/tegra: dc: Don't set PLL clock to 0Hz
>
> Stefan Raspl <raspl@linux.ibm.com>
>     tools/kvm_stat: Add restart delay
>
> Steven Rostedt (VMware) <rostedt@goodmis.org>
>     ftrace: Check if pages were allocated before calling free_pages()
>
> Bob Peterson <rpeterso@redhat.com>
>     gfs2: report "already frozen/thawed" errors
>
> Arnd Bergmann <arnd@arndb.de>
>     drm/imx: imx-ldb: fix out of bounds array access warning
>
> Suzuki K Poulose <suzuki.poulose@arm.com>
>     KVM: arm64: Disable guest access to trace filter controls
>
> Suzuki K Poulose <suzuki.poulose@arm.com>
>     KVM: arm64: Hide system instruction access to Trace registers
>
> Andrew Price <anprice@redhat.com>
>     gfs2: Flag a withdraw if init_threads() fails
>
> Jia-Ju Bai <baijiaju1990@gmail.com>
>     interconnect: core: fix error return code of icc_link_destroy()
>
>
> -------------
>
> Diffstat:
>
>  Makefile                                        |  4 +--
>  arch/arm64/include/asm/kvm_arm.h                |  1 +
>  arch/arm64/kernel/cpufeature.c                  |  1 -
>  arch/arm64/kvm/debug.c                          |  2 ++
>  arch/riscv/kernel/entry.S                       |  1 +
>  block/bio.c                                     |  2 +-
>  drivers/block/null_blk.h                        |  1 +
>  drivers/block/null_blk_main.c                   | 26 ++++++++++++++----
>  drivers/gpu/drm/imx/imx-ldb.c                   | 10 +++++++
>  drivers/gpu/drm/tegra/dc.c                      | 10 +++----
>  drivers/gpu/host1x/bus.c                        | 10 ++++---
>  drivers/interconnect/core.c                     |  2 ++
>  drivers/net/phy/sfp-bus.c                       | 11 ++++----
>  drivers/net/phy/sfp.c                           | 36 +++++++++++++++----------
>  drivers/xen/events/events_base.c                |  4 +--
>  fs/block_dev.c                                  |  4 +++
>  fs/gfs2/super.c                                 | 14 ++++++----
>  fs/io_uring.c                                   |  2 +-
>  include/linux/host1x.h                          |  9 ++++++-
>  kernel/trace/ftrace.c                           |  9 ++++---
>  lib/test_xarray.c                               | 26 +++++++++---------
>  lib/xarray.c                                    |  4 +--
>  net/ipv4/netfilter/arp_tables.c                 |  2 ++
>  net/ipv4/netfilter/ip_tables.c                  |  2 ++
>  net/ipv6/netfilter/ip6_tables.c                 |  2 ++
>  net/netfilter/x_tables.c                        | 10 ++-----
>  tools/kvm/kvm_stat/kvm_stat.service             |  1 +
>  tools/perf/util/map.c                           |  7 +++--
>  tools/testing/radix-tree/idr-test.c             | 10 +++++--
>  tools/testing/radix-tree/linux/compiler_types.h |  0
>  tools/testing/radix-tree/multiorder.c           |  2 ++
>  tools/testing/radix-tree/xarray.c               |  2 ++
>  32 files changed, 149 insertions(+), 78 deletions(-)
>
>

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

* RE: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (31 preceding siblings ...)
  2021-04-16 19:48 ` Patrick Mccormick
@ 2021-04-16 19:57 ` Fox Chen
  2021-04-16 20:07 ` Sudip Mukherjee
  2021-04-17  1:01 ` Samuel Zou
  34 siblings, 0 replies; 38+ messages in thread
From: Fox Chen @ 2021-04-16 19:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman

On Thu, 15 Apr 2021 16:47:54 +0200, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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
> 

5.10.31-rc1 Successfully Compiled and booted on my Raspberry PI 4b (8g) (bcm2711)
                
Tested-by: Fox Chen <foxhlchen@gmail.com>


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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (32 preceding siblings ...)
  2021-04-16 19:57 ` Fox Chen
@ 2021-04-16 20:07 ` Sudip Mukherjee
  2021-04-17  1:01 ` Samuel Zou
  34 siblings, 0 replies; 38+ messages in thread
From: Sudip Mukherjee @ 2021-04-16 20:07 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches, lkft-triage,
	pavel, jonathanh, f.fainelli, stable

Hi Greg,

On Thu, Apr 15, 2021 at 04:47:54PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +0000.
> Anything received after that time might be too late.

Build test:
mips (gcc version 10.3.1 20210416): 63 configs -> no new failure
arm (gcc version 10.3.1 20210416): 105 configs -> no new failure
x86_64 (gcc version 10.2.1 20210110): 2 configs -> no failure

Boot test:
x86_64: Booted on my test laptop. No regression.
x86_64: Booted on qemu. No regression.
arm: Booted on rpi3b. No regression.

Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>

--
Regards
Sudip

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

* Re: [PATCH 5.10 00/25] 5.10.31-rc1 review
  2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
                   ` (33 preceding siblings ...)
  2021-04-16 20:07 ` Sudip Mukherjee
@ 2021-04-17  1:01 ` Samuel Zou
  34 siblings, 0 replies; 38+ messages in thread
From: Samuel Zou @ 2021-04-17  1:01 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, lkft-triage, pavel,
	jonathanh, f.fainelli, stable



On 2021/4/15 22:47, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.10.31 release.
> There are 25 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, 17 Apr 2021 14:44:01 +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.31-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
> 

Tested on arm64 and x86 for 5.10.31-rc1,

Kernel repo:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Branch: linux-5.10.y
Version: 5.10.31-rc1
Commit: 32f5704a0a4f7dcc8aa74a49dbcce359d758f6d5
Compiler: gcc version 7.3.0 (GCC)

arm64:
--------------------------------------------------------------------
Testcase Result Summary:
total: 5764
passed: 5764
failed: 0
timeout: 0
--------------------------------------------------------------------

x86:
--------------------------------------------------------------------
Testcase Result Summary:
total: 5764
passed: 5764
failed: 0
timeout: 0
--------------------------------------------------------------------

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

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

end of thread, other threads:[~2021-04-17  1:01 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-15 14:47 [PATCH 5.10 00/25] 5.10.31-rc1 review Greg Kroah-Hartman
2021-04-15 14:47 ` [PATCH 5.10 01/25] interconnect: core: fix error return code of icc_link_destroy() Greg Kroah-Hartman
2021-04-15 14:47 ` [PATCH 5.10 02/25] gfs2: Flag a withdraw if init_threads() fails Greg Kroah-Hartman
2021-04-15 14:47 ` [PATCH 5.10 03/25] KVM: arm64: Hide system instruction access to Trace registers Greg Kroah-Hartman
2021-04-15 14:47 ` [PATCH 5.10 04/25] KVM: arm64: Disable guest access to trace filter controls Greg Kroah-Hartman
2021-04-15 14:47 ` [PATCH 5.10 05/25] drm/imx: imx-ldb: fix out of bounds array access warning Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 06/25] gfs2: report "already frozen/thawed" errors Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 07/25] ftrace: Check if pages were allocated before calling free_pages() Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 08/25] tools/kvm_stat: Add restart delay Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 09/25] drm/tegra: dc: Dont set PLL clock to 0Hz Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 10/25] gpu: host1x: Use different lock classes for each client Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 11/25] XArray: Fix splitting to non-zero orders Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 12/25] radix tree test suite: Fix compilation Greg Kroah-Hartman
2021-04-15 15:12   ` Matthew Wilcox
2021-04-16  0:06     ` Sasha Levin
2021-04-15 14:48 ` [PATCH 5.10 13/25] block: only update parent bi_status when bio fail Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 14/25] radix tree test suite: Register the main thread with the RCU library Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 15/25] idr test suite: Take RCU read lock in idr_find_test_1 Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 16/25] idr test suite: Create anchor before launching throbber Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 17/25] null_blk: fix command timeout completion handling Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 18/25] io_uring: dont mark S_ISBLK async work as unbounded Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 19/25] riscv,entry: fix misaligned base for excp_vect_table Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 20/25] block: dont ignore REQ_NOWAIT for direct IO Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 21/25] netfilter: x_tables: fix compat match/target pad out-of-bound write Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 22/25] perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 23/25] net: sfp: relax bitrate-derived mode check Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 24/25] net: sfp: cope with SFPs that set both LOS normal and LOS inverted Greg Kroah-Hartman
2021-04-15 14:48 ` [PATCH 5.10 25/25] xen/events: fix setting irq affinity Greg Kroah-Hartman
2021-04-15 19:11 ` [PATCH 5.10 00/25] 5.10.31-rc1 review Pavel Machek
2021-04-15 20:03 ` Andrei Rabusov
2021-04-15 22:42 ` Shuah Khan
2021-04-16  0:52 ` Florian Fainelli
2021-04-16  9:22 ` Jon Hunter
2021-04-16  9:38 ` Naresh Kamboju
2021-04-16 19:48 ` Patrick Mccormick
2021-04-16 19:57 ` Fox Chen
2021-04-16 20:07 ` Sudip Mukherjee
2021-04-17  1:01 ` Samuel Zou

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.