diff --git a/debian/changelog b/debian/changelog index 190696368..c0af045c8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -84,6 +84,393 @@ linux (4.19~rc2-1~exp1) experimental; urgency=medium -- Ben Hutchings Mon, 03 Sep 2018 21:34:41 +0100 +linux (4.18.10-1) unstable; urgency=medium + + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.18.9 + - i2c: xiic: Make the start and the byte count write atomic + - i2c: i801: fix DNV's SMBCTRL register offset + - HID: multitouch: fix Elan panels with 2 input modes declaration + - HID: core: fix grouping by application + - HID: i2c-hid: Fix flooded incomplete report after S3 on Rayd touchscreen + - HID: input: fix leaking custom input node name + - mm/hugetlb: filter out hugetlb pages if HUGEPAGE migration is not + supported. + - mac80211: don't update the PM state of a peer upon a multicast frame + - scsi: lpfc: Correct MDS diag and nvmet configuration + - nbd: don't allow invalid blocksize settings + - block: don't warn when doing fsync on read-only devices + - block: bfq: swap puts in bfqg_and_blkg_put + - android: binder: fix the race mmap and alloc_new_buf_locked + - [mips*] VDSO: Match data page cache colouring when D$ aliases + - smb3: Backup intent flag missing for directory opens with backupuid mounts + - smb3: check for and properly advertise directory lease support + - cifs: connect to servername instead of IP for IPC$ share + - btrfs: fix qgroup_free wrong num_bytes in btrfs_subvolume_reserve_metadata + - btrfs: fix data corruption when deduplicating between different files + - [arm64] KVM: Only force FPEXC32_EL2.EN if trapping FPSIMD + - [armhf, arm64] KVM: Clean dcache to PoC when changing PTE due to CoW + - [[powerpc*] KVM: Book3S HV: Use correct pagesize in kvm_unmap_radix() + - [s390x] KVM: vsie: copy wrapping keys to right place + - [x86] KVM: SVM: Set EMULTYPE_NO_REEXECUTE for RSM emulation + - [x86] KVM: VMX: Do not allow reexecute_instruction() when skipping MMIO + instr + - [x86] KVM: Invert emulation re-execute behavior to make it opt-in + - [x86] KVM: Merge EMULTYPE_RETRY and EMULTYPE_ALLOW_REEXECUTE + - [x86] KVM: Default to not allowing emulation retry in kvm_mmu_page_fault + - [x86] KVM: Do not re-{try,execute} after failed emulation in L2 + - ACPI / LPSS: Force LPSS quirks on boot + - memory: ti-aemif: fix a potential NULL-pointer dereference + - ALSA: hda - Fix cancel_work_sync() stall from jackpoll work + - cpu/hotplug: Adjust misplaced smb() in cpuhp_thread_fun() + - cpu/hotplug: Prevent state corruption on error rollback + - [x86] microcode: Make sure boot_cpu_data.microcode is up-to-date + - [x86] microcode: Update the new microcode revision unconditionally + - [x86] process: Don't mix user/kernel regs in 64bit __show_regs() + - [x86] apic/vector: Make error return value negative + - switchtec: Fix Spectre v1 vulnerability + - misc: mic: SCIF Fix scif_get_new_port() error handling + - ALSA: hda/realtek - Add mute LED quirk for HP Spectre x360 + - ethtool: Remove trailing semicolon for static inline + - i2c: aspeed: Add an explicit type casting for *get_clk_reg_val + - Bluetooth: h5: Fix missing dependency on BT_HCIUART_SERDEV + - gpio: tegra: Move driver registration to subsys_init level + - [powerpc*] powernv: Fix concurrency issue with npu->mmio_atsd_usage + - [powerpc*] 4xx: Fix error return path in ppc4xx_msi_probe() + - media: davinci: vpif_display: Mix memory leak on probe error path + - media: dw2102: Fix memleak on sequence of probes + - net: phy: Fix the register offsets in Broadcom iProc mdio mux driver + - scsi: qla2xxx: Fix unintended Logout + - scsi: qla2xxx: Fix session state stuck in Get Port DB + - scsi: qla2xxx: Silent erroneous message + - clk: scmi: Fix the rounding of clock rate + - blk-mq: fix updating tags depth + - scsi: lpfc: Fix driver crash when re-registering NVME rports. + - scsi: target: fix __transport_register_session locking + - md/raid5: fix data corruption of replacements after originals dropped + - timers: Clear timer_base::must_forward_clk with timer_base::lock held + - gpu: ipu-v3: default to id 0 on missing OF alias + - misc: ti-st: Fix memory leak in the error path of probe() + - uio: potential double frees if __uio_register_device() fails + - firmware: vpd: Fix section enabled flag on vpd_section_destroy + - [x86] Drivers: hv: vmbus: Cleanup synic memory free path + - tty: rocket: Fix possible buffer overwrite on register_PCI + - uio: fix possible circular locking dependency + - iwlwifi: pcie: don't access periphery registers when not available + - IB/IPoIB: Set ah valid flag in multicast send flow + - f2fs: fix to active page in lru list for read path + - f2fs: do not set free of current section + - f2fs: Keep alloc_valid_block_count in sync + - f2fs: issue discard align to section in LFS mode + - f2fs: fix defined but not used build warnings + - f2fs: fix to detect looped node chain correctly + - ASoC: soc-pcm: Use delay set in component pointer function + - perf tools: Allow overriding MAX_NR_CPUS at compile time + - device-dax: avoid hang on error before devm_memremap_pages() + - NFSv4.0 fix client reference leak in callback + - perf c2c report: Fix crash for empty browser + - perf evlist: Fix error out while applying initial delay and LBR + - [powerpc*] pseries: fix EEH recovery of some IOV devices + - [powerpc*] macintosh/via-pmu: Add missing mmio accessors + - ath9k: report tx status on EOSP + - ath9k_hw: fix channel maximum power level test + - ath10k: prevent active scans on potential unusable channels + - wlcore: Set rx_status boottime_ns field on rx + - rpmsg: core: add support to power domains for devices + - mtd: rawnand: make subop helpers return unsigned values + - scsi: tcmu: do not set max_blocks if data_bitmap has been setup + - [mips*] Fix ISA virt/bus conversion for non-zero PHYS_OFFSET + - ata: libahci: Allow reconfigure of DEVSLP register + - ata: libahci: Correct setting of DEVSLP register + - nfs: Referrals not inheriting proto setting from parent + - scsi: 3ware: fix return 0 on the error path of probe + - tools/testing/nvdimm: kaddr and pfn can be NULL to ->direct_access() + - ath10k: disable bundle mgmt tx completion event support + - media: em28xx: explicitly disable TS packet filter + - PCI: mobiveil: Fix struct mobiveil_pcie.pcie_reg_base address type + - [powerpc*] mm: Don't report PUDs as memory leaks when using kmemleak + - Bluetooth: hidp: Fix handling of strncpy for hid->name information + - [x86] mm: Remove in_nmi() warning from vmalloc_fault() + - [armhf] pinctrl: imx: off by one in imx_pinconf_group_dbg_show() + - gpio: pxa: disable pinctrl calls for PXA3xx + - gpio: ml-ioh: Fix buffer underwrite on probe error path + - [x86, arm64] pinctrl/amd: only handle irq if it is pending and unmasked + - [armhf, arm64] net: mvneta: fix mtu change on port without link + - f2fs: try grabbing node page lock aggressively in sync scenario + - pktcdvd: Fix possible Spectre-v1 for pkt_devs + - f2fs: fix to skip GC if type in SSA and SIT is inconsistent + - [x86] tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) + - f2fs: fix to do sanity check with reserved blkaddr of inline inode + (CVE-2018-13099) + - [mips*] Octeon: add missing of_node_put() + - [mips*] generic: fix missing of_node_put() + - thermal: rcar_thermal: avoid NULL dereference in absence of IRQ resources + - thermal_hwmon: Sanitize attribute name passed to hwmon + - net: dcb: For wild-card lookups, use priority -1, not 0 + - dm cache: only allow a single io_mode cache feature to be requested + - Input: atmel_mxt_ts - only use first T9 instance + - [powerpc*] partitions/aix: append null character to print data from disk + - [powerpc*] partitions/aix: fix usage of uninitialized lv_info and lvname + structures + - drm/amd/display: Prevent PSR from being enabled if initialization fails + - media: em28xx: Fix dual transport stream operation + - [arm64] iommu/arm-smmu-v3: Abort all transactions if SMMU is enabled in + kdump kernel + - f2fs: fix to wait on page writeback before updating page + - f2fs: Fix uninitialized return in f2fs_ioc_shutdown() + - media: em28xx: Fix DualHD disconnect oops + - f2fs: avoid potential deadlock in f2fs_sbi_store + - f2fs: fix to do sanity check with secs_per_zone (CVE-2018-13100) + - [armhf] mfd: ti_am335x_tscadc: Fix struct clk memory leak + - f2fs: fix to do sanity check with {sit,nat}_ver_bitmap_bytesize + - f2fs: fix to propagate return value of scan_nat_page() + - f2fs: fix to do sanity check with extra_attr feature (CVE-2018-13098) + - RDMA/hns: Add illegal hop_num judgement + - NFSv4.1: Fix a potential layoutget/layoutrecall deadlock + - RDMA/hns: Update the data type of immediate data + - [mips*] WARN_ON invalid DMA cache maintenance, not BUG_ON + - [mips*] mscc: ocelot: fix length of memory address space for MIIM + - RDMA/cma: Do not ignore net namespace for unbound cm_id + - clocksource: Revert "Remove kthread" + - autofs: fix autofs_sbi() does not check super block type + - mm: get rid of vmacache_flush_all() entirely (CVE-2018-17182) + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.18.10 + - be2net: Fix memory leak in be_cmd_get_profile_config() + - net/mlx5: Fix use-after-free in self-healing flow + - rds: fix two RCU related problems + - tipc: orphan sock in tipc_release() + - net/mlx5: E-Switch, Fix memory leak when creating switchdev mode FDB + tables + - net/tls: Set count of SG entries if sk_alloc_sg returns -ENOSPC + - net/mlx5: Check for error in mlx5_attach_interface + - net/mlx5: Fix debugfs cleanup in the device init/remove flow + - erspan: fix error handling for erspan tunnel + - erspan: return PACKET_REJECT when the appropriate tunnel is not found + - tcp: really ignore MSG_ZEROCOPY if no SO_ZEROCOPY + - net/mlx5: Fix not releasing read lock when adding flow rules + - net/mlx5: Fix possible deadlock from lockdep when adding fte to fg + - net/mlx5: Use u16 for Work Queue buffer fragment size + - [armhf, arm64] usb: dwc3: change stream event enable bit back to 13 + - [arm64] iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register + - [armhf] iommu/io-pgtable-arm-v7s: Abort allocation when table address + overflows the PTE + - [armhf] iommu/io-pgtable-arm: Fix pgtable allocation in selftest + - ALSA: msnd: Fix the default sample sizes + - ALSA: usb-audio: Add support for Encore mDSD USB DAC + - ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro + - xfrm: fix 'passing zero to ERR_PTR()' warning + - [amd64, arm64] amd-xgbe: use dma_mapping_error to check map errors + - nfp: don't fail probe on pci_sriov_set_totalvfs() errors + - iwlwifi: cancel the injective function between hw pointers to tfd entry + index + - gfs2: Special-case rindex for gfs2_grow + - [armhf] clk: imx6ul: fix missing of_node_put() + - [armhf] clk: imx6sll: fix missing of_node_put() + - [arm64] clk: mvebu: armada-37xx-periph: Fix wrong return value in + get_parent + - Input: pxrc - fix freeing URB on device teardown + - clk: core: Potentially free connection id + - clk: clk-fixed-factor: Clear OF_POPULATED flag in case of failure + - media: tw686x: Fix oops on buffer alloc failure + - [armhf] dmaengine: pl330: fix irq race with terminate_all + - [mips*] ath79: fix system restart + - media: videobuf2-core: check for q->error in vb2_core_qbuf() + - IB/rxe: Drop QP0 silently + - block: allow max_discard_segments to be stacked + - IB/ipoib: Fix error return code in ipoib_dev_init() + - mtd/maps: fix solutionengine.c printk format warnings + - gfs2: Don't reject a supposedly full bitmap if we have blocks reserved + - perf tools: Synthesize GROUP_DESC feature in pipe mode + - perf tools: Fix struct comm_str removal crash + - [powerpc*] perf: Fix callchain ip filtering when return address is in a + register + - fbdev: Distinguish between interlaced and progressive modes + - [armhf] exynos: Clear global variable on init error path + - [powerpc*] perf: Fix callchain ip filtering + - nvmet: fix file discard return status + - nvme-rdma: unquiesce queues when deleting the controller + - [armhf, arm64] KVM: vgic: Fix possible spectre-v1 write in + vgic_mmio_write_apr() + - [powerpc*] powerpc/powernv: opal_put_chars partial write fix + - perf script: Show correct offsets for DWARF-based unwinding + - ASoC: rt5514: Fix the issue of the delay volume applied + - [mips*] jz4740: Bump zload address + - mac80211: restrict delayed tailroom needed decrement + - Smack: Fix handling of IPv4 traffic received by PF_INET6 sockets + - wan/fsl_ucc_hdlc: use IS_ERR_VALUE() to check return value of + qe_muram_alloc + - [arm64] fix possible spectre-v1 write in ptrace_hbp_set_event() + - reset: imx7: Fix always writing bits as 0 + - efi/arm: preserve early mapping of UEFI memory map longer for BGRT + - ALSA: usb-audio: Generic DSD detection for Thesycon-based implementations + - nfp: avoid buffer leak when FW communication fails + - xen-netfront: fix queue name setting + - [arm64] dts: qcom: db410c: Fix Bluetooth LED trigger + - ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhci + - soc: qcom: smem: Correct check for global partition + - [s390x] qeth: fix race in used-buffer accounting + - [s390x] qeth: reset layer2 attribute on layer switch + - platform/x86: toshiba_acpi: Fix defined but not used build warnings + - KVM: arm/arm64: Fix vgic init race + - drivers/base: stop new probing during shutdown + - i2c: aspeed: Fix initial values of master and slave state + - drm/amd/pp: Set Max clock level to display by default + - regulator: qcom_spmi: Use correct regmap when checking for error + - regulator: qcom_spmi: Fix warning Bad of_node_put() + - iommu/ipmmu-vmsa: IMUCTRn.TTSEL needs a special usage on R-Car Gen3 + - dmaengine: mv_xor_v2: kill the tasklets upon exit + - crypto: sharah - Unregister correct algorithms for SAHARA 3 + - [x86] pti: Check the return value of pti_user_pagetable_walk_p4d() + - [x86] pti: Check the return value of pti_user_pagetable_walk_pmd() + - [x86} mm/pti: Add an overflow check to pti_clone_pmds() + - PCI/AER: Honor "pcie_ports=native" even if HEST sets FIRMWARE_FIRST + - xen-netfront: fix warn message as irq device name has '/' + - RDMA/cma: Protect cma dev list with lock + - pstore: Fix incorrect persistent ram buffer mapping + - xen/netfront: fix waiting for xenbus state change + - IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler + - [s390x] crypto: Fix return code checking in cbc_paes_crypt() + - [armhf] mmc: omap_hsmmc: fix wakeirq handling on removal + - ipmi: Rework SMI registration failure + - ipmi: Move BT capabilities detection to the detect call + - ipmi: Fix I2C client removal in the SSIF driver + - ovl: fix oopses in ovl_fill_super() failure paths + - vmbus: don't return values for uninitalized channels + - tools: hv: Fix a bug in the key delete code + - misc: ibmvsm: Fix wrong assignment of return code + - misc: hmc6352: fix potential Spectre v1 + - xhci: Fix use after free for URB cancellation on a reallocated endpoint + - usb: Don't die twice if PCI xhci host is not responding in resume + - usb: xhci: fix interrupt transfer error happened on MTK platforms + - usb: mtu3: fix error of xhci port id when enable U3 dual role + - mei: ignore not found client in the enumeration + - mei: bus: fix hw module get/put balance + - mei: bus: need to unlink client before freeing + - dm verity: fix crash on bufio buffer that was allocated with vmalloc + - usb: Add quirk to support DJI CineSSD + - usb: uas: add support for more quirk flags + - usb: Avoid use-after-free by flushing endpoints early in + usb_set_interface() + - usb: host: u132-hcd: Fix a sleep-in-atomic-context bug in u132_get_frame() + - usb: add quirk for WORLDE Controller KS49 or Prodipe MIDI 49C USB + controller + - usb: gadget: udc: renesas_usb3: fix maxpacket size of ep0 + - usb: net2280: Fix erroneous synchronization change + - usb: serial: io_ti: fix array underflow in completion handler + - usb: misc: uss720: Fix two sleep-in-atomic-context bugs + - usb: serial: ti_usb_3410_5052: fix array underflow in completion handler + - usb: yurex: Fix buffer over-read in yurex_write() + - usb: cdc-wdm: Fix a sleep-in-atomic-context bug in + service_outstanding_interrupt() + - Revert "cdc-acm: implement put_char() and flush_chars()" + - cifs: prevent integer overflow in nxt_dir_entry() + - CIFS: fix wrapping bugs in num_entries() + - cifs: integer overflow in in SMB2_ioctl() + - xtensa: ISS: don't allocate memory in platform_setup + - perf/core: Force USER_DS when recording user stack data + - perf tools: Fix maps__find_symbol_by_name() + - of: fix phandle cache creation for DTs with no phandles + - x86/EISA: Don't probe EISA bus for Xen PV guests + - NFSv4: Fix a tracepoint Oops in initiate_file_draining() + - NFSv4.1 fix infinite loop on I/O. + - of: add helper to lookup compatible child node + - mmc: meson-mx-sdio: fix OF child-node lookup + - binfmt_elf: Respect error return from `regset->active' + - net/mlx5: Add missing SET_DRIVER_VERSION command translation + - audit: fix use-after-free in audit_add_watch + - mtdchar: fix overflows in adjustment of `count` + - vfs: fix freeze protection in mnt_want_write_file() for overlayfs + - bpf: fix rcu annotations in compute_effective_progs() + - spi: dw: fix possible race condition + - Bluetooth: Use lock_sock_nested in bt_accept_enqueue + - evm: Don't deadlock if a crypto algorithm is unavailable + - [powerpc*] KVM: Book3S HV: Add of_node_put() in success path + - security: check for kstrdup() failure in lsm_append() + - PM / devfreq: use put_device() instead of kfree() + - [powerpc*] KVM: Book3S: Fix matching of hardware and emulated TCE tables + - configfs: fix registered group removal + - sched/core: Use smp_mb() in wake_woken_function() + - efi/esrt: Only call efi_mem_reserve() for boot services memory + - [arm64] net: hns3: Reset net device with rtnl_lock + - [arm64] net: hns3: Fix for reset_level default assignment probelm + - [arm64] hisi: handle of_iomap and fix missing of_node_put + - [arm64] hisi: fix error handling and missing of_node_put + - [arm64] net: hns3: Fix return value error in hns3_reset_notify_down_enet + - [arm64] hisi: check of_iomap and fix missing of_node_put + - liquidio: fix hang when re-binding VF host drv after running DPDK VF + driver + - [armhf] gpu: ipu-v3: csi: pass back mbus_code_to_bus_cfg error codes + - ASoC: hdmi-codec: fix routing + - serial: 8250: of: Correct of_platform_serial_setup() error handling + - tty: fix termios input-speed encoding when using BOTHER + - tty: fix termios input-speed encoding + - [armhf, arm64] mmc: tegra: prevent HS200 on Tegra 3 + - mmc: sdhci: do not try to use 3.3V signaling if not supported + - drm/nouveau: Fix runtime PM leak in drm_open() + - drm/nouveau/debugfs: Wake up GPU before doing any reclocking + - [armhf, arm64] drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping + - tls: Fix zerocopy_from_iter iov handling + - parport: sunbpp: fix error return code + - sched/fair: Fix util_avg of new tasks for asymmetric systems + - f2fs: do checkpoint in kill_sb + - drm/amd/display: support access ddc for mst branch + - gpiolib: Mark gpio_suffixes array with __maybe_unused + - [armhf, arm64] net: mvpp2: make sure we use single queue mode on PPv2.1 + - mfd: 88pm860x-i2c: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) + - input: rohm_bu21023: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) + - [x86] drm/amdkfd: Fix kernel queue 64 bit doorbell offset calculation + - [x86] drm/amdkfd: Fix error codes in kfd_get_process + - ALSA: pcm: Fix snd_interval_refine first/last with open min/max + - scsi: libfc: fixup 'sleeping function called from invalid context' + - scsi: lpfc: Fix NVME Target crash in defer rcv logic + - scsi: lpfc: Fix panic if driver unloaded when port is offline + - [arm64] perf: Disable PMU while processing counter overflows + - drm/amd/pp: Send khz clock values to DC for smu7/8 + - IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers + - blk-mq: only attempt to merge bio if there is rq in sw queue + - blk-mq: avoid to synchronize rcu inside blk_cleanup_queue() + - [arm64] pinctrl: msm: Fix msm_config_group_get() to be compliant + - [arm64] pinctrl: qcom: spmi-gpio: Fix pmic_gpio_config_get() to be + compliant + - [armhf, arm64] clk: tegra: bpmp: Don't crash when a clock fails to + register + - [x86] mei: bus: type promotion bug in mei_nfc_if_version() + - [x86] crypto: ccp - add timeout support in the SEV command + + [ Vagrant Cascadian ] + * debian/rules.real: Generate linux-source tarball with root user and + group specified, to fix reproducibility issues. + + [ Ben Hutchings ] + * drivers/net/ethernet: Ignore ABI changes + * [arm64] ACPI: Change ACPI_NFIT from built-in to module + * [i386/686] Enable MGEODE_LX instead of M686 (regression in 4.16) + - x86-32: Disable 3D-Now in generic config + * Bump ABI to 2 + + [ Yves-Alexis Perez ] + * [x86] enable PINCTRL_AMD for touchpad support on Lenovo IdeaPad. + (closes: #876141) + + [ Geoff Levand ] + * [arm64] Add support for new server hardware (Closes: #900581): + - Enable SCHED_SMT for hardware multithreading processors + - Enable ARM64_LSE_ATOMICS for v8.1 processors + - ACPI: Enable ACPI_PCI_SLOT, ACPI_HED, ACPI_BGRT, ACPI_APEI, + ACPI_APEI_GHES, ACPI_APEI_PCIEAER, ACPI_APEI_SEA, + ACPI_APEI_MEMORY_FAILURE as built-in; + ACPI_APEI_EINJ, WDAT_WDT as modules + * [arm64] acpi: Add fixup for HPE m400 quirks + + [ Salvatore Bonaccorso ] + * floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl + (CVE-2018-7755) + * scsi: target: iscsi: Use hex2bin instead of a re-implementation + (CVE-2018-14633) + * scsi: target: iscsi: Use bin2hex instead of a re-implementation + + -- Ben Hutchings Sun, 30 Sep 2018 18:02:51 +0100 + linux (4.18.8-1) unstable; urgency=medium * New upstream stable update: diff --git a/debian/config/arm64/config b/debian/config/arm64/config index 642ed9feb..6df193266 100644 --- a/debian/config/arm64/config +++ b/debian/config/arm64/config @@ -9,6 +9,7 @@ CONFIG_ARM64_ERRATUM_834220=y CONFIG_ARM64_VA_BITS_48=y ## end choice CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y CONFIG_NR_CPUS=256 CONFIG_NUMA=y CONFIG_SECCOMP=y @@ -19,6 +20,7 @@ CONFIG_ARMV8_DEPRECATED=y CONFIG_SWP_EMULATION=y CONFIG_CP15_BARRIER_EMULATION=y CONFIG_SETEND_EMULATION=y +CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_PMEM=y CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y @@ -67,11 +69,19 @@ CONFIG_ARCH_XGENE=y ## CONFIG_ACPI=y CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_BGRT=y ## -## file: drivers/acpi/nfit/Kconfig +## file: drivers/acpi/apei/Kconfig ## -CONFIG_ACPI_NFIT=y +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_SEA=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_EINJ=m ## ## file: drivers/android/Kconfig @@ -1097,6 +1107,7 @@ CONFIG_VIRTIO_MMIO=m ## file: drivers/watchdog/Kconfig ## CONFIG_GPIO_WATCHDOG=m +CONFIG_WDAT_WDT=m CONFIG_ARM_SP805_WATCHDOG=m CONFIG_ARM_SBSA_WATCHDOG=m CONFIG_DW_WATCHDOG=m @@ -1107,11 +1118,6 @@ CONFIG_MESON_GXBB_WATCHDOG=m CONFIG_MESON_WATCHDOG=m CONFIG_BCM2835_WDT=m -## -## file: fs/pstore/Kconfig -## -CONFIG_PSTORE=y - ## ## file: mm/Kconfig ## diff --git a/debian/config/defines b/debian/config/defines index b9e9cb21f..e5f7a77f5 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -26,6 +26,7 @@ ignore-changes: module:drivers/iio/** module:drivers/misc/cxl/* module:drivers/mtd/nand/* + module:drivers/net/ethernet/** module:drivers/net/wireless/** module:drivers/nvdimm/* module:drivers/power/supply/bq27xxx_battery diff --git a/debian/config/i386/config.686 b/debian/config/i386/config.686 index f07efc7df..c9d54a9cc 100644 --- a/debian/config/i386/config.686 +++ b/debian/config/i386/config.686 @@ -18,7 +18,9 @@ CONFIG_GEOS=y ## ## choice: Processor family # CONFIG_M486 is not set -CONFIG_M686=y +#. We want to support Geode LX and similar AMD family 5 CPUs as well as +#. family 6+ CPUs +CONFIG_MGEODE_LX=y ## end choice ## diff --git a/debian/config/kernelarch-x86/config b/debian/config/kernelarch-x86/config index 1e541601d..f010b4ee2 100644 --- a/debian/config/kernelarch-x86/config +++ b/debian/config/kernelarch-x86/config @@ -1324,6 +1324,11 @@ CONFIG_I82092=m CONFIG_TCIC=m # CONFIG_PCMCIA_DEBUG is not set +## +## file: drivers/pinctrl/Kconfig +## +CONFIG_PINCTRL_AMD=y + ## ## file: drivers/pinctrl/intel/Kconfig ## diff --git a/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch b/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch index 7a91a2a1c..bc5432f46 100644 --- a/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch +++ b/debian/patches-rt/irqwork-push_most_work_into_softirq_context.patch @@ -22,14 +22,16 @@ Mike Galbraith, hard and soft variant] Signed-off-by: Sebastian Andrzej Siewior --- - include/linux/irq_work.h | 8 ++++++ - kernel/irq_work.c | 60 ++++++++++++++++++++++++++++++++++++----------- - kernel/rcu/tree.c | 1 - kernel/sched/topology.c | 1 - kernel/time/tick-sched.c | 1 - kernel/time/timer.c | 1 - 6 files changed, 59 insertions(+), 13 deletions(-) + include/linux/irq_work.h | 8 ++++++ + kernel/irq_work.c | 59 ++++++++++++++++++++++++++++++++-------- + kernel/rcu/tree.c | 1 + + kernel/sched/topology.c | 1 + + kernel/time/tick-sched.c | 1 + + kernel/time/timer.c | 2 ++ + 6 files changed, 60 insertions(+), 12 deletions(-) +diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h +index b11fcdfd0770..c1afbba27902 100644 --- a/include/linux/irq_work.h +++ b/include/linux/irq_work.h @@ -18,6 +18,8 @@ @@ -41,7 +43,7 @@ Signed-off-by: Sebastian Andrzej Siewior #define IRQ_WORK_CLAIMED (IRQ_WORK_PENDING | IRQ_WORK_BUSY) -@@ -52,4 +54,10 @@ static inline bool irq_work_needs_cpu(vo +@@ -52,4 +54,10 @@ static inline bool irq_work_needs_cpu(void) { return false; } static inline void irq_work_run(void) { } #endif @@ -52,6 +54,8 @@ Signed-off-by: Sebastian Andrzej Siewior +#endif + #endif /* _LINUX_IRQ_WORK_H */ +diff --git a/kernel/irq_work.c b/kernel/irq_work.c +index 6b7cdf17ccf8..e765a79ef48b 100644 --- a/kernel/irq_work.c +++ b/kernel/irq_work.c @@ -17,6 +17,7 @@ @@ -71,7 +75,7 @@ Signed-off-by: Sebastian Andrzej Siewior /* All work should have been flushed before going offline */ WARN_ON_ONCE(cpu_is_offline(cpu)); -@@ -76,7 +79,12 @@ bool irq_work_queue_on(struct irq_work * +@@ -76,7 +79,12 @@ bool irq_work_queue_on(struct irq_work *work, int cpu) if (!irq_work_claim(work)) return false; @@ -85,7 +89,7 @@ Signed-off-by: Sebastian Andrzej Siewior arch_send_call_function_single_ipi(cpu); #else /* #ifdef CONFIG_SMP */ -@@ -89,6 +97,9 @@ bool irq_work_queue_on(struct irq_work * +@@ -89,6 +97,9 @@ bool irq_work_queue_on(struct irq_work *work, int cpu) /* Enqueue the irq work @work on the current CPU */ bool irq_work_queue(struct irq_work *work) { @@ -95,7 +99,7 @@ Signed-off-by: Sebastian Andrzej Siewior /* Only queue if not already pending */ if (!irq_work_claim(work)) return false; -@@ -96,13 +107,15 @@ bool irq_work_queue(struct irq_work *wor +@@ -96,13 +107,15 @@ bool irq_work_queue(struct irq_work *work) /* Queue the entry and raise the IPI if needed. */ preempt_disable(); @@ -130,7 +134,7 @@ Signed-off-by: Sebastian Andrzej Siewior /* All work should have been flushed before going offline */ WARN_ON_ONCE(cpu_is_offline(smp_processor_id())); -@@ -135,8 +147,12 @@ static void irq_work_run_list(struct lli +@@ -135,7 +147,12 @@ static void irq_work_run_list(struct llist_head *list) struct llist_node *llnode; unsigned long flags; @@ -139,12 +143,11 @@ Signed-off-by: Sebastian Andrzej Siewior + * nort: On RT IRQ-work may run in SOFTIRQ context. + */ BUG_ON(!irqs_disabled()); -- +#endif + if (llist_empty(list)) return; - -@@ -168,7 +184,16 @@ static void irq_work_run_list(struct lli +@@ -168,7 +185,16 @@ static void irq_work_run_list(struct llist_head *list) void irq_work_run(void) { irq_work_run_list(this_cpu_ptr(&raised_list)); @@ -162,7 +165,7 @@ Signed-off-by: Sebastian Andrzej Siewior } EXPORT_SYMBOL_GPL(irq_work_run); -@@ -178,8 +203,17 @@ void irq_work_tick(void) +@@ -178,8 +204,17 @@ void irq_work_tick(void) if (!llist_empty(raised) && !arch_irq_work_has_interrupt()) irq_work_run_list(raised); @@ -180,9 +183,11 @@ Signed-off-by: Sebastian Andrzej Siewior /* * Synchronize against the irq_work @entry, ensures the entry is not +diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c +index aa7cade1b9f3..131fe93756c4 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c -@@ -1294,6 +1294,7 @@ static int rcu_implicit_dynticks_qs(stru +@@ -1259,6 +1259,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp) !rdp->rcu_iw_pending && rdp->rcu_iw_gpnum != rnp->gpnum && (rnp->ffmask & rdp->grpmask)) { init_irq_work(&rdp->rcu_iw, rcu_iw_handler); @@ -190,9 +195,11 @@ Signed-off-by: Sebastian Andrzej Siewior rdp->rcu_iw_pending = true; rdp->rcu_iw_gpnum = rnp->gpnum; irq_work_queue_on(&rdp->rcu_iw, rdp->cpu); +diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c +index 56a0fed30c0a..dc7fd09d66fa 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c -@@ -279,6 +279,7 @@ static int init_rootdomain(struct root_d +@@ -279,6 +279,7 @@ static int init_rootdomain(struct root_domain *rd) rd->rto_cpu = -1; raw_spin_lock_init(&rd->rto_lock); init_irq_work(&rd->rto_push_work, rto_push_irq_work_func); @@ -200,9 +207,11 @@ Signed-off-by: Sebastian Andrzej Siewior #endif init_dl_bw(&rd->dl_bw); +diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c +index 5b33e2f5c0ed..2fd4a37ffdc2 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c -@@ -232,6 +232,7 @@ static void nohz_full_kick_func(struct i +@@ -227,6 +227,7 @@ static void nohz_full_kick_func(struct irq_work *work) static DEFINE_PER_CPU(struct irq_work, nohz_full_kick_work) = { .func = nohz_full_kick_func, @@ -210,13 +219,19 @@ Signed-off-by: Sebastian Andrzej Siewior }; /* +diff --git a/kernel/time/timer.c b/kernel/time/timer.c +index 786f8c014e7e..6c996ba08e0a 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c -@@ -1717,6 +1717,7 @@ static __latent_entropy void run_timer_s +@@ -1692,6 +1692,8 @@ static __latent_entropy void run_timer_softirq(struct softirq_action *h) { struct timer_base *base = this_cpu_ptr(&timer_bases[BASE_STD]); + irq_work_tick_soft(); - /* - * must_forward_clk must be cleared before running timers so that any - * timer functions that call mod_timer will not try to forward the ++ + __run_timers(base); + if (IS_ENABLED(CONFIG_NO_HZ_COMMON)) + __run_timers(this_cpu_ptr(&timer_bases[BASE_DEF])); +-- +2.19.0 + diff --git a/debian/patches-rt/of-allocate-free-phandle-cache-outside-of-the-devtre.patch b/debian/patches-rt/of-allocate-free-phandle-cache-outside-of-the-devtre.patch index b1d7f446a..19cc858d5 100644 --- a/debian/patches-rt/of-allocate-free-phandle-cache-outside-of-the-devtre.patch +++ b/debian/patches-rt/of-allocate-free-phandle-cache-outside-of-the-devtre.patch @@ -13,12 +13,12 @@ Cc: Frank Rowand Cc: devicetree@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior --- - drivers/of/base.c | 22 ++++++++++++++-------- + drivers/of/base.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) --- a/drivers/of/base.c +++ b/drivers/of/base.c -@@ -108,43 +108,49 @@ void of_populate_phandle_cache(void) +@@ -108,46 +108,52 @@ void of_populate_phandle_cache(void) u32 cache_entries; struct device_node *np; u32 phandles = 0; @@ -36,6 +36,9 @@ Signed-off-by: Sebastian Andrzej Siewior + raw_spin_unlock_irqrestore(&devtree_lock, flags); + + if (!phandles) + goto out; + cache_entries = roundup_pow_of_two(phandles); phandle_cache_mask = cache_entries - 1; diff --git a/debian/patches/bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch b/debian/patches/bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch new file mode 100644 index 000000000..5ca50d2e9 --- /dev/null +++ b/debian/patches/bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch @@ -0,0 +1,90 @@ +From: Geoff Levand +Date: Wed, 13 Jun 2018 10:56:08 -0700 +Subject: arm64/acpi: Add fixup for HPE m400 quirks +Forwarded: https://patchwork.codeaurora.org/patch/547277/ + +Adds a new ACPI init routine acpi_fixup_m400_quirks that adds +a work-around for HPE ProLiant m400 APEI firmware problems. + +The work-around disables APEI when CONFIG_ACPI_APEI is set and +m400 firmware is detected. Without this fixup m400 systems +experience errors like these on startup: + + [Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 2 + [Hardware Error]: event severity: fatal + [Hardware Error]: Error 0, type: fatal + [Hardware Error]: section_type: memory error + [Hardware Error]: error_status: 0x0000000000001300 + [Hardware Error]: error_type: 10, invalid address + Kernel panic - not syncing: Fatal hardware error! + +Signed-off-by: Geoff Levand +[bwh: Adjust context to apply to Linux 4.19] +--- + arch/arm64/kernel/acpi.c | 40 ++++++++++++++++++++++++++++++++++++---- + 1 file changed, 36 insertions(+), 4 deletions(-) + +--- a/arch/arm64/kernel/acpi.c ++++ b/arch/arm64/kernel/acpi.c +@@ -33,6 +33,8 @@ + #include + #include + ++#include ++ + int acpi_noirq = 1; /* skip ACPI IRQ initialization */ + int acpi_disabled = 1; + EXPORT_SYMBOL(acpi_disabled); +@@ -175,6 +177,33 @@ out: + } + + /* ++ * acpi_fixup_m400_quirks - Work-around for HPE ProLiant m400 APEI firmware ++ * problems. ++ */ ++static void __init acpi_fixup_m400_quirks(void) ++{ ++ acpi_status status; ++ struct acpi_table_header *header; ++#if !defined(CONFIG_ACPI_APEI) ++ int hest_disable = HEST_DISABLED; ++#endif ++ ++ if (!IS_ENABLED(CONFIG_ACPI_APEI) || hest_disable != HEST_ENABLED) ++ return; ++ ++ status = acpi_get_table(ACPI_SIG_HEST, 0, &header); ++ ++ if (ACPI_SUCCESS(status) && !strncmp(header->oem_id, "HPE ", 6) && ++ !strncmp(header->oem_table_id, "ProLiant", 8) && ++ MIDR_IMPLEMENTOR(read_cpuid_id()) == ARM_CPU_IMP_APM) { ++ hest_disable = HEST_DISABLED; ++ pr_info("Disabled APEI for m400.\n"); ++ } ++ ++ acpi_put_table(header); ++} ++ ++/* + * acpi_boot_table_init() called from setup_arch(), always. + * 1. find RSDP and get its address, and then find XSDT + * 2. extract all tables and checksums them all +@@ -229,11 +258,14 @@ done: + if (acpi_disabled) { + if (earlycon_acpi_spcr_enable) + early_init_dt_scan_chosen_stdout(); +- } else { +- acpi_parse_spcr(earlycon_acpi_spcr_enable, true); +- if (IS_ENABLED(CONFIG_ACPI_BGRT)) +- acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt); ++ return; + } ++ ++ acpi_parse_spcr(earlycon_acpi_spcr_enable, true); ++ if (IS_ENABLED(CONFIG_ACPI_BGRT)) ++ acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt); ++ ++ acpi_fixup_m400_quirks(); + } + + pgprot_t __acpi_get_mem_attribute(phys_addr_t addr) diff --git a/debian/patches/bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch b/debian/patches/bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch new file mode 100644 index 000000000..074c856be --- /dev/null +++ b/debian/patches/bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch @@ -0,0 +1,29 @@ +From: Ben Hutchings +Date: Tue, 25 Sep 2018 19:44:13 +0100 +Subject: x86-32: Disable 3D-Now in generic config + +We want the 686 flavour to run on Geode LX and similar AMD family 5 +CPUs as well as family 6 and higher CPUs. This used to work with +CONFIG_M686=y. However commit 25d76ac88821 "x86/Kconfig: Explicitly +enumerate i686-class CPUs in Kconfig" in Linux 4.16 has made the +kernel require family 6 or higher. + +It looks like a sensible choice would be to enable CONFIG_MGEODE_LX +and CONFIG_X86_GENERIC (for more generic optimisations), but this +currently enables CONFIG_X86_USE_3D_NOW which will cause the kernel to +crash on CPUs without the AMD-specific 3D-Now instructions. + +Make CONFIG_X86_USE_3DNOW depend on CONFIG_X86_GENERIC being disabled. + +--- +--- a/arch/x86/Kconfig.cpu ++++ b/arch/x86/Kconfig.cpu +@@ -337,7 +337,7 @@ config X86_USE_PPRO_CHECKSUM + + config X86_USE_3DNOW + def_bool y +- depends on (MCYRIXIII || MK7 || MGEODE_LX) && !UML ++ depends on (MCYRIXIII || MK7 || MGEODE_LX) && !X86_GENERIC && !UML + + # + # P6_NOPs are a relatively minor optimization that require a family >= diff --git a/debian/patches/series b/debian/patches/series index 5cbc7766e..cf8bffd9f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -76,6 +76,8 @@ bugfix/powerpc/powerpc-lib-makefile-don-t-pull-in-quad.o-for-32-bit.patch bugfix/arm/arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch bugfix/powerpc/powerpc-boot-fix-missing-crc32poly.h-when-building-with-kernel_xz.patch bugfix/x86/x86-boot-fix-efi-stub-alignment.patch +bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch +bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch # Arch features features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch diff --git a/debian/rules.real b/debian/rules.real index 6653aa688..81b429386 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -138,7 +138,8 @@ $(BUILD_DIR)/$(SOURCE_BASENAME)-source-$(UPSTREAMVERSION).tar.xz: $(STAMPS_DIR)/ -name '*.pyc' -prune -o \ -print0 | \ sort -z | \ - tar --no-recursion --null -T - -caf '$(SOURCE_BASENAME)-source-$(UPSTREAMVERSION).tar.xz' + tar --owner=root --group=root --numeric-owner \ + --no-recursion --null -T - -caf '$(SOURCE_BASENAME)-source-$(UPSTREAMVERSION).tar.xz' rm -rf '$(DIR)' $(BUILD_DIR)/linux-patch-$(UPSTREAMVERSION)-%.patch.xz: $(STAMPS_DIR)/source_none $(STAMPS_DIR)/source_%