1. 07 May, 2019 31 commits
    • Linus Torvalds's avatar
      Merge tag 'meminit-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 2d60d96b
      Linus Torvalds authored
      Pull compiler-based variable initialization updates from Kees Cook:
       "This is effectively part of my gcc-plugins tree, but as this adds some
        Clang support, it felt weird to still call it "gcc-plugins". :)
      
        This consolidates Kconfig for the existing stack variable
        initialization (via structleak and stackleak gcc plugins) and adds
        Alexander Potapenko's support for Clang's new similar functionality.
      
        Summary:
      
         - Consolidate memory initialization Kconfigs (Kees)
      
         - Implement support for Clang's stack variable auto-init (Alexander)"
      
      * tag 'meminit-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        security: Implement Clang's stack initialization
        security: Move stackleak config to Kconfig.hardening
        security: Create "kernel hardening" config area
      2d60d96b
    • Linus Torvalds's avatar
      Merge tag 'pidfd-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · eac7078a
      Linus Torvalds authored
      Pull pidfd updates from Christian Brauner:
       "This patchset makes it possible to retrieve pidfds at process creation
        time by introducing the new flag CLONE_PIDFD to the clone() system
        call. Linus originally suggested to implement this as a new flag to
        clone() instead of making it a separate system call.
      
        After a thorough review from Oleg CLONE_PIDFD returns pidfds in the
        parent_tidptr argument. This means we can give back the associated pid
        and the pidfd at the same time. Access to process metadata information
        thus becomes rather trivial.
      
        As has been agreed, CLONE_PIDFD creates file descriptors based on
        anonymous inodes similar to the new mount api. They are made
        unconditional by this patchset as they are now needed by core kernel
        code (vfs, pidfd) even more than they already were before (timerfd,
        signalfd, io_uring, epoll etc.). The core patchset is rather small.
        The bulky looking changelist is caused by David's very simple changes
        to Kconfig to make anon inodes unconditional.
      
        A pidfd comes with additional information in fdinfo if the kernel
        supports procfs. The fdinfo file contains the pid of the process in
        the callers pid namespace in the same format as the procfs status
        file, i.e. "Pid:\t%d".
      
        To remove worries about missing metadata access this patchset comes
        with a sample/test program that illustrates how a combination of
        CLONE_PIDFD and pidfd_send_signal() can be used to gain race-free
        access to process metadata through /proc/<pid>.
      
        Further work based on this patchset has been done by Joel. His work
        makes pidfds pollable. It finished too late for this merge window. I
        would prefer to have it sitting in linux-next for a while and send it
        for inclusion during the 5.3 merge window"
      
      * tag 'pidfd-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        samples: show race-free pidfd metadata access
        signal: support CLONE_PIDFD with pidfd_send_signal
        clone: add CLONE_PIDFD
        Make anon_inodes unconditional
      eac7078a
    • Linus Torvalds's avatar
      Merge tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux · 41bc10ca
      Linus Torvalds authored
      Pull stream_open conversion from Kirill Smelkov:
      
       - remove unnecessary double nonseekable_open from drivers/char/dtlk.c
         as noticed by Pavel Machek while reviewing nonseekable_open ->
         stream_open mass conversion.
      
       - the mass conversion patch promised in commit 10dce8af ("fs:
         stream_open - opener for stream-like files so that read and write can
         run simultaneously without deadlock") and is automatically generated
         by running
      
              $ make coccicheck MODE=patch COCCI=scripts/coccinelle/api/stream_open.cocci
      
         I've verified each generated change manually - that it is correct to
         convert - and each other nonseekable_open instance left - that it is
         either not correct to convert there, or that it is not converted due
         to current stream_open.cocci limitations. More details on this in the
         patch.
      
       - finally, change VFS to pass ppos=NULL into .read/.write for files
         that declare themselves streams. It was suggested by Rasmus Villemoes
         and makes sure that if ppos starts to be erroneously used in a stream
         file, such bug won't go unnoticed and will produce an oops instead of
         creating illusion of position change being taken into account.
      
         Note: this patch does not conflict with "fuse: Add FOPEN_STREAM to
         use stream_open()" that will be hopefully coming via FUSE tree,
         because fs/fuse/ uses new-style .read_iter/.write_iter, and for these
         accessors position is still passed as non-pointer kiocb.ki_pos .
      
      * tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux:
        vfs: pass ppos=NULL to .read()/.write() of FMODE_STREAM files
        *: convert stream-like files from nonseekable_open -> stream_open
        dtlk: remove double call to nonseekable_open
      41bc10ca
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.2-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · aa26690f
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "Here's a big pile of new stuff for XFS for 5.2. XFS has grown the
        ability to report metadata health status to userspace after online
        fsck checks the filesystem. The online metadata checking code is (I
        really hope) feature complete with the addition of checks for the
        global fs counters, though it'll remain EXPERIMENTAL for now.
      
        There are also fixes for thundering herds of writeback completions and
        some other deadlocks, fixes for theoretical integer overflow attacks
        on space accounting, and removal of the long-defunct 'mntpt' option
        which was deprecated in the mid-2000s and (it turns out) totally
        broken since 2011 (and nobody complained...).
      
        Summary:
      
         - Fix some more buffer deadlocks when performing an unmount after a
           hard shutdown.
      
         - Fix some minor space accounting issues.
      
         - Fix some use after free problems.
      
         - Make the (undocumented) FITRIM behavior consistent with other
           filesystems.
      
         - Embiggen the xfs geometry ioctl's data structure.
      
         - Introduce a new AG geometry ioctl.
      
         - Introduce a new online health reporting infrastructure and ioctl
           for userspace to query a filesystem's health status.
      
         - Enhance online scrub and repair to update the health reports.
      
         - Reduce thundering herd problems when writeback io completes.
      
         - Fix some transaction reservation type errors.
      
         - Fix integer overflow problems with delayed alloc reservation
           counters.
      
         - Fix some problems where we would exit to userspace without
           unlocking.
      
         - Fix inconsistent behavior when finishing deferred ops fails.
      
         - Strengthen scrub to check incore data against ondisk metadata.
      
         - Remove long-broken mntpt mount option.
      
         - Add an online scrub function for the filesystem summary counters,
           which should make online metadata scrub more or less feature
           complete for now.
      
         - Various cleanups"
      
      * tag 'xfs-5.2-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (38 commits)
        xfs: change some error-less functions to void types
        xfs: add online scrub for superblock counters
        xfs: don't parse the mtpt mount option
        xfs: always rejoin held resources during defer roll
        xfs: add missing error check in xfs_prepare_shift()
        xfs: scrub should check incore counters against ondisk headers
        xfs: allow scrubbers to pause background reclaim
        xfs: rename the speculative block allocation reclaim toggle functions
        xfs: track delayed allocation reservations across the filesystem
        xfs: fix broken bhold behavior in xrep_roll_ag_trans
        xfs: unlock inode when xfs_ioctl_setattr_get_trans can't get transaction
        xfs: kill the xfs_dqtrx_t typedef
        xfs: widen inode delalloc block counter to 64-bits
        xfs: widen quota block counters to 64-bit integers
        xfs: abort unaligned nowait directio early
        xfs: assert that we don't enter agfl freeing with a non-permanent transaction
        xfs: make tr_growdata a permanent transaction
        xfs: merge adjacent io completions of the same type
        xfs: remove unused m_data_workqueue
        xfs: implement per-inode writeback completion queues
        ...
      aa26690f
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.2-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · d8456eaf
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "Nothing particularly exciting here, just adding some callouts for gfs2
        and cleaning a few things.
      
        Summary:
      
         - Add some extra hooks to the iomap buffered write path to enable
           gfs2 journalled writes
      
         - SPDX conversion
      
         - Various refactoring"
      
      * tag 'iomap-5.2-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: move iomap_read_inline_data around
        iomap: Add a page_prepare callback
        iomap: Fix use-after-free error in page_done callback
        fs: Turn __generic_write_end into a void function
        iomap: Clean up __generic_write_end calling
        iomap: convert to SPDX identifier
      d8456eaf
    • Linus Torvalds's avatar
      Merge tag 'jfs-5.2' of git://github.com/kleikamp/linux-shaggy · b8cac3cd
      Linus Torvalds authored
      Pull jfs updates from Dave Kleikamp:
       "Several minor jfs fixes"
      
      * tag 'jfs-5.2' of git://github.com/kleikamp/linux-shaggy:
        jfs: fix bogus variable self-initialization
        fs/jfs: Switch to use new generic UUID API
        jfs: compare old and new mode before setting update_mode flag
        jfs: remove incorrect comment in jfs_superblock
        jfs: fix spelling mistake, EACCESS -> EACCES
      b8cac3cd
    • Linus Torvalds's avatar
      Merge tag 'for-5.2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 9f2e3a53
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "This time the majority of changes are cleanups, though there's still a
        number of changes of user interest.
      
        User visible changes:
      
         - better read time and write checks to catch errors early and before
           writing data to disk (to catch potential memory corruption on data
           that get checksummed)
      
         - qgroups + metadata relocation: last speed up patch int the series
           to address the slowness, there should be no overhead comparing
           balance with and without qgroups
      
         - FIEMAP ioctl does not start a transaction unnecessarily, this can
           result in a speed up and less blocking due to IO
      
         - LOGICAL_INO (v1, v2) does not start transaction unnecessarily, this
           can speed up the mentioned ioctl and scrub as well
      
         - fsync on files with many (but not too many) hardlinks is faster,
           finer decision if the links should be fsynced individually or
           completely
      
         - send tries harder to find ranges to clone
      
         - trim/discard will skip unallocated chunks that haven't been touched
           since the last mount
      
        Fixes:
      
         - send flushes delayed allocation before start, otherwise it could
           miss some changes in case of a very recent rw->ro switch of a
           subvolume
      
         - fix fallocate with qgroups that could lead to space accounting
           underflow, reported as a warning
      
         - trim/discard ioctl honours the requested range
      
         - starting send and dedupe on a subvolume at the same time will let
           only one of them succeed, this is to prevent changes that send
           could miss due to dedupe; both operations are restartable
      
        Core changes:
      
         - more tree-checker validations, errors reported by fuzzing tools:
            - device item
            - inode item
            - block group profiles
      
         - tracepoints for extent buffer locking
      
         - async cow preallocates memory to avoid errors happening too deep in
           the call chain
      
         - metadata reservations for delalloc reworked to better adapt in
           many-writers/low-space scenarios
      
         - improved space flushing logic for intense DIO vs buffered workloads
      
         - lots of cleanups
            - removed unused struct members
            - redundant argument removal
            - properties and xattrs
            - extent buffer locking
            - selftests
            - use common file type conversions
            - many-argument functions reduction"
      
      * tag 'for-5.2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (227 commits)
        btrfs: Use kvmalloc for allocating compressed path context
        btrfs: Factor out common extent locking code in submit_compressed_extents
        btrfs: Set io_tree only once in submit_compressed_extents
        btrfs: Replace clear_extent_bit with unlock_extent
        btrfs: Make compress_file_range take only struct async_chunk
        btrfs: Remove fs_info from struct async_chunk
        btrfs: Rename async_cow to async_chunk
        btrfs: Preallocate chunks in cow_file_range_async
        btrfs: reserve delalloc metadata differently
        btrfs: track DIO bytes in flight
        btrfs: merge calls of btrfs_setxattr and btrfs_setxattr_trans in btrfs_set_prop
        btrfs: delete unused function btrfs_set_prop_trans
        btrfs: start transaction in xattr_handler_set_prop
        btrfs: drop local copy of inode i_mode
        btrfs: drop old_fsflags in btrfs_ioctl_setflags
        btrfs: modify local copy of btrfs_inode flags
        btrfs: drop useless inode i_flags copy and restore
        btrfs: start transaction in btrfs_ioctl_setflags()
        btrfs: export btrfs_set_prop
        btrfs: refactor btrfs_set_props to validate externally
        ...
      9f2e3a53
    • Linus Torvalds's avatar
      Merge branch 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 78438ce1
      Linus Torvalds authored
      Pull vfs stable fodder fixes from Al Viro:
      
       - acct_on() fix for deadlock caught by overlayfs folks
      
       - autofs RCU use-after-free SNAFU (->d_manage() can be called
         locklessly, so we need to RCU-delay freeing the objects it looks at)
      
       - (hopefully) the end of "do we need freeing this dentry RCU-delayed"
         whack-a-mole.
      
      * 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        autofs: fix use-after-free in lockless ->d_manage()
        dcache: sort the freeing-without-RCU-delay mess for good.
        acct_on(): don't mess with freeze protection
      78438ce1
    • Linus Torvalds's avatar
      Merge branch 'work.icache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 168e153d
      Linus Torvalds authored
      Pull vfs inode freeing updates from Al Viro:
       "Introduction of separate method for RCU-delayed part of
        ->destroy_inode() (if any).
      
        Pretty much as posted, except that destroy_inode() stashes
        ->free_inode into the victim (anon-unioned with ->i_fops) before
        scheduling i_callback() and the last two patches (sockfs conversion
        and folding struct socket_wq into struct socket) are excluded - that
        pair should go through netdev once davem reopens his tree"
      
      * 'work.icache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (58 commits)
        orangefs: make use of ->free_inode()
        shmem: make use of ->free_inode()
        hugetlb: make use of ->free_inode()
        overlayfs: make use of ->free_inode()
        jfs: switch to ->free_inode()
        fuse: switch to ->free_inode()
        ext4: make use of ->free_inode()
        ecryptfs: make use of ->free_inode()
        ceph: use ->free_inode()
        btrfs: use ->free_inode()
        afs: switch to use of ->free_inode()
        dax: make use of ->free_inode()
        ntfs: switch to ->free_inode()
        securityfs: switch to ->free_inode()
        apparmor: switch to ->free_inode()
        rpcpipe: switch to ->free_inode()
        bpf: switch to ->free_inode()
        mqueue: switch to ->free_inode()
        ufs: switch to ->free_inode()
        coda: switch to ->free_inode()
        ...
      168e153d
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8ff468c2
      Linus Torvalds authored
      Pull x86 FPU state handling updates from Borislav Petkov:
       "This contains work started by Rik van Riel and brought to fruition by
        Sebastian Andrzej Siewior with the main goal to optimize when to load
        FPU registers: only when returning to userspace and not on every
        context switch (while the task remains in the kernel).
      
        In addition, this optimization makes kernel_fpu_begin() cheaper by
        requiring registers saving only on the first invocation and skipping
        that in following ones.
      
        What is more, this series cleans up and streamlines many aspects of
        the already complex FPU code, hopefully making it more palatable for
        future improvements and simplifications.
      
        Finally, there's a __user annotations fix from Jann Horn"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        x86/fpu: Fault-in user stack if copy_fpstate_to_sigframe() fails
        x86/pkeys: Add PKRU value to init_fpstate
        x86/fpu: Restore regs in copy_fpstate_to_sigframe() in order to use the fastpath
        x86/fpu: Add a fastpath to copy_fpstate_to_sigframe()
        x86/fpu: Add a fastpath to __fpu__restore_sig()
        x86/fpu: Defer FPU state load until return to userspace
        x86/fpu: Merge the two code paths in __fpu__restore_sig()
        x86/fpu: Restore from kernel memory on the 64-bit path too
        x86/fpu: Inline copy_user_to_fpregs_zeroing()
        x86/fpu: Update xstate's PKRU value on write_pkru()
        x86/fpu: Prepare copy_fpstate_to_sigframe() for TIF_NEED_FPU_LOAD
        x86/fpu: Always store the registers in copy_fpstate_to_sigframe()
        x86/entry: Add TIF_NEED_FPU_LOAD
        x86/fpu: Eager switch PKRU state
        x86/pkeys: Don't check if PKRU is zero before writing it
        x86/fpu: Only write PKRU if it is different from current
        x86/pkeys: Provide *pkru() helpers
        x86/fpu: Use a feature number instead of mask in two more helpers
        x86/fpu: Make __raw_xsave_addr() use a feature number instead of mask
        x86/fpu: Add an __fpregs_load_activate() internal helper
        ...
      8ff468c2
    • Linus Torvalds's avatar
      Merge tag 'ktest-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 68253e71
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
       "Minor updates to ktest.pl
      
         - Handle meta characters in grub memu
      
         - Use configurable reboot return code for handling ssh reboots
      
         - Display names and iteration number on error message"
      
      * tag 'ktest-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: introduce REBOOT_RETURN_CODE to confirm the result of REBOOT
        ktest: Add support for meta characters in GRUB_MENU
        ktest: Show name and iteration on errors
      68253e71
    • 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
    • Christian Brauner's avatar
      samples: show race-free pidfd metadata access · 43c6afee
      Christian Brauner authored
      This is a sample program showing userspace how to get race-free access
      to process metadata from a pidfd.  It is rather easy to do and userspace
      can actually simply reuse code that currently parses a process's status
      file in procfs.
      The program can easily be extended into a generic helper suitable for
      inclusion in a libc to make it even easier for userspace to gain metadata
      access.
      
      Since this came up in a discussion because this API is going to be used
      in various service managers: A lot of programs will have a whitelist
      seccomp filter that returns <some-errno> for all new syscalls.  This
      means that programs might get confused if CLONE_PIDFD works but the
      later pidfd_send_signal() syscall doesn't.  Hence, here's a ahead of
      time check that pidfd_send_signal() is supported:
      
      bool pidfd_send_signal_supported()
      {
              int procfd = open("/proc/self", O_DIRECTORY | O_RDONLY | O_CLOEXEC);
              if (procfd < 0)
                      return false;
      
              /*
               * A process is always allowed to signal itself so
               * pidfd_send_signal() should never fail this test. If it does
               * it must mean it is not available, blocked by an LSM, seccomp,
               * or other.
               */
              return pidfd_send_signal(procfd, 0, NULL, 0) == 0;
      }
      Signed-off-by: default avatarChristian Brauner <christian@brauner.io>
      Co-developed-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Reviewed-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: David Howells <dhowells@redhat.com>
      Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
      Cc: Andy Lutomirsky <luto@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Aleksa Sarai <cyphar@cyphar.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      43c6afee
    • Christian Brauner's avatar
      signal: support CLONE_PIDFD with pidfd_send_signal · 2151ad1b
      Christian Brauner authored
      Let pidfd_send_signal() use pidfds retrieved via CLONE_PIDFD.  With this
      patch pidfd_send_signal() becomes independent of procfs.  This fullfils
      the request made when we merged the pidfd_send_signal() patchset.  The
      pidfd_send_signal() syscall is now always available allowing for it to
      be used by users without procfs mounted or even users without procfs
      support compiled into the kernel.
      Signed-off-by: default avatarChristian Brauner <christian@brauner.io>
      Co-developed-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Acked-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: David Howells <dhowells@redhat.com>
      Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
      Cc: Andy Lutomirsky <luto@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Aleksa Sarai <cyphar@cyphar.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      2151ad1b
    • Christian Brauner's avatar
      clone: add CLONE_PIDFD · b3e58382
      Christian Brauner authored
      This patchset makes it possible to retrieve pid file descriptors at
      process creation time by introducing the new flag CLONE_PIDFD to the
      clone() system call.  Linus originally suggested to implement this as a
      new flag to clone() instead of making it a separate system call.  As
      spotted by Linus, there is exactly one bit for clone() left.
      
      CLONE_PIDFD creates file descriptors based on the anonymous inode
      implementation in the kernel that will also be used to implement the new
      mount api.  They serve as a simple opaque handle on pids.  Logically,
      this makes it possible to interpret a pidfd differently, narrowing or
      widening the scope of various operations (e.g. signal sending).  Thus, a
      pidfd cannot just refer to a tgid, but also a tid, or in theory - given
      appropriate flag arguments in relevant syscalls - a process group or
      session. A pidfd does not represent a privilege.  This does not imply it
      cannot ever be that way but for now this is not the case.
      
      A pidfd comes with additional information in fdinfo if the kernel supports
      procfs.  The fdinfo file contains the pid of the process in the callers
      pid namespace in the same format as the procfs status file, i.e. "Pid:\t%d".
      
      As suggested by Oleg, with CLONE_PIDFD the pidfd is returned in the
      parent_tidptr argument of clone.  This has the advantage that we can
      give back the associated pid and the pidfd at the same time.
      
      To remove worries about missing metadata access this patchset comes with
      a sample program that illustrates how a combination of CLONE_PIDFD, and
      pidfd_send_signal() can be used to gain race-free access to process
      metadata through /proc/<pid>.  The sample program can easily be
      translated into a helper that would be suitable for inclusion in libc so
      that users don't have to worry about writing it themselves.
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarChristian Brauner <christian@brauner.io>
      Co-developed-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Reviewed-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: David Howells <dhowells@redhat.com>
      Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
      Cc: Andy Lutomirsky <luto@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Aleksa Sarai <cyphar@cyphar.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      b3e58382
    • 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
  2. 06 May, 2019 9 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