diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2020-10-29 14:38:43 +0100 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2020-10-29 14:38:43 +0100 |
commit | bcd00fff923e54d403cf9cf8047cbf766da525e7 (patch) | |
tree | 169d7c4b9e4de5e1b9a0f9e46bc2a5bbc76fe439 | |
parent | f6015fe3bed3e17c3ab5b30a92225c71c38bbe7d (diff) | |
parent | 42041fa8045f10b6a080f24b365499ebb6728c7d (diff) | |
download | kernel-bcd00fff923e54d403cf9cf8047cbf766da525e7.tar.gz kernel-bcd00fff923e54d403cf9cf8047cbf766da525e7.tar.xz kernel-bcd00fff923e54d403cf9cf8047cbf766da525e7.zip |
Merge remote-tracking branch 'origin/f31' into f31-user-thl-vanilla-fedora
-rw-r--r-- | 0001-drivers-perf-xgene_pmu-Fix-uninitialized-resource-st.patch | 109 | ||||
-rw-r--r-- | 0001-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch | 70 | ||||
-rw-r--r-- | kernel.spec | 11 |
3 files changed, 3 insertions, 187 deletions
diff --git a/0001-drivers-perf-xgene_pmu-Fix-uninitialized-resource-st.patch b/0001-drivers-perf-xgene_pmu-Fix-uninitialized-resource-st.patch deleted file mode 100644 index ddd1bb26b..000000000 --- a/0001-drivers-perf-xgene_pmu-Fix-uninitialized-resource-st.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 68912566d659046b12b02e5a316af3760e08eab8 Mon Sep 17 00:00:00 2001 -From: Fedora Kernel Team <kernel-team@fedoraproject.org> -Date: Tue, 1 Sep 2020 18:44:00 -0400 -Subject: [PATCH] drivers/perf: xgene_pmu: Fix uninitialized resource struct - -This splat was reported on newer Fedora kernels booting on certain -Ampere machines: - - xgene-pmu APMC0D83:00: X-Gene PMU version 3 - Unable to handle kernel read from unreadable memory at virtual address 0000000000004006 - Mem abort info: - ESR = 0x96000004 - EC = 0x25: DABT (current EL), IL = 32 bits - SET = 0, FnV = 0 - EA = 0, S1PTW = 0 - Data abort info: - ISV = 0, ISS = 0x00000004 - CM = 0, WnR = 0 - [0000000000004006] user address but active_mm is swapper - Internal error: Oops: 96000004 [#1] SMP - Modules linked in: - CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.8.3-300.fc33.aarch64 #1 - Hardware name: Lenovo HR350A 7X35CTO1WW /HR350A , BIOS HVE104N-1.12 11/29/2019 - pstate: 00400005 (nzcv daif +PAN -UAO BTYPE=--) - pc : string+0x50/0x100 - lr : vsnprintf+0x160/0x750 - sp : ffff800012b4b760 - x29: ffff800012b4b760 x28: 000000000000000c - x27: ffff8000113610d5 x26: ffff8000113610d5 - x25: 0000000000000020 x24: 0000000000000000 - x23: 00000000ffffffe8 x22: ffff800010f8e628 - x21: ffff800012b4b8f0 x20: 0000000000000000 - x19: 0000000000000000 x18: 00000000fffffffc - x17: 000000000000002d x16: 0000000000000001 - x15: 0000000000000020 x14: 0000000000000000 - x13: 0000000000000000 x12: 071c71c71c71c71c - x11: 00000000ffffff76 x10: ffff800012b4b8f0 - x9 : ffff8000109e97d8 x8 : 00000000ffffffff - x7 : 000000000000000b x6 : 0000000000000000 - x5 : 0000000000000000 x4 : 0000000000000000 - x3 : ffff0a00ffffff04 x2 : 0000000000004006 - x1 : ffffffffffffffff x0 : 000000000000000c - Call trace: - string+0x50/0x100 - vsnprintf+0x160/0x750 - devm_kvasprintf+0x5c/0xb4 - devm_kasprintf+0x54/0x60 - __devm_ioremap_resource+0xdc/0x1a0 - devm_ioremap_resource+0x14/0x20 - acpi_get_pmu_hw_inf.isra.0+0x84/0x15c - acpi_pmu_dev_add+0xbc/0x21c - acpi_ns_walk_namespace+0x16c/0x1e4 - acpi_walk_namespace+0xb4/0xfc - xgene_pmu_probe_pmu_dev+0x7c/0xe0 - xgene_pmu_probe.part.0+0x2c0/0x310 - xgene_pmu_probe+0x54/0x64 - platform_drv_probe+0x60/0xb4 - really_probe+0xe8/0x4a0 - driver_probe_device+0xe4/0x100 - device_driver_attach+0xcc/0xd4 - __driver_attach+0xb0/0x17c - bus_for_each_dev+0x6c/0xb0 - driver_attach+0x30/0x40 - bus_add_driver+0x154/0x250 - driver_register+0x84/0x140 - __platform_driver_register+0x54/0x60 - xgene_pmu_driver_init+0x28/0x34 - do_one_initcall+0x40/0x204 - do_initcalls+0x104/0x144 - kernel_init_freeable+0x198/0x210 - kernel_init+0x20/0x12c - ret_from_fork+0x10/0x18 - Code: 91000400 110004e1 eb08009f 540000c0 (38646846) - ---[ end trace f08c10566496a703 ]--- - Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b - SMP: stopping secondary CPUs - Kernel Offset: 0x40000 from 0xffff800010000000 - PHYS_OFFSET: 0x80000000 - CPU features: 0x240002,20802008 - Memory Limit: none - -This was due to a local struct resource variable in acpi_get_pmu_hw_inf(). -A pointer to that struct makes it's way to __devm_ioremap_resource() -where the name field is passed to devm_kasprintf() and dereferenced. -The struct was never initialized, so the name pointer is whatever -happened to be on the stack. This has been the case since the original -checkin of xgene_pmu.c, but it was a recent change to which added the -use of the name field. - -Signed-off-by: Mark Salter <msalter@redhat.com> ---- - drivers/perf/xgene_pmu.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c -index edac28c..fdbbd08 100644 ---- a/drivers/perf/xgene_pmu.c -+++ b/drivers/perf/xgene_pmu.c -@@ -1483,6 +1483,7 @@ xgene_pmu_dev_ctx *acpi_get_pmu_hw_inf(struct xgene_pmu *xgene_pmu, - return NULL; - - INIT_LIST_HEAD(&resource_list); -+ memset(&res, 0, sizeof(res)); - rc = acpi_dev_get_resources(adev, &resource_list, - acpi_pmu_dev_add_resource, &res); - acpi_dev_free_resource_list(&resource_list); --- -2.26.0 - diff --git a/0001-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch b/0001-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch deleted file mode 100644 index 85c61145d..000000000 --- a/0001-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch +++ /dev/null @@ -1,70 +0,0 @@ -From c342deae0807d249020e1edda9920255d76b58a1 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Wed, 14 Oct 2020 13:59:06 +0200 -Subject: [PATCH] i2c: core: Restore acpi_walk_dep_device_list() getting called - after registering the ACPI i2c devs - -Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() -before i2c_acpi_register_devices()")'s intention was to only move the -acpi_install_address_space_handler() call to the point before where -the ACPI declared i2c-children of the adapter where instantiated by -i2c_acpi_register_devices(). - -But i2c_acpi_install_space_handler() had a call to -acpi_walk_dep_device_list() hidden (that is I missed it) at the end -of it, so as an unwanted side-effect now acpi_walk_dep_device_list() -was also being called before i2c_acpi_register_devices(). - -Move the acpi_walk_dep_device_list() call to the end of -i2c_acpi_register_devices(), so that it is once again called *after* -the i2c_client-s hanging of the adapter have been created. - -This fixes the Microsoft Surface Go 2 hanging at boot. - -Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()") -Suggested-by: Maximilian Luz <luzmaximilian@gmail.com> -Reported-and-tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/i2c/i2c-core-acpi.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c -index 2ade99b..bbf8dd4 100644 ---- a/drivers/i2c/i2c-core-acpi.c -+++ b/drivers/i2c/i2c-core-acpi.c -@@ -264,6 +264,7 @@ static acpi_status i2c_acpi_add_device(acpi_handle handle, u32 level, - void i2c_acpi_register_devices(struct i2c_adapter *adap) - { - acpi_status status; -+ acpi_handle handle; - - if (!has_acpi_companion(&adap->dev)) - return; -@@ -274,6 +275,15 @@ void i2c_acpi_register_devices(struct i2c_adapter *adap) - adap, NULL); - if (ACPI_FAILURE(status)) - dev_warn(&adap->dev, "failed to enumerate I2C slaves\n"); -+ -+ if (!adap->dev.parent) -+ return; -+ -+ handle = ACPI_HANDLE(adap->dev.parent); -+ if (!handle) -+ return; -+ -+ acpi_walk_dep_device_list(handle); - } - - const struct acpi_device_id * -@@ -729,7 +739,6 @@ int i2c_acpi_install_space_handler(struct i2c_adapter *adapter) - return -ENOMEM; - } - -- acpi_walk_dep_device_list(handle); - return 0; - } - --- -2.28.0 - diff --git a/kernel.spec b/kernel.spec index b3c460eaa..167f21855 100644 --- a/kernel.spec +++ b/kernel.spec @@ -882,19 +882,11 @@ Patch103: arm64-tegra-Use-valid-PWM-period-for-VDD_GPU-on-Tegra210.patch # Goes away with 5.9 Patch105: 0001-platform-x86-thinkpad_acpi-lap-or-desk-mode-interfac.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1874117 -Patch107: 0001-drivers-perf-xgene_pmu-Fix-uninitialized-resource-st.patch - Patch110: memory-tegra-Remove-GPU-from-DRM-IOMMU-group.patch # CVE-2020-16119 rhbz 1886374 1888083 Patch119: CVE-2020-16119-DCCP-CCID-structure-use-after-free.patch -# Surface Go series not booting regression fix (rhbz 1886249) -# Also fixes some touchscreen regressions: -# https://bugzilla.kernel.org/show_bug.cgi?id=209627 -# Pending for inclusion into stable series -Patch123: 0001-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch # A patch to fix some undocumented things broke a bunch of Allwinner networks due to wrong assumptions Patch124: 0001-update-phy-on-pine64-a64-devices.patch # https://patchwork.kernel.org/project/linux-arm-kernel/patch/20201024162515.30032-2-wens@kernel.org/ @@ -3028,6 +3020,9 @@ fi # # %changelog +* Thu Oct 29 07:55:28 CDT 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.17-100 +- Linux v5.8.17 + * Wed Oct 28 2020 Peter Robinson <pbrobinson@fedoraproject.org> - Fixes for AllWinner wired network issues due to Realtek PHY driver change (rhbz 1889090) |