diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-10-10 09:07:55 +0200 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-10-10 09:07:55 +0200 |
commit | 3eb7e6feaa5ad34023a1b8538e7cb1066fea7ea2 (patch) | |
tree | 0c0268e9509263762b5f15c773d4eb43163fe754 | |
parent | f8939f41d80e2522668fd0f87ec30b3426fa93e3 (diff) | |
parent | faa9accf2b9a23084b5480f0499d669d203578d5 (diff) | |
download | kernel-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.patch | 76 | ||||
-rw-r--r-- | arm64_kvm_security.patch | 155 | ||||
-rw-r--r-- | configs/fedora/generic/arm/CONFIG_SCSI_MPT3SAS | 1 | ||||
-rw-r--r-- | kernel-aarch64-debug.config | 2 | ||||
-rw-r--r-- | kernel-aarch64.config | 2 | ||||
-rw-r--r-- | kernel-armv7hl-debug.config | 2 | ||||
-rw-r--r-- | kernel-armv7hl-lpae-debug.config | 2 | ||||
-rw-r--r-- | kernel-armv7hl-lpae.config | 2 | ||||
-rw-r--r-- | kernel-armv7hl.config | 2 | ||||
-rw-r--r-- | kernel.spec | 13 | ||||
-rw-r--r-- | powerpc-ipv6.patch | 44 |
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 - |