summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2018-10-10 09:07:55 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2018-10-10 09:07:55 +0200
commit3eb7e6feaa5ad34023a1b8538e7cb1066fea7ea2 (patch)
tree0c0268e9509263762b5f15c773d4eb43163fe754
parentf8939f41d80e2522668fd0f87ec30b3426fa93e3 (diff)
parentfaa9accf2b9a23084b5480f0499d669d203578d5 (diff)
downloadkernel-3eb7e6feaa5ad34023a1b8538e7cb1066fea7ea2.tar.gz
kernel-3eb7e6feaa5ad34023a1b8538e7cb1066fea7ea2.tar.xz
kernel-3eb7e6feaa5ad34023a1b8538e7cb1066fea7ea2.zip
merge origin
-rw-r--r--0001-Revert-drm-amd-pp-Send-khz-clock-values-to-DC-for-sm.patch76
-rw-r--r--arm64_kvm_security.patch155
-rw-r--r--configs/fedora/generic/arm/CONFIG_SCSI_MPT3SAS1
-rw-r--r--kernel-aarch64-debug.config2
-rw-r--r--kernel-aarch64.config2
-rw-r--r--kernel-armv7hl-debug.config2
-rw-r--r--kernel-armv7hl-lpae-debug.config2
-rw-r--r--kernel-armv7hl-lpae.config2
-rw-r--r--kernel-armv7hl.config2
-rw-r--r--kernel.spec13
-rw-r--r--powerpc-ipv6.patch44
11 files changed, 90 insertions, 211 deletions
diff --git a/0001-Revert-drm-amd-pp-Send-khz-clock-values-to-DC-for-sm.patch b/0001-Revert-drm-amd-pp-Send-khz-clock-values-to-DC-for-sm.patch
new file mode 100644
index 000000000..836ce5050
--- /dev/null
+++ b/0001-Revert-drm-amd-pp-Send-khz-clock-values-to-DC-for-sm.patch
@@ -0,0 +1,76 @@
+From 61f007850bec83ef8b065c10833ad766a3b98d93 Mon Sep 17 00:00:00 2001
+From: Fedora Kernel Team <kernel-team@fedoraproject.org>
+Date: Mon, 8 Oct 2018 16:50:35 -0500
+Subject: [PATCH] Revert drm/amd/pp: Send khz clock values to DC for smu7/8, it
+ shouldn't have been backported
+
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 8 ++++----
+ drivers/gpu/drm/amd/powerplay/hwmgr/smu8_hwmgr.c | 6 +++---
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+index 77779ad..f8e866c 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+@@ -4555,12 +4555,12 @@ static int smu7_get_sclks(struct pp_hwmgr *hwmgr, struct amd_pp_clocks *clocks)
+ return -EINVAL;
+ dep_sclk_table = table_info->vdd_dep_on_sclk;
+ for (i = 0; i < dep_sclk_table->count; i++)
+- clocks->clock[i] = dep_sclk_table->entries[i].clk * 10;
++ clocks->clock[i] = dep_sclk_table->entries[i].clk;
+ clocks->count = dep_sclk_table->count;
+ } else if (hwmgr->pp_table_version == PP_TABLE_V0) {
+ sclk_table = hwmgr->dyn_state.vddc_dependency_on_sclk;
+ for (i = 0; i < sclk_table->count; i++)
+- clocks->clock[i] = sclk_table->entries[i].clk * 10;
++ clocks->clock[i] = sclk_table->entries[i].clk;
+ clocks->count = sclk_table->count;
+ }
+
+@@ -4592,7 +4592,7 @@ static int smu7_get_mclks(struct pp_hwmgr *hwmgr, struct amd_pp_clocks *clocks)
+ return -EINVAL;
+ dep_mclk_table = table_info->vdd_dep_on_mclk;
+ for (i = 0; i < dep_mclk_table->count; i++) {
+- clocks->clock[i] = dep_mclk_table->entries[i].clk * 10;
++ clocks->clock[i] = dep_mclk_table->entries[i].clk;
+ clocks->latency[i] = smu7_get_mem_latency(hwmgr,
+ dep_mclk_table->entries[i].clk);
+ }
+@@ -4600,7 +4600,7 @@ static int smu7_get_mclks(struct pp_hwmgr *hwmgr, struct amd_pp_clocks *clocks)
+ } else if (hwmgr->pp_table_version == PP_TABLE_V0) {
+ mclk_table = hwmgr->dyn_state.vddc_dependency_on_mclk;
+ for (i = 0; i < mclk_table->count; i++)
+- clocks->clock[i] = mclk_table->entries[i].clk * 10;
++ clocks->clock[i] = mclk_table->entries[i].clk;
+ clocks->count = mclk_table->count;
+ }
+ return 0;
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu8_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu8_hwmgr.c
+index 0adfc53..617557b 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu8_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu8_hwmgr.c
+@@ -1605,17 +1605,17 @@ static int smu8_get_clock_by_type(struct pp_hwmgr *hwmgr, enum amd_pp_clock_type
+ switch (type) {
+ case amd_pp_disp_clock:
+ for (i = 0; i < clocks->count; i++)
+- clocks->clock[i] = data->sys_info.display_clock[i] * 10;
++ clocks->clock[i] = data->sys_info.display_clock[i];
+ break;
+ case amd_pp_sys_clock:
+ table = hwmgr->dyn_state.vddc_dependency_on_sclk;
+ for (i = 0; i < clocks->count; i++)
+- clocks->clock[i] = table->entries[i].clk * 10;
++ clocks->clock[i] = table->entries[i].clk;
+ break;
+ case amd_pp_mem_clock:
+ clocks->count = SMU8_NUM_NBPMEMORYCLOCK;
+ for (i = 0; i < clocks->count; i++)
+- clocks->clock[i] = data->sys_info.nbp_memory_clock[clocks->count - 1 - i] * 10;
++ clocks->clock[i] = data->sys_info.nbp_memory_clock[clocks->count - 1 - i];
+ break;
+ default:
+ return -1;
+--
+2.17.1
+
diff --git a/arm64_kvm_security.patch b/arm64_kvm_security.patch
deleted file mode 100644
index 71490d969..000000000
--- a/arm64_kvm_security.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From d26c25a9d19b5976b319af528886f89cf455692d Mon Sep 17 00:00:00 2001
-From: Dave Martin <Dave.Martin@arm.com>
-Date: Thu, 27 Sep 2018 16:53:21 +0100
-Subject: arm64: KVM: Tighten guest core register access from userspace
-
-From: Dave Martin <Dave.Martin@arm.com>
-
-commit d26c25a9d19b5976b319af528886f89cf455692d upstream.
-
-We currently allow userspace to access the core register file
-in about any possible way, including straddling multiple
-registers and doing unaligned accesses.
-
-This is not the expected use of the ABI, and nobody is actually
-using it that way. Let's tighten it by explicitly checking
-the size and alignment for each field of the register file.
-
-Cc: <stable@vger.kernel.org>
-Fixes: 2f4a07c5f9fe ("arm64: KVM: guest one-reg interface")
-Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
-Reviewed-by: Mark Rutland <mark.rutland@arm.com>
-Signed-off-by: Dave Martin <Dave.Martin@arm.com>
-[maz: rewrote Dave's initial patch to be more easily backported]
-Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-Signed-off-by: Will Deacon <will.deacon@arm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/arm64/kvm/guest.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 45 insertions(+)
-
---- a/arch/arm64/kvm/guest.c
-+++ b/arch/arm64/kvm/guest.c
-@@ -57,6 +57,45 @@ static u64 core_reg_offset_from_id(u64 i
- return id & ~(KVM_REG_ARCH_MASK | KVM_REG_SIZE_MASK | KVM_REG_ARM_CORE);
- }
-
-+static int validate_core_offset(const struct kvm_one_reg *reg)
-+{
-+ u64 off = core_reg_offset_from_id(reg->id);
-+ int size;
-+
-+ switch (off) {
-+ case KVM_REG_ARM_CORE_REG(regs.regs[0]) ...
-+ KVM_REG_ARM_CORE_REG(regs.regs[30]):
-+ case KVM_REG_ARM_CORE_REG(regs.sp):
-+ case KVM_REG_ARM_CORE_REG(regs.pc):
-+ case KVM_REG_ARM_CORE_REG(regs.pstate):
-+ case KVM_REG_ARM_CORE_REG(sp_el1):
-+ case KVM_REG_ARM_CORE_REG(elr_el1):
-+ case KVM_REG_ARM_CORE_REG(spsr[0]) ...
-+ KVM_REG_ARM_CORE_REG(spsr[KVM_NR_SPSR - 1]):
-+ size = sizeof(__u64);
-+ break;
-+
-+ case KVM_REG_ARM_CORE_REG(fp_regs.vregs[0]) ...
-+ KVM_REG_ARM_CORE_REG(fp_regs.vregs[31]):
-+ size = sizeof(__uint128_t);
-+ break;
-+
-+ case KVM_REG_ARM_CORE_REG(fp_regs.fpsr):
-+ case KVM_REG_ARM_CORE_REG(fp_regs.fpcr):
-+ size = sizeof(__u32);
-+ break;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ if (KVM_REG_SIZE(reg->id) == size &&
-+ IS_ALIGNED(off, size / sizeof(__u32)))
-+ return 0;
-+
-+ return -EINVAL;
-+}
-+
- static int get_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
- {
- /*
-@@ -76,6 +115,9 @@ static int get_core_reg(struct kvm_vcpu
- (off + (KVM_REG_SIZE(reg->id) / sizeof(__u32))) >= nr_regs)
- return -ENOENT;
-
-+ if (validate_core_offset(reg))
-+ return -EINVAL;
-+
- if (copy_to_user(uaddr, ((u32 *)regs) + off, KVM_REG_SIZE(reg->id)))
- return -EFAULT;
-
-@@ -98,6 +140,9 @@ static int set_core_reg(struct kvm_vcpu
- (off + (KVM_REG_SIZE(reg->id) / sizeof(__u32))) >= nr_regs)
- return -ENOENT;
-
-+ if (validate_core_offset(reg))
-+ return -EINVAL;
-+
- if (KVM_REG_SIZE(reg->id) > sizeof(tmp))
- return -EINVAL;
-
-From 2a3f93459d689d990b3ecfbe782fec89b97d3279 Mon Sep 17 00:00:00 2001
-From: Marc Zyngier <marc.zyngier@arm.com>
-Date: Thu, 27 Sep 2018 16:53:22 +0100
-Subject: arm64: KVM: Sanitize PSTATE.M when being set from userspace
-
-From: Marc Zyngier <marc.zyngier@arm.com>
-
-commit 2a3f93459d689d990b3ecfbe782fec89b97d3279 upstream.
-
-Not all execution modes are valid for a guest, and some of them
-depend on what the HW actually supports. Let's verify that what
-userspace provides is compatible with both the VM settings and
-the HW capabilities.
-
-Cc: <stable@vger.kernel.org>
-Fixes: 0d854a60b1d7 ("arm64: KVM: enable initialization of a 32bit vcpu")
-Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
-Reviewed-by: Mark Rutland <mark.rutland@arm.com>
-Reviewed-by: Dave Martin <Dave.Martin@arm.com>
-Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-Signed-off-by: Will Deacon <will.deacon@arm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/arm64/kvm/guest.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/kvm/guest.c
-+++ b/arch/arm64/kvm/guest.c
-@@ -152,17 +152,25 @@ static int set_core_reg(struct kvm_vcpu
- }
-
- if (off == KVM_REG_ARM_CORE_REG(regs.pstate)) {
-- u32 mode = (*(u32 *)valp) & COMPAT_PSR_MODE_MASK;
-+ u64 mode = (*(u64 *)valp) & COMPAT_PSR_MODE_MASK;
- switch (mode) {
- case COMPAT_PSR_MODE_USR:
-+ if (!system_supports_32bit_el0())
-+ return -EINVAL;
-+ break;
- case COMPAT_PSR_MODE_FIQ:
- case COMPAT_PSR_MODE_IRQ:
- case COMPAT_PSR_MODE_SVC:
- case COMPAT_PSR_MODE_ABT:
- case COMPAT_PSR_MODE_UND:
-+ if (!vcpu_el1_is_32bit(vcpu))
-+ return -EINVAL;
-+ break;
- case PSR_MODE_EL0t:
- case PSR_MODE_EL1t:
- case PSR_MODE_EL1h:
-+ if (vcpu_el1_is_32bit(vcpu))
-+ return -EINVAL;
- break;
- default:
- err = -EINVAL;
diff --git a/configs/fedora/generic/arm/CONFIG_SCSI_MPT3SAS b/configs/fedora/generic/arm/CONFIG_SCSI_MPT3SAS
deleted file mode 100644
index 887255096..000000000
--- a/configs/fedora/generic/arm/CONFIG_SCSI_MPT3SAS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SCSI_MPT3SAS is not set
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index aed8b0153..5f6b70b3e 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -5085,7 +5085,7 @@ CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS is not set
+CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index bfa39c00d..ba363d1a4 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -5062,7 +5062,7 @@ CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS is not set
+CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index f3c702367..2500fba3d 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -5399,7 +5399,7 @@ CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS is not set
+CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 968b8df82..c15e64e25 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -5092,7 +5092,7 @@ CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS is not set
+CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index b02ff24a2..c6a79f268 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -5069,7 +5069,7 @@ CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS is not set
+CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 164c41acf..7f91d92c6 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -5376,7 +5376,7 @@ CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_LPFC=m
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS is not set
+CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
diff --git a/kernel.spec b/kernel.spec
index 8aa581d2a..8c8242c47 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -691,14 +691,11 @@ Patch531: xsa270.patch
Patch533: 0001-random-add-a-config-option-to-trust-the-CPU-s-hwrng.patch
Patch534: 0001-random-make-CPU-trust-a-boot-parameter.patch
-# rhbz 1628394
-Patch536: powerpc-ipv6.patch
-
# rhbz 1634250
Patch537: HID-intel-ish-hid-Enable-Sunrise-Point-H-ish-driver.patch
-# rhbz 1635475 1635476
-Patch538: arm64_kvm_security.patch
+#rhbz 1636249
+Patch538: 0001-Revert-drm-amd-pp-Send-khz-clock-values-to-DC-for-sm.patch
# END OF PATCH DEFINITIONS
@@ -1962,6 +1959,12 @@ fi
#
#
%changelog
+* Mon Oct 08 2018 Justin M. Forbes <jforbes@fedoraproject.org>
+- Revert drm/amd/pp: Send khz clock values to DC for smu7/8 (rhbz 1636249)
+
+* Thu Oct 04 2018 Laura Abbott <labbott@redhat.com> - 4.18.12-300
+- Linux v4.18.12
+
* Wed Oct 3 2018 Peter Robinson <pbrobinson@fedoraproject.org>
- Fixes for Ampere platforms
diff --git a/powerpc-ipv6.patch b/powerpc-ipv6.patch
deleted file mode 100644
index 44988bd43..000000000
--- a/powerpc-ipv6.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 85682a7e3b9c664995ad477520f917039afdc330 Mon Sep 17 00:00:00 2001
-From: Christophe Leroy <christophe.leroy@c-s.fr>
-Date: Mon, 10 Sep 2018 06:09:04 +0000
-Subject: powerpc: fix csum_ipv6_magic() on little endian platforms
-
-On little endian platforms, csum_ipv6_magic() keeps len and proto in
-CPU byte order. This generates a bad results leading to ICMPv6 packets
-from other hosts being dropped by powerpc64le platforms.
-
-In order to fix this, len and proto should be converted to network
-byte order ie bigendian byte order. However checksumming 0x12345678
-and 0x56341278 provide the exact same result so it is enough to
-rotate the sum of len and proto by 1 byte.
-
-PPC32 only support bigendian so the fix is needed for PPC64 only
-
-Fixes: e9c4943a107b ("powerpc: Implement csum_ipv6_magic in assembly")
-Reported-by: Jianlin Shi <jishi@redhat.com>
-Reported-by: Xin Long <lucien.xin@gmail.com>
-Cc: <stable@vger.kernel.org> # 4.18+
-Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
-Tested-by: Xin Long <lucien.xin@gmail.com>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
----
- arch/powerpc/lib/checksum_64.S | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/arch/powerpc/lib/checksum_64.S b/arch/powerpc/lib/checksum_64.S
-index 886ed94b9c13..d05c8af4ac51 100644
---- a/arch/powerpc/lib/checksum_64.S
-+++ b/arch/powerpc/lib/checksum_64.S
-@@ -443,6 +443,9 @@ _GLOBAL(csum_ipv6_magic)
- addc r0, r8, r9
- ld r10, 0(r4)
- ld r11, 8(r4)
-+#ifdef CONFIG_CPU_LITTLE_ENDIAN
-+ rotldi r5, r5, 8
-+#endif
- adde r0, r0, r10
- add r5, r5, r7
- adde r0, r0, r11
---
-cgit 1.2-0.3.lf.el7
-