5.10.95-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 5.10.95-rc1 review
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +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.95-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 <[email protected]>
Linux 5.10.95-rc1
Jan Kara <[email protected]>
select: Fix indefinitely sleeping task in poll_schedule_timeout()
David Matlack <[email protected]>
KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU
Paul E. McKenney <[email protected]>
rcu: Tighten rcu_advance_cbs_nowake() checks
Manish Chopra <[email protected]>
bnx2x: Invalidate fastpath HSI version for VFs
Manish Chopra <[email protected]>
bnx2x: Utilize firmware 7.13.21.0
Tvrtko Ursulin <[email protected]>
drm/i915: Flush TLBs before releasing backing store
-------------
Diffstat:
Makefile | 4 +- arch/x86/kvm/mmu/tdp_mmu.c | 6 +- drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 1 + drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 ++ drivers/gpu/drm/i915/gt/intel_gt.c | 102 +++++++++++++++++++++ drivers/gpu/drm/i915/gt/intel_gt.h | 2 + drivers/gpu/drm/i915/gt/intel_gt_types.h | 2 + drivers/gpu/drm/i915/i915_reg.h | 11 +++ drivers/gpu/drm/i915/i915_vma.c | 3 + drivers/gpu/drm/i915/intel_uncore.c | 26 +++++- drivers/gpu/drm/i915/intel_uncore.h | 2 + drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 11 ++- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 6 +- .../net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h | 2 + drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | 3 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 75 ++++++++++----- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 13 ++- fs/select.c | 63 +++++++------ kernel/rcu/tree.c | 7 +- 19 files changed, 277 insertions(+), 72 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/6 drm/i915: Flush TLBs before releasing backing store
From: Tvrtko Ursulin <[email protected]>
commit 7938d61591d33394a21bdd7797a245b65428f44c upstream.
We need to flush TLBs before releasing backing store otherwise userspace is able to encounter stale entries if a) it is not declaring access to certain buffers and b) it races with the backing store release from a such undeclared execution already executing on the GPU in parallel.
The approach taken is to mark any buffer objects which were ever bound to the GPU and to trigger a serialized TLB flush when their backing store is released.
Alternatively the flushing could be done on VMA unbind, at which point we would be able to ascertain whether there is potential a parallel GPU execution (which could race), but essentially it boils down to paying the cost of TLB flushes potentially needlessly at VMA unbind time (when the backing store is not known to be going away so not needed for safety), versus potentially needlessly at backing store relase time (since we at that point cannot tell whether there is anything executing on the GPU which uses that object).
Thereforce simplicity of implementation has been chosen for now with scope to benchmark and refine later as required.
--- drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 1 drivers/gpu/drm/i915/gem/i915_gem_pages.c | 10 ++ drivers/gpu/drm/i915/gt/intel_gt.c | 102 +++++++++++++++++++++++ drivers/gpu/drm/i915/gt/intel_gt.h | 2 drivers/gpu/drm/i915/gt/intel_gt_types.h | 2 drivers/gpu/drm/i915/i915_reg.h | 11 ++ drivers/gpu/drm/i915/i915_vma.c | 3 drivers/gpu/drm/i915/intel_uncore.c | 26 ++++- drivers/gpu/drm/i915/intel_uncore.h | 2 9 files changed, 155 insertions(+), 4 deletions(-)
drivers/gpu/drm/i915/gem/i915_gem_object_types.h +1 -0
@@ -159,6 +159,7 @@ struct drm_i915_gem_object {#define I915_BO_ALLOC_VOLATILE BIT(1)#define I915_BO_ALLOC_FLAGS (I915_BO_ALLOC_CONTIGUOUS | I915_BO_ALLOC_VOLATILE)#define I915_BO_READONLY BIT(2) +#define I915_BO_WAS_BOUND_BIT 3/* * Is the object to be mapped as read-only to the GPU
drivers/gpu/drm/i915/gem/i915_gem_pages.c +10 -0
@@ -10,6 +10,8 @@#include "i915_gem_lmem.h" #include "i915_gem_mman.h" +#include "gt/intel_gt.h" +void __i915_gem_object_set_pages (struct drm_i915_gem_object *obj,struct sg_table *pages,unsigned int sg_page_sizes)
@@ -186,6 +188,14 @@ __i915_gem_object_unset_pages(struct drm__i915_gem_object_reset_page_iter (obj); obj->mm.page_sizes.phys = obj->mm.page_sizes.sg =0 ; +if (test_and_clear_bit (I915_BO_WAS_BOUND_BIT , &obj->flags)) { +struct drm_i915_private *i915 =to_i915 (obj->base.dev); +intel_wakeref_t wakeref; + + with_intel_runtime_pm_if_active(&i915->runtime_pm, wakeref) +intel_gt_invalidate_tlbs (&i915->gt); + } +return pages; }
drivers/gpu/drm/i915/gt/intel_gt.c +102 -0
111 lines not on this page · raw message
drivers/gpu/drm/i915/gt/intel_gt.h +2 -0
@@ -77,4 +77,6 @@ static inline bool intel_gt_is_wedged(covoid intel_gt_info_print (const struct intel_gt_info *info,struct drm_printer *p); +void intel_gt_invalidate_tlbs (struct intel_gt *gt); +#endif /* __INTEL_GT_H__ */
drivers/gpu/drm/i915/gt/intel_gt_types.h +2 -0
@@ -36,6 +36,8 @@ struct intel_gt {struct intel_uc uc; +struct mutex tlb_invalidate_lock; +struct intel_gt_timelines {spinlock_t lock;/* protects active_list */ struct list_head active_list;
drivers/gpu/drm/i915/i915_reg.h +11 -0
@@ -2639,6 +2639,12 @@ static inline bool i915_mmio_reg_valid(i#define GAMT_CHKN_DISABLE_DYNAMIC_CREDIT_SHARING (1 << 28)#define GAMT_CHKN_DISABLE_I2M_CYCLE_ON_WR_PORT (1 << 24) +#define GEN8_RTCR _MMIO(0x4260) +#define GEN8_M1TCR _MMIO(0x4264) +#define GEN8_M2TCR _MMIO(0x4268) +#define GEN8_BTCR _MMIO(0x426c) +#define GEN8_VTCR _MMIO(0x4270) +#if 0 #define PRB0_TAIL _MMIO(0x2030)#define PRB0_HEAD _MMIO(0x2034)
@@ -2728,6 +2734,11 @@ static inline bool i915_mmio_reg_valid(i#define FAULT_VA_HIGH_BITS (0xf << 0)#define FAULT_GTT_SEL (1 << 4) +#define GEN12_GFX_TLB_INV_CR _MMIO(0xced8) +#define GEN12_VD_TLB_INV_CR _MMIO(0xcedc) +#define GEN12_VE_TLB_INV_CR _MMIO(0xcee0) +#define GEN12_BLT_TLB_INV_CR _MMIO(0xcee4) +#define GEN12_AUX_ERR_DBG _MMIO(0x43f4)#define FPGA_DBG _MMIO(0x42300)
drivers/gpu/drm/i915/i915_vma.c +3 -0
@@ -439,6 +439,9 @@ int i915_vma_bind(struct i915_vma *vma, vma->ops->bind_vma (vma->vm,NULL , vma, cache_level, bind_flags); } +if (vma->obj) +set_bit (I915_BO_WAS_BOUND_BIT , &vma->obj->flags); +atomic_or (bind_flags, &vma->flags);return 0 ; }
drivers/gpu/drm/i915/intel_uncore.c +22 -4
@@ -694,7 +694,8 @@ void intel_uncore_forcewake_get__locked( }static void __intel_uncore_forcewake_put (struct intel_uncore *uncore, -enum forcewake_domains fw_domains) +enum forcewake_domains fw_domains, +bool delayed) {struct intel_uncore_forcewake_domain *domain;unsigned int tmp;
@@ -709,7 +710,11 @@ static void __intel_uncore_forcewake_putcontinue ; } - uncore->funcs.force_wake_put (uncore, domain->mask); +if (delayed && + !(domain->uncore->fw_domains_timer & domain->mask)) +fw_domain_arm_timer (domain); +else + uncore->funcs.force_wake_put (uncore, domain->mask); } }
@@ -730,7 +735,20 @@ void intel_uncore_forcewake_put(struct ireturn ;spin_lock_irqsave (&uncore->lock, irqflags); -__intel_uncore_forcewake_put (uncore, fw_domains); +__intel_uncore_forcewake_put (uncore, fw_domains, false); +spin_unlock_irqrestore (&uncore->lock, irqflags); +} + +void intel_uncore_forcewake_put_delayed (struct intel_uncore *uncore, +enum forcewake_domains fw_domains) +{ +unsigned long irqflags; + +if (!uncore->funcs.force_wake_put) +return ; + +spin_lock_irqsave (&uncore->lock, irqflags); +__intel_uncore_forcewake_put (uncore, fw_domains, true);spin_unlock_irqrestore (&uncore->lock, irqflags); }
@@ -772,7 +790,7 @@ void intel_uncore_forcewake_put__locked(if (!uncore->funcs.force_wake_put)return ; -__intel_uncore_forcewake_put (uncore, fw_domains); +__intel_uncore_forcewake_put (uncore, fw_domains, false); }void assert_forcewakes_inactive (struct intel_uncore *uncore)
drivers/gpu/drm/i915/intel_uncore.h +2 -0
@@ -211,6 +211,8 @@ void intel_uncore_forcewake_get(struct i enum forcewake_domains domains);void intel_uncore_forcewake_put (struct intel_uncore *uncore,enum forcewake_domains domains); +void intel_uncore_forcewake_put_delayed (struct intel_uncore *uncore, +enum forcewake_domains domains);void intel_uncore_forcewake_flush (struct intel_uncore *uncore,enum forcewake_domains fw_domains);
Greg Kroah-Hartman
maintainerPATCH 2/6 bnx2x: Utilize firmware 7.13.21.0
In reply to Greg Kroah-HartmanFrom: Manish Chopra <[email protected]>
commit b7a49f73059fe6147b6b78e8f674ce0d21237432 upstream
This new firmware addresses few important issues and enhancements as mentioned below -
- Support direct invalidation of FP HSI Ver per function ID, required for invalidating FP HSI Ver prior to each VF start, as there is no VF start
- BRB hardware block parity error detection support for the driver
- Fix the FCOE underrun flow
- Fix PSOD during FCoE BFS over the NIC ports after preboot driver
- Maintains backward compatibility
This patch incorporates this new firmware 7.13.21.0 in bnx2x driver.
--- drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 11 ++ drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 6 - drivers/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h | 2 drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h | 3 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 75 ++++++++++++++------ 5 files changed, 69 insertions(+), 28 deletions(-)
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h +10 -1
@@ -1850,6 +1850,14 @@ struct bnx2x {/* Vxlan/Geneve related information */ u16 udp_tunnel_ports[BNX2X_UDP_PORT_MAX ]; + +#define FW_CAP_INVALIDATE_VF_FP_HSI BIT(0) +u32 fw_cap; + +u32 fw_major; +u32 fw_minor; +u32 fw_rev; +u32 fw_eng; };/* Tx queues may be less or equal to Rx queues */
@@ -2526,5 +2534,6 @@ void bnx2x_register_phc(struct bnx2x *bp* Meant for implicit re-load flows. */ int bnx2x_vlan_reconfigure_vid (struct bnx2x *bp); - +int bnx2x_init_firmware (struct bnx2x *bp); +void bnx2x_release_firmware (struct bnx2x *bp);#endif /* bnx2x.h */
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +2 -4
@@ -2364,10 +2364,8 @@ int bnx2x_compare_fw_ver(struct bnx2x *bif (load_code !=FW_MSG_CODE_DRV_LOAD_COMMON_CHIP && load_code !=FW_MSG_CODE_DRV_LOAD_COMMON ) {/* build my FW version dword */ -u32 my_fw = (BCM_5710_FW_MAJOR_VERSION ) + - (BCM_5710_FW_MINOR_VERSION <<8 ) + - (BCM_5710_FW_REVISION_VERSION <<16 ) + - (BCM_5710_FW_ENGINEERING_VERSION <<24 ); +u32 my_fw = (bp->fw_major) + (bp->fw_minor <<8 ) + + (bp->fw_rev <<16 ) + (bp->fw_eng <<24 );/* read loaded FW from chip */ u32 loaded_fw =REG_RD (bp,XSEM_REG_PRAM );
drivers/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h +2 -0
@@ -241,6 +241,8 @@ IRO[221].m2))#define XSTORM_VF_TO_PF_OFFSET (funcId) \ (IRO[48].base + ((funcId) * IRO[48].m1)) +#define XSTORM_ETH_FUNCTION_INFO_FP_HSI_VALID_E2_OFFSET (fid) \ + (IRO[386].base + ((fid) * IRO[386].m1))#define COMMON_ASM_INVALID_ASSERT_OPCODE 0x0/* eth hsi version */
drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h +2 -1
@@ -3024,7 +3024,8 @@ struct afex_stats {#define BCM_5710_FW_MAJOR_VERSION 7#define BCM_5710_FW_MINOR_VERSION 13 -#define BCM_5710_FW_REVISION_VERSION 15 +#define BCM_5710_FW_REVISION_VERSION 21 +#define BCM_5710_FW_REVISION_VERSION_V15 15#define BCM_5710_FW_ENGINEERING_VERSION 0#define BCM_5710_FW_COMPILE_FLAGS 1
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +53 -22
146 lines not on this page · raw message
Greg Kroah-Hartman
maintainerPATCH 3/6 bnx2x: Invalidate fastpath HSI version for VFs
In reply to Greg Kroah-HartmanFrom: Manish Chopra <[email protected]>
commit 802d4d207e75d7208ff75adb712b556c1e91cf1c upstream
Commit 0a6890b9b4df ("bnx2x: Utilize FW 7.13.15.0.") added validation for fastpath HSI versions for different client init which was not meant for SR-IOV VF clients, which resulted in firmware asserts when running VF clients with different fastpath HSI version.
This patch along with the new firmware support in patch #1 fixes this behavior in order to not validate fastpath HSI version for the VFs.
--- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +11 -2
@@ -758,9 +758,18 @@ static void bnx2x_vf_igu_reset(struct bnvoid bnx2x_vf_enable_access (struct bnx2x *bp,u8 abs_vfid) { +u16 abs_fid; + + abs_fid =FW_VF_HANDLE (abs_vfid); +/* set the VF-PF association in the FW */ -storm_memset_vf_to_pf (bp,FW_VF_HANDLE (abs_vfid),BP_FUNC (bp)); -storm_memset_func_en (bp,FW_VF_HANDLE (abs_vfid),1 ); +storm_memset_vf_to_pf (bp, abs_fid,BP_FUNC (bp)); +storm_memset_func_en (bp, abs_fid,1 ); + +/* Invalidate fp_hsi version for vfs */ +if (bp->fw_cap &FW_CAP_INVALIDATE_VF_FP_HSI ) +REG_WR8 (bp,BAR_XSTRORM_INTMEM + +XSTORM_ETH_FUNCTION_INFO_FP_HSI_VALID_E2_OFFSET (abs_fid),0 );/* clear vf errors*/ bnx2x_vf_semi_clear_err (bp, abs_vfid);
Greg Kroah-Hartman
maintainerPATCH 4/6 rcu: Tighten rcu_advance_cbs_nowake() checks
In reply to Greg Kroah-HartmanFrom: Paul E. McKenney <[email protected]>
commit 614ddad17f22a22e035e2ea37a04815f50362017 upstream.
Currently, rcu_advance_cbs_nowake() checks that a grace period is in progress, however, that grace period could end just after the check. This commit rechecks that a grace period is still in progress while holding the rcu_node structure's lock. The grace period cannot end while the current CPU's rcu_node structure's ->lock is held, thus avoiding false positives from the WARN_ON_ONCE().
As Daniel Vacek noted, it is not necessary for the rcu_node structure to have a CPU that has not yet passed through its quiescent state.
--- kernel/rcu/tree.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
kernel/rcu/tree.c +4 -3
@@ -1581,10 +1581,11 @@ static void __maybe_unused rcu_advance_c struct rcu_data *rdp) {rcu_lockdep_assert_cblist_protected (rdp); -if (!rcu_seq_state (rcu_seq_current (&rnp->gp_seq)) || - !raw_spin_trylock_rcu_node (rnp)) +if (!rcu_seq_state (rcu_seq_current (&rnp->gp_seq)) || !raw_spin_trylock_rcu_node (rnp))return ; -WARN_ON_ONCE (rcu_advance_cbs (rnp, rdp)); +// The grace period cannot end while we hold the rcu_node lock. +if (rcu_seq_state (rcu_seq_current (&rnp->gp_seq))) +WARN_ON_ONCE (rcu_advance_cbs (rnp, rdp));raw_spin_unlock_rcu_node (rnp); }
Greg Kroah-Hartman
maintainerPATCH 5/6 KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU
In reply to Greg Kroah-HartmanFrom: David Matlack <[email protected]>
commit 7c8a4742c4abe205ec9daf416c9d42fd6b406e8e upstream.
When the TDP MMU is write-protection GFNs for page table protection (as opposed to for dirty logging, or due to the HVA not being writable), it checks if the SPTE is already write-protected and if so skips modifying the SPTE and the TLB flush.
This behavior is incorrect because it fails to check if the SPTE is write-protected for page table protection, i.e. fails to check that MMU-writable is '0'. If the SPTE was write-protected for dirty logging but not page table protection, the SPTE could locklessly be made writable, and vCPUs could still be running with writable mappings cached in their TLB.
Fix this by only skipping setting the SPTE if the SPTE is already write-protected *and* MMU-writable is already clear. Technically, checking only MMU-writable would suffice; a SPTE cannot be writable without MMU-writable being set. But check both to be paranoid and because it arguably yields more readable code.
Message-Id: <[email protected]>
--- arch/x86/kvm/mmu/tdp_mmu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
arch/x86/kvm/mmu/tdp_mmu.c +3 -3
@@ -1130,12 +1130,12 @@ static bool write_protect_gfn(struct kvmbool spte_set = false;tdp_root_for_each_leaf_pte (iter, root, gfn, gfn +1 ) { -if (!is_writable_pte (iter.old_spte)) -break ; - new_spte = iter.old_spte & ~(PT_WRITABLE_MASK |SPTE_MMU_WRITEABLE ); +if (new_spte == iter.old_spte) +break ; +tdp_mmu_set_spte (kvm, &iter, new_spte); spte_set = true; }
Greg Kroah-Hartman
maintainerPATCH 6/6 select: Fix indefinitely sleeping task in poll_schedule_timeout()
In reply to Greg Kroah-HartmanFrom: Jan Kara <[email protected]>
commit 68514dacf2715d11b91ca50d88de047c086fea9c upstream.
A task can end up indefinitely sleeping in do_select() -> poll_schedule_timeout() when the following race happens:
TASK1 (thread1) TASK2 TASK1 (thread2)
do_select()
setup poll_wqueues table
with 'fd'
write data to 'fd'
pollwake()
table->triggered = 1
closes 'fd' thread1 is
waiting for
poll_schedule_timeout()
- sees table->triggered
table->triggered = 0
return -EINTR
loop back in do_select()
But at this point when TASK1 loops back, the fdget() in the setup of poll_wqueues fails. So now so we never find 'fd' is ready for reading and sleep in poll_schedule_timeout() indefinitely.
Treat an fd that got closed as a fd on which some event happened. This makes sure cannot block indefinitely in do_select().
Another option would be to return -EBADF in this case but that has a potential of subtly breaking applications that excercise this behavior and it happens to work for them. So returning fd as active seems like a safer choice.
--- fs/select.c | 63 +++++++++++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 30 deletions(-)
fs/select.c +33 -30
@@ -458,9 +458,11 @@ get_max:return max; } -#define POLLIN_SET (EPOLLRDNORM | EPOLLRDBAND | EPOLLIN | EPOLLHUP | EPOLLERR) -#define POLLOUT_SET (EPOLLWRBAND | EPOLLWRNORM | EPOLLOUT | EPOLLERR) -#define POLLEX_SET (EPOLLPRI) +#define POLLIN_SET (EPOLLRDNORM | EPOLLRDBAND | EPOLLIN | EPOLLHUP | EPOLLERR |\ + EPOLLNVAL) +#define POLLOUT_SET (EPOLLWRBAND | EPOLLWRNORM | EPOLLOUT | EPOLLERR |\ + EPOLLNVAL) +#define POLLEX_SET (EPOLLPRI | EPOLLNVAL) static inline void wait_key_set(poll_table *wait, unsigned long in, unsigned long out, unsigned long bit,
@@ -527,6 +529,7 @@ static int do_select(int n, fd_set_bitsbreak ;if (!(bit & all_bits))continue ; + mask =EPOLLNVAL ; f =fdget (i);if (f.file) { wait_key_set(wait, in, out, bit,
@@ -534,34 +537,34 @@ static int do_select(int n, fd_set_bits mask =vfs_poll (f.file, wait);fdput (f); -if ((mask &POLLIN_SET ) && (in & bit)) { - res_in |= bit; - retval++; - wait->_qproc =NULL ; - } -if ((mask &POLLOUT_SET ) && (out & bit)) { - res_out |= bit; - retval++; - wait->_qproc =NULL ; - } -if ((mask &POLLEX_SET ) && (ex & bit)) { - res_ex |= bit; - retval++; - wait->_qproc =NULL ; - } -/* got something, stop busy polling */ -if (retval) { - can_busy_loop = false; - busy_flag =0 ; - -/* -* only remember a returned -* POLL_BUSY_LOOP if we asked for it -*/ - }else if (busy_flag & mask) - can_busy_loop = true; - } +if ((mask &POLLIN_SET ) && (in & bit)) { + res_in |= bit; + retval++; + wait->_qproc =NULL ; + } +if ((mask &POLLOUT_SET ) && (out & bit)) { + res_out |= bit; + retval++; + wait->_qproc =NULL ; + } +if ((mask &POLLEX_SET ) && (ex & bit)) { + res_ex |= bit; + retval++; + wait->_qproc =NULL ; + } +/* got something, stop busy polling */ +if (retval) { + can_busy_loop = false; + busy_flag =0 ; + +/* +* only remember a returned +* POLL_BUSY_LOOP if we asked for it +*/ + }else if (busy_flag & mask) + can_busy_loop = true; + }if (res_in) *rinp = res_in;
Hi!
Quoted 4 lines
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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 new kernel problems here (but we still hit the gmp.h compilation issue):
CIP testing did not find any problems here:
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-5.10.y
Best regards,
Pavel
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.95-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-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:
Signature · 1 line
Florian
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.95-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.10.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.95-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-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:
10 builds: 10 pass, 0 fail
28 boots: 28 pass, 0 fail
75 tests: 75 pass, 0 failLinux version: 5.10.95-rc1-ga2441d7f51b1
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-a04Jon
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.95-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-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.
## Build
* kernel: 5.10.95-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git branch: linux-5.10.y
* git commit: a2441d7f51b176a085cf4ea62e1071ffb4dfcf2c
* git describe: v5.10.94-7-ga2441d7f51b1
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.10.y/build/v5.10.94-7-ga2441d7f51b1
## Test Regressions (compared to v5.10.93-561-gf32eb088b139) No test regressions found.
## Metric Regressions (compared to v5.10.93-561-gf32eb088b139) No metric regressions found.
## Test Fixes (compared to v5.10.93-561-gf32eb088b139) No test fixes found.
## Metric Fixes (compared to v5.10.93-561-gf32eb088b139) No metric fixes found.
## Test result summary
total: 84455, pass: 72139, fail: 461, skip: 11140, xfail: 715
## Build Summary
* arc: 10 total, 10 passed, 0 failed
* arm: 259 total, 259 passed, 0 failed
* arm64: 37 total, 37 passed, 0 failed
* dragonboard-410c: 1 total, 1 passed, 0 failed
* hi6220-hikey: 1 total, 1 passed, 0 failed
* i386: 36 total, 36 passed, 0 failed
* juno-r2: 1 total, 1 passed, 0 failed
* mips: 34 total, 34 passed, 0 failed
* parisc: 12 total, 12 passed, 0 failed
* powerpc: 52 total, 46 passed, 6 failed
* riscv: 24 total, 22 passed, 2 failed
* s390: 18 total, 18 passed, 0 failed
* sh: 24 total, 24 passed, 0 failed
* sparc: 12 total, 12 passed, 0 failed
* x15: 1 total, 1 passed, 0 failed
* x86: 1 total, 1 passed, 0 failed
* x86_64: 37 total, 37 passed, 0 failed
## Test suites summary
* fwts
* igt-gpu-tools
* kselftest-android
* kselftest-arm64
* kselftest-arm64/arm64.btitest.bti_c_func
* kselftest-arm64/arm64.btitest.bti_j_func
* kselftest-arm64/arm64.btitest.bti_jc_func
* kselftest-arm64/arm64.btitest.bti_none_func
* kselftest-arm64/arm64.btitest.nohint_func
* kselftest-arm64/arm64.btitest.paciasp_func
* kselftest-arm64/arm64.nobtitest.bti_c_func
* kselftest-arm64/arm64.nobtitest.bti_j_func
* kselftest-arm64/arm64.nobtitest.bti_jc_func
* kselftest-arm64/arm64.nobtitest.bti_none_func
* kselftest-arm64/arm64.nobtitest.nohint_func
* kselftest-arm64/arm64.nobtitest.paciasp_func
* kselftest-bpf
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-drivers
* 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-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-x86
* kselftest-zram
* kunit
* kvm-unit-tests
* libgpiod
* 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
* packetdrill
* perf
* rcutorture
* ssuite
* v4l2-compliance
--
Linaro LKFT
https://lkft.linaro.org
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +0000. Anything received after that time might be too late.
Build test:
mips (gcc version 11.2.1 20220121): 63 configs -> no new failure arm (gcc version 11.2.1 20220121): 105 configs -> no new failure arm64 (gcc version 11.2.1 20220121): 3 configs -> no failure x86_64 (gcc version 11.2.1 20220121): 4 configs -> no failure
Boot test:x86_64: Booted on my test laptop. No regression.x86_64: Booted on qemu. No regression. [1]
arm64: Booted on rpi4b (4GB model). No regression. [2]
[1]. https://openqa.qa.codethink.co.uk/tests/666
[2]. https://openqa.qa.codethink.co.uk/tests/670
--
Regards
Sudip
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.95-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.10.y
and the diffstat can be found below.thanks,
greg k-h
5.10.95-rc1 Successfully Compiled and booted on my Raspberry PI 4b (8g) (bcm2711)
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.10.95 release. There are 6 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, 29 Jan 2022 18:02:51 +0000. Anything received after that time might be too late.
Build results:
total: 159 pass: 159 fail: 0 Qemu test results: total: 477 pass: 477 fail: 0
Guenter