Update to 4.9.9
Drop revert-patch which is superseded by upstream fix in 4.9.9. Delete log line for commit that went into 4.9.7 and has now been reverted.
This commit is contained in:
parent
4b402f4b97
commit
9ee6dbd395
|
@ -1,4 +1,4 @@
|
||||||
linux (4.9.8-1) UNRELEASED; urgency=medium
|
linux (4.9.9-1) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
* New upstream stable update:
|
* New upstream stable update:
|
||||||
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.7
|
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.7
|
||||||
|
@ -16,8 +16,6 @@ linux (4.9.8-1) UNRELEASED; urgency=medium
|
||||||
- mm, page_alloc: fix fast-path race with cpuset update or removal
|
- mm, page_alloc: fix fast-path race with cpuset update or removal
|
||||||
- mm, page_alloc: move cpuset seqcount checking to slowpath
|
- mm, page_alloc: move cpuset seqcount checking to slowpath
|
||||||
- mm, page_alloc: fix premature OOM when racing with cpuset mems update
|
- mm, page_alloc: fix premature OOM when racing with cpuset mems update
|
||||||
- [armhf,arm64] vring: Force use of DMA API for ARM-based systems with
|
|
||||||
legacy devices
|
|
||||||
- userns: Make ucounts lock irq-safe
|
- userns: Make ucounts lock irq-safe
|
||||||
- sysctl: fix proc_doulongvec_ms_jiffies_minmax()
|
- sysctl: fix proc_doulongvec_ms_jiffies_minmax()
|
||||||
- xfs: prevent quotacheck from overloading inode lru
|
- xfs: prevent quotacheck from overloading inode lru
|
||||||
|
@ -106,6 +104,62 @@ linux (4.9.8-1) UNRELEASED; urgency=medium
|
||||||
- xfs: extsize hints are not unlikely in xfs_bmap_btalloc
|
- xfs: extsize hints are not unlikely in xfs_bmap_btalloc
|
||||||
- xfs: clear _XBF_PAGES from buffers when readahead page
|
- xfs: clear _XBF_PAGES from buffers when readahead page
|
||||||
- xfs: fix bmv_count confusion w/ shared extents
|
- xfs: fix bmv_count confusion w/ shared extents
|
||||||
|
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.9
|
||||||
|
- PCI/ASPM: Handle PCI-to-PCIe bridges as roots of PCIe hierarchies
|
||||||
|
- ext4: validate s_first_meta_bg at mount time
|
||||||
|
- [x86] efi: Always map the first physical page into the EFI pagetables
|
||||||
|
- [arm64] efi/fdt: Avoid FDT manipulation after ExitBootServices()
|
||||||
|
(Closes: #853170)
|
||||||
|
- HID: cp2112: fix sleep-while-atomic
|
||||||
|
- HID: cp2112: fix gpio-callback error handling
|
||||||
|
- [x86] pinctrl: baytrail: Add missing spinlock usage in
|
||||||
|
byt_gpio_irq_handler
|
||||||
|
- [x86] drm/amdgpu/si: fix crash on headless asics
|
||||||
|
- drm/nouveau/disp/gt215: Fix HDA ELD handling (thus, HDMI audio) on gt215
|
||||||
|
- drm/nouveau/nv1a,nv1f/disp: fix memory clock rate retrieval
|
||||||
|
- crypto: api - Clear CRYPTO_ALG_DEAD bit before registering an alg
|
||||||
|
- crypto: arm64/aes-blk - honour iv_out requirement in CBC and CTR modes
|
||||||
|
- perf/core: Fix use-after-free bug
|
||||||
|
- perf/core: Fix PERF_RECORD_MMAP2 prot/flags for anonymous memory
|
||||||
|
- ata: sata_mv:- Handle return value of devm_ioremap.
|
||||||
|
- libata: apply MAX_SEC_1024 to all CX1-JB*-HP devices
|
||||||
|
- libata: Fix ATA request sense
|
||||||
|
- [powerpc*] eeh: Fix wrong flag passed to eeh_unfreeze_pe()
|
||||||
|
- [powerpc*] Add missing error check to prom_find_boot_cpu()
|
||||||
|
- [powerpc*] mm: Use the correct pointer when setting a 2MB pte
|
||||||
|
- NFSD: Fix a null reference case in find_or_create_lock_stateid()
|
||||||
|
- svcrpc: fix oops in absence of krb5 module
|
||||||
|
- zswap: disable changing params if init fails
|
||||||
|
- cifs: initialize file_info_lock
|
||||||
|
- mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone()
|
||||||
|
- base/memory, hotplug: fix a kernel oops in show_valid_zones()
|
||||||
|
- mm, fs: check for fatal signals in do_generic_file_read()
|
||||||
|
- tracing: Fix hwlat kthread migration
|
||||||
|
- can: bcm: fix hrtimer/tasklet termination in bcm op removal
|
||||||
|
- cgroup: don't online subsystems before cgroup_name/path() are operational
|
||||||
|
- mmc: sdhci: Ignore unexpected CARD_INT interrupts
|
||||||
|
- vhost: fix initialization for vq->is_le
|
||||||
|
- [armhf] regulator: axp20x: AXP806: Fix dcdcb being set instead of dcdce
|
||||||
|
- percpu-refcount: fix reference leak during percpu-atomic transition
|
||||||
|
- [x86] pinctrl: baytrail: Debounce register is one per community
|
||||||
|
- [x86] pinctrl: intel: merrifield: Add missed check in mrfld_config_set()
|
||||||
|
- iwlwifi: fix double hyphen in MODULE_FIRMWARE for 8000
|
||||||
|
- iwlwifi: mvm: avoid crash on restart w/o reserved queues
|
||||||
|
- HID: usbhid: Quirk a AMI virtual mouse and keyboard with ALWAYS_POLL
|
||||||
|
- HID: hid-lg: Fix immediate disconnection of Logitech Rumblepad 2
|
||||||
|
- HID: wacom: Fix poor prox handling in 'wacom_pl_irq'
|
||||||
|
- [x86] perf/intel/uncore: Clean up hotplug conversion fallout
|
||||||
|
- [armhf] dmaengine: cppi41: Fix runtime PM timeouts with USB mass storage
|
||||||
|
- [armhf] dmaengine: cppi41: Fix oops in cppi41_runtime_resume
|
||||||
|
- [x86] KVM: do not save guest-unsupported XSAVE state
|
||||||
|
- USB: Add quirk for WORLDE easykey.25 MIDI keyboard
|
||||||
|
- usb: musb: Fix host mode error -71 regression
|
||||||
|
- usb: gadget: f_fs: Assorted buffer overflow checks.
|
||||||
|
- irqdomain: Avoid activating interrupts more than once
|
||||||
|
- [x86] irq: Make irq activate operations symmetric
|
||||||
|
- iw_cxgb4: set correct FetchBurstMax for QPs
|
||||||
|
- fs: break out of iomap_file_buffered_write on fatal signals
|
||||||
|
- [x86] drm/i915/execlists: Reset RING registers upon resume
|
||||||
|
|
||||||
[ Ben Hutchings ]
|
[ Ben Hutchings ]
|
||||||
* Bump ABI to 2
|
* Bump ABI to 2
|
||||||
|
@ -137,10 +191,6 @@ linux (4.9.8-1) UNRELEASED; urgency=medium
|
||||||
series
|
series
|
||||||
* [armel] ARM: orion5x: fix Makefile for linkstation-lschl.dtb
|
* [armel] ARM: orion5x: fix Makefile for linkstation-lschl.dtb
|
||||||
|
|
||||||
[ Riku Voipio ]
|
|
||||||
* [arm64] Revert "efi/libstub/arm*: Pass latest memory map to the kernel"
|
|
||||||
(Closes: #853170)
|
|
||||||
|
|
||||||
-- Ben Hutchings <ben@decadent.org.uk> Fri, 27 Jan 2017 18:14:31 +0000
|
-- Ben Hutchings <ben@decadent.org.uk> Fri, 27 Jan 2017 18:14:31 +0000
|
||||||
|
|
||||||
linux (4.9.6-3) unstable; urgency=medium
|
linux (4.9.6-3) unstable; urgency=medium
|
||||||
|
|
|
@ -1,200 +0,0 @@
|
||||||
From 1816e2e5003836a142056957f7a813d846eba992 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Riku Voipio <riku.voipio@linaro.org>
|
|
||||||
Date: Wed, 1 Feb 2017 13:37:49 +0200
|
|
||||||
Subject: [PATCH] Revert "efi/libstub/arm*: Pass latest memory map to the
|
|
||||||
kernel"
|
|
||||||
|
|
||||||
This reverts commit 74ce3fd64bc44f89856ff57bf684882dc098f93b.
|
|
||||||
---
|
|
||||||
drivers/firmware/efi/libstub/efistub.h | 8 ++++
|
|
||||||
drivers/firmware/efi/libstub/fdt.c | 87 ++++++++++++----------------------
|
|
||||||
2 files changed, 39 insertions(+), 56 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/firmware/efi/libstub/efistub.h b/drivers/firmware/efi/libstub/efistub.h
|
|
||||||
index fac67992bede..ee49cd23ee63 100644
|
|
||||||
--- a/drivers/firmware/efi/libstub/efistub.h
|
|
||||||
+++ b/drivers/firmware/efi/libstub/efistub.h
|
|
||||||
@@ -30,6 +30,14 @@ efi_status_t efi_file_close(void *handle);
|
|
||||||
|
|
||||||
unsigned long get_dram_base(efi_system_table_t *sys_table_arg);
|
|
||||||
|
|
||||||
+efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt,
|
|
||||||
+ unsigned long orig_fdt_size,
|
|
||||||
+ void *fdt, int new_fdt_size, char *cmdline_ptr,
|
|
||||||
+ u64 initrd_addr, u64 initrd_size,
|
|
||||||
+ efi_memory_desc_t *memory_map,
|
|
||||||
+ unsigned long map_size, unsigned long desc_size,
|
|
||||||
+ u32 desc_ver);
|
|
||||||
+
|
|
||||||
efi_status_t allocate_new_fdt_and_exit_boot(efi_system_table_t *sys_table,
|
|
||||||
void *handle,
|
|
||||||
unsigned long *new_fdt_addr,
|
|
||||||
diff --git a/drivers/firmware/efi/libstub/fdt.c b/drivers/firmware/efi/libstub/fdt.c
|
|
||||||
index 921dfa047202..a6a93116a8f0 100644
|
|
||||||
--- a/drivers/firmware/efi/libstub/fdt.c
|
|
||||||
+++ b/drivers/firmware/efi/libstub/fdt.c
|
|
||||||
@@ -16,10 +16,13 @@
|
|
||||||
|
|
||||||
#include "efistub.h"
|
|
||||||
|
|
||||||
-static efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt,
|
|
||||||
- unsigned long orig_fdt_size,
|
|
||||||
- void *fdt, int new_fdt_size, char *cmdline_ptr,
|
|
||||||
- u64 initrd_addr, u64 initrd_size)
|
|
||||||
+efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt,
|
|
||||||
+ unsigned long orig_fdt_size,
|
|
||||||
+ void *fdt, int new_fdt_size, char *cmdline_ptr,
|
|
||||||
+ u64 initrd_addr, u64 initrd_size,
|
|
||||||
+ efi_memory_desc_t *memory_map,
|
|
||||||
+ unsigned long map_size, unsigned long desc_size,
|
|
||||||
+ u32 desc_ver)
|
|
||||||
{
|
|
||||||
int node, num_rsv;
|
|
||||||
int status;
|
|
||||||
@@ -98,23 +101,25 @@ static efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt,
|
|
||||||
if (status)
|
|
||||||
goto fdt_set_fail;
|
|
||||||
|
|
||||||
- fdt_val64 = U64_MAX; /* placeholder */
|
|
||||||
+ fdt_val64 = cpu_to_fdt64((u64)(unsigned long)memory_map);
|
|
||||||
status = fdt_setprop(fdt, node, "linux,uefi-mmap-start",
|
|
||||||
&fdt_val64, sizeof(fdt_val64));
|
|
||||||
if (status)
|
|
||||||
goto fdt_set_fail;
|
|
||||||
|
|
||||||
- fdt_val32 = U32_MAX; /* placeholder */
|
|
||||||
+ fdt_val32 = cpu_to_fdt32(map_size);
|
|
||||||
status = fdt_setprop(fdt, node, "linux,uefi-mmap-size",
|
|
||||||
&fdt_val32, sizeof(fdt_val32));
|
|
||||||
if (status)
|
|
||||||
goto fdt_set_fail;
|
|
||||||
|
|
||||||
+ fdt_val32 = cpu_to_fdt32(desc_size);
|
|
||||||
status = fdt_setprop(fdt, node, "linux,uefi-mmap-desc-size",
|
|
||||||
&fdt_val32, sizeof(fdt_val32));
|
|
||||||
if (status)
|
|
||||||
goto fdt_set_fail;
|
|
||||||
|
|
||||||
+ fdt_val32 = cpu_to_fdt32(desc_ver);
|
|
||||||
status = fdt_setprop(fdt, node, "linux,uefi-mmap-desc-ver",
|
|
||||||
&fdt_val32, sizeof(fdt_val32));
|
|
||||||
if (status)
|
|
||||||
@@ -143,43 +148,6 @@ static efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt,
|
|
||||||
return EFI_LOAD_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static efi_status_t update_fdt_memmap(void *fdt, struct efi_boot_memmap *map)
|
|
||||||
-{
|
|
||||||
- int node = fdt_path_offset(fdt, "/chosen");
|
|
||||||
- u64 fdt_val64;
|
|
||||||
- u32 fdt_val32;
|
|
||||||
- int err;
|
|
||||||
-
|
|
||||||
- if (node < 0)
|
|
||||||
- return EFI_LOAD_ERROR;
|
|
||||||
-
|
|
||||||
- fdt_val64 = cpu_to_fdt64((unsigned long)*map->map);
|
|
||||||
- err = fdt_setprop_inplace(fdt, node, "linux,uefi-mmap-start",
|
|
||||||
- &fdt_val64, sizeof(fdt_val64));
|
|
||||||
- if (err)
|
|
||||||
- return EFI_LOAD_ERROR;
|
|
||||||
-
|
|
||||||
- fdt_val32 = cpu_to_fdt32(*map->map_size);
|
|
||||||
- err = fdt_setprop_inplace(fdt, node, "linux,uefi-mmap-size",
|
|
||||||
- &fdt_val32, sizeof(fdt_val32));
|
|
||||||
- if (err)
|
|
||||||
- return EFI_LOAD_ERROR;
|
|
||||||
-
|
|
||||||
- fdt_val32 = cpu_to_fdt32(*map->desc_size);
|
|
||||||
- err = fdt_setprop_inplace(fdt, node, "linux,uefi-mmap-desc-size",
|
|
||||||
- &fdt_val32, sizeof(fdt_val32));
|
|
||||||
- if (err)
|
|
||||||
- return EFI_LOAD_ERROR;
|
|
||||||
-
|
|
||||||
- fdt_val32 = cpu_to_fdt32(*map->desc_ver);
|
|
||||||
- err = fdt_setprop_inplace(fdt, node, "linux,uefi-mmap-desc-ver",
|
|
||||||
- &fdt_val32, sizeof(fdt_val32));
|
|
||||||
- if (err)
|
|
||||||
- return EFI_LOAD_ERROR;
|
|
||||||
-
|
|
||||||
- return EFI_SUCCESS;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
#ifndef EFI_FDT_ALIGN
|
|
||||||
#define EFI_FDT_ALIGN EFI_PAGE_SIZE
|
|
||||||
#endif
|
|
||||||
@@ -275,10 +243,20 @@ efi_status_t allocate_new_fdt_and_exit_boot(efi_system_table_t *sys_table,
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Now that we have done our final memory allocation (and free)
|
|
||||||
+ * we can get the memory map key needed for
|
|
||||||
+ * exit_boot_services().
|
|
||||||
+ */
|
|
||||||
+ status = efi_get_memory_map(sys_table, &map);
|
|
||||||
+ if (status != EFI_SUCCESS)
|
|
||||||
+ goto fail_free_new_fdt;
|
|
||||||
+
|
|
||||||
status = update_fdt(sys_table,
|
|
||||||
(void *)fdt_addr, fdt_size,
|
|
||||||
(void *)*new_fdt_addr, new_fdt_size,
|
|
||||||
- cmdline_ptr, initrd_addr, initrd_size);
|
|
||||||
+ cmdline_ptr, initrd_addr, initrd_size,
|
|
||||||
+ memory_map, map_size, desc_size, desc_ver);
|
|
||||||
|
|
||||||
/* Succeeding the first time is the expected case. */
|
|
||||||
if (status == EFI_SUCCESS)
|
|
||||||
@@ -288,16 +266,20 @@ efi_status_t allocate_new_fdt_and_exit_boot(efi_system_table_t *sys_table,
|
|
||||||
/*
|
|
||||||
* We need to allocate more space for the new
|
|
||||||
* device tree, so free existing buffer that is
|
|
||||||
- * too small.
|
|
||||||
+ * too small. Also free memory map, as we will need
|
|
||||||
+ * to get new one that reflects the free/alloc we do
|
|
||||||
+ * on the device tree buffer.
|
|
||||||
*/
|
|
||||||
efi_free(sys_table, new_fdt_size, *new_fdt_addr);
|
|
||||||
+ sys_table->boottime->free_pool(memory_map);
|
|
||||||
new_fdt_size += EFI_PAGE_SIZE;
|
|
||||||
} else {
|
|
||||||
pr_efi_err(sys_table, "Unable to construct new device tree.\n");
|
|
||||||
- goto fail_free_new_fdt;
|
|
||||||
+ goto fail_free_mmap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ sys_table->boottime->free_pool(memory_map);
|
|
||||||
priv.runtime_map = runtime_map;
|
|
||||||
priv.runtime_entry_count = &runtime_entry_count;
|
|
||||||
status = efi_exit_boot_services(sys_table, handle, &map, &priv,
|
|
||||||
@@ -306,16 +288,6 @@ efi_status_t allocate_new_fdt_and_exit_boot(efi_system_table_t *sys_table,
|
|
||||||
if (status == EFI_SUCCESS) {
|
|
||||||
efi_set_virtual_address_map_t *svam;
|
|
||||||
|
|
||||||
- status = update_fdt_memmap((void *)*new_fdt_addr, &map);
|
|
||||||
- if (status != EFI_SUCCESS) {
|
|
||||||
- /*
|
|
||||||
- * The kernel won't get far without the memory map, but
|
|
||||||
- * may still be able to print something meaningful so
|
|
||||||
- * return success here.
|
|
||||||
- */
|
|
||||||
- return EFI_SUCCESS;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
/* Install the new virtual address map */
|
|
||||||
svam = sys_table->runtime->set_virtual_address_map;
|
|
||||||
status = svam(runtime_entry_count * desc_size, desc_size,
|
|
||||||
@@ -347,6 +319,9 @@ efi_status_t allocate_new_fdt_and_exit_boot(efi_system_table_t *sys_table,
|
|
||||||
|
|
||||||
pr_efi_err(sys_table, "Exit boot services failed.\n");
|
|
||||||
|
|
||||||
+fail_free_mmap:
|
|
||||||
+ sys_table->boottime->free_pool(memory_map);
|
|
||||||
+
|
|
||||||
fail_free_new_fdt:
|
|
||||||
efi_free(sys_table, new_fdt_size, *new_fdt_addr);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
|
@ -47,7 +47,6 @@ debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
|
||||||
|
|
||||||
# Arch bug fixes
|
# Arch bug fixes
|
||||||
bugfix/x86/asoc-intel-select-dw_dmac_core-since-it-s-mandatory.patch
|
bugfix/x86/asoc-intel-select-dw_dmac_core-since-it-s-mandatory.patch
|
||||||
bugfix/arm64/efi-libstub-arm-pass-latest-memory-map-to-the.patch
|
|
||||||
|
|
||||||
# Arch features
|
# Arch features
|
||||||
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
|
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
|
||||||
|
|
Loading…
Reference in New Issue