1. 14 Aug, 2018 13 commits
    • 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 27 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
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 66e22087
      Linus Torvalds authored
      Pull x86 apic update from Thomas Gleixner:
       "Trivial cleanups of the APIC related code"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Trivial coding style fixes
        x86/vector: Merge allocate_vector() into assign_vector_locked()
      66e22087
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1e45e9a9
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "The timers departement more or less proudly presents:
      
         - More Y2038 timekeeping work mostly in the core code. The work is
           slowly, but steadily targeting the actuall syscalls.
      
         - Enhanced timekeeping suspend/resume support by utilizing
           clocksources which do not stop during suspend, but are otherwise
           not the main timekeeping clocksources.
      
         - Make NTP adjustmets more accurate and immediate when the frequency
           is set directly and not incrementally.
      
         - Sanitize the overrung handing of posix timers
      
         - A new timer driver for Mediatek SoCs
      
         - The usual pile of fixes and updates all over the place"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
        clockevents: Warn if cpu_all_mask is used as cpumask
        tick/broadcast-hrtimer: Use cpu_possible_mask for ce_broadcast_hrtimer
        clocksource/drivers/arm_arch_timer: Fix bogus cpu_all_mask usage
        clocksource: ti-32k: Remove CLOCK_SOURCE_SUSPEND_NONSTOP flag
        timers: Clear timer_base::must_forward_clk with timer_base::lock held
        clocksource/drivers/sprd: Register one always-on timer to compensate suspend time
        clocksource/drivers/timer-mediatek: Add support for system timer
        clocksource/drivers/timer-mediatek: Convert the driver to timer-of
        clocksource/drivers/timer-mediatek: Use specific prefix for GPT
        clocksource/drivers/timer-mediatek: Rename mtk_timer to timer-mediatek
        clocksource/drivers/timer-mediatek: Add system timer bindings
        clocksource/drivers: Set clockevent device cpumask to cpu_possible_mask
        time: Introduce one suspend clocksource to compensate the suspend time
        time: Fix extra sleeptime injection when suspend fails
        timekeeping/ntp: Constify some function arguments
        ntp: Use kstrtos64 for s64 variable
        ntp: Remove redundant arguments
        timer: Fix coding style
        ktime: Provide typesafe ktime_to_ns()
        hrtimer: Improve kernel message printing
        ...
      1e45e9a9
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8603596a
      Linus Torvalds authored
      Pull perf update from Thomas Gleixner:
       "The perf crowd presents:
      
        Kernel updates:
      
         - Removal of jprobes
      
         - Cleanup and consolidatation the handling of kprobes
      
         - Cleanup and consolidation of hardware breakpoints
      
         - The usual pile of fixes and updates to PMUs and event descriptors
      
        Tooling updates:
      
         - Updates and improvements all over the place. Nothing outstanding,
           just the (good) boring incremental grump work"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (103 commits)
        perf trace: Do not require --no-syscalls to suppress strace like output
        perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h
        perf tools: Allow overriding MAX_NR_CPUS at compile time
        perf bpf: Show better message when failing to load an object
        perf list: Unify metric group description format with PMU event description
        perf vendor events arm64: Update ThunderX2 implementation defined pmu core events
        perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet
        perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet
        perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet
        perf cs-etm: Fix start tracing packet handling
        perf build: Fix installation directory for eBPF
        perf c2c report: Fix crash for empty browser
        perf tests: Fix indexing when invoking subtests
        perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args
        perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg
        perf trace beauty: Do not print NULL strarray entries
        perf beauty: Add a generator for IPPROTO_ socket's protocol constants
        tools include uapi: Grab a copy of linux/in.h
        perf tests: Fix complex event name parsing
        perf evlist: Fix error out while applying initial delay and LBR
        ...
      8603596a
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · de5d1b39
      Linus Torvalds authored
      Pull locking/atomics update from Thomas Gleixner:
       "The locking, atomics and memory model brains delivered:
      
         - A larger update to the atomics code which reworks the ordering
           barriers, consolidates the atomic primitives, provides the new
           atomic64_fetch_add_unless() primitive and cleans up the include
           hell.
      
         - Simplify cmpxchg() instrumentation and add instrumentation for
           xchg() and cmpxchg_double().
      
         - Updates to the memory model and documentation"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)
        locking/atomics: Rework ordering barriers
        locking/atomics: Instrument cmpxchg_double*()
        locking/atomics: Instrument xchg()
        locking/atomics: Simplify cmpxchg() instrumentation
        locking/atomics/x86: Reduce arch_cmpxchg64*() instrumentation
        tools/memory-model: Rename litmus tests to comply to norm7
        tools/memory-model/Documentation: Fix typo, smb->smp
        sched/Documentation: Update wake_up() & co. memory-barrier guarantees
        locking/spinlock, sched/core: Clarify requirements for smp_mb__after_spinlock()
        sched/core: Use smp_mb() in wake_woken_function()
        tools/memory-model: Add informal LKMM documentation to MAINTAINERS
        locking/atomics/Documentation: Describe atomic_set() as a write operation
        tools/memory-model: Make scripts executable
        tools/memory-model: Remove ACCESS_ONCE() from model
        tools/memory-model: Remove ACCESS_ONCE() from recipes
        locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
        MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
        tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
        tools/memory-model: Add litmus test for full multicopy atomicity
        locking/refcount: Always allow checked forms
        ...
      de5d1b39
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1c594774
      Linus Torvalds authored
      Pull CPU hotplug update from Thomas Gleixner:
       "A trivial name fix for the hotplug state machine"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cpu/hotplug: Clarify CPU hotplug step name for timers
      1c594774
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7951c33
      Linus Torvalds authored
      Pull scheduler updates from Thomas Gleixner:
      
       - Cleanup and improvement of NUMA balancing
      
       - Refactoring and improvements to the PELT (Per Entity Load Tracking)
         code
      
       - Watchdog simplification and related cleanups
      
       - The usual pile of small incremental fixes and improvements
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
        watchdog: Reduce message verbosity
        stop_machine: Reflow cpu_stop_queue_two_works()
        sched/numa: Move task_numa_placement() closer to numa_migrate_preferred()
        sched/numa: Use group_weights to identify if migration degrades locality
        sched/numa: Update the scan period without holding the numa_group lock
        sched/numa: Remove numa_has_capacity()
        sched/numa: Modify migrate_swap() to accept additional parameters
        sched/numa: Remove unused task_capacity from 'struct numa_stats'
        sched/numa: Skip nodes that are at 'hoplimit'
        sched/debug: Reverse the order of printing faults
        sched/numa: Use task faults only if numa_group is not yet set up
        sched/numa: Set preferred_node based on best_cpu
        sched/numa: Simplify load_too_imbalanced()
        sched/numa: Evaluate move once per node
        sched/numa: Remove redundant field
        sched/debug: Show the sum wait time of a task group
        sched/fair: Remove #ifdefs from scale_rt_capacity()
        sched/core: Remove get_cpu() from sched_fork()
        sched/cpufreq: Clarify sugov_get_util()
        sched/sysctl: Remove unused sched_time_avg_ms sysctl
        ...
      f7951c33
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2406fb8d
      Linus Torvalds authored
      Pull scheduler fix from Thomas Gleixner:
       "A single bugfix to prevent a pinned thread which queues stomp machine
        work to be preempted by the stopper thread on its CPU which causes a
        live lock as it is unable to wake the second CPUs stopper thread"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        stop_machine: Atomically queue and wake stopper threads
      2406fb8d
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 37a16046
      Linus Torvalds authored
      Pull x86 RAS updates from Thomas Gleixner:
       "A small set of changes to the RAS core:
      
         - Rework of the MCE bank scanning code
      
         - Y2038 converion"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Cleanup __mc_scan_banks()
        x86/mce: Carve out bank scanning code
        x86/mce: Remove !banks check
        x86/mce: Carve out the crashing_cpu check
        x86/mce: Always use 64-bit timestamps
      37a16046
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b99cdfdf
      Linus Torvalds authored
      Pull RCU updates from Thomas Gleixner:
       "A large update to RCU:
      
        Preparatory work for consolidating the RCU flavors:
      
         - Introduce grace-period sequence numbers to the RCU-bh, RCU-preempt,
           and RCU-sched flavors, replacing the old ->gpnum and ->completed
           pair of fields.
      
           This change allows lockless code to obtain the complete
           grace-period state with a single READ_ONCE(), which is needed to
           maintain tolerable lock contention during the upcoming
           consolidation of the three RCU flavors.
      
           Note that grace-period sequence numbers are already used by
           rcu_barrier(), expedited RCU grace periods, and SRCU, and are thus
           already heavily used and well-tested. Joel Fernandes contributed a
           number of excellent fixes and improvements.
      
         - Clean up some grace-period-reporting loose ends, including
           improving the handling of quiescent states from offline CPUs and
           fixing some false-positive WARN_ON_ONCE() invocations.
      
           (Strictly speaking, the WARN_ON_ONCE() invocations were quite
           correct, but their invariants were (harmlessly) violated by the
           earlier sloppy handling of quiescent states from offline CPUs.)
      
           In addition, improve grace-period forward-progress guarantees so as
           to allow removal of fail-safe checks that required otherwise
           needless lock acquisitions. Finally, add more diagnostics to help
           debug the upcoming consolidation of the RCU-bh, RCU-preempt, and
           RCU-sched flavors.
      
        The rest:
      
         - SRCU updates
      
         - Updates to rcutorture and associated scripting.
      
         - The usual pile of miscellaneous fixes"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (118 commits)
        rcutorture: Fix rcu_barrier successes counter
        rcutorture: Add support to detect if boost kthread prio is too low
        rcutorture: Use monotonic timestamp for stall detection
        rcutorture: Make boost test more robust
        rcutorture: Disable RT throttling for boost tests
        rcutorture: Emphasize testing of single reader protection type
        rcutorture: Handle extended read-side critical sections
        rcutorture: Make rcu_torture_timer() use rcu_torture_one_read()
        rcutorture: Use per-CPU random state for rcu_torture_timer()
        rcutorture: Use atomic increment for n_rcu_torture_timers
        rcutorture: Extract common code from rcu_torture_reader()
        rcuperf: Remove unused torturing_tasks() function
        rcu: Remove rcutorture test version and sequence number
        rcutorture: Change units of onoff_interval to jiffies
        rcu: Assign higher prio to RCU threads if rcutorture is built-in
        rculist: Improve documentation for list_for_each_entry_from_rcu()
        srcu: Add grace-period number to rcutorture statistics printout
        rcu: Print stall-warning NMI dyntick state in hexadecimal
        MAINTAINERS: Update RCU, SRCU, and TORTURE-TEST entries
        rcu: Make rcu_seq_diff() more exact
        ...
      b99cdfdf
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d0daaeaf
      Linus Torvalds authored
      Pull genirq updates from Thomas Gleixner:
       "The irq departement provides:
      
         - A synchronization fix for free_irq() to synchronize just the
           removed interrupt thread on shared interrupt lines.
      
         - Consolidate the multi low level interrupt entry handling and mvoe
           it to the generic code instead of adding yet another copy for
           RISC-V
      
         - Refactoring of the ARM LPI allocator and LPI exposure to the
           hypervisor
      
         - Yet another interrupt chip driver for the JZ4725B SoC
      
         - Speed up for /proc/interrupts as people seem to love reading this
           file with high frequency
      
         - Miscellaneous fixes and updates"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        irqchip/gic-v3-its: Make its_lock a raw_spin_lock_t
        genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete
        openrisc: Use the new GENERIC_IRQ_MULTI_HANDLER
        arm64: Use the new GENERIC_IRQ_MULTI_HANDLER
        ARM: Convert to GENERIC_IRQ_MULTI_HANDLER
        irqchip: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER
        irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices
        dt-bindings: irqchip: renesas-irqc: Document r8a77980 support
        dt-bindings: irqchip: renesas-irqc: Document r8a77470 support
        irqchip/ingenic: Add support for the JZ4725B SoC
        irqchip/stm32: Add exti0 translation for stm32mp1
        genirq: Remove redundant NULL pointer check in __free_irq()
        irqchip/gic-v3-its: Honor hypervisor enforced LPI range
        irqchip/gic-v3: Expose GICD_TYPER in the rdist structure
        irqchip/gic-v3-its: Drop chunk allocation compatibility
        irqchip/gic-v3-its: Move minimum LPI requirements to individual busses
        irqchip/gic-v3-its: Use full range of LPIs
        irqchip/gic-v3-its: Refactor LPI allocator
        genirq: Synchronize only with single thread on free_irq()
        genirq: Update code comments wrt recycled thread_mask
        ...
      d0daaeaf
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 40043927
      Linus Torvalds authored
      Pull EFI updates from Thomas Gleixner:
       "The EFI pile:
      
         - Make mixed mode UEFI runtime service invocations mutually
           exclusive, as mandated by the UEFI spec
      
         - Perform UEFI runtime services calls from a work queue so the calls
           into the firmware occur from a kernel thread
      
         - Honor the UEFI memory map attributes for live memory regions
           configured by UEFI as a framebuffer. This works around a coherency
           problem with KVM guests running on ARM.
      
         - Cleanups, improvements and fixes all over the place"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efivars: Call guid_parse() against guid_t type of variable
        efi/cper: Use consistent types for UUIDs
        efi/x86: Replace references to efi_early->is64 with efi_is_64bit()
        efi: Deduplicate efi_open_volume()
        efi/x86: Add missing NULL initialization in UGA draw protocol discovery
        efi/x86: Merge 32-bit and 64-bit UGA draw protocol setup routines
        efi/x86: Align efi_uga_draw_protocol typedef names to convention
        efi/x86: Merge the setup_efi_pci32() and setup_efi_pci64() routines
        efi/x86: Prevent reentrant firmware calls in mixed mode
        efi/esrt: Only call efi_mem_reserve() for boot services memory
        fbdev/efifb: Honour UEFI memory map attributes when mapping the FB
        efi: Drop type and attribute checks in efi_mem_desc_lookup()
        efi/libstub/arm: Add opt-in Kconfig option for the DTB loader
        efi: Remove the declaration of efi_late_init() as the function is unused
        efi/cper: Avoid using get_seconds()
        efi: Use a work queue to invoke EFI Runtime Services
        efi/x86: Use non-blocking SetVariable() for efi_delete_dummy_variable()
        efi/x86: Clean up the eboot code
      40043927
    • Linus Torvalds's avatar
      Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0ad6b38a
      Linus Torvalds authored
      Pull debugobjects update from Thomas Gleixner:
       "Two simple updates for the debug objects code:
      
         - Make the stack check warning more informative by adding the object
           and the stack page address to the printout
      
         - Remove a redundant NULL pointer check"
      
      * 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Remove redundant NULL pointer check
        debugobjects: Make stack check warning more informative
      0ad6b38a
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 03e61914
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Enable mac_scsi PDMA on PowerBook 500
      
       - Generic dma_noncoherent_ops conversion
      
       - Time handling improvements
      
       - I/O accessor improvements
      
       - Conversion to MEMBLOCK and NO_BOOTMEM, to bring m68k in line with
         other mainstream architectures
      
       - Miscellaneous fixes and cleanups
      
       - Defconfig updates
      
      * tag 'm68k-for-v4.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/defconfig: Update defconfigs for v4.18-rc6
        m68k: switch to MEMBLOCK + NO_BOOTMEM
        m68k/page_no.h: force __va argument to be unsigned long
        m68k/bitops: convert __ffs to match generic declaration
        m68k/io: Switch mmu variant to <asm-generic/io.h>
        m68k/io: Move mem*io define guards to <asm/kmap.h>
        Input: hilkbd - Add casts to HP9000/300 I/O accessors
        net: mac8390: Use standard memcpy_{from,to}io()
        m68k/io: Add missing ioremap define guards, fix typo
        m68k: Remove unused set_clock_mmss() helpers
        m68k: mac: Use time64_t in RTC handling
        m68k: Use generic dma_noncoherent_ops
        nubus: Set default dma mask for nubus_board devices
        m68k/mac: Enable PDMA for PowerBook 500 series
      03e61914
    • Russell King's avatar
      Merge branches 'fixes', 'misc' and 'spectre' into for-linus · c61b466d
      Russell King authored
      Conflicts:
      	arch/arm/include/asm/uaccess.h
      Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      c61b466d
    • Bartosz Golaszewski's avatar
      ARM: 8778/1: clkdev: don't call __of_clk_get_by_name() unnecessarily from clk_get() · 53ccb22b
      Bartosz Golaszewski authored
      The way this function is implemented caused some confusion when
      converting the TI DaVinci platform to using the common clock framework.
      
      Current kernel supports booting DaVinci boards both in device tree as
      well as legacy, board-file mode. In the latter, we always end up
      calling clk_get_sys() as of_node is NULL and __of_clk_get_by_name()
      returns -ENOENT.
      
      It was not obvious at first glance how clk_get(dev, NULL) will work in
      board-file mode since we always call __of_clk_get_by_name(). Let's make
      it clearer by checking if of_node is NULL and skipping right to
      clk_get_sys().
      
      Cc: Sekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: David Lechner <david@lechnology.com>
      Reviewed-by: default avatarDavid Lechner <david@lechnology.com>
      Reviewed-by: default avatarSekhar Nori <nsekhar@ti.com>
      Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      53ccb22b
    • Helge Deller's avatar
      parisc: Fix and improve kernel stack unwinding · c8921d72
      Helge Deller authored
      This patchset fixes and improves stack unwinding a lot:
      1. Show backward stack traces with up to 30 callsites
      2. Add callinfo to ENTRY_CFI() such that every assembler function will get an
         entry in the unwind table
      3. Use constants instead of numbers in call_on_stack()
      4. Do not depend on CONFIG_KALLSYMS to generate backtraces.
      5. Speed up backtrace generation
      
      Make sure you have this patch to GNU as installed:
      https://sourceware.org/ml/binutils/2018-07/msg00474.html
      Without this patch, unwind info in the kernel is often wrong for various
      functions.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      c8921d72
    • John David Anglin's avatar
      parisc: Remove unnecessary barriers from spinlock.h · 3b885ac1
      John David Anglin authored
      Now that mb() is an instruction barrier, it will slow performance if we issue
      unnecessary barriers.
      
      The spinlock defines have a number of unnecessary barriers.  The __ldcw()
      define is both a hardware and compiler barrier.  The mb() barriers in the
      routines using __ldcw() serve no purpose.
      
      The only barrier needed is the one in arch_spin_unlock().  We need to ensure
      all accesses are complete prior to releasing the lock.
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Cc: stable@vger.kernel.org # 4.0+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      3b885ac1