release 4.19.90-2312.3.0
This commit is contained in:
parent
1b6879cbe4
commit
cf52222066
51
kernel.spec
51
kernel.spec
@ -12,7 +12,7 @@
|
||||
|
||||
%global KernelVer %{version}-%{release}.%{_target_cpu}
|
||||
|
||||
%global hulkrelease 2312.1.0
|
||||
%global hulkrelease 2312.3.0
|
||||
|
||||
%define with_patch 1
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
Name: kernel
|
||||
Version: 4.19.90
|
||||
Release: %{hulkrelease}.0255
|
||||
Release: %{hulkrelease}.0256
|
||||
Summary: Linux Kernel
|
||||
License: GPLv2
|
||||
URL: http://www.kernel.org/
|
||||
@ -849,6 +849,53 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Dec 12 2023 YunYi Yang <yangyunyi2@huawei.com> - 4.19.90-2312.3.0.0256
|
||||
- !3347 tun: avoid double free in tun_free_netdev
|
||||
- tun: avoid double free in tun_free_netdev
|
||||
- !3239 net: hns: fix fake link up
|
||||
- !3113 KVM: arm64: limit PMU version to PMUv3 for ARMv8.1
|
||||
- !3281 LTS patch backport
|
||||
- !3122 nvme: retain split access workaround for capability reads
|
||||
- !3262 icmp: Fix a data-race around sysctl_icmp_errors_use_inbound_ifaddr.
|
||||
- net: fix kabi broken in struct netns_xfrm
|
||||
- xfrm: fix a data-race in xfrm_gen_index()
|
||||
- !3276 linux-4.19.y inclusion
|
||||
- !3263 workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()
|
||||
- !3267 x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs
|
||||
- dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses.
|
||||
- can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on()
|
||||
- can: dev: can_restart(): don't crash kernel if carrier is OK
|
||||
- can: dev: move driver related infrastructure into separate subdir
|
||||
- ipv6: avoid atomic fragment on GSO packets
|
||||
- tcp_metrics: do not create an entry from tcp_init_metrics()
|
||||
- tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics()
|
||||
- tcp_metrics: add missing barriers on delete
|
||||
- tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single skb
|
||||
- tcp: fix excessive TLP and RACK timeouts from HZ rounding
|
||||
- genirq/matrix: Exclude managed interrupts in irq_matrix_allocated()
|
||||
- ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias()
|
||||
- ACPI: irq: Fix incorrect return value in acpi_register_gsi()
|
||||
- ext4: move 'ix' sanity check to corrent position
|
||||
- vfs: fix readahead(2) on block devices
|
||||
- overlayfs: set ctime when setting mtime and atime
|
||||
- quota: Fix slow quotaoff
|
||||
- mcb: remove is_added flag from mcb_device struct
|
||||
- sched,idle,rcu: Push rcu_idle deeper into the idle path
|
||||
- cgroup: Remove duplicates in cgroup v1 tasks file
|
||||
- x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs
|
||||
- workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()
|
||||
- icmp: Fix a data-race around sysctl_icmp_errors_use_inbound_ifaddr.
|
||||
- net: hns: update hns version to 23.12.1
|
||||
- net: hns: fix fake link up on xge port
|
||||
- !3021 fix CFS bandwidth vs. hrtimer self deadlock
|
||||
- !3202 regmap: fix NULL deref on lookup
|
||||
- regmap: fix NULL deref on lookup
|
||||
- KVM: arm64: limit PMU version to PMUv3 for ARMv8.1
|
||||
- arm64: cpufeature: Extract capped perfmon fields
|
||||
- nvme: retain split access workaround for capability reads
|
||||
- cpu/hotplug: fix kabi breakage in enum cpuhp_state
|
||||
- hrtimers: Push pending hrtimers away from outgoing CPU earlier
|
||||
|
||||
* Wed Dec 06 2023 YunYi Yang <yangyunyi2@huawei.com> - 4.19.90-2312.1.0.0255
|
||||
- !3158 mm: don't let userspace spam allocations warnings
|
||||
- mm: don't let userspace spam allocations warnings
|
||||
|
||||
@ -35,12 +35,12 @@ Reviewed-by: Shaokun Zhang <zhangshaokun@hisilicon.com>
|
||||
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
|
||||
Signed-off-by: hongrongxuan <hongrongxuan@huawei.com>
|
||||
---
|
||||
arch/arm64/include/asm/sysreg.h | 9 ++++++++-
|
||||
arch/arm64/include/asm/sysreg.h | 8 +++++++-
|
||||
drivers/perf/arm_spe_pmu.c | 17 +++++++++++++++--
|
||||
2 files changed, 23 insertions(+), 3 deletions(-)
|
||||
2 files changed, 22 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
|
||||
index 0fd51d253648..f993af239247 100644
|
||||
index 242273a04af9..4a3427c2feb5 100644
|
||||
--- a/arch/arm64/include/asm/sysreg.h
|
||||
+++ b/arch/arm64/include/asm/sysreg.h
|
||||
@@ -252,7 +252,11 @@
|
||||
@ -56,16 +56,15 @@ index 0fd51d253648..f993af239247 100644
|
||||
|
||||
#define SYS_PMSLATFR_EL1 sys_reg(3, 0, 9, 9, 6)
|
||||
#define SYS_PMSLATFR_EL1_MINLAT_SHIFT 0
|
||||
@@ -619,6 +623,9 @@
|
||||
#define ID_AA64DFR0_TRACEVER_SHIFT 4
|
||||
@@ -620,6 +624,8 @@
|
||||
#define ID_AA64DFR0_DEBUGVER_SHIFT 0
|
||||
|
||||
+#define ID_AA64DFR0_PMSVER_8_2 0x1
|
||||
+#define ID_AA64DFR0_PMSVER_8_3 0x2
|
||||
+
|
||||
#define ID_ISAR5_RDM_SHIFT 24
|
||||
#define ID_ISAR5_CRC32_SHIFT 16
|
||||
#define ID_ISAR5_SHA2_SHIFT 12
|
||||
#define ID_AA64DFR0_PMUVER_8_1 0x4
|
||||
+#define ID_AA64DFR0_PMSVER_8_2 0x1
|
||||
+#define ID_AA64DFR0_PMSVER_8_3 0x2
|
||||
|
||||
#define ID_DFR0_PERFMON_SHIFT 24
|
||||
|
||||
diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c
|
||||
index af84f3a61e96..74318410774c 100644
|
||||
--- a/drivers/perf/arm_spe_pmu.c
|
||||
|
||||
@ -1,80 +0,0 @@
|
||||
From a207eaeac98757a86cce704be6c4e097439503c5 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Murray <andrew.murray@arm.com>
|
||||
Date: Tue, 28 Nov 2023 15:46:32 +0800
|
||||
Subject: [PATCH 1/2] arm64: cpufeature: Extract capped perfmon fields
|
||||
|
||||
mainline inclusion
|
||||
from mainline-v5.7-rc1
|
||||
commit 8e35aa642ee4dab01b16cc4b2df59d1936f3b3c2
|
||||
category: bugfix
|
||||
bugzilla: https://gitee.com/openeuler/kernel/issues/I8K8XV
|
||||
CVE: NA
|
||||
|
||||
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8e35aa642ee4dab01b16cc4b2df59d1936f3b3c2
|
||||
|
||||
-----------------------------------
|
||||
|
||||
commit 8e35aa642ee4dab01b16cc4b2df59d1936f3b3c2 upstream.
|
||||
|
||||
When emulating ID registers there is often a need to cap the version
|
||||
bits of a feature such that the guest will not use features that the
|
||||
host is not aware of. For example, when KVM mediates access to the PMU
|
||||
by emulating register accesses.
|
||||
|
||||
Let's add a helper that extracts a performance monitors ID field and
|
||||
caps the version to a given value.
|
||||
|
||||
Fields that identify the version of the Performance Monitors Extension
|
||||
do not follow the standard ID scheme, and instead follow the scheme
|
||||
described in ARM DDI 0487E.a page D13-2825 "Alternative ID scheme used
|
||||
for the Performance Monitors Extension version". The value 0xF means an
|
||||
IMPLEMENTATION DEFINED PMU is present, and values 0x0-OxE can be treated
|
||||
the same as an unsigned field with 0x0 meaning no PMU is present.
|
||||
|
||||
Signed-off-by: Andrew Murray <andrew.murray@arm.com>
|
||||
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
|
||||
[Mark: rework to handle perfmon fields]
|
||||
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
|
||||
Signed-off-by: Will Deacon <will@kernel.org>
|
||||
Signed-off-by: zhangyuan <zhangyuan162@huawei.com>
|
||||
---
|
||||
arch/arm64/include/asm/cpufeature.h | 23 +++++++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
|
||||
index eef5a9c9b823..e2ba573644d5 100644
|
||||
--- a/arch/arm64/include/asm/cpufeature.h
|
||||
+++ b/arch/arm64/include/asm/cpufeature.h
|
||||
@@ -449,6 +449,29 @@ cpuid_feature_extract_unsigned_field(u64 features, int field)
|
||||
return cpuid_feature_extract_unsigned_field_width(features, field, 4);
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Fields that identify the version of the Performance Monitors Extension do
|
||||
+ * not follow the standard ID scheme. See ARM DDI 0487E.a page D13-2825,
|
||||
+ * "Alternative ID scheme used for the Performance Monitors Extension version".
|
||||
+ */
|
||||
+static inline u64 __attribute_const__
|
||||
+cpuid_feature_cap_perfmon_field(u64 features, int field, u64 cap)
|
||||
+{
|
||||
+ u64 val = cpuid_feature_extract_unsigned_field(features, field);
|
||||
+ u64 mask = GENMASK_ULL(field + 3, field);
|
||||
+
|
||||
+ /* Treat IMPLEMENTATION DEFINED functionality as unimplemented */
|
||||
+ if (val == 0xf)
|
||||
+ val = 0;
|
||||
+
|
||||
+ if (val > cap) {
|
||||
+ features &= ~mask;
|
||||
+ features |= (cap << field) & mask;
|
||||
+ }
|
||||
+
|
||||
+ return features;
|
||||
+}
|
||||
+
|
||||
static inline u64 arm64_ftr_mask(const struct arm64_ftr_bits *ftrp)
|
||||
{
|
||||
return (u64)GENMASK(ftrp->shift + ftrp->width - 1, ftrp->shift);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,89 +0,0 @@
|
||||
From 6a416c5efa3ce99f5f0f7e9c603b42b0e047481c Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Murray <andrew.murray@arm.com>
|
||||
Date: Tue, 28 Nov 2023 15:46:33 +0800
|
||||
Subject: [PATCH 2/2] KVM: arm64: limit PMU version to PMUv3 for ARMv8.1
|
||||
|
||||
mainline inclusion
|
||||
from mainline-v5.7-rc1
|
||||
commit c854188ea01062f5a5fd7f05658feb1863774eaa
|
||||
category: bugfix
|
||||
bugzilla: https://gitee.com/openeuler/kernel/issues/I8K8XV
|
||||
CVE: NA
|
||||
|
||||
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c854188ea01062f5a5fd7f05658feb1863774eaa
|
||||
|
||||
-----------------------------------
|
||||
|
||||
commit c854188ea01062f5a5fd7f05658feb1863774eaa upstream.
|
||||
|
||||
We currently expose the PMU version of the host to the guest via
|
||||
emulation of the DFR0_EL1 and AA64DFR0_EL1 debug feature registers.
|
||||
However many of the features offered beyond PMUv3 for 8.1 are not
|
||||
supported in KVM. Examples of this include support for the PMMIR
|
||||
registers (added in PMUv3 for ARMv8.4) and 64-bit event counters
|
||||
added in (PMUv3 for ARMv8.5).
|
||||
|
||||
Let's trap the Debug Feature Registers in order to limit
|
||||
PMUVer/PerfMon in the Debug Feature Registers to PMUv3 for ARMv8.1
|
||||
to avoid unexpected behaviour.
|
||||
|
||||
Both ID_AA64DFR0.PMUVer and ID_DFR0.PerfMon follow the "Alternative ID
|
||||
scheme used for the Performance Monitors Extension version" where 0xF
|
||||
means an IMPLEMENTATION DEFINED PMU is implemented, and values 0x0-0xE
|
||||
are treated as with an unsigned field (with 0x0 meaning no PMU is
|
||||
present). As we don't expect to expose an IMPLEMENTATION DEFINED PMU,
|
||||
and our cap is below 0xF, we can treat these fields as unsigned when
|
||||
applying the cap.
|
||||
|
||||
Signed-off-by: Andrew Murray <andrew.murray@arm.com>
|
||||
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
|
||||
[Mark: make field names consistent, use perfmon cap]
|
||||
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
|
||||
Signed-off-by: Will Deacon <will@kernel.org>
|
||||
Signed-off-by: zhangyuan <zhangyuan162@huawei.com>
|
||||
---
|
||||
arch/arm64/include/asm/sysreg.h | 6 ++++++
|
||||
arch/arm64/kvm/sys_regs.c | 10 ++++++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
|
||||
index de4c31f073bb..041100c28cab 100644
|
||||
--- a/arch/arm64/include/asm/sysreg.h
|
||||
+++ b/arch/arm64/include/asm/sysreg.h
|
||||
@@ -637,6 +637,12 @@
|
||||
#define ID_AA64DFR0_TRACEVER_SHIFT 4
|
||||
#define ID_AA64DFR0_DEBUGVER_SHIFT 0
|
||||
|
||||
+#define ID_AA64DFR0_PMUVER_8_1 0x4
|
||||
+
|
||||
+#define ID_DFR0_PERFMON_SHIFT 24
|
||||
+
|
||||
+#define ID_DFR0_PERFMON_8_1 0x4
|
||||
+
|
||||
#define ID_AA64DFR0_PMSVER_8_2 0x1
|
||||
#define ID_AA64DFR0_PMSVER_8_3 0x2
|
||||
|
||||
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
|
||||
index 25caa9ec95e4..cc824a208684 100644
|
||||
--- a/arch/arm64/kvm/sys_regs.c
|
||||
+++ b/arch/arm64/kvm/sys_regs.c
|
||||
@@ -1082,6 +1082,16 @@ static u64 read_id_reg(struct kvm_vcpu *vcpu,
|
||||
kvm_debug("LORegions unsupported for guests, suppressing\n");
|
||||
|
||||
val &= ~(0xfUL << ID_AA64MMFR1_LOR_SHIFT);
|
||||
+ } else if (id == SYS_ID_AA64DFR0_EL1) {
|
||||
+ /* Limit guests to PMUv3 for ARMv8.1 */
|
||||
+ val = cpuid_feature_cap_perfmon_field(val,
|
||||
+ ID_AA64DFR0_PMUVER_SHIFT,
|
||||
+ ID_AA64DFR0_PMUVER_8_1);
|
||||
+ } else if (id == SYS_ID_DFR0_EL1) {
|
||||
+ /* Limit guests to PMUv3 for ARMv8.1 */
|
||||
+ val = cpuid_feature_cap_perfmon_field(val,
|
||||
+ ID_DFR0_PERFMON_SHIFT,
|
||||
+ ID_DFR0_PERFMON_8_1);
|
||||
}
|
||||
|
||||
return val;
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -758,5 +758,3 @@ patches/0754-scsi-hisi_sas_v3_hw-Remove-extra-function-calls-for-.patch
|
||||
patches/0755-config-arm64-Enable-dubugfs-config-of-hisi-sas.patch
|
||||
patches/0756-crypto-hisilicon-Add-value-profile-support-for-kerne.patch
|
||||
patches/0757-Revert-genirq-Increase-the-number-of-IRQ-descriptors.patch
|
||||
patches/0758-arm64-cpufeature-Extract-capped-perfmon-fields.patch
|
||||
patches/0759-KVM-arm64-limit-PMU-version-to-PMUv3-for-ARMv8.1.patch
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user