1. 14 Aug, 2018 30 commits
    • Vlastimil Babka's avatar
      x86/init: fix build with CONFIG_SWAP=n · 792adb90
      Vlastimil Babka authored
      The introduction of generic_max_swapfile_size and arch-specific versions has
      broken linking on x86 with CONFIG_SWAP=n due to undefined reference to
      'generic_max_swapfile_size'. Fix it by compiling the x86-specific
      max_swapfile_size() only with CONFIG_SWAP=y.
      Reported-by: default avatarTomas Pruzina <pruzinat@gmail.com>
      Fixes: 377eeaa8 ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2")
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      792adb90
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 15bc88cd
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "Several small new features for regmap this time around:
      
         - Support for SCCB, an I2C variant used on some media cards. This has
           also pulled in an I2C commit from Peter Rosin as a dependency.
      
         - Addition of an API for reading repeatedly from registers where the
           address doesn't automatically increment like some ADC outputs or
           GPIO status registers.
      
         - Support for bulk I/O on Slimbus"
      
      * tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Add regmap_noinc_read API
        regmap: sccb: fix typo and sort headers alphabetically
        i2c: smbus: add unlocked __i2c_smbus_xfer variant
        regmap: add SCCB support
        regmap: slimbus: add support to multi read/write
      15bc88cd
    • Linus Torvalds's avatar
      Merge tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs · be718b52
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
      
       - simplify the cide by using kvasprintf (Bart Van Assche)
      
       - fix a gcc 8 string truncation warning by making the code simpler
         (Guenter Roeck)
      
       - fix a bug in rmdir() handling (Mike Christie)
      
      * tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs:
        configfs: fix registered group removal
        configfs: replace strncpy with memcpy
        configfs: use kvasprintf() instead of open-coding it
      be718b52
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.19' of git://git.infradead.org/users/hch/dma-mapping · f66dc723
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - a series from Robin to fix bus imposed dma limits by adding a
         separate mask for them to struct device instead of trying to squeeze
         a second meaning out of the existing dma mask as we did before.
      
         This has ACKs from the various other subsystems touched
      
       - a small swiotlb cleanup from Kees (acked by Konrad)
      
       - conversion of nios2 and sh to the new generic dma-noncoherent code.
      
         Various other architecture conversions will come through the
         architectures maintainers trees.
      
      * tag 'dma-mapping-4.19' of git://git.infradead.org/users/hch/dma-mapping:
        sh: use generic dma_noncoherent_ops
        sh: split arch/sh/mm/consistent.c
        sh: use dma_direct_ops for the CONFIG_DMA_COHERENT case
        sh: introduce a sh_cacheop_vaddr helper
        sh: simplify get_arch_dma_ops
        OF: Don't set default coherent DMA mask
        ACPI/IORT: Don't set default coherent DMA mask
        iommu/dma: Respect bus DMA limit for IOVAs
        of/device: Set bus DMA mask as appropriate
        ACPI/IORT: Set bus DMA mask as appropriate
        dma-mapping: Generalise dma_32bit_limit flag
        ACPI/IORT: Support address size limit for root complexes
        of/platform: Initialise default DMA masks
        nios2: use generic dma_noncoherent_ops
        swiotlb: clean up reporting
        dma-mapping: relax warning for per-device areas
      f66dc723
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · b219a1d2
      Linus Torvalds authored
      Pull MD updates from Shaohua Li:
       "A few MD fixes for 4.19-rc1:
      
         - several md-cluster fixes from Guoqing
      
         - a data corruption fix from BingJing
      
         - other cleanups"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        md/raid5: fix data corruption of replacements after originals dropped
        drivers/md/raid5: Do not disable irq on release_inactive_stripe_list() call
        drivers/md/raid5: Use irqsave variant of atomic_dec_and_lock()
        md/r5cache: remove redundant pointer bio
        md-cluster: don't send msg if array is closing
        md-cluster: show array's status more accurate
        md-cluster: clear another node's suspend_area after the copy is finished
      b219a1d2
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-4.19' of git://git.infradead.org/linux-mtd · c2fc71c9
      Linus Torvalds authored
      Pull mtd updates from Boris Brezillon:
       "JFFS2 changes:
         - Support 64-bit timestamps
      
        MTD core changes:
         - Support sub-partitions
         - Clarify mtd_oob_ops documentation
         - Make Kconfig formatting consistent
         - Fix potential overflows in mtdchar_{write,read}()
         - Fallback to ->_{read,write}() when ->_{read,write}_oob() is missing
           and no OOB data were requested
         - Remove VLA usage in the bch lib
      
        MTD driver changes:
         - Use mtd_device_register() instead of mtd_device_parse_register()
           where applicable
         - Use proper printk format to print physical addresses in the
           solutionengine driver
         - Add missing mtd_set_of_node() call in the powernv driver
         - Remove unneeded variables in a few drivers
         - Plug the TRX part parser to the DT partition parsers logic
         - Check ioremap_cache() return code in the gpio-addr-flash driver
         - Stop using VMLINUX_SYMBOL_STR() in gen_probe.c
      
        SPI NOR core changes:
         - Apply reset hacks only when reset is explicitly marked as broken in
           the DT
      
         SPI NOR driver changes:
         - Minor cleanup/fixes in the m25p80 driver
         - Release flash_np in the nxp-spifi driver
         - Add suspend/resume hooks to the atmel-quadspi driver
         - Include gpio/consumer.h instead of gpio.h in the atmel-quadspi
           driver
         - Use %pK instead of %p in the stm32-quadspi driver
         - Improve timeout handling in the cadence-quadspi driver
         - Use mtd_device_register() instead of mtd_device_parse_register() in
           the intel-spi driver
      
        NAND core changes:
         - Add the SPI-NAND framework.
         - Create a helper to find the best ECC configuration.
         - Create NAND controller operations.
         - Allocate dynamically ONFI parameters structure.
         - Add defines for ONFI version bits.
         - Add manufacturer fixup for ONFI parameter page.
         - Add an option to specify NAND chip as a boot device.
         - Add Reed-Solomon error correction algorithm.
         - Better name for the controller structure.
         - Remove unused caller_is_module() definition.
         - Make subop helpers return unsigned values.
         - Expose _notsupp() helpers for raw page accessors.
         - Add default values for dynamic timings.
         - Kill the chip->scan_bbt() hook.
         - Rename nand_default_bbt() into nand_create_bbt().
         - Start to clean the nand_chip structure.
         - Remove stale prototype from rawnand.h.
      
        Raw NAND controllers drivers changes:
         - Qcom: structuring cleanup.
         - Denali: use core helper to find the best ECC configuration.
         - Possible build of almost all drivers by adding a dependency on
           COMPILE_TEST for almost all of them in Kconfig, implies various
           fixes, Kconfig cleanup, GPIO headers inclusion cleanup, and even
           changes in sparc64 and ia64 architectures.
         - Clean the ->probe() functions error path of a lot of drivers.
         - Migrate all drivers to use nand_scan() instead of
           nand_scan_ident()/nand_scan_tail() pair.
         - Use mtd_device_register() where applicable to simplify the code.
         - Marvell:
            * Handle on-die ECC.
            * Better clocks handling.
            * Remove bogus comment.
            * Add suspend and resume support.
         - Tegra: add NAND controller driver.
         - Atmel:
            * Add module param to avoid using dma.
            * Drop Wenyou Yang from MAINTAINERS.
         - Denali: optimize timings handling.
         - FSMC: Stop using chip->read_buf().
         - FSL:
            * Switch to SPDX license tag identifiers.
            * Fix qualifiers in MXC init functions.
      
        Raw NAND chip drivers changes:
         - Micron:
            * Add fixup for ONFI revision.
            * Update ecc_stats.corrected.
            * Make ECC activation stateful.
            * Avoid enabling/disabling ECC when it can't be disabled.
            * Get the actual number of bitflips.
            * Allow forced on-die ECC.
            * Support 8/512 on-die ECC.
            * Fix on-die ECC detection logic.
         - Hynix:
            * Fix decoding the OOB size on H27UCG8T2BTR.
            * Use ->exec_op() in hynix_nand_reg_write_op()"
      
      * tag 'mtd/for-4.19' of git://git.infradead.org/linux-mtd: (188 commits)
        mtd: rawnand: atmel: Select GENERIC_ALLOCATOR
        MAINTAINERS: drop Wenyou Yang from Atmel NAND driver support
        mtd: rawnand: allocate dynamically ONFI parameters during detection
        mtd: spi-nor: only apply reset hacks to broken hardware
        mtd: spi-nor: cadence-quadspi: fix timeout handling
        mtd: spi-nor: atmel-quadspi: Include gpio/consumer.h instead of gpio.h
        mtd: spi-nor: intel-spi: use mtd_device_register()
        mtd: spi-nor: stm32-quadspi: replace "%p" with "%pK"
        mtd: spi-nor: atmel-quadspi: add suspend/resume hooks
        mtd: rawnand: allocate model parameter dynamically
        mtd: rawnand: do not export nand_scan_[ident|tail]() anymore
        mtd: rawnand: txx9ndfmc: convert driver to nand_scan()
        mtd: rawnand: txx9ndfmc: clarify ECC parameters assignation
        mtd: rawnand: tegra: convert driver to nand_scan()
        mtd: rawnand: jz4740: convert driver to nand_scan()
        mtd: rawnand: jz4740: group nand_scan_{ident, tail} calls
        mtd: rawnand: jz4740: fix probe function error path
        mtd: rawnand: docg4: convert driver to nand_scan()
        mtd: rawnand: do not execute nand_scan_ident() if maxchips is zero
        mtd: rawnand: atmel: convert driver to nand_scan()
        ...
      c2fc71c9
    • Linus Torvalds's avatar
      Merge SCSI_IOCTL_SEND_COMMAND cleanup branch. · 57ee3196
      Linus Torvalds authored
      Nobody commented on this patch back in July. So now it gets merged.
      
      * SCSI_IOCTL_SEND_COMMAND cleanup:
        scsi sg: remove incorrect scsi command checking logic
      57ee3196
    • Linus Torvalds's avatar
      Merge tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-block · 73ba2fb3
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "First pull request for this merge window, there will also be a
        followup request with some stragglers.
      
        This pull request contains:
      
         - Fix for a thundering heard issue in the wbt block code (Anchal
           Agarwal)
      
         - A few NVMe pull requests:
            * Improved tracepoints (Keith)
            * Larger inline data support for RDMA (Steve Wise)
            * RDMA setup/teardown fixes (Sagi)
            * Effects log suppor for NVMe target (Chaitanya Kulkarni)
            * Buffered IO suppor for NVMe target (Chaitanya Kulkarni)
            * TP4004 (ANA) support (Christoph)
            * Various NVMe fixes
      
         - Block io-latency controller support. Much needed support for
           properly containing block devices. (Josef)
      
         - Series improving how we handle sense information on the stack
           (Kees)
      
         - Lightnvm fixes and updates/improvements (Mathias/Javier et al)
      
         - Zoned device support for null_blk (Matias)
      
         - AIX partition fixes (Mauricio Faria de Oliveira)
      
         - DIF checksum code made generic (Max Gurtovoy)
      
         - Add support for discard in iostats (Michael Callahan / Tejun)
      
         - Set of updates for BFQ (Paolo)
      
         - Removal of async write support for bsg (Christoph)
      
         - Bio page dirtying and clone fixups (Christoph)
      
         - Set of bcache fix/changes (via Coly)
      
         - Series improving blk-mq queue setup/teardown speed (Ming)
      
         - Series improving merging performance on blk-mq (Ming)
      
         - Lots of other fixes and cleanups from a slew of folks"
      
      * tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-block: (190 commits)
        blkcg: Make blkg_root_lookup() work for queues in bypass mode
        bcache: fix error setting writeback_rate through sysfs interface
        null_blk: add lock drop/acquire annotation
        Blk-throttle: reduce tail io latency when iops limit is enforced
        block: paride: pd: mark expected switch fall-throughs
        block: Ensure that a request queue is dissociated from the cgroup controller
        block: Introduce blk_exit_queue()
        blkcg: Introduce blkg_root_lookup()
        block: Remove two superfluous #include directives
        blk-mq: count the hctx as active before allocating tag
        block: bvec_nr_vecs() returns value for wrong slab
        bcache: trivial - remove tailing backslash in macro BTREE_FLAG
        bcache: make the pr_err statement used for ENOENT only in sysfs_attatch section
        bcache: set max writeback rate when I/O request is idle
        bcache: add code comments for bset.c
        bcache: fix mistaken comments in request.c
        bcache: fix mistaken code comments in bcache.h
        bcache: add a comment in super.c
        bcache: avoid unncessary cache prefetch bch_btree_node_get()
        bcache: display rate debug parameters to 0 when writeback is not running
        ...
      73ba2fb3
    • Linus Torvalds's avatar
      Merge branch 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 958f338e
      Linus Torvalds authored
      Merge L1 Terminal Fault fixes from Thomas Gleixner:
       "L1TF, aka L1 Terminal Fault, is yet another speculative hardware
        engineering trainwreck. It's a hardware vulnerability which allows
        unprivileged speculative access to data which is available in the
        Level 1 Data Cache when the page table entry controlling the virtual
        address, which is used for the access, has the Present bit cleared or
        other reserved bits set.
      
        If an instruction accesses a virtual address for which the relevant
        page table entry (PTE) has the Present bit cleared or other reserved
        bits set, then speculative execution ignores the invalid PTE and loads
        the referenced data if it is present in the Level 1 Data Cache, as if
        the page referenced by the address bits in the PTE was still present
        and accessible.
      
        While this is a purely speculative mechanism and the instruction will
        raise a page fault when it is retired eventually, the pure act of
        loading the data and making it available to other speculative
        instructions opens up the opportunity for side channel attacks to
        unprivileged malicious code, similar to the Meltdown attack.
      
        While Meltdown breaks the user space to kernel space protection, L1TF
        allows to attack any physical memory address in the system and the
        attack works across all protection domains. It allows an attack of SGX
        and also works from inside virtual machines because the speculation
        bypasses the extended page table (EPT) protection mechanism.
      
        The assoicated CVEs are: CVE-2018-3615, CVE-2018-3620, CVE-2018-3646
      
        The mitigations provided by this pull request include:
      
         - Host side protection by inverting the upper address bits of a non
           present page table entry so the entry points to uncacheable memory.
      
         - Hypervisor protection by flushing L1 Data Cache on VMENTER.
      
         - SMT (HyperThreading) control knobs, which allow to 'turn off' SMT
           by offlining the sibling CPU threads. The knobs are available on
           the kernel command line and at runtime via sysfs
      
         - Control knobs for the hypervisor mitigation, related to L1D flush
           and SMT control. The knobs are available on the kernel command line
           and at runtime via sysfs
      
         - Extensive documentation about L1TF including various degrees of
           mitigations.
      
        Thanks to all people who have contributed to this in various ways -
        patches, review, testing, backporting - and the fruitful, sometimes
        heated, but at the end constructive discussions.
      
        There is work in progress to provide other forms of mitigations, which
        might be less horrible performance wise for a particular kind of
        workloads, but this is not yet ready for consumption due to their
        complexity and limitations"
      
      * 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
        x86/microcode: Allow late microcode loading with SMT disabled
        tools headers: Synchronise x86 cpufeatures.h for L1TF additions
        x86/mm/kmmio: Make the tracer robust against L1TF
        x86/mm/pat: Make set_memory_np() L1TF safe
        x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
        x86/speculation/l1tf: Invert all not present mappings
        cpu/hotplug: Fix SMT supported evaluation
        KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry
        x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry
        x86/speculation: Simplify sysfs report of VMX L1TF vulnerability
        Documentation/l1tf: Remove Yonah processors from not vulnerable list
        x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr()
        x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d
        x86: Don't include linux/irq.h from asm/hardirq.h
        x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d
        x86/irq: Demote irq_cpustat_t::__softirq_pending to u16
        x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush()
        x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond'
        x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush()
        cpu/hotplug: detect SMT disabled by BIOS
        ...
      958f338e
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.19-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 781fca5b
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "This is the second part of the XFS changes for 4.19.
      
        The biggest changes are the removal of buffer heads frm XFS, a massive
        reworking of the deferred transaction operations handling code, the
        removal of the long defunct barrier/nobarrier mount options, and the
        addition of a few more online repair functions.
      
        Summary:
      
         - Use extent maps to track pagecache page status instead of
           bufferhead state.
      
         - Refactor pagecache read and write paths to use the new iomap
           library functions, which enable us to drop the old bufferhead code
           for pagesize == blocksize filesystems.
      
         - Set up parallel per-block-per-page metadata to track subpage
           information that was tracked by buffer heads, which enables us to
           drop the old bufferhead code for pagesize > blocksize filesystems.
      
         - Tie a deferred ops control structure to a transaction so that we
           can take advantage of an upper-level dfops without having to plumb
           pointer passing through the code.
      
         - Refactor the deferred ops code to track deferred ops as part of the
           transaction structure (instead of as a separate data structure) so
           that we can simplify the scoping rules around defer_ops.
      
         - Refactor twisty delwri buffer submission code to avoid deadlocks.
      
         - Shorten and fix indenting problems in the scrub code.
      
         - Detect obviously bad summary counts at mount and fix them.
      
         - Directly associate deferred ops control structure with a
           transaction so that callers no longer have to manage it themselves.
      
         - Remove a couple of IRIX-era inode macros.
      
         - Remove the long-deprecated 'barrier' and 'nobarrier' mount options.
      
         - Clean up the inode fork structure a bit.
      
         - Check for bad fs summary counter values in the superblock.
      
         - Reduce COW fork lookups during writeback.
      
         - Refactor the deferred ops control structures into the transaction
           structure, thereby eliminating the need for transaction users to
           handle the deferred ops as a separate data structure.
      
         - Add the ability to repair AG headers online.
      
         - Fix a crash due to insufficient return value checking.
      
         - Various fixes and cleanups"
      
      * tag 'xfs-4.19-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (155 commits)
        xfs: fix a null pointer dereference in xfs_bmap_extents_to_btree
        xfs: remove b_last_holder & associated macros
        iomap: Switch to offset_in_page for clarity
        xfs: Close race between direct IO and xfs_break_layouts()
        xfs: repair the AGI
        xfs: repair the AGFL
        xfs: repair the AGF
        xfs: remove dead error handling code in xfs_dquot_disk_alloc()
        xfs: use WRITE_ONCE to update if_seq
        xfs: fix a comment in xfs_log_reserve
        xfs: only validate summary counts on primary superblock
        xfs: substitute spaces with tabs
        xfs: fold dfops into the transaction
        xfs: always defer agfl block frees
        xfs: pass transaction to xfs_defer_add()
        xfs: replace xfs_defer_ops ->dop_pending with on-stack list
        xfs: cancel dfops on xfs_defer_finish() error
        xfs: clean out superfluous dfops dop params/vars
        xfs: drop dop param from xfs_defer_op_type ->finish_item() callback
        xfs: automatic dfops inode relogging
        ...
      781fca5b
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 10f3e23f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - Convert content from the ext4 wiki to Documentation rst files so it
         is more likely to be updated as we add new features to ext4.
      
       - Add 64-bit timestamp support to ext4's superblock fields.
      
       - ... and the usual bug fixes and cleanups, including a Spectre gadget
         fixup and some hardening against maliciously corrupted file systems.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (34 commits)
        ext4: remove unneeded variable "err" in ext4_mb_release_inode_pa()
        ext4: improve code readability in ext4_iget()
        ext4: fix spectre gadget in ext4_mb_regular_allocator()
        ext4: check for NUL characters in extended attribute's name
        ext4: use ext4_warning() for sb_getblk failure
        ext4: fix race when setting the bitmap corrupted flag
        ext4: reset error code in ext4_find_entry in fallback
        ext4: handle layout changes to pinned DAX mappings
        dax: dax_layout_busy_page() warn on !exceptional
        docs: fix up the obviously obsolete bits in the new ext4 documentation
        docs: add new ext4 superblock time extension fields
        docs: create filesystem internal section
        ext4: use swap macro in mext_page_double_lock
        ext4: check allocation failure when duplicating "data" in ext4_remount()
        ext4: fix warning message in ext4_enable_quotas()
        ext4: super: extend timestamps to 40 bits
        jbd2: replace current_kernel_time64 with ktime equivalent
        ext4: use timespec64 for all inode times
        ext4: use ktime_get_real_seconds for i_dtime
        ext4: use 64-bit timestamps for mmp_time
        ...
      10f3e23f
    • Linus Torvalds's avatar
      Merge tag '4.19-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 3bb37da5
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "smb3/cifs fixes (including 8 for stable).
      
        Other improvements include:
      
         - improved tracing, improved stats
      
         - snapshots (previous version mounts work now over SMB3)
      
         - performance (compounding enabled for statfs, ~40% faster).
      
         - security (make it possible to build cifs.ko with insecure vers=1.0
           disabled in Kconfig)"
      
      * tag '4.19-smb3' of git://git.samba.org/sfrench/cifs-2.6: (43 commits)
        smb3: create smb3 equivalent alias for cifs pseudo-xattrs
        smb3: allow previous versions to be mounted with snapshot= mount parm
        cifs: don't show domain= in mount output when domain is empty
        cifs: add missing support for ACLs in SMB 3.11
        smb3: enumerating snapshots was leaving part of the data off end
        cifs: update smb2_queryfs() to use compounding
        cifs: update receive_encrypted_standard to handle compounded responses
        cifs: create SMB2_open_init()/SMB2_open_free() helpers.
        cifs: add SMB2_query_info_[init|free]()
        cifs: add SMB2_close_init()/SMB2_close_free()
        smb3: display stats counters for number of slow commands
        CIFS: fix uninitialized ptr deref in smb2 signing
        smb3: Do not send SMB3 SET_INFO if nothing changed
        smb3: fix minor debug output for CONFIG_CIFS_STATS
        smb3: add tracepoint for slow responses
        cifs: add compound_send_recv()
        cifs: make smb_send_rqst take an array of requests
        cifs: update init_sg, crypt_message to take an array of rqst
        smb3: update readme to correct information about /proc/fs/cifs/Stats
        smb3: fix reset of bytes read and written stats
        ...
      3bb37da5
    • Linus Torvalds's avatar
      Merge branch 'iomap-4.19-merge' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 161fa27f
      Linus Torvalds authored
      Pull fs iomap refactoring from Darrick Wong:
       "This is the first part of the XFS changes for 4.19.
      
        Christoph and Andreas coordinated some refactoring work on the iomap
        code in preparation for removing buffer heads from XFS and porting
        gfs2 to iomap. I'm sending this small pull request ahead of the main
        XFS merge to avoid holding up gfs2 unnecessarily"
      
      * 'iomap-4.19-merge' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: add inline data support to iomap_readpage_actor
        iomap: support direct I/O to inline data
        iomap: refactor iomap_dio_actor
        iomap: add initial support for writes without buffer heads
        iomap: add an iomap-based readpage and readpages implementation
        iomap: add private pointer to struct iomap
        iomap: add a page_done callback
        iomap: generic inline data handling
        iomap: complete partial direct I/O writes synchronously
        iomap: mark newly allocated buffer heads as new
        fs: factor out a __generic_write_end helper
      161fa27f
    • Linus Torvalds's avatar
      Merge tag 'for-4.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · a1a4f841
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Mostly fixes and cleanups, nothing big, though the notable thing is
        the inserted/deleted lines delta -1124.
      
        User visible changes:
         - allow defrag on opened read-only files that have rw permissions;
           similar to what dedupe will allow on such files
      
        Core changes:
         - tree checker improvements, reported by fuzzing:
            * more checks for: block group items, essential trees
            * chunk type validation
            * mount time cross-checks that physical and logical chunks match
            * switch more error codes to EUCLEAN aka EFSCORRUPTED
      
        Fixes:
         - fsync corner case fixes
      
         - fix send failure when root has deleted files still open
      
         - send, fix incorrect file layout after hole punching beyond eof
      
         - fix races between mount and deice scan ioctl, found by fuzzing
      
         - fix deadlock when delayed iput is called from writeback on the same
           inode; rare but has been observed in practice, also removes code
      
         - fix pinned byte accounting, using the right percpu helpers; this
           should avoid some write IO inefficiency during low space conditions
      
         - don't remove block group that still has pinned bytes
      
         - reset on-disk device stats value after replace, otherwise this
           would report stale values for the new device
      
        Cleanups:
         - time64_t/timespec64 cleanups
      
         - remove remaining dead code in scrub handling NOCOW extents after
           disabling it in previous cycle
      
         - simplify fsync regarding ordered extents logic and remove all the
           related code
      
         - remove redundant arguments in order to reduce stack space
           consumption
      
         - remove support for V0 type of extents, not in use since 2.6.30
      
         - remove several unused structure members
      
         - fewer indirect function calls by inlining some callbacks
      
         - qgroup rescan timing fixes
      
         - vfs: iget cleanups"
      
      * tag 'for-4.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (182 commits)
        btrfs: revert fs_devices state on error of btrfs_init_new_device
        btrfs: Exit gracefully when chunk map cannot be inserted to the tree
        btrfs: Introduce mount time chunk <-> dev extent mapping check
        btrfs: Verify that every chunk has corresponding block group at mount time
        btrfs: Check that each block group has corresponding chunk at mount time
        Btrfs: send, fix incorrect file layout after hole punching beyond eof
        btrfs: Use wrapper macro for rcu string to remove duplicate code
        btrfs: simplify btrfs_iget
        btrfs: lift make_bad_inode into btrfs_iget
        btrfs: simplify IS_ERR/PTR_ERR checks
        btrfs: btrfs_iget never returns an is_bad_inode inode
        btrfs: replace: Reset on-disk dev stats value after replace
        btrfs: extent-tree: Remove unused __btrfs_free_block_rsv
        btrfs: backref: Use ERR_CAST to return error code
        btrfs: Remove redundant btrfs_release_path from btrfs_unlink_subvol
        btrfs: Remove root parameter from btrfs_unlink_subvol
        btrfs: Remove fs_info from btrfs_add_root_ref
        btrfs: Remove fs_info from btrfs_del_root_ref
        btrfs: Remove fs_info from btrfs_del_root
        btrfs: Remove fs_info from btrfs_delete_delayed_dir_index
        ...
      a1a4f841
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 575b9438
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "Just a couple of patches from Konstantin to fix /proc/locks when the
        process that set the lock has exited, and a new tracepoint for the
        flock() codepath. Also threw in mailmap entries for my addresses and a
        comment cleanup"
      
      * tag 'locks-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: remove misleading obsolete comment
        mailmap: remap some of my email addresses to kernel.org address
        locks: add tracepoint in flock codepath
        fs/lock: show locks taken by processes from another pidns
        fs/lock: skip lock owner pid translation in case we are in init_pid_ns
      575b9438
    • Linus Torvalds's avatar
      Merge branches 'work.misc' and 'work.dcache' of... · 4591343e
      Linus Torvalds authored
      Merge branches 'work.misc' and 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
      
      Pull misc vfs updates from Al Viro:
       "Misc cleanups from various folks all over the place
      
        I expected more fs/dcache.c cleanups this cycle, so that went into a
        separate branch. Said cleanups have missed the window, so in the
        hindsight it could've gone into work.misc instead. Decided not to
        cherry-pick, thus the 'work.dcache' branch"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: dcache: Use true and false for boolean values
        fold generic_readlink() into its only caller
        fs: shave 8 bytes off of struct inode
        fs: Add more kernel-doc to the produced documentation
        fs: Fix attr.c kernel-doc
        removed extra extern file_fdatawait_range
      
      * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        kill dentry_update_name_case()
      4591343e
    • Linus Torvalds's avatar
      Merge branch 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · f2be2698
      Linus Torvalds authored
      Pull vfs aio updates from Al Viro:
       "Christoph's aio poll, saner this time around.
      
        This time it's pretty much local to fs/aio.c. Hopefully race-free..."
      
      * 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        aio: allow direct aio poll comletions for keyed wakeups
        aio: implement IOCB_CMD_POLL
        aio: add a iocb refcount
        timerfd: add support for keyed wakeups
      f2be2698
    • Linus Torvalds's avatar
      Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4d2a073c
      Linus Torvalds authored
      Pull vfs lookup() updates from Al Viro:
       "More conversions of ->lookup() to d_splice_alias().
      
        Should be reasonably complete now - the only leftovers are in ceph"
      
      * 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        afs_try_auto_mntpt(): return NULL instead of ERR_PTR(-ENOENT)
        afs_lookup(): switch to d_splice_alias()
        afs: switch dynroot lookups to d_splice_alias()
        hpfs: fix an inode leak in lookup, switch to d_splice_alias()
        hostfs_lookup: switch to d_splice_alias()
      4d2a073c
    • Linus Torvalds's avatar
      Merge branch 'work.mkdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0ea97a2d
      Linus Torvalds authored
      Pull vfs icache updates from Al Viro:
      
       - NFS mkdir/open_by_handle race fix
      
       - analogous solution for FUSE, replacing the one currently in mainline
      
       - new primitive to be used when discarding halfway set up inodes on
         failed object creation; gives sane warranties re icache lookups not
         returning such doomed by still not freed inodes. A bunch of
         filesystems switched to that animal.
      
       - Miklos' fix for last cycle regression in iget5_locked(); -stable will
         need a slightly different variant, unfortunately.
      
       - misc bits and pieces around things icache-related (in adfs and jfs).
      
      * 'work.mkdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        jfs: don't bother with make_bad_inode() in ialloc()
        adfs: don't put inodes into icache
        new helper: inode_fake_hash()
        vfs: don't evict uninitialized inode
        jfs: switch to discard_new_inode()
        ext2: make sure that partially set up inodes won't be returned by ext2_iget()
        udf: switch to discard_new_inode()
        ufs: switch to discard_new_inode()
        btrfs: switch to discard_new_inode()
        new primitive: discard_new_inode()
        kill d_instantiate_no_diralias()
        nfs_instantiate(): prevent multiple aliases for directory inode
      0ea97a2d
    • Linus Torvalds's avatar
      Merge branch 'work.open3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · a66b4cd1
      Linus Torvalds authored
      Pull vfs open-related updates from Al Viro:
      
       - "do we need fput() or put_filp()" rules are gone - it's always fput()
         now. We keep track of that state where it belongs - in ->f_mode.
      
       - int *opened mess killed - in finish_open(), in ->atomic_open()
         instances and in fs/namei.c code around do_last()/lookup_open()/atomic_open().
      
       - alloc_file() wrappers with saner calling conventions are introduced
         (alloc_file_clone() and alloc_file_pseudo()); callers converted, with
         much simplification.
      
       - while we are at it, saner calling conventions for path_init() and
         link_path_walk(), simplifying things inside fs/namei.c (both on
         open-related paths and elsewhere).
      
      * 'work.open3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (40 commits)
        few more cleanups of link_path_walk() callers
        allow link_path_walk() to take ERR_PTR()
        make path_init() unconditionally paired with terminate_walk()
        document alloc_file() changes
        make alloc_file() static
        do_shmat(): grab shp->shm_file earlier, switch to alloc_file_clone()
        new helper: alloc_file_clone()
        create_pipe_files(): switch the first allocation to alloc_file_pseudo()
        anon_inode_getfile(): switch to alloc_file_pseudo()
        hugetlb_file_setup(): switch to alloc_file_pseudo()
        ocxlflash_getfile(): switch to alloc_file_pseudo()
        cxl_getfile(): switch to alloc_file_pseudo()
        ... and switch shmem_file_setup() to alloc_file_pseudo()
        __shmem_file_setup(): reorder allocations
        new wrapper: alloc_file_pseudo()
        kill FILE_{CREATED,OPENED}
        switch atomic_open() and lookup_open() to returning 0 in all success cases
        document ->atomic_open() changes
        ->atomic_open(): return 0 in all success cases
        get rid of 'opened' in path_openat() and the helpers downstream
        ...
      a66b4cd1
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.19-rc1' of... · b1652846
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
      
       - new driver for NPCM7xx PWM and Fan controller
      
       - new driver for Mellanox FAN controller
      
       - add support for MAX34451 to max34440 driver
      
       - add support for new Threadripper variants to k10temp driver
      
       - add error handling to adt7475 driver
      
       - cleanup nct6775 and nct7904 drivers
      
       - document sensor enable ABI attributes
      
      * tag 'hwmon-for-linus-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (adt7475) Change show functions to return error data correctly
        hwmon: (adt7475) Change update functions to add error handling
        hwmon: (adt7475) Change valid parameter to bool type
        hwmon: (adt7475) Split device update function to measure and limits
        hwmon: k10temp: Support Threadripper 2920X, 2970WX; simplify offset table
        hwmon: (k10temp) 27C Offset needed for Threadripper2
        hwmon: (iio_hwmon) Use devm functions
        hwmon: Add NPCM7xx PWM and Fan driver
        dt-binding: hwmon: Add NPCM7xx PWM and Fan controller documentation
        hwmon: (pmbus/max34440) Add support for MAX34451.
        hwmon: Document the sensor enable attribute
        hwmon: (mlxreg-fan) Add support for Mellanox FAN driver
        hwmon: Mark expected switch fall-throughs
        hwmon: (nct6775) Fix comment in the description of pwm_mode
        hwmon: (nct7904) Fix UNSPECIFIED_INT warning
        hwmon: (nct7904) Fix CODE_INDENT error
        hwmon: (nct7904) Fix SPACING errors
      b1652846
    • Linus Torvalds's avatar
      Merge tag 'mips_4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · e5a32b5b
      Linus Torvalds authored
      Pull MIPS updates from Paul Burton:
       "Here are the main MIPS changes for 4.19.
      
        An overview of the general architecture changes:
      
         - Massive DMA ops refactoring from Christoph Hellwig (huzzah for
           deleting crufty code!).
      
         - We introduce NT_MIPS_DSP & NT_MIPS_FP_MODE ELF notes &
           corresponding regsets to expose DSP ASE & floating point mode state
           respectively, both for live debugging & core dumps.
      
         - We better optimize our code by hard-coding cpu_has_* macros at
           compile time where their values are known due to the ISA revision
           that the kernel build is targeting.
      
         - The EJTAG exception handler now better handles SMP systems, where
           it was previously possible for CPUs to clobber a register value
           saved by another CPU.
      
         - Our implementation of memset() gained a couple of fixes for MIPSr6
           systems to return correct values in some cases where stores fault.
      
         - We now implement ioremap_wc() using the uncached-accelerated cache
           coherency attribute where supported, which is detected during boot,
           and fall back to plain uncached access where necessary. The
           MIPS-specific (and unused in tree) ioremap_uncached_accelerated() &
           ioremap_cacheable_cow() are removed.
      
         - The prctl(PR_SET_FP_MODE, ...) syscall is better supported for SMP
           systems by reworking the way we ensure remote CPUs that may be
           running threads within the affected process switch mode.
      
         - Systems using the MIPS Coherence Manager will now set the
           MIPS_IC_SNOOPS_REMOTE flag to avoid some unnecessary cache
           maintenance overhead when flushing the icache.
      
         - A few fixes were made for building with clang/LLVM, which now
           sucessfully builds kernels for many of our platforms.
      
         - Miscellaneous cleanups all over.
      
        And some platform-specific changes:
      
         - ar7 gained stubs for a few clock API functions to fix build
           failures for some drivers.
      
         - ath79 gained support for a few new SoCs, a few fixes & better
           gpio-keys support.
      
         - Ci20 now exposes its SPI bus using the spi-gpio driver.
      
         - The generic platform can now auto-detect a suitable value for
           PHYS_OFFSET based upon the memory map described by the device tree,
           allowing us to avoid wasting memory on page book-keeping for
           systems where RAM starts at a non-zero physical address.
      
         - Ingenic systems using the jz4740 platform code now link their
           vmlinuz higher to allow for kernels of a realistic size.
      
         - Loongson32 now builds the kernel targeting MIPSr1 rather than
           MIPSr2 to avoid CPU errata.
      
         - Loongson64 gains a couple of fixes, a workaround for a write
           buffering issue & support for the Loongson 3A R3.1 CPU.
      
         - Malta now uses the piix4-poweroff driver to handle powering down.
      
         - Microsemi Ocelot gained support for its SPI bus & NOR flash, its
           second MDIO bus and can now be supported by a FIT/.itb image.
      
         - Octeon saw a bunch of header cleanups which remove a lot of
           duplicate or unused code"
      
      * tag 'mips_4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (123 commits)
        MIPS: Remove remnants of UASM_ISA
        MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
        MIPS: VDSO: Force link endianness
        MIPS: Always specify -EB or -EL when using clang
        MIPS: Use dins to simplify __write_64bit_c0_split()
        MIPS: Use read-write output operand in __write_64bit_c0_split()
        MIPS: Avoid using array as parameter to write_c0_kpgd()
        MIPS: vdso: Allow clang's --target flag in VDSO cflags
        MIPS: genvdso: Remove GOT checks
        MIPS: Remove obsolete MIPS checks for DST node "chosen@0"
        MIPS: generic: Remove input symbols from defconfig
        MIPS: Delete unused code in linux32.c
        MIPS: Remove unused sys_32_mmap2
        MIPS: Remove nabi_no_regargs
        mips: dts: mscc: enable spi and NOR flash support on ocelot PCB123
        mips: dts: mscc: Add spi on Ocelot
        MIPS: Loongson: Merge load addresses
        MIPS: Loongson: Set Loongson32 to MIPS32R1
        MIPS: mscc: ocelot: add interrupt controller properties to GPIO controller
        MIPS: generic: Select MIPS_AUTO_PFN_OFFSET
        ...
      e5a32b5b
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 2280a536
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
      
       - parisc now uses the generic dma_noncoherent_ops implementation
         (Christoph Hellwig)
      
       - further memory barrier and spinlock improvements (John David Anglin)
      
       - prepare removal of current_text_addr() functions (Nick Desaulniers)
      
       - improve kernel stack unwinding on parisc (me)
      
       - drop ENOTSUP which was defined on parisc only (me)
      
      * 'parisc-4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix and improve kernel stack unwinding
        parisc: Remove unnecessary barriers from spinlock.h
        parisc: Remove ordered stores from syscall.S
        parisc: prefer _THIS_IP_ and _RET_IP_ statement expressions
        parisc: Add HAVE_REGS_AND_STACK_ACCESS_API feature
        parisc: Drop architecture-specific ENOTSUP define
        parisc: use generic dma_noncoherent_ops
        parisc: always use flush_kernel_dcache_range for DMA cache maintainance
        parisc: merge pcx_dma_ops and pcxl_dma_ops
      2280a536
    • Linus Torvalds's avatar
      Merge branch 'clkdev' of git://git.armlinux.org.uk/~rmk/linux-arm · c2d9f5bc
      Linus Torvalds authored
      Pull ARM clkdev updates from Russell King:
       "A couple of cleanups for clkdev"
      
      * 'clkdev' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8778/1: clkdev: don't call __of_clk_get_by_name() unnecessarily from clk_get()
        ARM: 8776/1: clkdev: Remove duplicated negative index check from __of_clk_get()
      c2d9f5bc
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 9b27efe0
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - further Spectre variant 1 fixes for user accessors.
      
       - kbuild cleanups (Masahiro Yamada)
      
       - hook up sync core functionality (Will Deacon)
      
       - nommu updates for hypervisor mode booting (Vladimir Murzin)
      
       - use compiler built-ins for fls and ffs (Nicolas Pitre)
      
      * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: spectre-v1: mitigate user accesses
        ARM: spectre-v1: use get_user() for __get_user()
        ARM: use __inttype() in get_user()
        ARM: oabi-compat: copy semops using __copy_from_user()
        ARM: vfp: use __copy_from_user() when restoring VFP state
        ARM: 8785/1: use compiler built-ins for ffs and fls
        ARM: 8784/1: NOMMU: Allow enter in Hyp mode
        ARM: 8783/1: NOMMU: Extend check for VBAR support
        ARM: 8782/1: vfp: clean up arch/arm/vfp/Makefile
        ARM: signal: copy registers using __copy_from_user()
        ARM: tcm: ensure inline stub functions are marked static
        ARM: 8779/1: add endianness option to LDFLAGS instead of LD
        ARM: 8777/1: Hook up SYNC_CORE functionality for sys_membarrier()
      9b27efe0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 85a0b791
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
       "Since Martin is on vacation you get the s390 pull request from me:
      
         - Host large page support for KVM guests. As the patches have large
           impact on arch/s390/mm/ this series goes out via both the KVM and
           the s390 tree.
      
         - Add an option for no compression to the "Kernel compression mode"
           menu, this will come in handy with the rework of the early boot
           code.
      
         - A large rework of the early boot code that will make life easier
           for KASAN and KASLR. With the rework the bootable uncompressed
           image is not generated anymore, only the bzImage is available. For
           debuggung purposes the new "no compression" option is used.
      
         - Re-enable the gcc plugins as the issue with the latent entropy
           plugin is solved with the early boot code rework.
      
         - More spectre relates changes:
            + Detect the etoken facility and remove expolines automatically.
            + Add expolines to a few more indirect branches.
      
         - A rewrite of the common I/O layer trace points to make them
           consumable by 'perf stat'.
      
         - Add support for format-3 PCI function measurement blocks.
      
         - Changes for the zcrypt driver:
            + Add attributes to indicate the load of cards and queues.
            + Restructure some code for the upcoming AP device support in KVM.
      
         - Build flags improvements in various Makefiles.
      
         - A few fixes for the kdump support.
      
         - A couple of patches for gcc 8 compile warning cleanup.
      
         - Cleanup s390 specific proc handlers.
      
         - Add s390 support to the restartable sequence self tests.
      
         - Some PTR_RET vs PTR_ERR_OR_ZERO cleanup.
      
         - Lots of bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (107 commits)
        s390/dasd: fix hanging offline processing due to canceled worker
        s390/dasd: fix panic for failed online processing
        s390/mm: fix addressing exception after suspend/resume
        rseq/selftests: add s390 support
        s390: fix br_r1_trampoline for machines without exrl
        s390/lib: use expoline for all bcr instructions
        s390/numa: move initial setup of node_to_cpumask_map
        s390/kdump: Fix elfcorehdr size calculation
        s390/cpum_sf: save TOD clock base in SDBs for time conversion
        KVM: s390: Add huge page enablement control
        s390/mm: Add huge page gmap linking support
        s390/mm: hugetlb pages within a gmap can not be freed
        KVM: s390: Add skey emulation fault handling
        s390/mm: Add huge pmd storage key handling
        s390/mm: Clear skeys for newly mapped huge guest pmds
        s390/mm: Clear huge page storage keys on enable_skey
        s390/mm: Add huge page dirty sync support
        s390/mm: Add gmap pmd invalidation and clearing
        s390/mm: Add gmap pmd notification bit setting
        s390/mm: Add gmap pmd linking
        ...
      85a0b791
    • Linus Torvalds's avatar
      Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 13e091b6
      Linus Torvalds authored
      Pull x86 timer updates from Thomas Gleixner:
       "Early TSC based time stamping to allow better boot time analysis.
      
        This comes with a general cleanup of the TSC calibration code which
        grew warts and duct taping over the years and removes 250 lines of
        code. Initiated and mostly implemented by Pavel with help from various
        folks"
      
      * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        x86/kvmclock: Mark kvm_get_preset_lpj() as __init
        x86/tsc: Consolidate init code
        sched/clock: Disable interrupts when calling generic_sched_clock_init()
        timekeeping: Prevent false warning when persistent clock is not available
        sched/clock: Close a hole in sched_clock_init()
        x86/tsc: Make use of tsc_calibrate_cpu_early()
        x86/tsc: Split native_calibrate_cpu() into early and late parts
        sched/clock: Use static key for sched_clock_running
        sched/clock: Enable sched clock early
        sched/clock: Move sched clock initialization and merge with generic clock
        x86/tsc: Use TSC as sched clock early
        x86/tsc: Initialize cyc2ns when tsc frequency is determined
        x86/tsc: Calibrate tsc only once
        ARM/time: Remove read_boot_clock64()
        s390/time: Remove read_boot_clock64()
        timekeeping: Default boot time offset to local_clock()
        timekeeping: Replace read_boot_clock64() with read_persistent_wall_and_boot_offset()
        s390/time: Add read_persistent_wall_and_boot_offset()
        x86/xen/time: Output xen sched_clock time from 0
        x86/xen/time: Initialize pv xen time in init_hypervisor_platform()
        ...
      13e091b6
    • Linus Torvalds's avatar
      Merge branch 'x86/pti' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · eac34119
      Linus Torvalds authored
      Pull x86 PTI updates from Thomas Gleixner:
       "The Speck brigade sadly provides yet another large set of patches
        destroying the perfomance which we carefully built and preserved
      
         - PTI support for 32bit PAE. The missing counter part to the 64bit
           PTI code implemented by Joerg.
      
         - A set of fixes for the Global Bit mechanics for non PCID CPUs which
           were setting the Global Bit too widely and therefore possibly
           exposing interesting memory needlessly.
      
         - Protection against userspace-userspace SpectreRSB
      
         - Support for the upcoming Enhanced IBRS mode, which is preferred
           over IBRS. Unfortunately we dont know the performance impact of
           this, but it's expected to be less horrible than the IBRS
           hammering.
      
         - Cleanups and simplifications"
      
      * 'x86/pti' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
        x86/mm/pti: Move user W+X check into pti_finalize()
        x86/relocs: Add __end_rodata_aligned to S_REL
        x86/mm/pti: Clone kernel-image on PTE level for 32 bit
        x86/mm/pti: Don't clear permissions in pti_clone_pmd()
        x86/mm/pti: Fix 32 bit PCID check
        x86/mm/init: Remove freed kernel image areas from alias mapping
        x86/mm/init: Add helper for freeing kernel image pages
        x86/mm/init: Pass unconverted symbol addresses to free_init_pages()
        mm: Allow non-direct-map arguments to free_reserved_area()
        x86/mm/pti: Clear Global bit more aggressively
        x86/speculation: Support Enhanced IBRS on future CPUs
        x86/speculation: Protect against userspace-userspace spectreRSB
        x86/kexec: Allocate 8k PGDs for PTI
        Revert "perf/core: Make sure the ring-buffer is mapped in all page-tables"
        x86/mm: Remove in_nmi() warning from vmalloc_fault()
        x86/entry/32: Check for VM86 mode in slow-path check
        perf/core: Make sure the ring-buffer is mapped in all page-tables
        x86/pti: Check the return value of pti_user_pagetable_walk_pmd()
        x86/pti: Check the return value of pti_user_pagetable_walk_p4d()
        x86/entry/32: Add debug code to check entry/exit CR3
        ...
      eac34119
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d191c82d
      Linus Torvalds authored
      Pull x86 vdso update from Thomas Gleixner:
       "Use LD to link the VDSO libs instead of indirecting trough CC which
        causes build failures with Clang"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: vdso: Use $LD instead of $CC to link
      d191c82d
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4d5ac4b8
      Linus Torvalds authored
      Pull misc x86 fixes from Thomas Gleixner:
       "Two fixes for x86:
      
         - Provide a declaration for native_save_fl() which unbreaks the
           wreckage caused by making it 'extern inline'.
      
         - Fix the failing paravirt patching which is supposed to replace
           indirect with direct calls. The wreckage is caused by an incorrect
           clobber test"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/paravirt: Fix spectre-v2 mitigations for paravirt guests
        x86/irqflags: Provide a declaration for native_save_fl
      4d5ac4b8
  2. 13 Aug, 2018 10 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 203b4fc9
      Linus Torvalds authored
      Pull x86 mm updates from Thomas Gleixner:
      
       - Make lazy TLB mode even lazier to avoid pointless switch_mm()
         operations, which reduces CPU load by 1-2% for memcache workloads
      
       - Small cleanups and improvements all over the place
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Remove redundant check for kmem_cache_create()
        arm/asm/tlb.h: Fix build error implicit func declaration
        x86/mm/tlb: Make clear_asid_other() static
        x86/mm/tlb: Skip atomic operations for 'init_mm' in switch_mm_irqs_off()
        x86/mm/tlb: Always use lazy TLB mode
        x86/mm/tlb: Only send page table free TLB flush to lazy TLB CPUs
        x86/mm/tlb: Make lazy TLB mode lazier
        x86/mm/tlb: Restructure switch_mm_irqs_off()
        x86/mm/tlb: Leave lazy TLB mode at page table free time
        mm: Allocate the mm_cpumask (mm->cpu_bitmap[]) dynamically based on nr_cpu_ids
        x86/mm: Add TLB purge to free pmd/pte page interfaces
        ioremap: Update pgtable free interfaces with addr
        x86/mm: Disable ioremap free page handling on x86-PAE
      203b4fc9
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7edcf0d3
      Linus Torvalds authored
      Pull x86 platform updates from Thomas Gleixner:
       "Trivial cleanups and improvements"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/UV: Remove redundant check of p == q
        x86/platform/olpc: Use PTR_ERR_OR_ZERO()
        x86/platform/UV: Mark memblock related init code and data correctly
      7edcf0d3
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 30de24c7
      Linus Torvalds authored
      Pull x86 cache QoS (RDT/CAR) updates from Thomas Gleixner:
       "Add support for pseudo-locked cache regions.
      
        Cache Allocation Technology (CAT) allows on certain CPUs to isolate a
        region of cache and 'lock' it. Cache pseudo-locking builds on the fact
        that a CPU can still read and write data pre-allocated outside its
        current allocated area on cache hit. With cache pseudo-locking data
        can be preloaded into a reserved portion of cache that no application
        can fill, and from that point on will only serve cache hits. The cache
        pseudo-locked memory is made accessible to user space where an
        application can map it into its virtual address space and thus have a
        region of memory with reduced average read latency.
      
        The locking is not perfect and gets totally screwed by WBINDV and
        similar mechanisms, but it provides a reasonable enhancement for
        certain types of latency sensitive applications.
      
        The implementation extends the current CAT mechanism and provides a
        generally useful exclusive CAT mode on which it builds the extra
        pseude-locked regions"
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)
        x86/intel_rdt: Disable PMU access
        x86/intel_rdt: Fix possible circular lock dependency
        x86/intel_rdt: Make CPU information accessible for pseudo-locked regions
        x86/intel_rdt: Support restoration of subset of permissions
        x86/intel_rdt: Fix cleanup of plr structure on error
        x86/intel_rdt: Move pseudo_lock_region_clear()
        x86/intel_rdt: Limit C-states dynamically when pseudo-locking active
        x86/intel_rdt: Support L3 cache performance event of Broadwell
        x86/intel_rdt: More precise L2 hit/miss measurements
        x86/intel_rdt: Create character device exposing pseudo-locked region
        x86/intel_rdt: Create debugfs files for pseudo-locking testing
        x86/intel_rdt: Create resctrl debug area
        x86/intel_rdt: Ensure RDT cleanup on exit
        x86/intel_rdt: Resctrl files reflect pseudo-locked information
        x86/intel_rdt: Support creation/removal of pseudo-locked region
        x86/intel_rdt: Pseudo-lock region creation/removal core
        x86/intel_rdt: Discover supported platforms via prefetch disable bits
        x86/intel_rdt: Add utilities to test pseudo-locked region possibility
        x86/intel_rdt: Split resource group removal in two
        x86/intel_rdt: Enable entering of pseudo-locksetup mode
        ...
      30de24c7
    • Linus Torvalds's avatar
      Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4990264
      Linus Torvalds authored
      Pull x86/hyper-v update from Thomas Gleixner:
       "Add fast hypercall support for guest running on the Microsoft HyperV(isor)"
      
      * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hyper-v: Fix wrong merge conflict resolution
        x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others()
        x86/hyper-v: Check cpumask_to_vpset() return value in hyperv_flush_tlb_others_ex()
        x86/hyper-v: Trace PV IPI send
        x86/hyper-v: Use cheaper HVCALL_SEND_IPI hypercall when possible
        x86/hyper-v: Use 'fast' hypercall for HVCALL_SEND_IPI
        x86/hyper-v: Implement hv_do_fast_hypercall16
        x86/hyper-v: Use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible
      f4990264
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 27a52501
      Linus Torvalds authored
      Pull x86 dump printing cleanup from Thomas Gleixner:
       "Clean up the show_opcodes() printout so nested dumps can be properly
        differentiated"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Avoid pr_cont() in show_opcodes()
      27a52501
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 77969161
      Linus Torvalds authored
      Pull x86 cpu updates from Thomas Gleixner:
       "Two small updates for the CPU code:
      
         - Improve NUMA emulation
      
         - Add the EPT_AD CPU feature bit"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpufeatures: Add EPT_AD feature bit
        x86/numa_emulation: Introduce uniform split capability
        x86/numa_emulation: Fix emulated-to-physical node mapping
      77969161
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 36f49ca8
      Linus Torvalds authored
      Pull x86 cleanups from Thomas Gleixner:
       "Trival cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/iommu: Use NULL instead of 0
        x86/platform/pcspeaker: Use PTR_ERR_OR_ZERO() to fix ptr_ret.cocci warning
      36f49ca8
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 00b24d54
      Linus Torvalds authored
      Pull x86 build cleanup from Thomas Gleixner:
       "Remove a stale quirk for a no longer supported GCC version"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Remove old -funit-at-a-time GCC quirk
      00b24d54
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f24d6f26
      Linus Torvalds authored
      Pull x86 asm updates from Thomas Gleixner:
       "The lowlevel and ASM code updates for x86:
      
         - Make stack trace unwinding more reliable
      
         - ASM instruction updates for better code generation
      
         - Various cleanups"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/entry/64: Add two more instruction suffixes
        x86/asm/64: Use 32-bit XOR to zero registers
        x86/build/vdso: Simplify 'cmd_vdso2c'
        x86/build/vdso: Remove unused vdso-syms.lds
        x86/stacktrace: Enable HAVE_RELIABLE_STACKTRACE for the ORC unwinder
        x86/unwind/orc: Detect the end of the stack
        x86/stacktrace: Do not fail for ORC with regs on stack
        x86/stacktrace: Clarify the reliable success paths
        x86/stacktrace: Remove STACKTRACE_DUMP_ONCE
        x86/stacktrace: Do not unwind after user regs
        x86/asm: Use CC_SET/CC_OUT in percpu_cmpxchg8b_double() to micro-optimize code generation
      f24d6f26
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b9b8e5b7
      Linus Torvalds authored
      Pull x86 boot updates from Thomas Gleixner:
       "Boot code updates for x86:
      
         - Allow to skip a given amount of huge pages for address layout
           randomization on the kernel command line to prevent regressions in
           the huge page allocation with small memory sizes
      
         - Various cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Use CC_SET()/CC_OUT() instead of open coding it
        x86/boot/KASLR: Make local variable mem_limit static
        x86/boot/KASLR: Skip specified number of 1GB huge pages when doing physical randomization (KASLR)
        x86/boot/KASLR: Add two new functions for 1GB huge pages handling
      b9b8e5b7