1. 10 May, 2019 1 commit
    • Petr Mladek's avatar
      vsprintf: Do not break early boot with probing addresses · 2ac5a3bf
      Petr Mladek authored
      The commit 3e5903eb ("vsprintf: Prevent crash when dereferencing
      invalid pointers") broke boot on several architectures. The common
      pattern is that probe_kernel_read() is not working during early
      boot because userspace access framework is not ready.
      
      It is a generic problem. We have to avoid any complex external
      functions in vsprintf() code, especially in the common path.
      They might break printk() easily and are hard to debug.
      
      Replace probe_kernel_read() with some simple checks for obvious
      problems.
      
      Details:
      
      1. Report on Power:
      
      Kernel crashes very early during boot with with CONFIG_PPC_KUAP and
      CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG
      
      The problem is the combination of some new code called via printk(),
      check_pointer() which calls probe_kernel_read(). That then calls
      allow_user_access() (PPC_KUAP) and that uses mmu_has_feature() too early
      (before we've patched features). With the JUMP_LABEL debug enabled that
      causes us to call printk() & dump_stack() and we end up recursing and
      overflowing the stack.
      
      Because it happens so early you don't get any output, just an apparently
      dead system.
      
      The stack trace (which you don't see) is something like:
      
        ...
        dump_stack+0xdc
        probe_kernel_read+0x1a4
        check_pointer+0x58
        string+0x3c
        vsnprintf+0x1bc
        vscnprintf+0x20
        printk_safe_log_store+0x7c
        printk+0x40
        dump_stack_print_info+0xbc
        dump_stack+0x8
        probe_kernel_read+0x1a4
        probe_kernel_read+0x19c
        check_pointer+0x58
        string+0x3c
        vsnprintf+0x1bc
        vscnprintf+0x20
        vprintk_store+0x6c
        vprintk_emit+0xec
        vprintk_func+0xd4
        printk+0x40
        cpufeatures_process_feature+0xc8
        scan_cpufeatures_subnodes+0x380
        of_scan_flat_dt_subnodes+0xb4
        dt_cpu_ftrs_scan_callback+0x158
        of_scan_flat_dt+0xf0
        dt_cpu_ftrs_scan+0x3c
        early_init_devtree+0x360
        early_setup+0x9c
      
      2. Report on s390:
      
      vsnprintf invocations, are broken on s390. For example, the early boot
      output now looks like this where the first (efault) should be
      the linux_banner:
      
      [    0.099985] (efault)
      [    0.099985] setup: Linux is running as a z/VM guest operating system in 64-bit mode
      [    0.100066] setup: The maximum memory size is 8192MB
      [    0.100070] cma: Reserved 4 MiB at (efault)
      [    0.100100] numa: NUMA mode: (efault)
      
      The reason for this, is that the code assumes that
      probe_kernel_address() works very early. This however is not true on
      at least s390. Uaccess on KERNEL_DS works only after page tables have
      been setup on s390, which happens with setup_arch()->paging_init().
      
      Any probe_kernel_address() invocation before that will return -EFAULT.
      
      Fixes: 3e5903eb ("vsprintf: Prevent crash when dereferencing invalid pointers")
      Link: http://lkml.kernel.org/r/20190510084213.22149-1-pmladek@suse.com
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
      Cc: "Tobin C . Harding" <me@tobin.cc>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: linux-kernel@vger.kernel.org
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: Russell Currey <ruscur@russell.cc>
      Cc: Christophe Leroy <christophe.leroy@c-s.fr>
      Cc: Stephen Rothwell <sfr@ozlabs.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-s390@vger.kernel.org
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Petr Mladek <pmladek@suse.com>
      Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
      2ac5a3bf
  2. 07 May, 2019 17 commits
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · 09686219
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Allow state reset of printk_once() calls.
      
       - Prevent crashes when dereferencing invalid pointers in vsprintf().
         Only the first byte is checked for simplicity.
      
       - Make vsprintf warnings consistent and inlined.
      
       - Treewide conversion of obsolete %pf, %pF to %ps, %pF printf
         modifiers.
      
       - Some clean up of vsprintf and test_printf code.
      
      * tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        lib/vsprintf: Make function pointer_string static
        vsprintf: Limit the length of inlined error messages
        vsprintf: Avoid confusion between invalid address and value
        vsprintf: Prevent crash when dereferencing invalid pointers
        vsprintf: Consolidate handling of unknown pointer specifiers
        vsprintf: Factor out %pO handler as kobject_string()
        vsprintf: Factor out %pV handler as va_format()
        vsprintf: Factor out %p[iI] handler as ip_addr_string()
        vsprintf: Do not check address of well-known strings
        vsprintf: Consistent %pK handling for kptr_restrict == 0
        vsprintf: Shuffle restricted_pointer()
        printk: Tie printk_once / printk_deferred_once into .data.once for reset
        treewide: Switch printk users from %pf and %pF to %ps and %pS, respectively
        lib/test_printf: Switch to bitmap_zalloc()
      09686219
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching · 573de2a6
      Linus Torvalds authored
      Pull livepatching updates from Jiri Kosina:
      
       - livepatching kselftests improvements from Joe Lawrence and Miroslav
         Benes
      
       - making use of gcc's -flive-patching option when available, from
         Miroslav Benes
      
       - kobject handling cleanups, from Petr Mladek
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        livepatch: Remove duplicated code for early initialization
        livepatch: Remove custom kobject state handling
        livepatch: Convert error about unsupported reliable stacktrace into a warning
        selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED
        kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled
        selftests/livepatch: use TEST_PROGS for test scripts
      573de2a6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · b4dd05de
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - support for U2F Zero device, from Andrej Shadura
      
       - logitech-dj has historically been treating devices behind
         non-unifying receivers as generic devices, using the HID emulation in
         the receiver. That had several shortcomings (special keys handling,
         battery level monitoring, etc). The driver has been reworked to
         enumarate (and directly communicate with) the devices behind the
         receiver, to avoid the (too) generic HID implementation in the
         receiver itself. All the work done by Benjamin Tissoires and Hans de
         Goede.
      
       - restructuring of intel-ish driver in order to allow for multiple
         clients of the ISH implementation, from Srinivas Pandruvada
      
       - several other smaller fixes and assorted device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (68 commits)
        HID: logitech-dj: fix spelling in printk
        HID: input: fix assignment of .value
        HID: input: make sure the wheel high resolution multiplier is set
        HID: logitech-dj: add usbhid dependency in Kconfig
        HID: logitech-hidpp: add support for HID++ 1.0 consumer keys reports
        HID: logitech-hidpp: add support for HID++ 1.0 extra mouse buttons reports
        HID: logitech-hidpp: add support for HID++ 1.0 wheel reports
        HID: logitech-hidpp: make hidpp10_set_register_bit a bit more generic
        HID: logitech-hidpp: add input_device ptr to struct hidpp_device
        HID: logitech-hidpp: do not hardcode very long report length
        HID: logitech-hidpp: handle devices attached to 27MHz wireless receivers
        HID: logitech-hidpp: use RAP instead of FAP to get the protocol version
        HID: logitech-hidpp: remove unused origin_is_hid_core function parameter
        HID: logitech-hidpp: remove double assignment from __hidpp_send_report
        HID: logitech-hidpp: do not make failure to get the name fatal
        HID: logitech-hidpp: ignore very-short or empty names
        HID: logitech-hidpp: make .probe usbhid capable
        HID: logitech-hidpp: allow non HID++ devices to be handled by this module
        HID: logitech-dj: add support for Logitech Bluetooth Mini-Receiver
        HID: logitech-dj: make appending of the HID++ descriptors conditional
        ...
      b4dd05de
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · 80104bb0
      Linus Torvalds authored
      Pull i3c update from Boris Brezillon:
      
       - Fix a shift wrap bug in the core
      
       - Remove dead code in the DW driver
      
      * tag 'i3c/for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        i3c: Fix a shift wrap bug in i3c_bus_set_addr_slot_status()
        i3c: master: dw: remove dead code from dw_i3c_master_*_xfers()
      80104bb0
    • Linus Torvalds's avatar
      Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 78ee8b1b
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "Just a few bugfixes and documentation updates"
      
      * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        seccomp: fix up grammar in comment
        Revert "security: inode: fix a missing check for securityfs_create_file"
        Yama: mark function as static
        security: inode: fix a missing check for securityfs_create_file
        keys: safe concurrent user->{session,uid}_keyring access
        security: don't use RCU accessors for cred->session_keyring
        Yama: mark local symbols as static
        LSM: lsm_hooks.h: fix documentation format
        LSM: fix documentation for the shm_* hooks
        LSM: fix documentation for the sem_* hooks
        LSM: fix documentation for the msg_queue_* hooks
        LSM: fix documentation for the audit_* hooks
        LSM: fix documentation for the path_chmod hook
        LSM: fix documentation for the socket_getpeersec_dgram hook
        LSM: fix documentation for the task_setscheduler hook
        LSM: fix documentation for the socket_post_create hook
        LSM: fix documentation for the syslog hook
        LSM: fix documentation for sb_copy_data hook
      78ee8b1b
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 9bff9dfc
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "One small feature was added this release but the bulk of the diffstat
        and the changelog comes from the fact that several older drivers got
        some fairly hefty reworks and a couple of new drivers were added:
      
         - Support for detailed control of timing around chip selects from
           Sowjanya Komatineni.
      
         - A big set of fixes and imrovements for the Tegra114 driver from
           Sowjanya Komatineni.
      
         - A big simplification of the GPIO driver from Andrey Smirnov.
      
         - DMA support and fixes for the Freescale LPSPI driver from Clark
           Wang.
      
         - Fixes and optimizations for the bcm2835aux from Martin Sparl.
      
         - New drivers for Mediatek MT7621 (graduated from staging) and Zynq
           QSPI"
      
      [ This is a so-called "evil merge" that additionally removes a warning
        due to an unused variable 'i' introduced by commit 1dfbf334 ("spi:
        ep93xx: Convert to use CS GPIO descriptors")     - Linus ]
      
      * tag 'spi-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (127 commits)
        spi: rspi: Fix handling of QSPI code when transmit and receive
        spi: atmel-quadspi: fix crash while suspending
        spi: stm32: return the get_irq error
        spi: tegra114: fix PIO transfer
        spi: pxa2xx: fix SCR (divisor) calculation
        spi: Clear SPI_CS_HIGH flag from bad_bits for GPIO chip-select
        spi: ep93xx: Convert to use CS GPIO descriptors
        spi: AD ASoC: declare missing of table
        spi: spi-mem: zynq-qspi: Fix build error on architectures missing readsl/writesl
        spi: stm32-qspi: manage the get_irq error case
        spi/spi-bcm2835: Split transfers that exceed DLEN
        spi: expand mode support
        dt-bindings: spi: spi-mt65xx: add support for MT8516
        spi: pxa2xx: Add support for Intel Comet Lake
        spi/trace: Cap buffer contents at 64 bytes
        spi: Release spi_res after finalizing message
        spi: Remove warning in spi_split_transfers_maxsize()
        spi: Remove one needless transfer speed fall back case
        spi: sh-msiof: Document r8a77470 bindings
        spi: pxa2xx: use a module softdep for dw_dmac
        ...
      9bff9dfc
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 61be53f9
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "In terms of big picture changes this has been an extremely quiet
        release however there's a lot of changes and a fairly big diffstat
        thanks to a bunch of small fixes, mainly coming from Axel Lin. Thanks
        to his work this release removes code overall even though we've added
        a new (albiet fairly small) driver.
      
        Notable things:
      
         - A fix for a long standing issue with locking on error interrupts
           from Steve Twiss.
      
         - A new driver for ST Microelectonics STM32 PWR"
      
      * tag 'regulator-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (134 commits)
        regulator: core: simplify return value on suported_voltage
        regulator: da9xxx: Switch to SPDX identifier
        regulator: stm32-pwr: Remove unneeded .min_uV and .list_volage
        regulator: stm32-pwr: Remove unneeded *desc from struct stm32_pwr_reg
        regulator: ab3100: Set fixed_uV instead of min_uV for fixed regulators
        regulator: ab3100: Constify regulator_ops and ab3100_regulator_desc
        regulator: pv880x0: Switch to SPDX identifier
        regulator: hi6xxx: Switch to SPDX identifier
        regulator: vexpress: Switch to SPDX identifier
        regulator: vexpress: Get rid of struct vexpress_regulator
        regulator: sky81452: Switch to SPDX identifier
        regulator: sky81452: Constify sky81452_reg_ops
        regulator: sy8106a: Get rid of struct sy8106a
        regulator: core: do not report EPROBE_DEFER as error but as debug
        regulator: mt63xx: Switch to SPDX identifier
        regulator: fan53555: Switch to SPDX identifier
        regulator: fan53555: Clean up unneeded fields from struct fan53555_device_info
        regulator: ltc3589: Switch to SPDX identifier
        regulator: ltc3589: Get rid of struct ltc3589_regulator
        regulator: ltc3589: Convert to use simplified DT parsing
        ...
      61be53f9
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 962d5ecc
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A larger than usual set of changes, though mainly small:
      
         - An optimization to the debugfs code to greatly improve performance
           when dumping extremely sparse register maps from Lucas Tanure.
      
         - Stricter enforcement of writability checks from Han Nandor.
      
         - A fix for default interrupt mode configuration from Srinivas
           Kandagatla.
      
         - SPDX header conversion from Greg Kroah-Hartman"
      
      * tag 'regmap-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: add proper SPDX identifiers on files that did not have them.
        regmap: verify if register is writeable before writing operations
        regmap: regmap-irq: fix getting type default values
        regmap: debugfs: Jump to the next readable register
        regmap: debugfs: Replace code by already existing function
      962d5ecc
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-5.2-rc1' of... · 71ae5fc8
      Linus Torvalds authored
      Merge tag 'linux-kselftest-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest updates from Shuah Khan:
      
       - fixes to seccomp test, and kselftest framework
      
       - cleanups to remove duplicate header defines
      
       - fixes to efivarfs "make clean" target
      
       - cgroup cleanup path
      
       - Moving the IMA kexec_load selftest to selftests/kexec work from Mimi
         Johar and Petr Vorel
      
       - A framework to kselftest for writing kernel test modules addition
         from Tobin C. Harding
      
      * tag 'linux-kselftest-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (29 commits)
        selftests: build and run gpio when output directory is the src dir
        selftests/ipc: Fix msgque compiler warnings
        selftests/efivarfs: clean up test files from test_create*()
        selftests: fix headers_install circular dependency
        selftests/kexec: update get_secureboot_mode
        selftests/kexec: make kexec_load test independent of IMA being enabled
        selftests/kexec: check kexec_load and kexec_file_load are enabled
        selftests/kexec: Add missing '=y' to config options
        selftests/kexec: kexec_file_load syscall test
        selftests/kexec: define "require_root_privileges"
        selftests/kexec: define common logging functions
        selftests/kexec: define a set of common functions
        selftests/kexec: cleanup the kexec selftest
        selftests/kexec: move the IMA kexec_load selftest to selftests/kexec
        selftests/harness: Add 30 second timeout per test
        selftests/seccomp: Handle namespace failures gracefully
        selftests: cgroup: fix cleanup path in test_memcg_subtree_control()
        selftests: efivarfs: remove the test_create_read file if it was exist
        rseq/selftests: Adapt number of threads to the number of detected cpus
        lib: Add test module for strscpy_pad
        ...
      71ae5fc8
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 81ff5d2c
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
       "API:
         - Add support for AEAD in simd
         - Add fuzz testing to testmgr
         - Add panic_on_fail module parameter to testmgr
         - Use per-CPU struct instead multiple variables in scompress
         - Change verify API for akcipher
      
        Algorithms:
         - Convert x86 AEAD algorithms over to simd
         - Forbid 2-key 3DES in FIPS mode
         - Add EC-RDSA (GOST 34.10) algorithm
      
        Drivers:
         - Set output IV with ctr-aes in crypto4xx
         - Set output IV in rockchip
         - Fix potential length overflow with hashing in sun4i-ss
         - Fix computation error with ctr in vmx
         - Add SM4 protected keys support in ccree
         - Remove long-broken mxc-scc driver
         - Add rfc4106(gcm(aes)) cipher support in cavium/nitrox"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (179 commits)
        crypto: ccree - use a proper le32 type for le32 val
        crypto: ccree - remove set but not used variable 'du_size'
        crypto: ccree - Make cc_sec_disable static
        crypto: ccree - fix spelling mistake "protedcted" -> "protected"
        crypto: caam/qi2 - generate hash keys in-place
        crypto: caam/qi2 - fix DMA mapping of stack memory
        crypto: caam/qi2 - fix zero-length buffer DMA mapping
        crypto: stm32/cryp - update to return iv_out
        crypto: stm32/cryp - remove request mutex protection
        crypto: stm32/cryp - add weak key check for DES
        crypto: atmel - remove set but not used variable 'alg_name'
        crypto: picoxcell - Use dev_get_drvdata()
        crypto: crypto4xx - get rid of redundant using_sd variable
        crypto: crypto4xx - use sync skcipher for fallback
        crypto: crypto4xx - fix cfb and ofb "overran dst buffer" issues
        crypto: crypto4xx - fix ctr-aes missing output IV
        crypto: ecrdsa - select ASN1 and OID_REGISTRY for EC-RDSA
        crypto: ux500 - use ccflags-y instead of CFLAGS_<basename>.o
        crypto: ccree - handle tee fips error during power management resume
        crypto: ccree - add function to handle cryptocell tee fips error
        ...
      81ff5d2c
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 7aefd944
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
      
       - Add driver for Intersil ISL68137 PWM Controller
      
       - Add driver for Lochnagar 2
      
       - Add driver for Infineon IR38064 Voltage Regulator
      
       - Add support for TMP75B to lm75 driver
      
       - Convert documentation to ReST format
      
       - Use request_muxed_region for Super-IO accesses in several drivers
      
       - Add 'samples' attribute to ABI, and start using it
      
       - Add support for custom sysfs attributes to pmbus drivers (used in
         ISL68137 driver)
      
       - Introduce HWMON_CHANNEL_INFO macro
      
       - Automated changes:
            - Use permission specific [SENSOR_][DEVICE_]ATTR variants
            - Fix build warnings due to unused of_device_id structures
            - Use HWMON_CHANNEL_INFO macro
      
       - Various minor improvements and fixes
      
      * tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (125 commits)
        hwmon: (lm75) Add support for TMP75B
        dt-bindings: hwmon: Add tmp75b to lm75.txt
        hwmon: (s3c) Use dev_get_drvdata()
        hwmon: (max6650) Drop call to thermal_cdev_update
        docs: hwmon: remove the extension from .rst files
        docs: hwmon: convert three docs to ReST format
        hwmon: (max6650) add thermal cooling device capability
        hwmon: (ina3221) Add voltage conversion time settings
        hwmon: (ina3221) Do not read-back to cache reg_config
        docs: hwmon: Add an index file and rename docs to *.rst
        docs: hwmon: convert remaining files to ReST format
        docs: hwmon: misc files: convert to ReST format
        docs: hwmon: pmbus files: convert to ReST format
        docs: hwmon: k8temp, w83793: convert to ReST format
        docs: hwmon: da9052, da9055: convert to ReST format
        docs: hwmon: wm831x, wm8350: convert to ReST format
        docs: hwmon: dme1737, vt1211: convert to ReST format
        docs: hwmon: ads1015: convert to ReST format
        docs: hwmon: asc7621: convert to ReST format
        docs: hwmon: ibmpowernv: convert to ReST format
        ...
      7aefd944
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ffa6f55e
      Linus Torvalds authored
      Pull RAS updates from Borislav Petkov:
      
       - Support for varying MCA bank numbers per CPU: this is in preparation
         for future CPU enablement (Yazen Ghannam)
      
       - MCA banks read race fix (Tony Luck)
      
       - Facility to filter MCEs which should not be logged (Yazen Ghannam)
      
       - The usual round of cleanups and fixes
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/MCE/AMD: Don't report L1 BTB MCA errors on some family 17h models
        x86/MCE: Add an MCE-record filtering function
        RAS/CEC: Increment cec_entered under the mutex lock
        x86/mce: Fix debugfs_simple_attr.cocci warnings
        x86/mce: Remove mce_report_event()
        x86/mce: Handle varying MCA bank counts
        x86/mce: Fix machine_check_poll() tests for error types
        MAINTAINERS: Fix file pattern for X86 MCE INFRASTRUCTURE
        x86/MCE: Group AMD function prototypes in <asm/mce.h>
      ffa6f55e
    • Linus Torvalds's avatar
      Merge tag 'edac_for_5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 275b103a
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - amd64_edac: Family 0x17, models 0x30-.. enablement (Yazen Ghannam)
      
       - skx_*: Librarize it so that it can be shared between drivers (Qiuxu Zhuo)
      
       - altera: Stratix10 improvements (Thor Thayer)
      
       - The usual round of fixes, fixlets and cleanups
      
      * tag 'edac_for_5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        Revert "EDAC/amd64: Support more than two controllers for chip select handling"
        arm64: dts: stratix10: Use new Stratix10 EDAC bindings
        Documentation: dt: edac: Add Stratix10 Peripheral bindings
        Documentation: dt: edac: Fix Stratix10 IRQ bindings
        EDAC/altera, firmware/intel: Add Stratix10 ECC DBE SMC call
        EDAC/altera: Initialize peripheral FIFOs in probe()
        EDAC/altera: Do less intrusive error injection
        EDAC/amd64: Adjust printed chip select sizes when interleaved
        EDAC/amd64: Support more than two controllers for chip select handling
        EDAC/amd64: Recognize x16 symbol size
        EDAC/amd64: Set maximum channel layer size depending on family
        EDAC/amd64: Support more than two Unified Memory Controllers
        EDAC/amd64: Use a macro for iterating over Unified Memory Controllers
        EDAC/amd64: Add Family 17h Model 30h PCI IDs
        MAINTAINERS: Add entry for EDAC-I10NM
        MAINTAINERS: Update entry for EDAC-SKYLAKE
        EDAC, altera: Fix S10 Double Bit Error Notification
        EDAC, skx, i10nm: Make skx_common.c a pure library
      275b103a
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 4dd2ab9a
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These fix the handling of data nodes in the ACPI properties support
        code, add a new helper for endpoint lookup in property graphs and
        restore a comment inadvertently removed by one of previous changes.
      
        Specifics:
      
         - Fix the handling of data nodes in the ACPI properties support code
           for devices with child devices and hierarchical _DSD properties
           (Pierre-Louis Bossart).
      
         - Add fwnode_graph_get_endpoint_by_id() helper for endpoint lookup in
           device property graphs (Sakari Ailus).
      
         - Restore the _DSD data subnodes GUID comment inadvertently removed
           by one of previous changes (Shunyong Yang)"
      
      * tag 'devprop-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / property: fix handling of data_nodes in acpi_get_next_subnode()
        device property: Add fwnode_graph_get_endpoint_by_id()
        ACPI: property: restore _DSD data subnodes GUID comment
      4dd2ab9a
    • Linus Torvalds's avatar
      Merge tag 'pm-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8f5e823f
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These fix the (Intel-specific) Performance and Energy Bias Hint (EPB)
        handling and expose it to user space via sysfs, fix and clean up
        several cpufreq drivers, add support for two new chips to the qoriq
        cpufreq driver, fix, simplify and clean up the cpufreq core and the
        schedutil governor, add support for "CPU" domains to the generic power
        domains (genpd) framework and provide low-level PSCI firmware support
        for that feature, fix the exynos cpuidle driver and fix a couple of
        issues in the devfreq subsystem and clean it up.
      
        Specifics:
      
         - Fix the handling of Performance and Energy Bias Hint (EPB) on Intel
           processors and expose it to user space via sysfs to avoid having to
           access it through the generic MSR I/F (Rafael Wysocki).
      
         - Improve the handling of global turbo changes made by the platform
           firmware in the intel_pstate driver (Rafael Wysocki).
      
         - Convert some slow-path static_cpu_has() callers to boot_cpu_has()
           in cpufreq (Borislav Petkov).
      
         - Fix the frequency calculation loop in the armada-37xx cpufreq
           driver (Gregory CLEMENT).
      
         - Fix possible object reference leaks in multuple cpufreq drivers
           (Wen Yang).
      
         - Fix kerneldoc comment in the centrino cpufreq driver (dongjian).
      
         - Clean up the ACPI and maple cpufreq drivers (Viresh Kumar, Mohan
           Kumar).
      
         - Add support for lx2160a and ls1028a to the qoriq cpufreq driver
           (Vabhav Sharma, Yuantian Tang).
      
         - Fix kobject memory leak in the cpufreq core (Viresh Kumar).
      
         - Simplify the IOwait boosting in the schedutil cpufreq governor and
           rework the TSC cpufreq notifier on x86 (Rafael Wysocki).
      
         - Clean up the cpufreq core and statistics code (Yue Hu, Kyle Lin).
      
         - Improve the cpufreq documentation, add SPDX license tags to some PM
           documentation files and unify copyright notices in them (Rafael
           Wysocki).
      
         - Add support for "CPU" domains to the generic power domains (genpd)
           framework and provide low-level PSCI firmware support for that
           feature (Ulf Hansson).
      
         - Rearrange the PSCI firmware support code and add support for
           SYSTEM_RESET2 to it (Ulf Hansson, Sudeep Holla).
      
         - Improve genpd support for devices in multiple power domains (Ulf
           Hansson).
      
         - Unify target residency for the AFTR and coupled AFTR states in the
           exynos cpuidle driver (Marek Szyprowski).
      
         - Introduce new helper routine in the operating performance points
           (OPP) framework (Andrew-sh.Cheng).
      
         - Add support for passing on-die termination (ODT) and auto power
           down parameters from the kernel to Trusted Firmware-A (TF-A) to the
           rk3399_dmc devfreq driver (Enric Balletbo i Serra).
      
         - Add tracing to devfreq (Lukasz Luba).
      
         - Make the exynos-bus devfreq driver suspend all devices on system
           shutdown (Marek Szyprowski).
      
         - Fix a few minor issues in the devfreq subsystem and clean it up
           somewhat (Enric Balletbo i Serra, MyungJoo Ham, Rob Herring,
           Saravana Kannan, Yangtao Li).
      
         - Improve system wakeup diagnostics (Stephen Boyd).
      
         - Rework filesystem sync messages emitted during system suspend and
           hibernation (Harry Pan)"
      
      * tag 'pm-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (72 commits)
        cpufreq: Fix kobject memleak
        cpufreq: armada-37xx: fix frequency calculation for opp
        cpufreq: centrino: Fix centrino_setpolicy() kerneldoc comment
        cpufreq: qoriq: add support for lx2160a
        x86: tsc: Rework time_cpufreq_notifier()
        PM / Domains: Allow to attach a CPU via genpd_dev_pm_attach_by_id|name()
        PM / Domains: Search for the CPU device outside the genpd lock
        PM / Domains: Drop unused in-parameter to some genpd functions
        PM / Domains: Use the base device for driver_deferred_probe_check_state()
        cpufreq: qoriq: Add ls1028a chip support
        PM / Domains: Enable genpd_dev_pm_attach_by_id|name() for single PM domain
        PM / Domains: Allow OF lookup for multi PM domain case from ->attach_dev()
        PM / Domains: Don't kfree() the virtual device in the error path
        cpufreq: Move ->get callback check outside of __cpufreq_get()
        PM / Domains: remove unnecessary unlikely()
        cpufreq: Remove needless bios_limit check in show_bios_limit()
        drivers/cpufreq/acpi-cpufreq.c: This fixes the following checkpatch warning
        firmware/psci: add support for SYSTEM_RESET2
        PM / devfreq: add tracing for scheduling work
        trace: events: add devfreq trace event file
        ...
      8f5e823f
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 59df1c2b
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These rearrange the ACPI documentation by converting it to the .rst
        format and splitting it into clear categories (admin guide, driver
        API, firmware guide), switch over multiple users of a problematic
        library function to a new better one, update the ACPICA code in the
        kernel to a new upstream release, fix a few issues, improve power
        device management diagnostics and do some cleanups.
      
        Specifics:
      
         - Convert the ACPI documentation in the kernel source tree to the
           .rst format and split it into the admin guide, driver API and
           firmware guide parts (Changbin Du).
      
         - Add a PRP0001 usage example to the ACPI documentation (Thomas
           Preston).
      
         - Switch over the users of the acpi_dev_get_first_match_name()
           library function which turned out to be problematic to a new,
           better one called acpi_dev_get_first_match_dev() (Andy Shevchenko,
           YueHaibing).
      
         - Update the ACPICA code in the kernel to upstream release 20190405
           including:
             * Null pointer dereference check in acpi_ns_delete_node() (Erik
               Schmauss).
             * Multiple macro and function name changes (Bob Moore).
             * Predefined operation region name fix (Erik Schmauss).
      
         - Fix hibernation issue on systems using the Baytrail and Cherrytrail
           Intel SoCs introduced during the 4.20 development cycle (Hans de
           Goede).
      
         - Add Sony VPCEH3U1E to the backlight quirk list (Zhang Rui).
      
         - Fix button handling during system resume (Zhang Rui).
      
         - Add a device PM diagnostic message (Rafael Wysocki).
      
         - Clean up the code, comments and white space in multiple places
           (Bjorn Helgaas, Gustavo Silva, Kefeng Wang)"
      
      * tag 'acpi-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (53 commits)
        Documentation: ACPI: move video_extension.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move ssdt-overlays.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move lpit.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move cppc_sysfs.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move apei/einj.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move apei/output_format.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move aml-debugger.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move method-tracing.txt to firmware-guide/acpi and convert to rsST
        Documentation: ACPI: move debug.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move dsd/data-node-references.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move dsd/graph.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move acpi-lid.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move i2c-muxes.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move dsdt-override.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move initrd_table_override.txt to admin-guide/acpi and convert to reST
        Documentation: ACPI: move method-customizing.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move gpio-properties.txt to firmware-guide/acpi and convert to reST
        Documentation: ACPI: move DSD-properties-rules.txt to firmware-guide/acpi and covert to reST
        Documentation: ACPI: move scan_handlers.txt to driver-api/acpi and convert to reST
        Documentation: ACPI: move linuxized-acpica.txt to driver-api/acpi and convert to reST
        ...
      59df1c2b
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · c620f7bd
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "Mostly just incremental improvements here:
      
         - Introduce AT_HWCAP2 for advertising CPU features to userspace
      
         - Expose SVE2 availability to userspace
      
         - Support for "data cache clean to point of deep persistence" (DC PODP)
      
         - Honour "mitigations=off" on the cmdline and advertise status via
           sysfs
      
         - CPU timer erratum workaround (Neoverse-N1 #1188873)
      
         - Introduce perf PMU driver for the SMMUv3 performance counters
      
         - Add config option to disable the kuser helpers page for AArch32 tasks
      
         - Futex modifications to ensure liveness under contention
      
         - Rework debug exception handling to seperate kernel and user
           handlers
      
         - Non-critical fixes and cleanup"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (92 commits)
        Documentation: Add ARM64 to kernel-parameters.rst
        arm64/speculation: Support 'mitigations=' cmdline option
        arm64: ssbs: Don't treat CPUs with SSBS as unaffected by SSB
        arm64: enable generic CPU vulnerabilites support
        arm64: add sysfs vulnerability show for speculative store bypass
        arm64: Fix size of __early_cpu_boot_status
        clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters
        clocksource/arm_arch_timer: Remove use of workaround static key
        clocksource/arm_arch_timer: Drop use of static key in arch_timer_reg_read_stable
        clocksource/arm_arch_timer: Direcly assign set_next_event workaround
        arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct
        watchdog/sbsa: Use arch_timer_read_counter instead of arch_counter_get_cntvct
        ARM: vdso: Remove dependency with the arch_timer driver internals
        arm64: Apply ARM64_ERRATUM_1188873 to Neoverse-N1
        arm64: Add part number for Neoverse N1
        arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT
        arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32
        arm64: mm: Remove pte_unmap_nested()
        arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable
        arm64: compat: Reduce address limit for 64K pages
        ...
      c620f7bd
  3. 06 May, 2019 22 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · dd4e5d61
      Linus Torvalds authored
      Pull mmiowb removal from Will Deacon:
       "Remove Mysterious Macro Intended to Obscure Weird Behaviours (mmiowb())
      
        Remove mmiowb() from the kernel memory barrier API and instead, for
        architectures that need it, hide the barrier inside spin_unlock() when
        MMIO has been performed inside the critical section.
      
        The only relatively recent changes have been addressing review
        comments on the documentation, which is in a much better shape thanks
        to the efforts of Ben and Ingo.
      
        I was initially planning to split this into two pull requests so that
        you could run the coccinelle script yourself, however it's been plain
        sailing in linux-next so I've just included the whole lot here to keep
        things simple"
      
      * tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (23 commits)
        docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread
        docs/memory-barriers.txt: Fix style, spacing and grammar in I/O section
        arch: Remove dummy mmiowb() definitions from arch code
        net/ethernet/silan/sc92031: Remove stale comment about mmiowb()
        i40iw: Redefine i40iw_mmiowb() to do nothing
        scsi/qla1280: Remove stale comment about mmiowb()
        drivers: Remove explicit invocations of mmiowb()
        drivers: Remove useless trailing comments from mmiowb() invocations
        Documentation: Kill all references to mmiowb()
        riscv/mmiowb: Hook up mmwiob() implementation to asm-generic code
        powerpc/mmiowb: Hook up mmwiob() implementation to asm-generic code
        ia64/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
        mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
        sh/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
        m68k/io: Remove useless definition of mmiowb()
        nds32/io: Remove useless definition of mmiowb()
        x86/io: Remove useless definition of mmiowb()
        arm64/io: Remove useless definition of mmiowb()
        ARM/io: Remove useless definition of mmiowb()
        mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors
        ...
      dd4e5d61
    • Linus Torvalds's avatar
      Merge tag 's390-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 14be4c61
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
      
       - Support for kernel address space layout randomization
      
       - Add support for kernel image signature verification
      
       - Convert s390 to the generic get_user_pages_fast code
      
       - Convert s390 to the stack unwind API analog to x86
      
       - Add support for CPU directed interrupts for PCI devices
      
       - Provide support for MIO instructions to the PCI base layer, this will
         allow the use of direct PCI mappings in user space code
      
       - Add the basic KVM guest ultravisor interface for protected VMs
      
       - Add AT_HWCAP bits for several new hardware capabilities
      
       - Update the CPU measurement facility counter definitions to SVN 6
      
       - Arnds cleanup patches for his quest to get LLVM compiles working
      
       - A vfio-ccw update with bug fixes and support for halt and clear
      
       - Improvements for the hardware TRNG code
      
       - Another round of cleanup for the QDIO layer
      
       - Numerous cleanups and bug fixes
      
      * tag 's390-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (98 commits)
        s390/vdso: drop unnecessary cc-ldoption
        s390: fix clang -Wpointer-sign warnigns in boot code
        s390: drop CONFIG_VIRT_TO_BUS
        s390: boot, purgatory: pass $(CLANG_FLAGS) where needed
        s390: only build for new CPUs with clang
        s390: simplify disabled_wait
        s390/ftrace: use HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
        s390/unwind: introduce stack unwind API
        s390/opcodes: add missing instructions to the disassembler
        s390/bug: add entry size to the __bug_table section
        s390: use proper expoline sections for .dma code
        s390/nospec: rename assembler generated expoline thunks
        s390: add missing ENDPROC statements to assembler functions
        locking/lockdep: check for freed initmem in static_obj()
        s390/kernel: add support for kernel address space layout randomization (KASLR)
        s390/kernel: introduce .dma sections
        s390/sclp: do not use static sccbs
        s390/kprobes: use static buffer for insn_page
        s390/kernel: convert SYSCALL and PGM_CHECK handlers to .quad
        s390/kernel: build a relocatable kernel
        ...
      14be4c61
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · ccbc2e5e
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - drop arch_gettimeoffset and adopt clocksource API
      
       - defconfig updates
      
      * tag 'm68k-for-v5.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        Documentation/features/time: Mark m68k having modern-timekeeping
        m68k: defconfig: Update defconfigs for v5.1-rc1
        m68k: mvme16x: Handle timer counter overflow
        m68k: mvme16x: Convert to clocksource API
        m68k: mvme147: Handle timer counter overflow
        m68k: mvme147: Convert to clocksource API
        m68k: mac: Convert to clocksource API
        m68k: hp300: Handle timer counter overflow
        m68k: hp300: Convert to clocksource API
        m68k: bvme6000: Convert to clocksource API
        m68k: atari: Convert to clocksource API
        m68k: amiga: Convert to clocksource API
        m68k: Drop ARCH_USES_GETTIMEOFFSET
        m68k: apollo, q40, sun3, sun3x: Remove arch_gettimeoffset implementations
        m68k: mac: Fix VIA timer counter accesses
        m68k: Call timer_interrupt() with interrupts disabled
      ccbc2e5e
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fdafe5d1
      Linus Torvalds authored
      Pull x86 microcode loading update from Borislav Petkov:
       "A nice Intel microcode blob loading cleanup which gets rid of the ugly
        memcpy wrappers and switches the driver to use the iov_iter API. By
        Jann Horn.
      
        In addition, the /dev/cpu/microcode interface is finally deprecated as
        it is inadequate for the same reasons the late microcode loading is"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode: Deprecate MICROCODE_OLD_INTERFACE
        x86/microcode: Fix the ancient deprecated microcode loading method
        x86/microcode/intel: Refactor Intel microcode blob loading
      fdafe5d1
    • Linus Torvalds's avatar
      Merge branch 'x86-topology-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 948a6499
      Linus Torvalds authored
      Pull x86 topology updates from Ingo Molnar:
       "Two main changes: preparatory changes for Intel multi-die topology
        support, plus a syslog message tweak"
      
      * 'x86-topology-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/topology: Make DEBUG_HOTPLUG_CPU0 pr_info() more descriptive
        x86/smpboot: Rename match_die() to match_pkg()
        topology: Simplify cputopology.txt formatting and wording
        x86/topology: Fix documentation typo
      948a6499
    • Linus Torvalds's avatar
      Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · db10ad04
      Linus Torvalds authored
      Pull x86 timer updates from Ingo Molnar:
       "Two changes: an LTO improvement, plus the new 'nowatchdog' boot option
        to disable the clocksource watchdog"
      
      * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/timer: Don't inline __const_udelay()
        x86/tsc: Add option to disable tsc clocksource watchdog
      db10ad04
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ba3934de
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "Smaller update for Hyper-V to support EOI assist, plus LTO fixes"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kvm: Make steal_time visible
        x86/hyperv: Make hv_vcpu_is_preempted() visible
        x86/hyper-v: Implement EOI assist
      ba3934de
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0bc40e54
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "The changes in here are:
      
         - text_poke() fixes and an extensive set of executability lockdowns,
           to (hopefully) eliminate the last residual circumstances under
           which we are using W|X mappings even temporarily on x86 kernels.
           This required a broad range of surgery in text patching facilities,
           module loading, trampoline handling and other bits.
      
         - tweak page fault messages to be more informative and more
           structured.
      
         - remove DISCONTIGMEM support on x86-32 and make SPARSEMEM the
           default.
      
         - reduce KASLR granularity on 5-level paging kernels from 512 GB to
           1 GB.
      
         - misc other changes and updates"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
        x86/mm: Initialize PGD cache during mm initialization
        x86/alternatives: Add comment about module removal races
        x86/kprobes: Use vmalloc special flag
        x86/ftrace: Use vmalloc special flag
        bpf: Use vmalloc special flag
        modules: Use vmalloc special flag
        mm/vmalloc: Add flag for freeing of special permsissions
        mm/hibernation: Make hibernation handle unmapped pages
        x86/mm/cpa: Add set_direct_map_*() functions
        x86/alternatives: Remove the return value of text_poke_*()
        x86/jump-label: Remove support for custom text poker
        x86/modules: Avoid breaking W^X while loading modules
        x86/kprobes: Set instruction page as executable
        x86/ftrace: Set trampoline pages as executable
        x86/kgdb: Avoid redundant comparison of patched code
        x86/alternatives: Use temporary mm for text poking
        x86/alternatives: Initialize temporary mm for patching
        fork: Provide a function for copying init_mm
        uprobes: Initialize uprobes earlier
        x86/mm: Save debug registers when loading a temporary mm
        ...
      0bc40e54
    • Linus Torvalds's avatar
      Merge branch 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e913c4a4
      Linus Torvalds authored
      Pull x86 kdump update from Ingo Molnar:
       "This includes two changes:
      
         - Raise the crash kernel reservation limit from from ~896MB to ~4GB.
      
           Only very old (and already known-broken) kexec-tools is supposed to
           be affected by this negatively.
      
         - Allow higher than 4GB crash kernel allocations when low allocations
           fail"
      
      * 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kdump: Fall back to reserve high crashkernel memory
        x86/kdump: Have crashkernel=X reserve under 4G by default
      e913c4a4
    • Linus Torvalds's avatar
      Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8f147727
      Linus Torvalds authored
      Pull x86 irq updates from Ingo Molnar:
       "Here are the main changes in this tree:
      
         - Introduce x86-64 IRQ/exception/debug stack guard pages to detect
           stack overflows immediately and deterministically.
      
         - Clean up over a decade worth of cruft accumulated.
      
        The outcome of this should be more clear-cut faults/crashes when any
        of the low level x86 CPU stacks overflow, instead of silent memory
        corruption and sporadic failures much later on"
      
      * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)
        x86/irq: Fix outdated comments
        x86/irq/64: Remove stack overflow debug code
        x86/irq/64: Remap the IRQ stack with guard pages
        x86/irq/64: Split the IRQ stack into its own pages
        x86/irq/64: Init hardirq_stack_ptr during CPU hotplug
        x86/irq/32: Handle irq stack allocation failure proper
        x86/irq/32: Invoke irq_ctx_init() from init_IRQ()
        x86/irq/64: Rename irq_stack_ptr to hardirq_stack_ptr
        x86/irq/32: Rename hard/softirq_stack to hard/softirq_stack_ptr
        x86/irq/32: Make irq stack a character array
        x86/irq/32: Define IRQ_STACK_SIZE
        x86/dumpstack/64: Speedup in_exception_stack()
        x86/exceptions: Split debug IST stack
        x86/exceptions: Enable IST guard pages
        x86/exceptions: Disconnect IST index and stack order
        x86/cpu: Remove orig_ist array
        x86/cpu: Prepare TSS.IST setup for guard pages
        x86/dumpstack/64: Use cpu_entry_area instead of orig_ist
        x86/irq/64: Use cpu entry area instead of orig_ist
        x86/traps: Use cpu_entry_area instead of orig_ist
        ...
      8f147727
    • Linus Torvalds's avatar
      Merge branch 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 53f8b081
      Linus Torvalds authored
      Pull x86 entry cleanup from Ingo Molnar:
       "A single commit that removes a redundant complication from
        preempt-schedule handling in the x86 entry code"
      
      * 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/entry: Remove unneeded need_resched() loop
      53f8b081
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 31a4319b
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "Two changes: a Hygon CPU fix, and an optimization Centaur CPUs"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/power: Optimize C3 entry on Centaur CPUs
        x86/CPU/hygon: Fix phys_proc_id calculation logic for multi-die processors
      31a4319b
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 46e80e6c
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "A handful of cleanups: dma-ops cleanups, missing boot time kcalloc()
        check, a Sparse fix and use struct_size() to simplify a vzalloc()
        call"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/pci: Clean up usage of X86_DEV_DMA_OPS
        x86/Kconfig: Remove the unused X86_DMA_REMAP KConfig symbol
        x86/kexec/crash: Use struct_size() in vzalloc()
        x86/mm/tlb: Define LOADED_MM_SWITCHING with pointer-sized number
        x86/platform/uv: Fix missing checks of kcalloc() return values
      46e80e6c
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 82ac4043
      Linus Torvalds authored
      Pull x86 cache QoS updates from Ingo Molnar:
       "An RDT cleanup and a fix for RDT initialization of new resource
        groups"
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Initialize a new resource group with default MBA values
        x86/resctrl: Move per RDT domain initialization to a separate function
      82ac4043
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 75571d82
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
       "Misc updates:
      
         - Add link flag quirk to solve LLVM linker bug that removes local
           relocations, causing KASLR boot failures.
      
         - Update the defconfigs to remove archaic partition table support
      
         - Fix kernel growing pains: we had a bug in relocs.c handling section
           header table entries count larger than 0xff00 (~65k), which can
           happen with the -ffunction-sections flag, causing a build failure
           with a cryptic error message. Add support for detecting the limit
           and using the ELF protocol that extends the sections table via
           ->sh_size. The new limit is now much larger - over a billion
           entries?"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tools/relocs: Fix big section header tables
        x86/defconfig: Remove archaic partition tables support
        x86/build: Keep local relocations with ld.lld
      75571d82
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f725492d
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "This includes the following changes:
      
         - cpu_has() cleanups
      
         - sync_bitops.h modernization to the rmwcc.h facility, similarly to
           bitops.h
      
         - continued LTO annotations/fixes
      
         - misc cleanups and smaller cleanups"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/um/vdso: Drop unnecessary cc-ldoption
        x86/vdso: Rename variable to fix -Wshadow warning
        x86/cpu/amd: Exclude 32bit only assembler from 64bit build
        x86/asm: Mark all top level asm statements as .text
        x86/build/vdso: Add FORCE to the build rule of %.so
        x86/asm: Modernize sync_bitops.h
        x86/mm: Convert some slow-path static_cpu_has() callers to boot_cpu_has()
        x86: Convert some slow-path static_cpu_has() callers to boot_cpu_has()
        x86/asm: Clarify static_cpu_has()'s intended use
        x86/uaccess: Fix implicit cast of __user pointer
        x86/cpufeature: Remove __pure attribute to _static_cpu_has()
      f725492d
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 80e77644
      Linus Torvalds authored
      Pull x86 apic update from Ingo Molnar:
       "A single commit which unifies the unnecessarily diverged
        implementations of APIC timer initialization. As a result the
        max_delta parameter is now consistently taken into account"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Unify duplicated local apic timer clockevent initialization
      80e77644
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a0e928ed
      Linus Torvalds authored
      Pull timer updates from Ingo Molnar:
       "This cycle had the following changes:
      
         - Timer tracing improvements (Anna-Maria Gleixner)
      
         - Continued tasklet reduction work: remove the hrtimer_tasklet
           (Thomas Gleixner)
      
         - Fix CPU hotplug remove race in the tick-broadcast mask handling
           code (Thomas Gleixner)
      
         - Force upper bound for setting CLOCK_REALTIME, to fix ABI
           inconsistencies with handling values that are close to the maximum
           supported and the vagueness of when uptime related wraparound might
           occur. Make the consistent maximum the year 2232 across all
           relevant ABIs and APIs. (Thomas Gleixner)
      
         - various cleanups and smaller fixes"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick: Fix typos in comments
        tick/broadcast: Fix warning about undefined tick_broadcast_oneshot_offline()
        timekeeping: Force upper bound for setting CLOCK_REALTIME
        timer/trace: Improve timer tracing
        timer/trace: Replace deprecated vsprintf pointer extension %pf by %ps
        timer: Move trace point to get proper index
        tick/sched: Update tick_sched struct documentation
        tick: Remove outgoing CPU from broadcast masks
        timekeeping: Consistently use unsigned int for seqcount snapshot
        softirq: Remove tasklet_hrtimer
        xfrm: Replace hrtimer tasklet with softirq hrtimer
        mac80211_hwsim: Replace hrtimer tasklet with softirq hrtimer
      a0e928ed
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5a2bf1ab
      Linus Torvalds authored
      Pull CPU hotplug updates from Ingo Molnar:
       "Two changes in this cycle:
      
         - Make the /sys/devices/system/cpu/smt/* files available on all
           arches, so user space has a consistent way to detect whether SMT is
           enabled.
      
         - Sparse annotation fix"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smpboot: Place the __percpu annotation correctly
        cpu/hotplug: Create SMT sysfs interface for all arches
      5a2bf1ab
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e00d4135
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Make nohz housekeeping processing more permissive and less
           intrusive to isolated CPUs
      
         - Decouple CPU-bound workqueue acconting from the scheduler and move
           it into the workqueue code.
      
         - Optimize topology building
      
         - Better handle quota and period overflows
      
         - Add more RCU annotations
      
         - Comment updates, misc cleanups"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        nohz_full: Allow the boot CPU to be nohz_full
        sched/isolation: Require a present CPU in housekeeping mask
        kernel/cpu: Allow non-zero CPU to be primary for suspend / kexec freeze
        power/suspend: Add function to disable secondaries for suspend
        sched/core: Allow the remote scheduler tick to be started on CPU0
        sched/nohz: Run NOHZ idle load balancer on HK_FLAG_MISC CPUs
        sched/debug: Fix spelling mistake "logaritmic" -> "logarithmic"
        sched/topology: Update init_sched_domains() comment
        cgroup/cpuset: Update stale generate_sched_domains() comments
        sched/core: Check quota and period overflow at usec to nsec conversion
        sched/core: Handle overflow in cpu_shares_write_u64
        sched/rt: Check integer overflow at usec to nsec conversion
        sched/core: Fix typo in comment
        sched/core: Make some functions static
        sched/core: Unify p->on_rq updates
        sched/core: Remove ttwu_activate()
        sched/core, workqueues: Distangle worker accounting from rq lock
        sched/fair: Remove unneeded prototype of capacity_of()
        sched/topology: Skip duplicate group rewrites in build_sched_groups()
        sched/topology: Fix build_sched_groups() comment
        ...
      e00d4135
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 90489a72
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main kernel changes were:
      
         - add support for Intel's "adaptive PEBS v4" - which embedds LBS data
           in PEBS records and can thus batch up and reduce the IRQ (NMI) rate
           significantly - reducing overhead and making call-graph profiling
           less intrusive.
      
         - add Intel CPU core and uncore support updates for Tremont, Icelake,
      
         - extend the x86 PMU constraints scheduler with 'constraint ranges'
           to better support Icelake hw constraints,
      
         - make x86 call-chain support work better with CONFIG_FRAME_POINTER=y
      
         - misc other changes
      
        Tooling changes:
      
         - updates to the main tools: 'perf record', 'perf trace', 'perf
           stat'
      
         - updated Intel and S/390 vendor events
      
         - libtraceevent updates
      
         - misc other updates and fixes"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (69 commits)
        perf/x86: Make perf callchains work without CONFIG_FRAME_POINTER
        watchdog: Fix typo in comment
        perf/x86/intel: Add Tremont core PMU support
        perf/x86/intel/uncore: Add Intel Icelake uncore support
        perf/x86/msr: Add Icelake support
        perf/x86/intel/rapl: Add Icelake support
        perf/x86/intel/cstate: Add Icelake support
        perf/x86/intel: Add Icelake support
        perf/x86: Support constraint ranges
        perf/x86/lbr: Avoid reading the LBRs when adaptive PEBS handles them
        perf/x86/intel: Support adaptive PEBS v4
        perf/x86/intel/ds: Extract code of event update in short period
        perf/x86/intel: Extract memory code PEBS parser for reuse
        perf/x86: Support outputting XMM registers
        perf/x86/intel: Force resched when TFA sysctl is modified
        perf/core: Add perf_pmu_resched() as global function
        perf/headers: Fix stale comment for struct perf_addr_filter
        perf/core: Make perf_swevent_init_cpu() static
        perf/x86: Add sanity checks to x86_schedule_events()
        perf/x86: Optimize x86_schedule_events()
        ...
      90489a72
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 007dc78f
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "Here are the locking changes in this cycle:
      
         - rwsem unification and simpler micro-optimizations to prepare for
           more intrusive (and more lucrative) scalability improvements in
           v5.3 (Waiman Long)
      
         - Lockdep irq state tracking flag usage cleanups (Frederic
           Weisbecker)
      
         - static key improvements (Jakub Kicinski, Peter Zijlstra)
      
         - misc updates, cleanups and smaller fixes"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
        locking/lockdep: Remove unnecessary unlikely()
        locking/static_key: Don't take sleeping locks in __static_key_slow_dec_deferred()
        locking/static_key: Factor out the fast path of static_key_slow_dec()
        locking/static_key: Add support for deferred static branches
        locking/lockdep: Test all incompatible scenarios at once in check_irq_usage()
        locking/lockdep: Avoid bogus Clang warning
        locking/lockdep: Generate LOCKF_ bit composites
        locking/lockdep: Use expanded masks on find_usage_*() functions
        locking/lockdep: Map remaining magic numbers to lock usage mask names
        locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING
        locking/rwsem: Prevent unneeded warning during locking selftest
        locking/rwsem: Optimize rwsem structure for uncontended lock acquisition
        locking/rwsem: Enable lock event counting
        locking/lock_events: Don't show pvqspinlock events on bare metal
        locking/lock_events: Make lock_events available for all archs & other locks
        locking/qspinlock_stat: Introduce generic lockevent_*() counting APIs
        locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
        locking/rwsem: Add debug check for __down_read*()
        locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued()
        locking/rwsem: Move rwsem internal function declarations to rwsem-xadd.h
        ...
      007dc78f