1. 29 Jan, 2020 19 commits
    • Linus Torvalds's avatar
      Merge branch 'work.openat2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 6aee4bad
      Linus Torvalds authored
      Pull openat2 support from Al Viro:
       "This is the openat2() series from Aleksa Sarai.
      
        I'm afraid that the rest of namei stuff will have to wait - it got
        zero review the last time I'd posted #work.namei, and there had been a
        leak in the posted series I'd caught only last weekend. I was going to
        repost it on Monday, but the window opened and the odds of getting any
        review during that... Oh, well.
      
        Anyway, openat2 part should be ready; that _did_ get sane amount of
        review and public testing, so here it comes"
      
      From Aleksa's description of the series:
       "For a very long time, extending openat(2) with new features has been
        incredibly frustrating. This stems from the fact that openat(2) is
        possibly the most famous counter-example to the mantra "don't silently
        accept garbage from userspace" -- it doesn't check whether unknown
        flags are present[1].
      
        This means that (generally) the addition of new flags to openat(2) has
        been fraught with backwards-compatibility issues (O_TMPFILE has to be
        defined as __O_TMPFILE|O_DIRECTORY|[O_RDWR or O_WRONLY] to ensure old
        kernels gave errors, since it's insecure to silently ignore the
        flag[2]). All new security-related flags therefore have a tough road
        to being added to openat(2).
      
        Furthermore, the need for some sort of control over VFS's path
        resolution (to avoid malicious paths resulting in inadvertent
        breakouts) has been a very long-standing desire of many userspace
        applications.
      
        This patchset is a revival of Al Viro's old AT_NO_JUMPS[3] patchset
        (which was a variant of David Drysdale's O_BENEATH patchset[4] which
        was a spin-off of the Capsicum project[5]) with a few additions and
        changes made based on the previous discussion within [6] as well as
        others I felt were useful.
      
        In line with the conclusions of the original discussion of
        AT_NO_JUMPS, the flag has been split up into separate flags. However,
        instead of being an openat(2) flag it is provided through a new
        syscall openat2(2) which provides several other improvements to the
        openat(2) interface (see the patch description for more details). The
        following new LOOKUP_* flags are added:
      
        LOOKUP_NO_XDEV:
      
           Blocks all mountpoint crossings (upwards, downwards, or through
           absolute links). Absolute pathnames alone in openat(2) do not
           trigger this. Magic-link traversal which implies a vfsmount jump is
           also blocked (though magic-link jumps on the same vfsmount are
           permitted).
      
        LOOKUP_NO_MAGICLINKS:
      
           Blocks resolution through /proc/$pid/fd-style links. This is done
           by blocking the usage of nd_jump_link() during resolution in a
           filesystem. The term "magic-links" is used to match with the only
           reference to these links in Documentation/, but I'm happy to change
           the name.
      
           It should be noted that this is different to the scope of
           ~LOOKUP_FOLLOW in that it applies to all path components. However,
           you can do openat2(NO_FOLLOW|NO_MAGICLINKS) on a magic-link and it
           will *not* fail (assuming that no parent component was a
           magic-link), and you will have an fd for the magic-link.
      
           In order to correctly detect magic-links, the introduction of a new
           LOOKUP_MAGICLINK_JUMPED state flag was required.
      
        LOOKUP_BENEATH:
      
           Disallows escapes to outside the starting dirfd's
           tree, using techniques such as ".." or absolute links. Absolute
           paths in openat(2) are also disallowed.
      
           Conceptually this flag is to ensure you "stay below" a certain
           point in the filesystem tree -- but this requires some additional
           to protect against various races that would allow escape using
           "..".
      
           Currently LOOKUP_BENEATH implies LOOKUP_NO_MAGICLINKS, because it
           can trivially beam you around the filesystem (breaking the
           protection). In future, there might be similar safety checks done
           as in LOOKUP_IN_ROOT, but that requires more discussion.
      
        In addition, two new flags are added that expand on the above ideas:
      
        LOOKUP_NO_SYMLINKS:
      
           Does what it says on the tin. No symlink resolution is allowed at
           all, including magic-links. Just as with LOOKUP_NO_MAGICLINKS this
           can still be used with NOFOLLOW to open an fd for the symlink as
           long as no parent path had a symlink component.
      
        LOOKUP_IN_ROOT:
      
           This is an extension of LOOKUP_BENEATH that, rather than blocking
           attempts to move past the root, forces all such movements to be
           scoped to the starting point. This provides chroot(2)-like
           protection but without the cost of a chroot(2) for each filesystem
           operation, as well as being safe against race attacks that
           chroot(2) is not.
      
           If a race is detected (as with LOOKUP_BENEATH) then an error is
           generated, and similar to LOOKUP_BENEATH it is not permitted to
           cross magic-links with LOOKUP_IN_ROOT.
      
           The primary need for this is from container runtimes, which
           currently need to do symlink scoping in userspace[7] when opening
           paths in a potentially malicious container.
      
           There is a long list of CVEs that could have bene mitigated by
           having RESOLVE_THIS_ROOT (such as CVE-2017-1002101,
           CVE-2017-1002102, CVE-2018-15664, and CVE-2019-5736, just to name a
           few).
      
        In order to make all of the above more usable, I'm working on
        libpathrs[8] which is a C-friendly library for safe path resolution.
        It features a userspace-emulated backend if the kernel doesn't support
        openat2(2). Hopefully we can get userspace to switch to using it, and
        thus get openat2(2) support for free once it's ready.
      
        Future work would include implementing things like
        RESOLVE_NO_AUTOMOUNT and possibly a RESOLVE_NO_REMOTE (to allow
        programs to be sure they don't hit DoSes though stale NFS handles)"
      
      * 'work.openat2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        Documentation: path-lookup: include new LOOKUP flags
        selftests: add openat2(2) selftests
        open: introduce openat2(2) syscall
        namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution
        namei: LOOKUP_IN_ROOT: chroot-like scoped resolution
        namei: LOOKUP_BENEATH: O_BENEATH-like scoped resolution
        namei: LOOKUP_NO_XDEV: block mountpoint crossing
        namei: LOOKUP_NO_MAGICLINKS: block magic-link resolution
        namei: LOOKUP_NO_SYMLINKS: block symlink resolution
        namei: allow set_root() to produce errors
        namei: allow nd_jump_link() to produce errors
        nsfs: clean-up ns_get_path() signature to return int
        namei: only return -ECHILD from follow_dotdot_rcu()
      6aee4bad
    • Linus Torvalds's avatar
      Merge branch 'urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 15d66324
      Linus Torvalds authored
      Pull RCU warning removal from Paul McKenney:
       "A single commit that fixes an embarrassing bug discussed here:
      
            https://lore.kernel.org/lkml/20200125131425.GB16136@zn.tnic/
      
        which apparently also affects smaller systems"
      
      [ This was sent to Ingo, but since I see the issue on the laptop I use for
        testing during the merge window, I'm doing the pull directly     - Linus ]
      
      * 'urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        rcu: Forgive slow expedited grace periods at boot time
      15d66324
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 80b60e38
      Linus Torvalds authored
      Pull core fixes from Ingo Molnar:
       "Three objtool fixes, plus marking SFI as obsolete"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Skip samples subdirectory
        objtool: Fix ARCH=x86_64 build error
        objtool: Silence build output
        MAINTAINERS: Mark simple firmware interface (SFI) obsolete
      80b60e38
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 701a9c80
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big char/misc/whatever driver changes for 5.6-rc1
      
        Included in here are loads of things from a variety of different
        driver subsystems:
         - soundwire updates
         - binder updates
         - nvmem updates
         - firmware drivers updates
         - extcon driver updates
         - various misc driver updates
         - fpga driver updates
         - interconnect subsystem and driver updates
         - bus driver updates
         - uio driver updates
         - mei driver updates
         - w1 driver cleanups
         - various other small driver updates
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (86 commits)
        mei: me: add jasper point DID
        char: hpet: Use flexible-array member
        binder: fix log spam for existing debugfs file creation.
        mei: me: add comet point (lake) H device ids
        nvmem: add QTI SDAM driver
        dt-bindings: nvmem: add binding for QTI SPMI SDAM
        dt-bindings: imx-ocotp: Add i.MX8MP compatible
        dt-bindings: soundwire: fix example
        soundwire: cadence: fix kernel-doc parameter descriptions
        soundwire: intel: report slave_ids for each link to SOF driver
        siox: Use the correct style for SPDX License Identifier
        w1: omap-hdq: Simplify driver with PM runtime autosuspend
        firmware: stratix10-svc: Remove unneeded semicolon
        firmware: google: Probe for a GSMI handler in firmware
        firmware: google: Unregister driver_info on failure and exit in gsmi
        firmware: google: Release devices before unregistering the bus
        slimbus: qcom: add missed clk_disable_unprepare in remove
        slimbus: Use the correct style for SPDX License Identifier
        slimbus: qcom-ngd-ctrl: Use dma_request_chan() instead dma_request_slave_channel()
        dt-bindings: SLIMBus: add slim devices optional properties
        ...
      701a9c80
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 975f9ce9
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is a small set of changes for 5.6-rc1 for the driver core and
        some firmware subsystem changes.
      
        Included in here are:
         - device.h splitup like you asked for months ago
         - devtmpfs minor cleanups
         - firmware core minor changes
         - debugfs fix for lockdown mode
         - kernfs cleanup fix
         - cpu topology minor fix
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (22 commits)
        firmware: Rename FW_OPT_NOFALLBACK to FW_OPT_NOFALLBACK_SYSFS
        devtmpfs: factor out common tail of devtmpfs_{create,delete}_node
        devtmpfs: initify a bit
        devtmpfs: simplify initialization of mount_dev
        devtmpfs: factor out setup part of devtmpfsd()
        devtmpfs: fix theoretical stale pointer deref in devtmpfsd()
        driver core: platform: fix u32 greater or equal to zero comparison
        cpu-topology: Don't error on more than CONFIG_NR_CPUS CPUs in device tree
        debugfs: Return -EPERM when locked down
        driver core: Print device when resources present in really_probe()
        driver core: Fix test_async_driver_probe if NUMA is disabled
        driver core: platform: Prevent resouce overflow from causing infinite loops
        fs/kernfs/dir.c: Clean code by removing always true condition
        component: do not dereference opaque pointer in debugfs
        drivers/component: remove modular code
        debugfs: Fix warnings when building documentation
        device.h: move 'struct driver' stuff out to device/driver.h
        device.h: move 'struct class' stuff out to device/class.h
        device.h: move 'struct bus' stuff out to device/bus.h
        device.h: move dev_printk()-like functions to dev_printk.h
        ...
      975f9ce9
    • Linus Torvalds's avatar
      Merge tag 'staging-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 7ba31c3f
      Linus Torvalds authored
      Pull staging and IIO updates from Greg KH:
       "Here is the big staging/iio driver patches for 5.6-rc1
      
        Included in here are:
      
         - lots of new IIO drivers and updates for that subsystem
      
         - the usual huge quantity of minor cleanups for staging drivers
      
         - removal of the following staging drivers:
             - isdn/avm
             - isdn/gigaset
             - isdn/hysdn
             - octeon-usb
             - octeon ethernet
      
        Overall we deleted far more lines than we added, removing over 40k of
        old and obsolete driver code.
      
        All of these changes have been in linux-next for a while with no
        reported issues"
      
      * tag 'staging-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (353 commits)
        staging: most: usb: check for NULL device
        staging: next: configfs: fix release link
        staging: most: core: fix logging messages
        staging: most: core: remove container struct
        staging: most: remove struct device core driver
        staging: most: core: drop device reference
        staging: most: remove device from interface structure
        staging: comedi: drivers: fix spelling mistake "to" -> "too"
        staging: exfat: remove fs_func struct.
        staging: wilc1000: avoid mutex unlock without lock in wilc_wlan_handle_txq()
        staging: wilc1000: return zero on success and non-zero on function failure
        staging: axis-fifo: replace spinlock with mutex
        staging: wilc1000: remove unused code prior to throughput enhancement in SPI
        staging: wilc1000: added 'wilc_' prefix for 'struct assoc_resp' name
        staging: wilc1000: move firmware API struct's to separate header file
        staging: wilc1000: remove use of infinite loop conditions
        staging: kpc2000: rename variables with kpc namespace
        staging: vt6656: Remove memory buffer from vnt_download_firmware.
        staging: vt6656: Just check NEWRSR_DECRYPTOK for RX_FLAG_DECRYPTED.
        staging: vt6656: Use vnt_rx_tail struct for tail variables.
        ...
      7ba31c3f
    • Linus Torvalds's avatar
      Merge tag 'tty-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · ca9b5b62
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here are the big set of tty and serial driver updates for 5.6-rc1
      
        Included in here are:
         - dummy_con cleanups (touches lots of arch code)
         - sysrq logic cleanups (touches lots of serial drivers)
         - samsung driver fixes (wasn't really being built)
         - conmakeshash move to tty subdir out of scripts
         - lots of small tty/serial driver updates
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (140 commits)
        tty: n_hdlc: Use flexible-array member and struct_size() helper
        tty: baudrate: SPARC supports few more baud rates
        tty: baudrate: Synchronise baud_table[] and baud_bits[]
        tty: serial: meson_uart: Add support for kernel debugger
        serial: imx: fix a race condition in receive path
        serial: 8250_bcm2835aux: Document struct bcm2835aux_data
        serial: 8250_bcm2835aux: Use generic remapping code
        serial: 8250_bcm2835aux: Allocate uart_8250_port on stack
        serial: 8250_bcm2835aux: Suppress register_port error on -EPROBE_DEFER
        serial: 8250_bcm2835aux: Suppress clk_get error on -EPROBE_DEFER
        serial: 8250_bcm2835aux: Fix line mismatch on driver unbind
        serial_core: Remove unused member in uart_port
        vt: Correct comment documenting do_take_over_console()
        vt: Delete comment referencing non-existent unbind_con_driver()
        arch/xtensa/setup: Drop dummy_con initialization
        arch/x86/setup: Drop dummy_con initialization
        arch/unicore32/setup: Drop dummy_con initialization
        arch/sparc/setup: Drop dummy_con initialization
        arch/sh/setup: Drop dummy_con initialization
        arch/s390/setup: Drop dummy_con initialization
        ...
      ca9b5b62
    • Linus Torvalds's avatar
      Merge tag 'usb-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · aac96626
      Linus Torvalds authored
      Pull USB/Thunderbolt/PHY driver updates from Greg KH:
       "Here is the big USB and Thunderbolt and PHY driver updates for
        5.6-rc1.
      
        With the advent of USB4, "Thunderbolt" has really become USB4, so the
        renaming of the Kconfig option and starting to share subsystem code
        has begun, hence both subsystems coming in through the same tree here.
      
        PHY driver updates also touched USB drivers, so that is coming in
        through here as well.
      
        Major stuff included in here are:
         - USB 4 initial support added (i.e. Thunderbolt)
         - musb driver updates
         - USB gadget driver updates
         - PHY driver updates
         - USB PHY driver updates
         - lots of USB serial stuff fixed up
         - USB typec updates
         - USB-IP fixes
         - lots of other smaller USB driver updates
      
        All of these have been in linux-next for a while now (the usb-serial
        tree is already tested in linux-next on its own before merged into
        here), with no reported issues"
      
      [ Removed an incorrect compile test enablement for PHY_EXYNOS5250_SATA
        that causes configuration warnings    - Linus ]
      
      * tag 'usb-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (207 commits)
        Doc: ABI: add usb charger uevent
        usb: phy: show USB charger type for user
        usb: cdns3: fix spelling mistake and rework grammar in text
        usb: phy: phy-gpio-vbus-usb: Convert to GPIO descriptors
        USB: serial: cyberjack: fix spelling mistake "To" -> "Too"
        USB: serial: ir-usb: simplify endpoint check
        USB: serial: ir-usb: make set_termios synchronous
        USB: serial: ir-usb: fix IrLAP framing
        USB: serial: ir-usb: fix link-speed handling
        USB: serial: ir-usb: add missing endpoint sanity check
        usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW
        usb: typec: wcove: fix "op-sink-microwatt" default that was in mW
        usb: dwc3: pci: add ID for the Intel Comet Lake -V variant
        usb: typec: tcpci: mask event interrupts when remove driver
        usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186
        usb: chipidea: add inline for ci_hdrc_host_driver_init if host is not defined
        usb: chipidea: handle single role for usb role class
        usb: musb: fix spelling mistake: "periperal" -> "peripheral"
        phy: ti: j721e-wiz: Fix build error without CONFIG_OF_ADDRESS
        USB: usbfs: Always unlink URBs in reverse order
        ...
      aac96626
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 6ba3d706
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes, nothing too exciting about
        this.
      
        Some changes hit arch/sh and arch/arm but are well isolated and
        acknowledged by the respective arch maintainers.
      
        Core changes:
      
         - Dropped the chained IRQ setup callback into GPIOLIB as we got rid
           of the last users of that in this changeset.
      
        New drivers:
      
         - New driver for Ingenic X1830.
      
         - New driver for Freescale i.MX8MP.
      
        Driver enhancements:
      
         - Fix all remaining Intel drivers to pass their IRQ chips along with
           the GPIO chips.
      
         - Intel Baytrail allocates its irqchip dynamically.
      
         - Intel Lynxpoint is thoroughly rewritten and modernized.
      
         - Aspeed AST2600 pin muxing and configuration is much improved.
      
         - Qualcomm SC7180 functions are updated and wakeup interrupt map is
           provided.
      
         - A whole slew of Renesas SH-PFC cleanups and improvements.
      
         - Fix up the Intel DT bindings to use the generic YAML DT bindings
           schema (a first user of this)"
      
      * tag 'pinctrl-v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (99 commits)
        pinctrl: madera: Remove extra blank line
        pinctrl: qcom: Don't lock around irq_set_irq_wake()
        pinctrl: mvebu: armada-37xx: use use platform api
        gpio: Drop the chained IRQ handler assign function
        pinctrl: freescale: Add i.MX8MP pinctrl driver support
        dt-bindings: imx: Add pinctrl binding doc for i.MX8MP
        pinctrl: tigerlake: Tiger Lake uses _HID enumeration
        pinctrl: sunrisepoint: Add Coffee Lake-S ACPI ID
        pinctrl: iproc: Use platform_get_irq_optional() to avoid error message
        pinctrl: dt-bindings: Fix some errors in the lgm and pinmux schema
        pinctrl: intel: Pass irqchip when adding gpiochip
        pinctrl: intel: Add GPIO <-> pin mapping ranges via callback
        pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output
        pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins
        pinctrl: sunrisepoint: Add missing Interrupt Status register offset
        pinctrl: sh-pfc: Split R-Car H3 support in two independent drivers
        pinctrl: artpec6: fix __iomem on reg in set
        pinctrl: ingenic: Use devm_platform_ioremap_resource()
        pinctrl: ingenic: Factorize irq_set_type function
        pinctrl: ingenic: Remove duplicated ingenic_chip_info structures
        ...
      6ba3d706
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · fa889d85
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v5.6 kernel cycle.
      
        This is a pretty calm cycle so far, nothing special going on really.
        Some more changes will come in from the irqchip and pin control trees.
      
        I also deleted an orphan include file for FMC that was dangling since
        subsystem was removed.
      
        Core changes:
      
         - Document the usecases for the kernelspace vs userspace handling of
           GPIOs.
      
         - Handle MSI (message signalled interrupts) properly in the core
           hierarchical irqdomain code.
      
         - Fix a rare race condition while initializing the descriptor array.
      
        New drivers:
      
         - Xylon LogiCVC GPIO driver.
      
         - WDC934x GPIO controller driver.
      
        Driver improvements:
      
         - Implemented suspend/resume in the Tegra driver.
      
         - MPC8xx edge detection fixup.
      
         - Properly convert ThunderX to use hierarchical irqdomain with
           GPIOLIB_IRQCHIP on top of the revert of the previous buggy
           switchover. This time it works (hopefully).
      
        Misc:
      
         - Drop a FMC remnant file <linux/ipmi-fru.h>
      
         - A slew of fixes"
      
      * tag 'gpio-v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (48 commits)
        MAINTAINERS: Replace Tien Hock Loh as Altera PIO maintainer
        gpiolib: hold gpio devices lock until ->descs array is initialised
        gpio: aspeed-sgpio: fixed typos
        gpio: mvebu: clear irq in edge cause register before unmask edge irq
        gpiolib: Lower verbosity when allocating hierarchy irq
        gpiolib: Remove duplicated function gpio_do_set_config()
        gpio: Fix the no return statement warning
        gpio: wcd934x: Add support to wcd934x gpio controller
        gpiolib: remove set but not used variable 'config'
        gpio: vx855: fixed a typo
        gpio: mockup: sort headers alphabetically
        gpio: mockup: update the license tag
        gpio: Remove the unused flags
        gpiolib: Set lockdep class for hierarchical irq domains
        gpio: thunderx: Switch to GPIOLIB_IRQCHIP
        gpiolib: Add the support for the msi parent domain
        gpiolib: Add support for the irqdomain which doesn't use irq_fwspec as arg
        gpio: Add use guidance documentation
        dt-bindings: gpio: wcd934x: Add bindings for gpio
        gpio: altera: change to platform_get_irq_optional to avoid false-positive error
        ...
      fa889d85
    • Linus Torvalds's avatar
      Merge branch 'for-v5.6' of git://git.kernel.org:/pub/scm/linux/kernel/git/jmorris/linux-security · b3a60822
      Linus Torvalds authored
      Pull security subsystem update from James Morris:
       "Just one minor fix this time"
      
      * 'for-v5.6' of git://git.kernel.org:/pub/scm/linux/kernel/git/jmorris/linux-security:
        security: remove EARLY_LSM_COUNT which never used
      b3a60822
    • Linus Torvalds's avatar
      Merge branch 'next-integrity' of... · 73a0bff2
      Linus Torvalds authored
      Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity
      
      Pull IMA updates from Mimi Zohar:
       "Two new features - measuring certificates and querying IMA for a file
        hash - and three bug fixes:
      
         - Measuring certificates is like the rest of IMA, based on policy,
           but requires loading a custom policy. Certificates loaded onto a
           keyring, for example during early boot, before a custom policy has
           been loaded, are queued and only processed after loading the custom
           policy.
      
         - IMA calculates and caches files hashes. Other kernel subsystems,
           and possibly kernel modules, are interested in accessing these
           cached file hashes.
      
        The bug fixes prevent classifying a file short read (e.g. shutdown) as
        an invalid file signature, add a missing blank when displaying the
        securityfs policy rules containing LSM labels, and, lastly, fix the
        handling of the IMA policy information for unknown LSM labels"
      
      * 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        IMA: Defined delayed workqueue to free the queued keys
        IMA: Call workqueue functions to measure queued keys
        IMA: Define workqueue for early boot key measurements
        IMA: pre-allocate buffer to hold keyrings string
        ima: ima/lsm policy rule loading logic bug fixes
        ima: add the ability to query the cached hash of a given file
        ima: Add a space after printing LSM rules for readability
        IMA: fix measuring asymmetric keys Kconfig
        IMA: Read keyrings= option from the IMA policy
        IMA: Add support to limit measuring keys
        KEYS: Call the IMA hook to measure keys
        IMA: Define an IMA hook to measure keys
        IMA: Add KEY_CHECK func to measure keys
        IMA: Check IMA policy flag
        ima: avoid appraise error for hash calc interrupt
      73a0bff2
    • Linus Torvalds's avatar
      Merge tag 'tomoyo-pr-20200128' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1 · 2cf64d7c
      Linus Torvalds authored
      Pull tomoyo update from Tetsuo Handa:
       "One 'int' -> 'atomic_t' conversion patch to suppress KCSAN's warning"
      
      * tag 'tomoyo-pr-20200128' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1:
        tomoyo: Use atomic_t for statistics counter
      2cf64d7c
    • Linus Torvalds's avatar
      Merge tag 's390-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 740eaf7d
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Add clang 10 build support.
      
       - Fix BUG() implementation to contain precise bug address, which is
         relevant for kprobes.
      
       - Make ftraced function appear in a stacktrace.
      
       - Minor perf improvements and refactoring.
      
       - Possible deadlock and recovery fixes in pci code.
      
      * tag 's390-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390: fix __EMIT_BUG() macro
        s390/ftrace: generate traced function stack frame
        s390: adjust -mpacked-stack support check for clang 10
        s390/jump_label: use "i" constraint for clang
        s390/cpum_sf: Use DIV_ROUND_UP
        s390/cpum_sf: Use kzalloc and minor changes
        s390/cpum_sf: Convert debug trace to common layout
        s390/pci: Fix possible deadlock in recover_store()
        s390/pci: Recover handle in clp_set_pci_fn()
      740eaf7d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · fad7bdc9
      Linus Torvalds authored
      Pull UML updates from Anton Ivanov:
       "I am sending this on behalf of Richard who is traveling.
      
        This contains the following changes for UML:
      
         - Fix for time travel mode
      
         - Disable CONFIG_CONSTRUCTORS again
      
         - A new command line option to have an non-raw serial line
      
         - Preparations to remove obsolete UML network drivers"
      
      * tag 'for-linus-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Fix time-travel=inf-cpu with xor/raid6
        Revert "um: Enable CONFIG_CONSTRUCTORS"
        um: Mark non-vector net transports as obsolete
        um: Add an option to make serial driver non-raw
      fad7bdc9
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · a78416d9
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
       "Kprobe events added 'ustring' to distinguish reading strings from
        kernel space or user space.
      
        But the creating of the event format file only checks for 'string' to
        display string formats. 'ustring' must also be handled"
      
      * tag 'trace-v5.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing/kprobes: Have uname use __get_str() in print_fmt
      a78416d9
    • Linus Torvalds's avatar
      Merge tag 'thermal-v5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux · abb22e44
      Linus Torvalds authored
      Pull thermal updates from Daniel Lezcano:
      
       - Depromote debug print on the db8500 platform (Linus Walleij)
      
       - Fix compilation warning when compiling with make W=1 (Amit Kucheria)
      
       - Code cleanup and refactoring, regmap conversion and add hwmon support
         on Qoriq (Andrey Smirnov)
      
       - Add an idle injection cpu cooling device and its documentation,
         rename the cpu_cooling device to cpufreq_cooling device (Daniel
         Lezcano)
      
       - Convert unexported functions to static, add the __init annotation in
         the thermal-of code and remove the pointless wrapper functions
         (Daniel Lezcano)
      
       - Fix register offset for Armada XP and register reset bit
         initialization (Zak Hays)
      
       - Enable hwmon on the rockchip (Stefan Schaeckeler)
      
       - Add the thermal sensor for the H6/H5/H3/A64/A83T/R40 sun8i platform
         and their device tree bindings, followed by a fix for the ths number
         and the sparse warnings (Yangtao Li)
      
       - Code cleansup for the sun8i and hwmon support (Yangtao Li)
      
       - Silent some messages which are misleading given the changes made in
         the previous version on generic-adc (Martin Blumenstingl)
      
       - Rename exynos to Exynos (Krzysztof Kozlowski)
      
       - Add the bcm2711 thermal driver with the device tree bindings (Stefan
         Wahren)
      
       - Use usleep_range() instead of udelay() as the call is always done in
         a sleep-able context (Geert Uytterhoeven)
      
       - Do code cleanup and re-organization to set the scene for a new
         process for the brcmstb (Florian Fainelli)
      
       - Fix bindings check issues on brcm (Stefan Wahren)
      
       - Add Jasper Lake support on int340x (Nivedita Swaminathan)
      
       - Add Comet Lake support on intel pch (Gayatri Kammela)
      
       - Fix unmatched pci_release_region() on x86 (Chuhong Yuan)
      
       - Remove temperature boundaries for rcar and rcar3 (Niklas Söderlund)
      
       - Fix return value to -ENODEV when thermal_zone_of_sensor_register() is
         called with the of-node is missing (Peter Mamonov)
      
       - Code cleanup, interrupt bouncing, and better support on stm32 (Pascal
         Paillet)
      
      * tag 'thermal-v5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux: (66 commits)
        thermal: stm32: Fix low threshold interrupt flood
        thermal: stm32: Improve temperature computing
        thermal: stm32: Handle multiple trip points
        thermal: stm32: Disable interrupts at probe
        thermal: stm32: Rework sensor mode management
        thermal: stm32: Fix icifr register name
        thermal: of: Make thermal_zone_of_sensor_register return -ENODEV if a sensor OF node is missing
        thermal: rcar_gen3_thermal: Remove temperature bound
        thermal: rcar_thermal: Remove temperature bound
        thermal: intel: intel_pch_thermal: Add Comet Lake (CML) platform support
        thermal: intel: Fix unmatched pci_release_region
        thermal: int340x: processor_thermal: Add Jasper Lake support
        dt-bindings: brcm,avs-ro-thermal: Fix binding check issues
        thermal: brcmstb_thermal: Register different ops per process
        thermal: brcmstb_thermal: Restructure interrupt registration
        thermal: brcmstb_thermal: Add 16nm process thermal parameters
        dt-bindings: thermal: Define BCM7216 thermal sensor compatible
        thermal: brcmstb_thermal: Prepare to support a different process
        thermal: brcmstb_thermal: Do not use DT coefficients
        thermal: rcar_thermal: Use usleep_range() instead of udelay()
        ...
      abb22e44
    • Linus Torvalds's avatar
      Merge tag 'sound-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · fb95aae6
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "As the diffstat shows we've had again a lot of works done for this
        cycle: the majority of changes are the continued componentization and
        code refactoring in ASoC, the tree-wide PCM API updates and cleanups
        and SOF updates while a few ASoC driver updates are seen, too.
      
        Here we go, some highlights:
      
        Core:
         - Finally y2038 support landed to ALSA ABI; some ioctls have been
           extended and lots of tricks were applied
         - Applying the new managed PCM buffer API to all drivers; the API
           itself was already merged in 5.5
         - The already deprecated dimension support in ALSA control API is
           dropped completely now
         - Verification of ALSA control elements to catch API misuses
      
        ASoC:
         - Further code refactorings and moving things to the component level
         - Lots of updates and improvements on SOF / Intel drivers; now
           including common HDMI driver and SoundWire support
         - New driver support for Ingenic JZ4770, Mediatek MT6660, Qualcomm
           WCD934x and WSA881x, and Realtek RT700, RT711, RT715, RT1011,
           RT1015 and RT1308
      
        HD-audio:
         - Improved ring-buffer communications using waitqueue
         - Drop the superfluous buffer preallocation on x86
      
        Others:
         - Many code cleanups, mostly constifications over the whole tree
         - USB-audio: quirks for MOTU, Corsair Virtuoso, Line6 Helix
         - FireWire: code refactoring for oxfw and dice drivers"
      
      * tag 'sound-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (638 commits)
        ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82
        ALSA: hda: Add Clevo W65_67SB the power_save blacklist
        ASoC: soc-core: remove null_snd_soc_ops
        ASoC: soc-pcm: add soc_rtd_trigger()
        ASoC: soc-pcm: add soc_rtd_hw_free()
        ASoC: soc-pcm: add soc_rtd_hw_params()
        ASoC: soc-pcm: add soc_rtd_prepare()
        ASoC: soc-pcm: add soc_rtd_shutdown()
        ASoC: soc-pcm: add soc_rtd_startup()
        ASoC: rt1015: add rt1015 amplifier driver
        ASoC: madera: Correct some kernel doc
        ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order
        ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug
        ASoC: madera: Correct DMIC only input hook ups
        ALSA: cs46xx: fix spelling mistake "to" -> "too"
        ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
        ASoC: Add MediaTek MT6660 Speaker Amp Driver
        ASoC: dt-bindings: rt5645: add suppliers
        ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double()
        ASoC: dapm: add snd_soc_dapm_put_enum_double_locked
        ...
      fb95aae6
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · bd2463ac
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) Add WireGuard
      
       2) Add HE and TWT support to ath11k driver, from John Crispin.
      
       3) Add ESP in TCP encapsulation support, from Sabrina Dubroca.
      
       4) Add variable window congestion control to TIPC, from Jon Maloy.
      
       5) Add BCM84881 PHY driver, from Russell King.
      
       6) Start adding netlink support for ethtool operations, from Michal
          Kubecek.
      
       7) Add XDP drop and TX action support to ena driver, from Sameeh
          Jubran.
      
       8) Add new ipv4 route notifications so that mlxsw driver does not have
          to handle identical routes itself. From Ido Schimmel.
      
       9) Add BPF dynamic program extensions, from Alexei Starovoitov.
      
      10) Support RX and TX timestamping in igc, from Vinicius Costa Gomes.
      
      11) Add support for macsec HW offloading, from Antoine Tenart.
      
      12) Add initial support for MPTCP protocol, from Christoph Paasch,
          Matthieu Baerts, Florian Westphal, Peter Krystad, and many others.
      
      13) Add Octeontx2 PF support, from Sunil Goutham, Geetha sowjanya, Linu
          Cherian, and others.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1469 commits)
        net: phy: add default ARCH_BCM_IPROC for MDIO_BCM_IPROC
        udp: segment looped gso packets correctly
        netem: change mailing list
        qed: FW 8.42.2.0 debug features
        qed: rt init valid initialization changed
        qed: Debug feature: ilt and mdump
        qed: FW 8.42.2.0 Add fw overlay feature
        qed: FW 8.42.2.0 HSI changes
        qed: FW 8.42.2.0 iscsi/fcoe changes
        qed: Add abstraction for different hsi values per chip
        qed: FW 8.42.2.0 Additional ll2 type
        qed: Use dmae to write to widebus registers in fw_funcs
        qed: FW 8.42.2.0 Parser offsets modified
        qed: FW 8.42.2.0 Queue Manager changes
        qed: FW 8.42.2.0 Expose new registers and change windows
        qed: FW 8.42.2.0 Internal ram offsets modifications
        MAINTAINERS: Add entry for Marvell OcteonTX2 Physical Function driver
        Documentation: net: octeontx2: Add RVU HW and drivers overview
        octeontx2-pf: ethtool RSS config support
        octeontx2-pf: Add basic ethtool support
        ...
      bd2463ac
  2. 28 Jan, 2020 21 commits
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · a78208e2
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Removed CRYPTO_TFM_RES flags
         - Extended spawn grabbing to all algorithm types
         - Moved hash descsize verification into API code
      
        Algorithms:
         - Fixed recursive pcrypt dead-lock
         - Added new 32 and 64-bit generic versions of poly1305
         - Added cryptogams implementation of x86/poly1305
      
        Drivers:
         - Added support for i.MX8M Mini in caam
         - Added support for i.MX8M Nano in caam
         - Added support for i.MX8M Plus in caam
         - Added support for A33 variant of SS in sun4i-ss
         - Added TEE support for Raven Ridge in ccp
         - Added in-kernel API to submit TEE commands in ccp
         - Added AMD-TEE driver
         - Added support for BCM2711 in iproc-rng200
         - Added support for AES256-GCM based ciphers for chtls
         - Added aead support on SEC2 in hisilicon"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (244 commits)
        crypto: arm/chacha - fix build failured when kernel mode NEON is disabled
        crypto: caam - add support for i.MX8M Plus
        crypto: x86/poly1305 - emit does base conversion itself
        crypto: hisilicon - fix spelling mistake "disgest" -> "digest"
        crypto: chacha20poly1305 - add back missing test vectors and test chunking
        crypto: x86/poly1305 - fix .gitignore typo
        tee: fix memory allocation failure checks on drv_data and amdtee
        crypto: ccree - erase unneeded inline funcs
        crypto: ccree - make cc_pm_put_suspend() void
        crypto: ccree - split overloaded usage of irq field
        crypto: ccree - fix PM race condition
        crypto: ccree - fix FDE descriptor sequence
        crypto: ccree - cc_do_send_request() is void func
        crypto: ccree - fix pm wrongful error reporting
        crypto: ccree - turn errors to debug msgs
        crypto: ccree - fix AEAD decrypt auth fail
        crypto: ccree - fix typo in comment
        crypto: ccree - fix typos in error msgs
        crypto: atmel-{aes,sha,tdes} - Retire crypto_platform_data
        crypto: x86/sha - Eliminate casts on asm implementations
        ...
      a78208e2
    • Linus Torvalds's avatar
      Merge tag '5.6-smb3-fixes-and-dfs-and-readdir-improvements' of git://git.samba.org/sfrench/cifs-2.6 · 68353984
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "Various SMB3/CIFS fixes including four for stable.
      
         - Improvement to fallocate (enables 3 additional xfstests)
      
         - Fix for file creation when mounting with modefromsid
      
         - Add ability to backup/restore dos attributes and creation time
      
         - DFS failover and reconnect fixes
      
         - performance optimization for readir
      
        Note that due to the upcoming SMB3 Test Event (at SNIA SDC next week)
        there will likely be more changesets near the end of the merge window
        (since we will be testing heavily next week, I held off on some
        patches and I expect some additional multichannel patches as well as
        patches to enable some additional xfstests)"
      
      * tag '5.6-smb3-fixes-and-dfs-and-readdir-improvements' of git://git.samba.org/sfrench/cifs-2.6: (24 commits)
        CIFS: Fix task struct use-after-free on reconnect
        cifs: use PTR_ERR_OR_ZERO() to simplify code
        cifs: add support for fallocate mode 0 for non-sparse files
        cifs: fix NULL dereference in match_prepath
        smb3: fix default permissions on new files when mounting with modefromsid
        CIFS: Add support for setting owner info, dos attributes, and create time
        cifs: remove set but not used variable 'server'
        cifs: Fix memory allocation in __smb2_handle_cancelled_cmd()
        cifs: Fix mount options set in automount
        cifs: fix unitialized variable poential problem with network I/O cache lock patch
        cifs: Fix return value in __update_cache_entry
        cifs: Avoid doing network I/O while holding cache lock
        cifs: Fix potential deadlock when updating vol in cifs_reconnect()
        cifs: Merge is_path_valid() into get_normalized_path()
        cifs: Introduce helpers for finding TCP connection
        cifs: Get rid of kstrdup_const()'d paths
        cifs: Clean up DFS referral cache
        cifs: Don't use iov_iter::type directly
        cifs: set correct max-buffer-size for smb2_ioctl_init()
        cifs: use compounding for open and first query-dir for readdir()
        ...
      68353984
    • Linus Torvalds's avatar
      Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · c8994374
      Linus Torvalds authored
      Pull fsverity updates from Eric Biggers:
      
       - Optimize fs-verity sequential read performance by implementing
         readahead of Merkle tree pages. This allows the Merkle tree to be
         read in larger chunks.
      
       - Optimize FS_IOC_ENABLE_VERITY performance in the uncached case by
         implementing readahead of data pages.
      
       - Allocate the hash requests from a mempool in order to eliminate the
         possibility of allocation failures during I/O.
      
      * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
        fs-verity: use u64_to_user_ptr()
        fs-verity: use mempool for hash requests
        fs-verity: implement readahead of Merkle tree pages
        fs-verity: implement readahead for FS_IOC_ENABLE_VERITY
      c8994374
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · f0d87441
      Linus Torvalds authored
      Pull fscrypt updates from Eric Biggers:
      
       - Extend the FS_IOC_ADD_ENCRYPTION_KEY ioctl to allow the raw key to be
         provided via a keyring key.
      
       - Prepare for the new dirhash method (SipHash of plaintext name) that
         will be used by directories that are both encrypted and casefolded.
      
       - Switch to a new format for "no-key names" that prepares for the new
         dirhash method, and also fixes a longstanding bug where multiple
         filenames could map to the same no-key name.
      
       - Allow the crypto algorithms used by fscrypt to be built as loadable
         modules when the fscrypt-capable filesystems are.
      
       - Optimize fscrypt_zeroout_range().
      
       - Various cleanups.
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt: (26 commits)
        fscrypt: improve format of no-key names
        ubifs: allow both hash and disk name to be provided in no-key names
        ubifs: don't trigger assertion on invalid no-key filename
        fscrypt: clarify what is meant by a per-file key
        fscrypt: derive dirhash key for casefolded directories
        fscrypt: don't allow v1 policies with casefolding
        fscrypt: add "fscrypt_" prefix to fname_encrypt()
        fscrypt: don't print name of busy file when removing key
        ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted()
        fscrypt: document gfp_flags for bounce page allocation
        fscrypt: optimize fscrypt_zeroout_range()
        fscrypt: remove redundant bi_status check
        fscrypt: Allow modular crypto algorithms
        fscrypt: include <linux/ioctl.h> in UAPI header
        fscrypt: don't check for ENOKEY from fscrypt_get_encryption_info()
        fscrypt: remove fscrypt_is_direct_key_policy()
        fscrypt: move fscrypt_valid_enc_modes() to policy.c
        fscrypt: check for appropriate use of DIRECT_KEY flag earlier
        fscrypt: split up fscrypt_supported_policy() by policy version
        fscrypt: introduce fscrypt_needs_contents_encryption()
        ...
      f0d87441
    • Linus Torvalds's avatar
      Merge tag 'fs-dedupe-last-block-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · b5f7ab6b
      Linus Torvalds authored
      Pull fs deduplication fix from David Sterba:
       "This is a fix for deduplication bug: the last block of two files is
        allowed to deduplicated. This got broken in 5.1 by lifting some
        generic checks to VFS layer. The affected filesystems are btrfs and
        xfs.
      
        The patches are marked for stable as the bug decreases deduplication
        effectivity"
      
      * tag 'fs-dedupe-last-block-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: make deduplication with range including the last block work
        fs: allow deduplication of eof block into the end of the destination file
      b5f7ab6b
    • Linus Torvalds's avatar
      Merge tag 'for-5.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 81a046b1
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Features, highlights:
      
         - async discard
             - "mount -o discard=async" to enable it
             - freed extents are not discarded immediatelly, but grouped
               together and trimmed later, with IO rate limiting
             - the "sync" mode submits short extents that could have been
               ignored completely by the device, for SATA prior to 3.1 the
               requests are unqueued and have a big impact on performance
             - the actual discard IO requests have been moved out of
               transaction commit to a worker thread, improving commit latency
             - IO rate and request size can be tuned by sysfs files, for now
               enabled only with CONFIG_BTRFS_DEBUG as we might need to
               add/delete the files and don't have a stable-ish ABI for
               general use, defaults are conservative
      
         - export device state info in sysfs, eg. missing, writeable
      
         - no discard of extents known to be untouched on disk (eg. after
           reservation)
      
         - device stats reset is logged with process name and PID that called
           the ioctl
      
        Fixes:
      
         - fix missing hole after hole punching and fsync when using NO_HOLES
      
         - writeback: range cyclic mode could miss some dirty pages and lead
           to OOM
      
         - two more corner cases for metadata_uuid change after power loss
           during the change
      
         - fix infinite loop during fsync after mix of rename operations
      
        Core changes:
      
         - qgroup assign returns ENOTCONN when quotas not enabled, used to
           return EINVAL that was confusing
      
         - device closing does not need to allocate memory anymore
      
         - snapshot aware code got removed, disabled for years due to
           performance problems, reimplmentation will allow to select wheter
           defrag breaks or does not break COW on shared extents
      
         - tree-checker:
             - check leaf chunk item size, cross check against number of
               stripes
             - verify location keys for DIR_ITEM, DIR_INDEX and XATTR items
      
         - new self test for physical -> logical mapping code, used for super
           block range exclusion
      
         - assertion helpers/macros updated to avoid objtool "unreachable
           code" reports on older compilers or config option combinations"
      
      * tag 'for-5.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (84 commits)
        btrfs: free block groups after free'ing fs trees
        btrfs: Fix split-brain handling when changing FSID to metadata uuid
        btrfs: Handle another split brain scenario with metadata uuid feature
        btrfs: Factor out metadata_uuid code from find_fsid.
        btrfs: Call find_fsid from find_fsid_inprogress
        Btrfs: fix infinite loop during fsync after rename operations
        btrfs: set trans->drity in btrfs_commit_transaction
        btrfs: drop log root for dropped roots
        btrfs: sysfs, add devid/dev_state kobject and device attributes
        btrfs: Refactor btrfs_rmap_block to improve readability
        btrfs: Add self-tests for btrfs_rmap_block
        btrfs: selftests: Add support for dummy devices
        btrfs: Move and unexport btrfs_rmap_block
        btrfs: separate definition of assertion failure handlers
        btrfs: device stats, log when stats are zeroed
        btrfs: fix improper setting of scanned for range cyclic write cache pages
        btrfs: safely advance counter when looking up bio csums
        btrfs: remove unused member btrfs_device::work
        btrfs: remove unnecessary wrapper get_alloc_profile
        btrfs: add correction to handle -1 edge case in async discard
        ...
      81a046b1
    • Linus Torvalds's avatar
      Merge branch 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 511fdb78
      Linus Torvalds authored
      Pull x86 mtrr updates from Ingo Molnar:
       "Two changes: restrict /proc/mtrr to CAP_SYS_ADMIN, plus a cleanup"
      
      * 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mtrr: Require CAP_SYS_ADMIN for all access
        x86/mtrr: Get rid of mtrr_seq_show() forward declaration
      511fdb78
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4d6245ce
      Linus Torvalds authored
      Pull x86 FPU updates from Ingo Molnar:
       "Three changes: fix a race that can result in FPU corruption, plus two
        cleanups"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Deactivate FPU state after failure during state load
        x86/fpu/xstate: Make xfeature_is_supervisor()/xfeature_is_user() return bool
        x86/fpu/xstate: Fix small issues
      4d6245ce
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c0275ae7
      Linus Torvalds authored
      Pull x86 cpu-features updates from Ingo Molnar:
       "The biggest change in this cycle was a large series from Sean
        Christopherson to clean up the handling of VMX features. This both
        fixes bugs/inconsistencies and makes the code more coherent and
        future-proof.
      
        There are also two cleanups and a minor TSX syslog messages
        enhancement"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86/cpu: Remove redundant cpu_detect_cache_sizes() call
        x86/cpu: Print "VMX disabled" error message iff KVM is enabled
        KVM: VMX: Allow KVM_INTEL when building for Centaur and/or Zhaoxin CPUs
        perf/x86: Provide stubs of KVM helpers for non-Intel CPUs
        KVM: VMX: Use VMX_FEATURE_* flags to define VMCS control bits
        KVM: VMX: Check for full VMX support when verifying CPU compatibility
        KVM: VMX: Use VMX feature flag to query BIOS enabling
        KVM: VMX: Drop initialization of IA32_FEAT_CTL MSR
        x86/cpufeatures: Add flag to track whether MSR IA32_FEAT_CTL is configured
        x86/cpu: Set synthetic VMX cpufeatures during init_ia32_feat_ctl()
        x86/cpu: Print VMX flags in /proc/cpuinfo using VMX_FEATURES_*
        x86/cpu: Detect VMX features on Intel, Centaur and Zhaoxin CPUs
        x86/vmx: Introduce VMX_FEATURES_*
        x86/cpu: Clear VMX feature flag if VMX is not fully enabled
        x86/zhaoxin: Use common IA32_FEAT_CTL MSR initialization
        x86/centaur: Use common IA32_FEAT_CTL MSR initialization
        x86/mce: WARN once if IA32_FEAT_CTL MSR is left unlocked
        x86/intel: Initialize IA32_FEAT_CTL MSR at boot
        tools/x86: Sync msr-index.h from kernel sources
        selftests, kvm: Replace manual MSR defs with common msr-index.h
        ...
      c0275ae7
    • Linus Torvalds's avatar
      Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f6170f0a
      Linus Torvalds authored
      Pull misc x86 updates from Ingo Molnar:
       "Misc changes:
      
         - Enhance #GP fault printouts by distinguishing between canonical and
           non-canonical address faults, and also add KASAN fault decoding.
      
         - Fix/enhance the x86 NMI handler by putting the duration check into
           a direct function call instead of an irq_work which we know to be
           broken in some cases.
      
         - Clean up do_general_protection() a bit"
      
      * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/nmi: Remove irq_work from the long duration NMI handler
        x86/traps: Cleanup do_general_protection()
        x86/kasan: Print original address on #GP
        x86/dumpstack: Introduce die_addr() for die() with #GP fault address
        x86/traps: Print address on #GP
        x86/insn-eval: Add support for 64-bit kernel mode
      f6170f0a
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6da49d1a
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups all around the map"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/CPU/AMD: Remove amd_get_topology_early()
        x86/tsc: Remove redundant assignment
        x86/crash: Use resource_size()
        x86/cpu: Add a missing prototype for arch_smt_update()
        x86/nospec: Remove unused RSB_FILL_LOOPS
        x86/vdso: Provide missing include file
        x86/Kconfig: Correct spelling and punctuation
        Documentation/x86/boot: Fix typo
        x86/boot: Fix a comment's incorrect file reference
        x86/process: Remove set but not used variables prev and next
        x86/Kconfig: Fix Kconfig indentation
      6da49d1a
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4244057c
      Linus Torvalds authored
      Pull x86 resource control updates from Ingo Molnar:
       "The main change in this tree is the extension of the resctrl procfs
        ABI with a new file that helps tooling to navigate from tasks back to
        resctrl groups: /proc/{pid}/cpu_resctrl_groups.
      
        Also fix static key usage for certain feature combinations and
        simplify the task exit resctrl case"
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Add task resctrl information display
        x86/resctrl: Check monitoring static key in the MBM overflow handler
        x86/resctrl: Do not reconfigure exiting tasks
      4244057c
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6b90e71a
      Linus Torvalds authored
      Pull x86 boot update from Ingo Molnar:
       "Two minor changes: fix an atypical binutils combination build bug, and
        also fix a VRAM size check for simplefb"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sysfb: Fix check for bad VRAM size
        x86/boot: Discard .eh_frame sections
      6b90e71a
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bcc8aff6
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "Misc updates:
      
         - Remove last remaining calls to exception_enter/exception_exit() and
           simplify the entry code some more.
      
         - Remove force_iret()
      
         - Add support for "Fast Short Rep Mov", which is available starting
           with Ice Lake Intel CPUs - and make the x86 assembly version of
           memmove() use REP MOV for all sizes when FSRM is available.
      
         - Micro-optimize/simplify the 32-bit boot code a bit.
      
         - Use a more future-proof SYSRET instruction mnemonic"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Simplify calculation of output address
        x86/entry/64: Add instruction suffix to SYSRET
        x86: Remove force_iret()
        x86/cpufeatures: Add support for fast short REP; MOVSB
        x86/context-tracking: Remove exception_enter/exit() from KVM_PV_REASON_PAGE_NOT_PRESENT async page fault
        x86/context-tracking: Remove exception_enter/exit() from do_page_fault()
      bcc8aff6
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 435dd727
      Linus Torvalds authored
      Pull x86 apic fix from Ingo Molnar:
       "A single commit that simplifies the code and gets rid of a compiler
        warning"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic/uv: Avoid unused variable warning
      435dd727
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c677124e
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "These were the main changes in this cycle:
      
         - More -rt motivated separation of CONFIG_PREEMPT and
           CONFIG_PREEMPTION.
      
         - Add more low level scheduling topology sanity checks and warnings
           to filter out nonsensical topologies that break scheduling.
      
         - Extend uclamp constraints to influence wakeup CPU placement
      
         - Make the RT scheduler more aware of asymmetric topologies and CPU
           capacities, via uclamp metrics, if CONFIG_UCLAMP_TASK=y
      
         - Make idle CPU selection more consistent
      
         - Various fixes, smaller cleanups, updates and enhancements - please
           see the git log for details"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits)
        sched/fair: Define sched_idle_cpu() only for SMP configurations
        sched/topology: Assert non-NUMA topology masks don't (partially) overlap
        idle: fix spelling mistake "iterrupts" -> "interrupts"
        sched/fair: Remove redundant call to cpufreq_update_util()
        sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled
        sched/fair: Fix sgc->{min,max}_capacity calculation for SD_OVERLAP
        sched/fair: calculate delta runnable load only when it's needed
        sched/cputime: move rq parameter in irqtime_account_process_tick
        stop_machine: Make stop_cpus() static
        sched/debug: Reset watchdog on all CPUs while processing sysrq-t
        sched/core: Fix size of rq::uclamp initialization
        sched/uclamp: Fix a bug in propagating uclamp value in new cgroups
        sched/fair: Load balance aggressively for SCHED_IDLE CPUs
        sched/fair : Improve update_sd_pick_busiest for spare capacity case
        watchdog: Remove soft_lockup_hrtimer_cnt and related code
        sched/rt: Make RT capacity-aware
        sched/fair: Make EAS wakeup placement consider uclamp restrictions
        sched/fair: Make task_fits_capacity() consider uclamp restrictions
        sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with()
        sched/uclamp: Make uclamp util helpers use and return UL values
        ...
      c677124e
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c0e809e2
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Kernel side changes:
      
         - Ftrace is one of the last W^X violators (after this only KLP is
           left). These patches move it over to the generic text_poke()
           interface and thereby get rid of this oddity. This requires a
           surprising amount of surgery, by Peter Zijlstra.
      
         - x86/AMD PMUs: add support for 'Large Increment per Cycle Events' to
           count certain types of events that have a special, quirky hw ABI
           (by Kim Phillips)
      
         - kprobes fixes by Masami Hiramatsu
      
        Lots of tooling updates as well, the following subcommands were
        updated: annotate/report/top, c2c, clang, record, report/top TUI,
        sched timehist, tests; plus updates were done to the gtk ui, libperf,
        headers and the parser"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits)
        perf/x86/amd: Add support for Large Increment per Cycle Events
        perf/x86/amd: Constrain Large Increment per Cycle events
        perf/x86/intel/rapl: Add Comet Lake support
        tracing: Initialize ret in syscall_enter_define_fields()
        perf header: Use last modification time for timestamp
        perf c2c: Fix return type for histogram sorting comparision functions
        perf beauty sockaddr: Fix augmented syscall format warning
        perf/ui/gtk: Fix gtk2 build
        perf ui gtk: Add missing zalloc object
        perf tools: Use %define api.pure full instead of %pure-parser
        libperf: Setup initial evlist::all_cpus value
        perf report: Fix no libunwind compiled warning break s390 issue
        perf tools: Support --prefix/--prefix-strip
        perf report: Clarify in help that --children is default
        tools build: Fix test-clang.cpp with Clang 8+
        perf clang: Fix build with Clang 9
        kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic
        tools lib: Fix builds when glibc contains strlcpy()
        perf report/top: Make 'e' visible in the help and make it toggle showing callchains
        perf report/top: Do not offer annotation for symbols without samples
        ...
      c0e809e2
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2180f214
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "Just a handful of changes in this cycle: an ARM64 performance
        optimization, a comment fix and a debug output fix"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/osq: Use optimized spinning loop for arm64
        locking/qspinlock: Fix inaccessible URL of MCS lock paper
        locking/lockdep: Fix lockdep_stats indentation problem
      2180f214
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 634cd4b6
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Cleanup of the GOP [graphics output] handling code in the EFI stub
      
         - Complete refactoring of the mixed mode handling in the x86 EFI stub
      
         - Overhaul of the x86 EFI boot/runtime code
      
         - Increase robustness for mixed mode code
      
         - Add the ability to disable DMA at the root port level in the EFI
           stub
      
         - Get rid of RWX mappings in the EFI memory map and page tables,
           where possible
      
         - Move the support code for the old EFI memory mapping style into its
           only user, the SGI UV1+ support code.
      
         - plus misc fixes, updates, smaller cleanups.
      
        ... and due to interactions with the RWX changes, another round of PAT
        cleanups make a guest appearance via the EFI tree - with no side
        effects intended"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
        efi/x86: Disable instrumentation in the EFI runtime handling code
        efi/libstub/x86: Fix EFI server boot failure
        efi/x86: Disallow efi=old_map in mixed mode
        x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
        efi/x86: avoid KASAN false positives when accessing the 1: 1 mapping
        efi: Fix handling of multiple efi_fake_mem= entries
        efi: Fix efi_memmap_alloc() leaks
        efi: Add tracking for dynamically allocated memmaps
        efi: Add a flags parameter to efi_memory_map
        efi: Fix comment for efi_mem_type() wrt absent physical addresses
        efi/arm: Defer probe of PCIe backed efifb on DT systems
        efi/x86: Limit EFI old memory map to SGI UV machines
        efi/x86: Avoid RWX mappings for all of DRAM
        efi/x86: Don't map the entire kernel text RW for mixed mode
        x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd
        efi/libstub/x86: Fix unused-variable warning
        efi/libstub/x86: Use mandatory 16-byte stack alignment in mixed mode
        efi/libstub/x86: Use const attribute for efi_is_64bit()
        efi: Allow disabling PCI busmastering on bridges during boot
        efi/x86: Allow translating 64-bit arguments for mixed mode calls
        ...
      634cd4b6
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d99391ec
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The RCU changes in this cycle were:
         - Expedited grace-period updates
         - kfree_rcu() updates
         - RCU list updates
         - Preemptible RCU updates
         - Torture-test updates
         - Miscellaneous fixes
         - Documentation updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (69 commits)
        rcu: Remove unused stop-machine #include
        powerpc: Remove comment about read_barrier_depends()
        .mailmap: Add entries for old paulmck@kernel.org addresses
        srcu: Apply *_ONCE() to ->srcu_last_gp_end
        rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask()
        rcu: Move rcu_{expedited,normal} definitions into rcupdate.h
        rcu: Move gp_state_names[] and gp_state_getname() to tree_stall.h
        rcu: Remove the declaration of call_rcu() in tree.h
        rcu: Fix tracepoint tracking RCU CPU kthread utilization
        rcu: Fix harmless omission of "CONFIG_" from #if condition
        rcu: Avoid tick_dep_set_cpu() misordering
        rcu: Provide wrappers for uses of ->rcu_read_lock_nesting
        rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special()
        rcu: Clear ->rcu_read_unlock_special only once
        rcu: Clear .exp_hint only when deferred quiescent state has been reported
        rcu: Rename some instance of CONFIG_PREEMPTION to CONFIG_PREEMPT_RCU
        rcu: Remove kfree_call_rcu_nobatch()
        rcu: Remove kfree_rcu() special casing and lazy-callback handling
        rcu: Add support for debug_objects debugging for kfree_rcu()
        rcu: Add multiple in-flight batches of kfree_rcu() work
        ...
      d99391ec
    • Linus Torvalds's avatar
      Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b561778
      Linus Torvalds authored
      Pull objtool updates from Ingo Molnar:
       "The main changes are to move the ORC unwind table sorting from early
        init to build-time - this speeds up booting.
      
        No change in functionality intended"
      
      * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/unwind/orc: Fix !CONFIG_MODULES build warning
        x86/unwind/orc: Remove boot-time ORC unwind tables sorting
        scripts/sorttable: Implement build-time ORC unwind table sorting
        scripts/sorttable: Rename 'sortextable' to 'sorttable'
        scripts/sortextable: Refactor the do_func() function
        scripts/sortextable: Remove dead code
        scripts/sortextable: Clean up the code to meet the kernel coding style better
        scripts/sortextable: Rewrite error/success handling
      8b561778