1. 28 Dec, 2018 20 commits
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 75f95da0
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "The vast bulk of this update is the new support for the security
        capabilities of some nvdimms.
      
        The userspace tooling for this capability is still a work in progress,
        but the changes survive the existing libnvdimm unit tests. The changes
        also pass manual checkout on hardware and the new nfit_test emulation
        of the security capability.
      
        The touches of the security/keys/ files have received the necessary
        acks from Mimi and David. Those changes were necessary to allow for a
        new generic encrypted-key type, and allow the nvdimm sub-system to
        lookup key material referenced by the libnvdimm-sysfs interface.
      
        Summary:
      
         - Add support for the security features of nvdimm devices that
           implement a security model similar to ATA hard drive security. The
           security model supports locking access to the media at
           device-power-loss, to be unlocked with a passphrase, and
           secure-erase (crypto-scramble).
      
           Unlike the ATA security case where the kernel expects device
           security to be managed in a pre-OS environment, the libnvdimm
           security implementation allows key provisioning and key-operations
           at OS runtime. Keys are managed with the kernel's encrypted-keys
           facility to provide data-at-rest security for the libnvdimm key
           material. The usage model mirrors fscrypt key management, but is
           driven via libnvdimm sysfs.
      
         - Miscellaneous updates for api usage and comment fixes"
      
      * tag 'libnvdimm-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits)
        libnvdimm/security: Quiet security operations
        libnvdimm/security: Add documentation for nvdimm security support
        tools/testing/nvdimm: add Intel DSM 1.8 support for nfit_test
        tools/testing/nvdimm: Add overwrite support for nfit_test
        tools/testing/nvdimm: Add test support for Intel nvdimm security DSMs
        acpi/nfit, libnvdimm/security: add Intel DSM 1.8 master passphrase support
        acpi/nfit, libnvdimm/security: Add security DSM overwrite support
        acpi/nfit, libnvdimm: Add support for issue secure erase DSM to Intel nvdimm
        acpi/nfit, libnvdimm: Add enable/update passphrase support for Intel nvdimms
        acpi/nfit, libnvdimm: Add disable passphrase support to Intel nvdimm.
        acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs
        acpi/nfit, libnvdimm: Add freeze security support to Intel nvdimm
        acpi/nfit, libnvdimm: Introduce nvdimm_security_ops
        keys-encrypted: add nvdimm key format type to encrypted keys
        keys: Export lookup_user_key to external users
        acpi/nfit, libnvdimm: Store dimm id as a member to struct nvdimm
        libnvdimm, namespace: Replace kmemdup() with kstrndup()
        libnvdimm, label: Switch to bitmap_zalloc()
        ACPI/nfit: Adjust annotation for why return 0 if fail to find NFIT at start
        libnvdimm, bus: Check id immediately following ida_simple_get
        ...
      75f95da0
    • Linus Torvalds's avatar
      Merge tag 'for-4.21/dm-changes' of... · 4ed7bdc1
      Linus Torvalds authored
      Merge tag 'for-4.21/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Eliminate a couple indirect calls from bio-based DM core.
      
       - Fix DM to allow reads that exceed readahead limits by setting
         io_pages in the backing_dev_info.
      
       - A couple code cleanups in request-based DM.
      
       - Fix various DM targets to check for device sector overflow if
         CONFIG_LBDAF is not set.
      
       - Use u64 instead of sector_t to store iv_offset in DM crypt; sector_t
         isn't large enough on 32bit when CONFIG_LBDAF is not set.
      
       - Performance fixes to DM's kcopyd and the snapshot target focused on
         limiting memory use and workqueue stalls.
      
       - Fix typos in the integrity and writecache targets.
      
       - Log which algorithm is used for dm-crypt's encryption and
         dm-integrity's hashing.
      
       - Fix false -EBUSY errors in DM raid target's handling of check/repair
         messages.
      
       - Fix DM flakey target's corrupt_bio_byte feature to reliably corrupt
         the Nth byte in a bio's payload.
      
      * tag 'for-4.21/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: do not allow readahead to limit IO size
        dm raid: fix false -EBUSY when handling check/repair message
        dm rq: cleanup leftover code from recently removed q->mq_ops branching
        dm verity: log the hash algorithm implementation
        dm crypt: log the encryption algorithm implementation
        dm integrity: fix spelling mistake in workqueue name
        dm flakey: Properly corrupt multi-page bios.
        dm: Check for device sector overflow if CONFIG_LBDAF is not set
        dm crypt: use u64 instead of sector_t to store iv_offset
        dm kcopyd: Fix bug causing workqueue stalls
        dm snapshot: Fix excessive memory usage and workqueue stalls
        dm bufio: update comment in dm-bufio.c
        dm writecache: fix typo in error msg for creating writecache_flush_thread
        dm: remove indirect calls from __send_changing_extent_only()
        dm mpath: only flush workqueue when needed
        dm rq: remove unused arguments from rq_completed()
        dm: avoid indirect call in __dm_make_request
      4ed7bdc1
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 5d24ae67
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "This has been a fairly typical cycle, with the usual sorts of driver
        updates. Several series continue to come through which improve and
        modernize various parts of the core code, and we finally are starting
        to get the uAPI command interface cleaned up.
      
         - Various driver fixes for bnxt_re, cxgb3/4, hfi1, hns, i40iw, mlx4,
           mlx5, qib, rxe, usnic
      
         - Rework the entire syscall flow for uverbs to be able to run over
           ioctl(). Finally getting past the historic bad choice to use
           write() for command execution
      
         - More functional coverage with the mlx5 'devx' user API
      
         - Start of the HFI1 series for 'TID RDMA'
      
         - SRQ support in the hns driver
      
         - Support for new IBTA defined 2x lane widths
      
         - A big series to consolidate all the driver function pointers into a
           big struct and have drivers provide a 'static const' version of the
           struct instead of open coding initialization
      
         - New 'advise_mr' uAPI to control device caching/loading of page
           tables
      
         - Support for inline data in SRPT
      
         - Modernize how umad uses the driver core and creates cdev's and
           sysfs files
      
         - First steps toward removing 'uobject' from the view of the drivers"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (193 commits)
        RDMA/srpt: Use kmem_cache_free() instead of kfree()
        RDMA/mlx5: Signedness bug in UVERBS_HANDLER()
        IB/uverbs: Signedness bug in UVERBS_HANDLER()
        IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported
        IB/umad: Start using dev_groups of class
        IB/umad: Use class_groups and let core create class file
        IB/umad: Refactor code to use cdev_device_add()
        IB/umad: Avoid destroying device while it is accessed
        IB/umad: Simplify and avoid dynamic allocation of class
        IB/mlx5: Fix wrong error unwind
        IB/mlx4: Remove set but not used variable 'pd'
        RDMA/iwcm: Don't copy past the end of dev_name() string
        IB/mlx5: Fix long EEH recover time with NVMe offloads
        IB/mlx5: Simplify netdev unbinding
        IB/core: Move query port to ioctl
        RDMA/nldev: Expose port_cap_flags2
        IB/core: uverbs copy to struct or zero helper
        IB/rxe: Reuse code which sets port state
        IB/rxe: Make counters thread safe
        IB/mlx5: Use the correct commands for UMEM and UCTX allocation
        ...
      5d24ae67
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 938edb8a
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This is mostly update of the usual drivers: smarpqi, lpfc, qedi,
        megaraid_sas, libsas, zfcp, mpt3sas, hisi_sas.
      
        Additionally, we have a pile of annotation, unused variable and minor
        updates.
      
        The big API change is the updates for Christoph's DMA rework which
        include removing the DISABLE_CLUSTERING flag.
      
        And finally there are a couple of target tree updates"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (259 commits)
        scsi: isci: request: mark expected switch fall-through
        scsi: isci: remote_node_context: mark expected switch fall-throughs
        scsi: isci: remote_device: Mark expected switch fall-throughs
        scsi: isci: phy: Mark expected switch fall-through
        scsi: iscsi: Capture iscsi debug messages using tracepoints
        scsi: myrb: Mark expected switch fall-throughs
        scsi: megaraid: fix out-of-bound array accesses
        scsi: mpt3sas: mpt3sas_scsih: Mark expected switch fall-through
        scsi: fcoe: remove set but not used variable 'port'
        scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown()
        scsi: smartpqi: fix build warnings
        scsi: smartpqi: update driver version
        scsi: smartpqi: add ofa support
        scsi: smartpqi: increase fw status register read timeout
        scsi: smartpqi: bump driver version
        scsi: smartpqi: add smp_utils support
        scsi: smartpqi: correct lun reset issues
        scsi: smartpqi: correct volume status
        scsi: smartpqi: do not offline disks for transient did no connect conditions
        scsi: smartpqi: allow for larger raid maps
        ...
      938edb8a
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.21' of git://git.infradead.org/users/hch/dma-mapping · af7ddd8a
      Linus Torvalds authored
      Pull DMA mapping updates from Christoph Hellwig:
       "A huge update this time, but a lot of that is just consolidating or
        removing code:
      
         - provide a common DMA_MAPPING_ERROR definition and avoid indirect
           calls for dma_map_* error checking
      
         - use direct calls for the DMA direct mapping case, avoiding huge
           retpoline overhead for high performance workloads
      
         - merge the swiotlb dma_map_ops into dma-direct
      
         - provide a generic remapping DMA consistent allocator for
           architectures that have devices that perform DMA that is not cache
           coherent. Based on the existing arm64 implementation and also used
           for csky now.
      
         - improve the dma-debug infrastructure, including dynamic allocation
           of entries (Robin Murphy)
      
         - default to providing chaining scatterlist everywhere, with opt-outs
           for the few architectures (alpha, parisc, most arm32 variants) that
           can't cope with it
      
         - misc sparc32 dma-related cleanups
      
         - remove the dma_mark_clean arch hook used by swiotlb on ia64 and
           replace it with the generic noncoherent infrastructure
      
         - fix the return type of dma_set_max_seg_size (Niklas Söderlund)
      
         - move the dummy dma ops for not DMA capable devices from arm64 to
           common code (Robin Murphy)
      
         - ensure dma_alloc_coherent returns zeroed memory to avoid kernel
           data leaks through userspace. We already did this for most common
           architectures, but this ensures we do it everywhere.
           dma_zalloc_coherent has been deprecated and can hopefully be
           removed after -rc1 with a coccinelle script"
      
      * tag 'dma-mapping-4.21' of git://git.infradead.org/users/hch/dma-mapping: (73 commits)
        dma-mapping: fix inverted logic in dma_supported
        dma-mapping: deprecate dma_zalloc_coherent
        dma-mapping: zero memory returned from dma_alloc_*
        sparc/iommu: fix ->map_sg return value
        sparc/io-unit: fix ->map_sg return value
        arm64: default to the direct mapping in get_arch_dma_ops
        PCI: Remove unused attr variable in pci_dma_configure
        ia64: only select ARCH_HAS_DMA_COHERENT_TO_PFN if swiotlb is enabled
        dma-mapping: bypass indirect calls for dma-direct
        vmd: use the proper dma_* APIs instead of direct methods calls
        dma-direct: merge swiotlb_dma_ops into the dma_direct code
        dma-direct: use dma_direct_map_page to implement dma_direct_map_sg
        dma-direct: improve addressability error reporting
        swiotlb: remove dma_mark_clean
        swiotlb: remove SWIOTLB_MAP_ERROR
        ACPI / scan: Refactor _CCA enforcement
        dma-mapping: factor out dummy DMA ops
        dma-mapping: always build the direct mapping code
        dma-mapping: move dma_cache_sync out of line
        dma-mapping: move various slow path functions out of line
        ...
      af7ddd8a
    • Linus Torvalds's avatar
      Merge tag 'for-4.21/libata-20181221' of git://git.kernel.dk/linux-block · fe2b0cda
      Linus Torvalds authored
      Pull libata updates from Jens Axboe:
       "Here are the libata changes for this merge window. Nothing major in
        here. This contains:
      
         - GPIO descriptor conversions (Linus Walleij)
      
         - rcar deferred probing fix (Sergei Shtylyov)"
      
      * tag 'for-4.21/libata-20181221' of git://git.kernel.dk/linux-block:
        sata_rcar: fix deferred probing
        ata: palmld: Introduce state container
        ata: palmld: Convert to GPIO descriptors
        ata: rb532_cf: Convert to use GPIO descriptors
        ata: sata_highbank: Convert to use GPIO descriptors
        ata: pxa: Drop <linux/gpio.h> include
      fe2b0cda
    • Linus Torvalds's avatar
      Merge tag 'for-4.21/aio-20181221' of git://git.kernel.dk/linux-block · 956eb6cb
      Linus Torvalds authored
      Pull aio updates from Jens Axboe:
       "Flushing out pre-patches for the buffered/polled aio series. Some
        fixes in here, but also optimizations"
      
      * tag 'for-4.21/aio-20181221' of git://git.kernel.dk/linux-block:
        aio: abstract out io_event filler helper
        aio: split out iocb copy from io_submit_one()
        aio: use iocb_put() instead of open coding it
        aio: only use blk plugs for > 2 depth submissions
        aio: don't zero entire aio_kiocb aio_get_req()
        aio: separate out ring reservation from req allocation
        aio: use assigned completion handler
      956eb6cb
    • Linus Torvalds's avatar
      Merge tag 'for-4.21/block-20181221' of git://git.kernel.dk/linux-block · 0e9da3fb
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "This is the main pull request for block/storage for 4.21.
      
        Larger than usual, it was a busy round with lots of goodies queued up.
        Most notable is the removal of the old IO stack, which has been a long
        time coming. No new features for a while, everything coming in this
        week has all been fixes for things that were previously merged.
      
        This contains:
      
         - Use atomic counters instead of semaphores for mtip32xx (Arnd)
      
         - Cleanup of the mtip32xx request setup (Christoph)
      
         - Fix for circular locking dependency in loop (Jan, Tetsuo)
      
         - bcache (Coly, Guoju, Shenghui)
            * Optimizations for writeback caching
            * Various fixes and improvements
      
         - nvme (Chaitanya, Christoph, Sagi, Jay, me, Keith)
            * host and target support for NVMe over TCP
            * Error log page support
            * Support for separate read/write/poll queues
            * Much improved polling
            * discard OOM fallback
            * Tracepoint improvements
      
         - lightnvm (Hans, Hua, Igor, Matias, Javier)
            * Igor added packed metadata to pblk. Now drives without metadata
              per LBA can be used as well.
            * Fix from Geert on uninitialized value on chunk metadata reads.
            * Fixes from Hans and Javier to pblk recovery and write path.
            * Fix from Hua Su to fix a race condition in the pblk recovery
              code.
            * Scan optimization added to pblk recovery from Zhoujie.
            * Small geometry cleanup from me.
      
         - Conversion of the last few drivers that used the legacy path to
           blk-mq (me)
      
         - Removal of legacy IO path in SCSI (me, Christoph)
      
         - Removal of legacy IO stack and schedulers (me)
      
         - Support for much better polling, now without interrupts at all.
           blk-mq adds support for multiple queue maps, which enables us to
           have a map per type. This in turn enables nvme to have separate
           completion queues for polling, which can then be interrupt-less.
           Also means we're ready for async polled IO, which is hopefully
           coming in the next release.
      
         - Killing of (now) unused block exports (Christoph)
      
         - Unification of the blk-rq-qos and blk-wbt wait handling (Josef)
      
         - Support for zoned testing with null_blk (Masato)
      
         - sx8 conversion to per-host tag sets (Christoph)
      
         - IO priority improvements (Damien)
      
         - mq-deadline zoned fix (Damien)
      
         - Ref count blkcg series (Dennis)
      
         - Lots of blk-mq improvements and speedups (me)
      
         - sbitmap scalability improvements (me)
      
         - Make core inflight IO accounting per-cpu (Mikulas)
      
         - Export timeout setting in sysfs (Weiping)
      
         - Cleanup the direct issue path (Jianchao)
      
         - Export blk-wbt internals in block debugfs for easier debugging
           (Ming)
      
         - Lots of other fixes and improvements"
      
      * tag 'for-4.21/block-20181221' of git://git.kernel.dk/linux-block: (364 commits)
        kyber: use sbitmap add_wait_queue/list_del wait helpers
        sbitmap: add helpers for add/del wait queue handling
        block: save irq state in blkg_lookup_create()
        dm: don't reuse bio for flushes
        nvme-pci: trace SQ status on completions
        nvme-rdma: implement polling queue map
        nvme-fabrics: allow user to pass in nr_poll_queues
        nvme-fabrics: allow nvmf_connect_io_queue to poll
        nvme-core: optionally poll sync commands
        block: make request_to_qc_t public
        nvme-tcp: fix spelling mistake "attepmpt" -> "attempt"
        nvme-tcp: fix endianess annotations
        nvmet-tcp: fix endianess annotations
        nvme-pci: refactor nvme_poll_irqdisable to make sparse happy
        nvme-pci: only set nr_maps to 2 if poll queues are supported
        nvmet: use a macro for default error location
        nvmet: fix comparison of a u16 with -1
        blk-mq: enable IO poll if .nr_queues of type poll > 0
        blk-mq: change blk_mq_queue_busy() to blk_mq_queue_inflight()
        blk-mq: skip zero-queue maps in blk_mq_map_swqueue
        ...
      0e9da3fb
    • Linus Torvalds's avatar
      Merge tag 'y2038-for-4.21' of ssh://gitolite.kernel.org:/pub/scm/linux/kernel/git/arnd/playground · b12a9124
      Linus Torvalds authored
      Pull y2038 updates from Arnd Bergmann:
       "More syscalls and cleanups
      
        This concludes the main part of the system call rework for 64-bit
        time_t, which has spread over most of year 2018, the last six system
        calls being
      
          - ppoll
          - pselect6
          - io_pgetevents
          - recvmmsg
          - futex
          - rt_sigtimedwait
      
        As before, nothing changes for 64-bit architectures, while 32-bit
        architectures gain another entry point that differs only in the layout
        of the timespec structure. Hopefully in the next release we can wire
        up all 22 of those system calls on all 32-bit architectures, which
        gives us a baseline version for glibc to start using them.
      
        This does not include the clock_adjtime, getrusage/waitid, and
        getitimer/setitimer system calls. I still plan to have new versions of
        those as well, but they are not required for correct operation of the
        C library since they can be emulated using the old 32-bit time_t based
        system calls.
      
        Aside from the system calls, there are also a few cleanups here,
        removing old kernel internal interfaces that have become unused after
        all references got removed. The arch/sh cleanups are part of this,
        there were posted several times over the past year without a reaction
        from the maintainers, while the corresponding changes made it into all
        other architectures"
      
      * tag 'y2038-for-4.21' of ssh://gitolite.kernel.org:/pub/scm/linux/kernel/git/arnd/playground:
        timekeeping: remove obsolete time accessors
        vfs: replace current_kernel_time64 with ktime equivalent
        timekeeping: remove timespec_add/timespec_del
        timekeeping: remove unused {read,update}_persistent_clock
        sh: remove board_time_init() callback
        sh: remove unused rtc_sh_get/set_time infrastructure
        sh: sh03: rtc: push down rtc class ops into driver
        sh: dreamcast: rtc: push down rtc class ops into driver
        y2038: signal: Add compat_sys_rt_sigtimedwait_time64
        y2038: signal: Add sys_rt_sigtimedwait_time32
        y2038: socket: Add compat_sys_recvmmsg_time64
        y2038: futex: Add support for __kernel_timespec
        y2038: futex: Move compat implementation into futex.c
        io_pgetevents: use __kernel_timespec
        pselect6: use __kernel_timespec
        ppoll: use __kernel_timespec
        signal: Add restore_user_sigmask()
        signal: Add set_user_sigmask()
      b12a9124
    • Matthew Wilcox's avatar
      Fix failure path in alloc_pid() · 1a80dade
      Matthew Wilcox authored
      The failure path removes the allocated PIDs from the wrong namespace.
      This could lead to us inadvertently reusing PIDs in the leaf namespace
      and leaking PIDs in parent namespaces.
      
      Fixes: 95846ecf ("pid: replace pid bitmap implementation with IDR API")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarMatthew Wilcox <willy@infradead.org>
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Reviewed-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1a80dade
    • Dan Williams's avatar
      Merge miscellaneous libnvdimm updates for 4.21 · 4b5f747e
      Dan Williams authored
      * Use common helpers, bitmap_zalloc() and kstrndup(), to replace open
        coded versions.
      * Clarify the comments around hotplug vs initial init case for the nfit
        driver.
      * Cleanup the libnvdimm init path.
      4b5f747e
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 00c569b5
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "The main change in this set is Neil Brown's work to reduce the
        thundering herd problem when a heavily-contended file lock is
        released.
      
        Previously we'd always wake up all waiters when this occurred. With
        this set, we'll now we only wake up waiters that were blocked on the
        range being released"
      
      * tag 'locks-v4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: Use inode_is_open_for_write
        fs/locks: remove unnecessary white space.
        fs/locks: merge posix_unblock_lock() and locks_delete_block()
        fs/locks: create a tree of dependent requests.
        fs/locks: change all *_conflict() functions to return bool.
        fs/locks: always delete_block after waiting.
        fs/locks: allow a lock request to block other requests.
        fs/locks: use properly initialized file_lock when unlocking.
        ocfs2: properly initial file_lock used for unlock.
        gfs2: properly initial file_lock used for unlock.
        NFS: use locks_copy_lock() to copy locks.
        fs/locks: split out __locks_wake_up_blocks().
        fs/locks: rename some lists and pointers.
      00c569b5
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · f6b1495f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "All cleanups and bug fixes; most notably, fix some problems discovered
        in ext4's NFS support, and fix an ioctl (EXT4_IOC_GROUP_ADD) used by
        old versions of e2fsprogs which we accidentally broke a while back.
      
        Also fixed some error paths in ext4's quota and inline data support.
      
        Finally, improve tail latency in jbd2's commit code"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: check for shutdown and r/o file system in ext4_write_inode()
        ext4: force inode writes when nfsd calls commit_metadata()
        ext4: avoid declaring fs inconsistent due to invalid file handles
        ext4: include terminating u32 in size of xattr entries when expanding inodes
        ext4: compare old and new mode before setting update_mode flag
        ext4: fix EXT4_IOC_GROUP_ADD ioctl
        ext4: hard fail dax mount on unsupported devices
        jbd2: update locking documentation for transaction_t
        ext4: remove redundant condition check
        jbd2: clean up indentation issue, replace spaces with tab
        ext4: clean up indentation issues, remove extraneous tabs
        ext4: missing unlock/put_page() in ext4_try_to_write_inline_data()
        ext4: fix possible use after free in ext4_quota_enable
        jbd2: avoid long hold times of j_state_lock while committing a transaction
        ext4: add ext4_sb_bread() to disambiguate ENOMEM cases
      f6b1495f
    • Linus Torvalds's avatar
      Merge tag 'iomap-4.21-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · bc77789a
      Linus Torvalds authored
      Pull iomap update from Darrick Wong:
       "Fix a memory overflow bug for blocksize < pagesize"
      
      * tag 'iomap-4.21-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: don't search past page end in iomap_is_partially_uptodate
      bc77789a
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.21-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 47a43f2f
      Linus Torvalds authored
      Pull XFS updates from Darrick Wong:
      
       - Fix CoW remapping of extremely fragmented file areas
      
       - Fix a zero-length symlink verifier error
      
       - Constify some of the rmap owner structures for per-AG metadata
      
       - Precalculate inode geometry for later use
      
       - Fix scrub counting problems
      
       - Don't crash when rtsummary inode is null
      
       - Fix x32 ioctl operation
      
       - Fix enum->string mappings for ftrace output
      
       - Cache realtime summary information in memory
      
      * tag 'xfs-4.21-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (24 commits)
        xfs: reallocate realtime summary cache on growfs
        xfs: stringify scrub types in ftrace output
        xfs: stringify btree cursor types in ftrace output
        xfs: move XFS_INODE_FORMAT_STR mappings to libxfs
        xfs: move XFS_AG_BTREE_CMP_FORMAT_STR mappings to libxfs
        xfs: fix symbolic enum printing in ftrace output
        xfs: fix function pointer type in ftrace format
        xfs: Fix x32 ioctls when cmd numbers differ from ia32.
        xfs: Fix bulkstat compat ioctls on x32 userspace.
        xfs: Align compat attrlist_by_handle with native implementation.
        xfs: require both realtime inodes to mount
        xfs: cache minimum realtime summary level
        xfs: count inode blocks correctly in inobt scrub
        xfs: precalculate cluster alignment in inodes and blocks
        xfs: precalculate inodes and blocks per inode cluster
        xfs: add a block to inode count converter
        xfs: remove xfs_rmap_ag_owner and friends
        xfs: const-ify xfs_owner_info arguments
        xfs: streamline defer op type handling
        xfs: idiotproof defer op type configuration
        ...
      47a43f2f
    • Linus Torvalds's avatar
      Merge tag 'fs_for_4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · e01799ac
      Linus Torvalds authored
      Pull ext2, udf, and quota update from Jan Kara:
       "Some ext2 cleanups, a fix for UDF crash on corrupted media, and one
        quota locking fix"
      
      * tag 'fs_for_4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON,OFF} quotactls.
        udf: Fix BUG on corrupted inode
        ext2: change reusable parameter to true when calling mb_cache_entry_create()
        ext2: remove redundant condition check
        ext2: avoid unnecessary operation in ext2_error()
      e01799ac
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 4b0a383a
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "Support for new FAN_OPEN_EXEC event and couple of cleanups around
        fsnotify"
      
      * tag 'fsnotify_for_v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: Use inode_is_open_for_write
        fanotify: Make sure to check event_len when copying
        fsnotify/fdinfo: include fdinfo.h for inotify_show_fdinfo()
        fanotify: introduce new event mask FAN_OPEN_EXEC_PERM
        fsnotify: refactor fsnotify_parent()/fsnotify() paired calls when event is on path
        fanotify: introduce new event mask FAN_OPEN_EXEC
        fanotify: return only user requested event types in event mask
      4b0a383a
    • Linus Torvalds's avatar
      Merge tag 'dlm-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 4de3aea3
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This set is entirely trivial fixes, mainly around correct cleanup on
        error paths and improved error checks. One patch adds scheduling in a
        potentially long recovery loop"
      
      * tag 'dlm-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: fix invalid cluster name warning
        dlm: NULL check before some freeing functions is not needed
        dlm: NULL check before kmem_cache_destroy is not needed
        dlm: fix missing idr_destroy for recover_idr
        dlm: memory leaks on error path in dlm_user_request()
        dlm: lost put_lkb on error path in receive_convert() and receive_unlock()
        dlm: possible memory leak on error path in create_lkb()
        dlm: fixed memory leaks after failed ls_remove_names allocation
        dlm: fix possible call to kfree() for non-initialized pointer
        dlm: Don't swamp the CPU with callbacks queued during recovery
        dlm: don't leak kernel pointer to userspace
        dlm: don't allow zero length names
        dlm: fix invalid free
      4de3aea3
    • Linus Torvalds's avatar
      Merge tag 'for-4.21-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 32ee34ed
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "New features:
      
         - swapfile support - after a long time it's here, with some
           limitations where COW design does not work well with the swap
           implementation (nodatacow file, no compression, cannot be
           snapshotted, not possible on multiple devices, ...), as this is the
           most restricted but working setup, we'll try to improve that in the
           future
      
         - metadata uuid - an optional incompat feature to assign a new
           filesystem UUID without overwriting all metadata blocks, stored
           only in superblock
      
         - more balance messages are printed to system log, initial is in the
           format of the command line that would be used to start it
      
        Fixes:
      
         - tag pages of a snapshot to better separate pages that are involved
           in the snapshot (and need to get synced) from newly dirtied pages
           that could slow down or even livelock the snapshot operation
      
         - improved check of filesystem id associated with a device during
           scan to detect duplicate devices that could be mixed up during
           mount
      
         - fix device replace state transitions, eg. when it ends up
           interrupted and reboot tries to restart balance too, or when
           start/cancel ioctls race
      
         - fix a crash due to a race when quotas are enabled during snapshot
           creation
      
         - GFP_NOFS/memalloc_nofs_* fixes due to GFP_KERNEL allocations in
           transaction context
      
         - fix fsync of files with multiple hard links in new directories
      
         - fix race of send with transaction commits that create snapshots
      
        Core changes:
      
         - cleanups:
            * further removals of now-dead fsync code
            * core function for finding free extent has been split and
              provides a base for further cleanups to make the logic more
              understandable
            * removed lot of indirect callbacks for data and metadata inodes
            * simplified refcounting and locking for cloned extent buffers
            * removed redundant function arguments
            * defines converted to enums where appropriate
      
         - separate reserve for delayed refs from global reserve, update logic
           to do less trickery and ad-hoc heuristics, move out some related
           expensive operations from transaction commit or file truncate
      
         - dev-replace switched from custom locking scheme to semaphore
      
         - remove first phase of balance that tried to make some space for the
           relocation by calling shrink and grow, this did not work as
           expected and only introduced more error states due to potential
           resize failures, slightly improves the runtime as the chunks on all
           devices are not needlessly enumerated
      
         - clone and deduplication now use generic helper that adds a few more
           checks that were missing from the original btrfs implementation of
           the ioctls"
      
      * tag 'for-4.21-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (125 commits)
        btrfs: Fix typos in comments and strings
        btrfs: improve error handling of btrfs_add_link
        Btrfs: use generic_remap_file_range_prep() for cloning and deduplication
        btrfs: Refactor main loop in extent_readpages
        btrfs: Remove 1st shrink/grow phase from balance
        Btrfs: send, fix race with transaction commits that create snapshots
        Btrfs: use nofs context when initializing security xattrs to avoid deadlock
        btrfs: run delayed items before dropping the snapshot
        btrfs: catch cow on deleting snapshots
        btrfs: extent-tree: cleanup one-shot usage of @blocksize in do_walk_down
        Btrfs: scrub, move setup of nofs contexts higher in the stack
        btrfs: scrub: move scrub_setup_ctx allocation out of device_list_mutex
        btrfs: scrub: pass fs_info to scrub_setup_ctx
        btrfs: fix truncate throttling
        btrfs: don't run delayed refs in the end transaction logic
        btrfs: rework btrfs_check_space_for_delayed_refs
        btrfs: add new flushing states for the delayed refs rsv
        btrfs: update may_commit_transaction to use the delayed refs rsv
        btrfs: introduce delayed_refs_rsv
        btrfs: only track ref_heads in delayed_ref_updates
        ...
      32ee34ed
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.21.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 7bbbf2c2
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
      
       - Enhancements and performance improvements to journal replay (Abhi
         Das)
      
       - Cleanup of gfs2_is_ordered and gfs2_is_writeback (Andreas
         Gruenbacher)
      
       - Fix a potential double-free in inode creation (Andreas Gruenbacher)
      
       - Fix the bitmap search loop that was searching too far (Andreas
         Gruenbacher)
      
       - Various cleanups (Andreas Gruenbacher, Bob Peterson)
      
       - Implement Steve Whitehouse's patch to dump nrpages for inodes (Bob
         Peterson)
      
       - Fix a withdraw bug where stuffed journaled data files didn't allocate
         enough journal space to be grown (Bob Peterson)
      
      * tag 'gfs2-4.21.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: take jdata unstuff into account in do_grow
        gfs2: Dump nrpages for inodes and their glocks
        gfs2: Fix loop in gfs2_rbm_find
        gfs2: Get rid of potential double-freeing in gfs2_create_inode
        gfs2: Remove vestigial bd_ops
        gfs2: read journal in large chunks to locate the head
        gfs2: add a helper function to get_log_header that can be used elsewhere
        gfs2: changes to gfs2_log_XXX_bio
        gfs2: add more timing info to journal recovery process
        gfs2: Fix the gfs2_invalidatepage description
        gfs2: Clean up gfs2_is_{ordered,writeback}
      7bbbf2c2
  2. 27 Dec, 2018 20 commits
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · b71acb0e
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Add 1472-byte test to tcrypt for IPsec
         - Reintroduced crypto stats interface with numerous changes
         - Support incremental algorithm dumps
      
        Algorithms:
         - Add xchacha12/20
         - Add nhpoly1305
         - Add adiantum
         - Add streebog hash
         - Mark cts(cbc(aes)) as FIPS allowed
      
        Drivers:
         - Improve performance of arm64/chacha20
         - Improve performance of x86/chacha20
         - Add NEON-accelerated nhpoly1305
         - Add SSE2 accelerated nhpoly1305
         - Add AVX2 accelerated nhpoly1305
         - Add support for 192/256-bit keys in gcmaes AVX
         - Add SG support in gcmaes AVX
         - ESN for inline IPsec tx in chcr
         - Add support for CryptoCell 703 in ccree
         - Add support for CryptoCell 713 in ccree
         - Add SM4 support in ccree
         - Add SM3 support in ccree
         - Add support for chacha20 in caam/qi2
         - Add support for chacha20 + poly1305 in caam/jr
         - Add support for chacha20 + poly1305 in caam/qi2
         - Add AEAD cipher support in cavium/nitrox"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (130 commits)
        crypto: skcipher - remove remnants of internal IV generators
        crypto: cavium/nitrox - Fix build with !CONFIG_DEBUG_FS
        crypto: salsa20-generic - don't unnecessarily use atomic walk
        crypto: skcipher - add might_sleep() to skcipher_walk_virt()
        crypto: x86/chacha - avoid sleeping under kernel_fpu_begin()
        crypto: cavium/nitrox - Added AEAD cipher support
        crypto: mxc-scc - fix build warnings on ARM64
        crypto: api - document missing stats member
        crypto: user - remove unused dump functions
        crypto: chelsio - Fix wrong error counter increments
        crypto: chelsio - Reset counters on cxgb4 Detach
        crypto: chelsio - Handle PCI shutdown event
        crypto: chelsio - cleanup:send addr as value in function argument
        crypto: chelsio - Use same value for both channel in single WR
        crypto: chelsio - Swap location of AAD and IV sent in WR
        crypto: chelsio - remove set but not used variable 'kctx_len'
        crypto: ux500 - Use proper enum in hash_set_dma_transfer
        crypto: ux500 - Use proper enum in cryp_set_dma_transfer
        crypto: aesni - Add scatter/gather avx stubs, and use them in C
        crypto: aesni - Introduce partial block macro
        ..
      b71acb0e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · e0c38a4d
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) New ipset extensions for matching on destination MAC addresses, from
          Stefano Brivio.
      
       2) Add ipv4 ttl and tos, plus ipv6 flow label and hop limit offloads to
          nfp driver. From Stefano Brivio.
      
       3) Implement GRO for plain UDP sockets, from Paolo Abeni.
      
       4) Lots of work from Michał Mirosław to eliminate the VLAN_TAG_PRESENT
          bit so that we could support the entire vlan_tci value.
      
       5) Rework the IPSEC policy lookups to better optimize more usecases,
          from Florian Westphal.
      
       6) Infrastructure changes eliminating direct manipulation of SKB lists
          wherever possible, and to always use the appropriate SKB list
          helpers. This work is still ongoing...
      
       7) Lots of PHY driver and state machine improvements and
          simplifications, from Heiner Kallweit.
      
       8) Various TSO deferral refinements, from Eric Dumazet.
      
       9) Add ntuple filter support to aquantia driver, from Dmitry Bogdanov.
      
      10) Batch dropping of XDP packets in tuntap, from Jason Wang.
      
      11) Lots of cleanups and improvements to the r8169 driver from Heiner
          Kallweit, including support for ->xmit_more. This driver has been
          getting some much needed love since he started working on it.
      
      12) Lots of new forwarding selftests from Petr Machata.
      
      13) Enable VXLAN learning in mlxsw driver, from Ido Schimmel.
      
      14) Packed ring support for virtio, from Tiwei Bie.
      
      15) Add new Aquantia AQtion USB driver, from Dmitry Bezrukov.
      
      16) Add XDP support to dpaa2-eth driver, from Ioana Ciocoi Radulescu.
      
      17) Implement coalescing on TCP backlog queue, from Eric Dumazet.
      
      18) Implement carrier change in tun driver, from Nicolas Dichtel.
      
      19) Support msg_zerocopy in UDP, from Willem de Bruijn.
      
      20) Significantly improve garbage collection of neighbor objects when
          the table has many PERMANENT entries, from David Ahern.
      
      21) Remove egdev usage from nfp and mlx5, and remove the facility
          completely from the tree as it no longer has any users. From Oz
          Shlomo and others.
      
      22) Add a NETDEV_PRE_CHANGEADDR so that drivers can veto the change and
          therefore abort the operation before the commit phase (which is the
          NETDEV_CHANGEADDR event). From Petr Machata.
      
      23) Add indirect call wrappers to avoid retpoline overhead, and use them
          in the GRO code paths. From Paolo Abeni.
      
      24) Add support for netlink FDB get operations, from Roopa Prabhu.
      
      25) Support bloom filter in mlxsw driver, from Nir Dotan.
      
      26) Add SKB extension infrastructure. This consolidates the handling of
          the auxiliary SKB data used by IPSEC and bridge netfilter, and is
          designed to support the needs to MPTCP which could be integrated in
          the future.
      
      27) Lots of XDP TX optimizations in mlx5 from Tariq Toukan.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1845 commits)
        net: dccp: fix kernel crash on module load
        drivers/net: appletalk/cops: remove redundant if statement and mask
        bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw
        net/net_namespace: Check the return value of register_pernet_subsys()
        net/netlink_compat: Fix a missing check of nla_parse_nested
        ieee802154: lowpan_header_create check must check daddr
        net/mlx4_core: drop useless LIST_HEAD
        mlxsw: spectrum: drop useless LIST_HEAD
        net/mlx5e: drop useless LIST_HEAD
        iptunnel: Set tun_flags in the iptunnel_metadata_reply from src
        net/mlx5e: fix semicolon.cocci warnings
        staging: octeon: fix build failure with XFRM enabled
        net: Revert recent Spectre-v1 patches.
        can: af_can: Fix Spectre v1 vulnerability
        packet: validate address length if non-zero
        nfc: af_nfc: Fix Spectre v1 vulnerability
        phonet: af_phonet: Fix Spectre v1 vulnerability
        net: core: Fix Spectre v1 vulnerability
        net: minor cleanup in skb_ext_add()
        net: drop the unused helper skb_ext_get()
        ...
      e0c38a4d
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 7f9f852c
      Linus Torvalds authored
      Pull modules updates from Jessica Yu:
      
       - Some modules-related kallsyms cleanups and a kallsyms fix for ARM.
      
       - Include keys from the secondary keyring in module signature
         verification.
      
      * tag 'modules-for-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        ARM: module: Fix function kallsyms on Thumb-2
        module: Overwrite st_size instead of st_info
        module: make it clearer when we're handling kallsyms symbols vs exported symbols
        modsign: use all trusted keys to verify module signature
      7f9f852c
    • Linus Torvalds's avatar
      Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 3f03bf93
      Linus Torvalds authored
      Pull general security subsystem updates from James Morris:
       "The main changes here are Paul Gortmaker's removal of unneccesary
        module.h infrastructure"
      
      * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        security: integrity: partial revert of make ima_main explicitly non-modular
        security: fs: make inode explicitly non-modular
        security: audit and remove any unnecessary uses of module.h
        security: integrity: make evm_main explicitly non-modular
        keys: remove needless modular infrastructure from ecryptfs_format
        security: integrity: make ima_main explicitly non-modular
        tomoyo: fix small typo
      3f03bf93
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20181224' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · fb2a624d
      Linus Torvalds authored
      Pull selinux patches from Paul Moore:
       "I already used my best holiday pull request lines in the audit pull
        request, so this one is going to be a bit more boring, sorry about
        that. To make up for this, we do have a birthday of sorts to
        celebrate: SELinux turns 18 years old this December. Perhaps not the
        most exciting thing in the world for most people, but I think it's
        safe to say that anyone reading this email doesn't exactly fall into
        the "most people" category.
      
        Back to business and the pull request itself:
      
        Ondrej has five patches in this pull request and I lump them into
        three categories: one patch to always allow submounts (using similar
        logic to elsewhere in the kernel), one to fix some issues with the
        SELinux policydb, and the others to cleanup and improve the SELinux
        sidtab.
      
        The other patches from Alexey and Petr and trivial fixes that are
        adequately described in their respective subject lines.
      
        With this last pull request of the year, I want to thank everyone who
        has contributed patches, testing, and reviews to the SELinux project
        this year, and the past 18 years. Like any good open source effort,
        SELinux is only as good as the community which supports it, and I'm
        very happy that we have the community we do - thank you all!"
      
      * tag 'selinux-pr-20181224' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: overhaul sidtab to fix bug and improve performance
        selinux: use separate table for initial SID lookup
        selinux: make "selinux_policycap_names[]" const char *
        selinux: always allow mounting submounts
        selinux: refactor sidtab conversion
        Documentation: Update SELinux reference policy URL
        selinux: policydb - fix byte order and alignment issues
      fb2a624d
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20181224' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 047ce6d3
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "In the finest of holiday of traditions, I have a number of gifts to
        share today. While most of them are re-gifts from others, unlike the
        typical re-gift, these are things you will want in and around your
        tree; I promise.
      
        This pull request is perhaps a bit larger than our typical PR, but
        most of it comes from Jan's rework of audit's fanotify code; a very
        welcome improvement. We ran this through our normal regression tests,
        as well as some newly created stress tests and everything looks good.
      
        Richard added a few patches, mostly cleaning up a few things and and
        shortening some of the audit records that we send to userspace; a
        change the userspace folks are quite happy about.
      
        Finally YueHaibing and I kick in a few patches to simplify things a
        bit and make the code less prone to errors.
      
        Lastly, I want to say thanks one more time to everyone who has
        contributed patches, testing, and code reviews for the audit subsystem
        over the past year. The project is what it is due to your help and
        contributions - thank you"
      
      * tag 'audit-pr-20181224' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit: (22 commits)
        audit: remove duplicated include from audit.c
        audit: shorten PATH cap values when zero
        audit: use current whenever possible
        audit: minimize our use of audit_log_format()
        audit: remove WATCH and TREE config options
        audit: use session_info helper
        audit: localize audit_log_session_info prototype
        audit: Use 'mark' name for fsnotify_mark variables
        audit: Replace chunk attached to mark instead of replacing mark
        audit: Simplify locking around untag_chunk()
        audit: Drop all unused chunk nodes during deletion
        audit: Guarantee forward progress of chunk untagging
        audit: Allocate fsnotify mark independently of chunk
        audit: Provide helper for dropping mark's chunk reference
        audit: Remove pointless check in insert_hash()
        audit: Factor out chunk replacement code
        audit: Make hash table insertion safe against concurrent lookups
        audit: Embed key into chunk
        audit: Fix possible tagging failures
        audit: Fix possible spurious -ENOSPC error
        ...
      047ce6d3
    • Linus Torvalds's avatar
      Merge tag 'printk-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · a3b5c106
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Keep spinlocks busted until the end of panic()
      
       - Fix races between calculating number of messages that would fit into
         user space buffers, filling the buffers, and switching printk.time
         parameter
      
       - Some code clean up
      
      * tag 'printk-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        printk: Remove print_prefix() calls with NULL buffer.
        printk: fix printk_time race.
        printk: Make printk_emit() local function.
        panic: avoid deadlocks in re-entrant console drivers
      a3b5c106
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugins-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c6f1b355
      Linus Torvalds authored
      Pull gcc-plugins update from Kees Cook:
       "Both arm and arm64 are gaining per-task stack canaries (to match x86),
        but arm is being done with a gcc plugin, hence it going through the
        gcc-plugins tree.
      
        New gcc-plugin:
      
         - Enable per-task stack protector for ARM (Ard Biesheuvel)"
      
      * tag 'gcc-plugins-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        ARM: smp: add support for per-task stack canaries
      c6f1b355
    • Linus Torvalds's avatar
      Merge tag 'pstore-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c06e9ef6
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
       "Improvements and refactorings:
      
         - Improve compression handling
      
         - Refactor argument handling during initialization
      
         - Avoid needless locking for saner EFI backend handling
      
         - Add more kern-doc and improve debugging output"
      
      * tag 'pstore-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore/ram: Avoid NULL deref in ftrace merging failure path
        pstore: Convert buf_lock to semaphore
        pstore: Fix bool initialization/comparison
        pstore/ram: Do not treat empty buffers as valid
        pstore/ram: Simplify ramoops_get_next_prz() arguments
        pstore: Map PSTORE_TYPE_* to strings
        pstore: Replace open-coded << with BIT()
        pstore: Improve and update some comments and status output
        pstore/ram: Add kern-doc for struct persistent_ram_zone
        pstore/ram: Report backend assignments with finer granularity
        pstore/ram: Standardize module name in ramoops
        pstore: Avoid duplicate call of persistent_ram_zap()
        pstore: Remove needless lock during console writes
        pstore: Do not use crash buffer for decompression
      c06e9ef6
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 8d697332
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Notable changes:
      
         - Mitigations for Spectre v2 on some Freescale (NXP) CPUs.
      
         - A large series adding support for pass-through of Nvidia V100 GPUs
           to guests on Power9.
      
         - Another large series to enable hardware assistance for TLB table
           walk on MPC8xx CPUs.
      
         - Some preparatory changes to our DMA code, to make way for further
           cleanups from Christoph.
      
         - Several fixes for our Transactional Memory handling discovered by
           fuzzing the signal return path.
      
         - Support for generating our system call table(s) from a text file
           like other architectures.
      
         - A fix to our page fault handler so that instead of generating a
           WARN_ON_ONCE, user accesses of kernel addresses instead print a
           ratelimited and appropriately scary warning.
      
         - A cosmetic change to make our unhandled page fault messages more
           similar to other arches and also more compact and informative.
      
         - Freescale updates from Scott:
             "Highlights include elimination of legacy clock bindings use from
              dts files, an 83xx watchdog handler, fixes to old dts interrupt
              errors, and some minor cleanup."
      
        And many clean-ups, reworks and minor fixes etc.
      
        Thanks to: Alexandre Belloni, Alexey Kardashevskiy, Andrew Donnellan,
        Aneesh Kumar K.V, Arnd Bergmann, Benjamin Herrenschmidt, Breno Leitao,
        Christian Lamparter, Christophe Leroy, Christoph Hellwig, Daniel
        Axtens, Darren Stevens, David Gibson, Diana Craciun, Dmitry V. Levin,
        Firoz Khan, Geert Uytterhoeven, Greg Kurz, Gustavo Romero, Hari
        Bathini, Joel Stanley, Kees Cook, Madhavan Srinivasan, Mahesh
        Salgaonkar, Markus Elfring, Mathieu Malaterre, Michal Suchánek, Naveen
        N. Rao, Nick Desaulniers, Oliver O'Halloran, Paul Mackerras, Ram Pai,
        Ravi Bangoria, Rob Herring, Russell Currey, Sabyasachi Gupta, Sam
        Bobroff, Satheesh Rajendran, Scott Wood, Segher Boessenkool, Stephen
        Rothwell, Tang Yuantian, Thiago Jung Bauermann, Yangtao Li, Yuantian
        Tang, Yue Haibing"
      
      * tag 'powerpc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (201 commits)
        Revert "powerpc/fsl_pci: simplify fsl_pci_dma_set_mask"
        powerpc/zImage: Also check for stdout-path
        powerpc: Fix HMIs on big-endian with CONFIG_RELOCATABLE=y
        macintosh: Use of_node_name_{eq, prefix} for node name comparisons
        ide: Use of_node_name_eq for node name comparisons
        powerpc: Use of_node_name_eq for node name comparisons
        powerpc/pseries/pmem: Convert to %pOFn instead of device_node.name
        powerpc/mm: Remove very old comment in hash-4k.h
        powerpc/pseries: Fix node leak in update_lmb_associativity_index()
        powerpc/configs/85xx: Enable CONFIG_DEBUG_KERNEL
        powerpc/dts/fsl: Fix dtc-flagged interrupt errors
        clk: qoriq: add more compatibles strings
        powerpc/fsl: Use new clockgen binding
        powerpc/83xx: handle machine check caused by watchdog timer
        powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved"
        powerpc/fsl_pci: simplify fsl_pci_dma_set_mask
        arch/powerpc/fsl_rmu: Use dma_zalloc_coherent
        vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver
        vfio_pci: Allow regions to add own capabilities
        vfio_pci: Allow mapping extra regions
        ...
      8d697332
    • Olof Johansson's avatar
      sched/fair: Fix warning on non-SMP build · 6d101ba6
      Olof Johansson authored
      Caused by making the variable static:
      
        kernel/sched/fair.c:119:21: warning: 'capacity_margin' defined but not used [-Wunused-variable]
      
      Seems easiest to just move it up under the existing ifdef CONFIG_SMP
      that's a few lines above.
      
      Fixes: ed8885a1 ('sched/fair: Make some variables static')
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d101ba6
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fc2fd5f0
      Linus Torvalds authored
      Pull x86 platform update from Ingo Molnar:
       "An OLPC platform support simplification patch"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/olpc: Do not call of_platform_bus_probe()
      fc2fd5f0
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e57d9f63
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Update and clean up x86 fault handling, by Andy Lutomirski.
      
         - Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
           and related fallout, by Dan Williams.
      
         - CPA cleanups and reorganization by Peter Zijlstra: simplify the
           flow and remove a few warts.
      
         - Other misc cleanups"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        x86/mm/dump_pagetables: Use DEFINE_SHOW_ATTRIBUTE()
        x86/mm/cpa: Rename @addrinarray to @numpages
        x86/mm/cpa: Better use CLFLUSHOPT
        x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function
        x86/mm/cpa: Make cpa_data::numpages invariant
        x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation
        x86/mm/cpa: Simplify the code after making cpa->vaddr invariant
        x86/mm/cpa: Make cpa_data::vaddr invariant
        x86/mm/cpa: Add __cpa_addr() helper
        x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests
        x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
        x86/mm: Validate kernel_physical_mapping_init() PTE population
        generic/pgtable: Introduce set_pte_safe()
        generic/pgtable: Introduce {p4d,pgd}_same()
        generic/pgtable: Make {pmd, pud}_same() unconditionally available
        x86/fault: Clean up the page fault oops decoder a bit
        x86/fault: Decode page fault OOPSes better
        x86/vsyscall/64: Use X86_PF constants in the simulated #PF error code
        x86/oops: Show the correct CS value in show_regs()
        x86/fault: Don't try to recover from an implicit supervisor access
        ...
      e57d9f63
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d6e867a6
      Linus Torvalds authored
      Pull x86 fpu updates from Ingo Molnar:
       "Misc preparatory changes for an upcoming FPU optimization that will
        delay the loading of FPU registers to return-to-userspace"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Don't export __kernel_fpu_{begin,end}()
        x86/fpu: Update comment for __raw_xsave_addr()
        x86/fpu: Add might_fault() to user_insn()
        x86/pkeys: Make init_pkru_value static
        x86/thread_info: Remove _TIF_ALLWORK_MASK
        x86/process/32: Remove asm/math_emu.h include
        x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset()
      d6e867a6
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · db2ab474
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "Misc changes:
      
         - Fix nr_cpus= boot option interaction bug with logical package
           management
      
         - Clean up UMIP detection messages
      
         - Add WBNOINVD instruction detection
      
         - Remove the unused get_scattered_cpuid_leaf() function"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/topology: Use total_cpus for max logical packages calculation
        x86/umip: Make the UMIP activated message generic
        x86/umip: Print UMIP line only once
        x86/cpufeatures: Add WBNOINVD feature definition
        x86/cpufeatures: Remove get_scattered_cpuid_leaf()
      db2ab474
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 312a4661
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kprobes: Remove trampoline_handler() prototype
        x86/kernel: Fix more -Wmissing-prototypes warnings
        x86: Fix various typos in comments
        x86/headers: Fix -Wmissing-prototypes warning
        x86/process: Avoid unnecessary NULL check in get_wchan()
        x86/traps: Complete prototype declarations
        x86/mce: Fix -Wmissing-prototypes warnings
        x86/gart: Rewrite early_gart_iommu_check() comment
      312a4661
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6e54df00
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
      
       - Resolve LLVM build bug by removing redundant GNU specific flag
      
       - Remove obsolete -funit-at-a-time and -fno-unit-at-a-time use from x86
         PowerPC and UM.
      
         The UML change was seen and acked by UML maintainer Richard
         Weinberger.
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/um/vdso: Drop implicit common-page-size linker flag
        x86, powerpc: Remove -funit-at-a-time compiler option entirely
        x86/um: Remove -fno-unit-at-a-time workaround for pre-4.0 GCC
      6e54df00
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9a126e78
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "Two cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Add missing va_end() to die()
        x86/boot: Simplify the detect_memory*() control flow
      9a126e78
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 38fabca1
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "Two changes:
      
         - Remove (some) remnants of the vDSO's fake section table mechanism
           that were left behind when the vDSO build process reverted to using
           "objdump -S" to strip the userspace image.
      
         - Remove hardcoded POPCNT mnemonics now that the minimum binutils
           version supports the symbolic form"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Remove a stale/misleading comment from the linker script
        x86/vdso: Remove obsolete "fake section table" reservation
        x86: Use POPCNT mnemonics in arch_hweight.h
      38fabca1
    • Linus Torvalds's avatar
      Merge branch 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8465625a
      Linus Torvalds authored
      Pull x86 AMD northbridge updates from Ingo Molnar:
       "Update DF/SMN access and k10temp for AMD F17h M30h, by Brian Woods:
      
         'Updates the data fabric/system management network code needed to get
          k10temp working for M30h. Since there are now processors which have
          multiple roots per DF/SMN interface, there needs to some logic which
          skips N-1 root complexes per DF/SMN interface. This is because the
          root complexes per interface are redundant (as far as DF/SMN goes).
          These changes shouldn't effect past processors and, for F17h M0Xh,
          the mappings stay the same.'
      
        The hwmon changes were seen and acked by hwmon maintainer Guenter Roeck"
      
      * 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hwmon/k10temp: Add support for AMD family 17h, model 30h CPUs
        x86/amd_nb: Add PCI device IDs for family 17h, model 30h
        x86/amd_nb: Add support for newer PCI topologies
        hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs
      8465625a