1. 06 Jun, 2018 2 commits
    • Robin Murphy's avatar
      ACPICA: IORT: Add PMCG node supprt · a53eaef6
      Robin Murphy authored
      PMCG nodes were added by IORT revision C, with the unfortunate oversight
      that it only defined a single base address, and thus was incapable of
      properly describing PMCG implementations with PMCG_CFGR.RELOC_CTRS = 1,
      where the counters are in a separate page from the control registers.
      
      Revision D corrects this by clarifying the existing field as the page 0
      base address and adding a second field to describe the page 1 address
      when implemented. With the spec now fit for purpose, let's support it.
      Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a53eaef6
    • Robin Murphy's avatar
      ACPICA: IORT: Update for revision D · d87be043
      Robin Murphy authored
      IORT revision D contains a few additions and fixes to
      currently-supported tables:
      
      - SMMUv3 proximity domain field is enlarged to 4 bytes for consistency
        with SRAT
      - Root complex nodes gain an address size limit field equivalent to that
        of named components
      - Named component nodes gain a way to describe PASID (substream_ID)
        support, encoded in their flags
      
      Additionally, we fix a couple of outstanding points in passing:
      - Add the stall support flag for named components defined in revision C
      - Fix SMMUv3 HTTU override mask, which should always have been 2 bits
      Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d87be043
  2. 05 Jun, 2018 22 commits
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f4fe74cc
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to the 20180508 upstream
        revision and make it support the RT patch, add CPPC v3 support to the
        ACPI CPPC library, add a WDAT-based watchdog quirk to prevent clashes
        with the RTC, add quirks to the ACPI AC and battery drivers, and
        update the ACPI SoC drivers.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to the 20180508 upstream
           revision including:
             * iASL -tc option enhancement (Bob Moore).
             * Debugger improvements (Bob Moore).
             * Support for tables larger than 1 MB in acpidump/acpixtract (Bob
               Moore).
             * Minor fixes and cleanups (Colin Ian King, Toomas Soome).
      
         - Make the ACPICA code in the kernel support the RT patch (Sebastian
           Andrzej Siewior, Steven Rostedt).
      
         - Add a kmemleak annotation to the ACPICA code (Larry Finger).
      
         - Add CPPC v3 support to the ACPI CPPC library and fix two issues
           related to CPPC (Prashanth Prakash, Al Stone).
      
         - Add an ACPI WDAT-based watchdog quirk to prefer iTCO_wdt on systems
           where WDAT clashes with the RTC SRAM (Mika Westerberg).
      
         - Add some quirks to the ACPI AC and battery drivers (Carlo Caione,
           Hans de Goede).
      
         - Update the ACPI SoC drivers for Intel (LPSS) and AMD (APD)
           platforms (Akshu Agrawal, Hans de Goede).
      
         - Fix up some assorted minor issues (Al Stone, Laszlo Toth, Mathieu
           Malaterre)"
      
      * tag 'acpi-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
        ACPICA: Mark acpi_ut_create_internal_object_dbg() memory allocations as non-leaks
        ACPI / watchdog: Prefer iTCO_wdt always when WDAT table uses RTC SRAM
        mailbox: PCC: erroneous error message when parsing ACPI PCCT
        ACPICA: Update version to 20180508
        ACPICA: acpidump/acpixtract: Support for tables larger than 1MB
        ACPI: APD: Add AMD misc clock handler support
        clk: x86: Add ST oscout platform clock
        ACPICA: Update version to 20180427
        ACPICA: Debugger: Removed direct support for EC address space in "Test Objects"
        ACPICA: Debugger: Add Package support for "test objects" command
        ACPICA: Improve error messages for the namespace root node
        ACPICA: Fix potential infinite loop in acpi_rs_dump_byte_list
        ACPICA: vsnprintf: this statement may fall through
        ACPICA: Tables: Fix spelling mistake in comment
        ACPICA: iASL: Enhance the -tc option (create AML hex file in C)
        ACPI: Add missing prototype_for arch_post_acpi_subsys_init()
        ACPI / tables: improve comments regarding acpi_parse_entries_array()
        ACPICA: Convert acpi_gbl_hardware lock back to an acpi_raw_spinlock
        ACPICA: provide abstraction for raw_spinlock_t
        ACPI / CPPC: Fix invalid PCC channel status errors
        ...
      f4fe74cc
    • Linus Torvalds's avatar
      Merge tag 'pm-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3c89adb0
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These include a significant update of the generic power domains
        (genpd) and Operating Performance Points (OPP) frameworks, mostly
        related to the introduction of power domain performance levels,
        cpufreq updates (new driver for Qualcomm Kryo processors, updates of
        the existing drivers, some core fixes, schedutil governor
        improvements), PCI power management fixes, ACPI workaround for
        EC-based wakeup events handling on resume from suspend-to-idle, and
        major updates of the turbostat and pm-graph utilities.
      
        Specifics:
      
         - Introduce power domain performance levels into the the generic
           power domains (genpd) and Operating Performance Points (OPP)
           frameworks (Viresh Kumar, Rajendra Nayak, Dan Carpenter).
      
         - Fix two issues in the runtime PM framework related to the
           initialization and removal of devices using device links (Ulf
           Hansson).
      
         - Clean up the initialization of drivers for devices in PM domains
           (Ulf Hansson, Geert Uytterhoeven).
      
         - Fix a cpufreq core issue related to the policy sysfs interface
           causing CPU online to fail for CPUs sharing one cpufreq policy in
           some situations (Tao Wang).
      
         - Make it possible to use platform-specific suspend/resume hooks in
           the cpufreq-dt driver and make the Armada 37xx DVFS use that
           feature (Viresh Kumar, Miquel Raynal).
      
         - Optimize policy transition notifications in cpufreq (Viresh Kumar).
      
         - Improve the iowait boost mechanism in the schedutil cpufreq
           governor (Patrick Bellasi).
      
         - Improve the handling of deferred frequency updates in the schedutil
           cpufreq governor (Joel Fernandes, Dietmar Eggemann, Rafael Wysocki,
           Viresh Kumar).
      
         - Add a new cpufreq driver for Qualcomm Kryo (Ilia Lin).
      
         - Fix and clean up some cpufreq drivers (Colin Ian King, Dmitry
           Osipenko, Doug Smythies, Luc Van Oostenryck, Simon Horman, Viresh
           Kumar).
      
         - Fix the handling of PCI devices with the DPM_SMART_SUSPEND flag set
           and update stale comments in the PCI core PM code (Rafael Wysocki).
      
         - Work around an issue related to the handling of EC-based wakeup
           events in the ACPI PM core during resume from suspend-to-idle if
           the EC has been put into the low-power mode (Rafael Wysocki).
      
         - Improve the handling of wakeup source objects in the PM core (Doug
           Berger, Mahendran Ganesh, Rafael Wysocki).
      
         - Update the driver core to prevent deferred probe from breaking
           suspend/resume ordering (Feng Kan).
      
         - Clean up the PM core somewhat (Bjorn Helgaas, Ulf Hansson, Rafael
           Wysocki).
      
         - Make the core suspend/resume code and cpufreq support the RT patch
           (Sebastian Andrzej Siewior, Thomas Gleixner).
      
         - Consolidate the PM QoS handling in cpuidle governors (Rafael
           Wysocki).
      
         - Fix a possible crash in the hibernation core (Tetsuo Handa).
      
         - Update the rockchip-io Adaptive Voltage Scaling (AVS) driver (David
           Wu).
      
         - Update the turbostat utility (fixes, cleanups, new CPU IDs, new
           command line options, built-in "Low Power Idle" counters support,
           new POLL and POLL% columns) and add an entry for it to MAINTAINERS
           (Len Brown, Artem Bityutskiy, Chen Yu, Laura Abbott, Matt Turner,
           Prarit Bhargava, Srinivas Pandruvada).
      
         - Update the pm-graph to version 5.1 (Todd Brandt).
      
         - Update the intel_pstate_tracer utility (Doug Smythies)"
      
      * tag 'pm-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (128 commits)
        tools/power turbostat: update version number
        tools/power turbostat: Add Node in output
        tools/power turbostat: add node information into turbostat calculations
        tools/power turbostat: remove num_ from cpu_topology struct
        tools/power turbostat: rename num_cores_per_pkg to num_cores_per_node
        tools/power turbostat: track thread ID in cpu_topology
        tools/power turbostat: Calculate additional node information for a package
        tools/power turbostat: Fix node and siblings lookup data
        tools/power turbostat: set max_num_cpus equal to the cpumask length
        tools/power turbostat: if --num_iterations, print for specific number of iterations
        tools/power turbostat: Add Cannon Lake support
        tools/power turbostat: delete duplicate #defines
        x86: msr-index.h: Correct SNB_C1/C3_AUTO_UNDEMOTE defines
        tools/power turbostat: Correct SNB_C1/C3_AUTO_UNDEMOTE defines
        tools/power turbostat: add POLL and POLL% column
        tools/power turbostat: Fix --hide Pk%pc10
        tools/power turbostat: Build-in "Low Power Idle" counters support
        tools/power turbostat: Don't make man pages executable
        tools/power turbostat: remove blank lines
        tools/power turbostat: a small C-states dump readability immprovement
        ...
      3c89adb0
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20180605' of git://git.kernel.dk/linux-block · 11e7c218
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "This just contains the dm kzalloc fix that was discussed, and a fix
        that I queued up yesterday for a case where blk-mq doesn't honor the
        stop bit appropriately"
      
      * tag 'for-linus-20180605' of git://git.kernel.dk/linux-block:
        dm: Use kzalloc for all structs with embedded biosets/mempools
        blk-mq: return when hctx is stopped in blk_mq_run_work_fn
      11e7c218
    • Linus Torvalds's avatar
      Merge branch 'faddr2line' (patches from Josh) · 9b68ac22
      Linus Torvalds authored
      Merge faddr2line updates from Josh Poimboeuf:
      
       - revert faddr2line's default output to its original non-code-listing
         output, and make the code listing an optional feature
      
       - give faddr2line a real maintainer, so get_maintainer.pl will actually
         CC me on future patches
      
      * emailed patches from Josh Poimboeuf <jpoimboe@redhat.com>:
        MAINTAINERS: add Josh Poimboeuf as faddr2line maintainer
        scripts/faddr2line: make the new code listing format optional
      9b68ac22
    • Josh Poimboeuf's avatar
      MAINTAINERS: add Josh Poimboeuf as faddr2line maintainer · 2562c011
      Josh Poimboeuf authored
      ... so I finally get credit for my greatest accomplishment.
      
      And, less importantly, so get_maintainer.pl will actually CC me on
      future patches.
      Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2562c011
    • Peter Zijlstra (Intel)'s avatar
      scripts/faddr2line: make the new code listing format optional · 689135f0
      Peter Zijlstra (Intel) authored
      Commit 6870c016 ("scripts/faddr2line: show the code context")
      radically altered the output format of the faddr2line tool.  And while
      the new list output format might have merit it broke my vim usage and
      was hard to read.
      
      Make the new format optional; using a '--list' argument and attempt to
      make the output slightly easier to read by adding a little whitespace to
      separate the different files and explicitly mark the line in question.
      
      Cc: Changbin Du <changbin.du@intel.com>
      Fixes: 6870c016 ("scripts/faddr2line: show the code context")
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      689135f0
    • Kent Overstreet's avatar
      dm: Use kzalloc for all structs with embedded biosets/mempools · d3775354
      Kent Overstreet authored
      mempool_init()/bioset_init() require that the mempools/biosets be zeroed
      first; they probably should not _require_ this, but not allocating those
      structs with kzalloc is a fairly nonsensical thing to do (calling
      mempool_exit()/bioset_exit() on an uninitialized mempool/bioset is legal
      and safe, but only works if said memory was zeroed.)
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d3775354
    • Linus Torvalds's avatar
      Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 716a685f
      Linus Torvalds authored
      Pull x86 hyperv updates from Thomas Gleixner:
       "A set of commits to enable APIC enlightenment when running as a guest
        on Microsoft HyperV.
      
        This accelerates the APIC access with paravirtualization techniques,
        which are called enlightenments on Hyper-V"
      
      * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/Hyper-V/hv_apic: Build the Hyper-V APIC conditionally
        x86/Hyper-V/hv_apic: Include asm/apic.h
        X86/Hyper-V: Consolidate the allocation of the hypercall input page
        X86/Hyper-V: Consolidate code for converting cpumask to vpset
        X86/Hyper-V: Enhanced IPI enlightenment
        X86/Hyper-V: Enable IPI enlightenments
        X86/Hyper-V: Enlighten APIC access
      716a685f
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ab20fd00
      Linus Torvalds authored
      Pull x86 cache resource controller updates from Thomas Gleixner:
       "An update for the Intel Resource Director Technolgy (RDT) which adds a
        feedback driven software controller to runtime adjust the bandwidth
        allocation MSRs.
      
        This makes the allocations more accurate and allows to use bandwidth
        values in understandable units (MB/s) instead of using percentage
        based allocations as the original, still available, interface.
      
        The software controller can be enabled with a new mount option for the
        resctrl filesystem"
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel_rdt/mba_sc: Feedback loop to dynamically update mem bandwidth
        x86/intel_rdt/mba_sc: Prepare for feedback loop
        x86/intel_rdt/mba_sc: Add schemata support
        x86/intel_rdt/mba_sc: Add initialization support
        x86/intel_rdt/mba_sc: Enable/disable MBA software controller
        x86/intel_rdt/mba_sc: Documentation for MBA software controller(mba_sc)
      ab20fd00
    • Linus Torvalds's avatar
      Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ba252f16
      Linus Torvalds authored
      Pull time/Y2038 updates from Thomas Gleixner:
      
       - Consolidate SySV IPC UAPI headers
      
       - Convert SySV IPC to the new COMPAT_32BIT_TIME mechanism
      
       - Cleanup the core interfaces and standardize on the ktime_get_* naming
         convention.
      
       - Convert the X86 platform ops to timespec64
      
       - Remove the ugly temporary timespec64 hack
      
      * 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        x86: Convert x86_platform_ops to timespec64
        timekeeping: Add more coarse clocktai/boottime interfaces
        timekeeping: Add ktime_get_coarse_with_offset
        timekeeping: Standardize on ktime_get_*() naming
        timekeeping: Clean up ktime_get_real_ts64
        timekeeping: Remove timespec64 hack
        y2038: ipc: Redirect ipc(SEMTIMEDOP, ...) to compat_ksys_semtimedop
        y2038: ipc: Enable COMPAT_32BIT_TIME
        y2038: ipc: Use __kernel_timespec
        y2038: ipc: Report long times to user space
        y2038: ipc: Use ktime_get_real_seconds consistently
        y2038: xtensa: Extend sysvipc data structures
        y2038: powerpc: Extend sysvipc data structures
        y2038: sparc: Extend sysvipc data structures
        y2038: parisc: Extend sysvipc data structures
        y2038: mips: Extend sysvipc data structures
        y2038: arm64: Extend sysvipc compat data structures
        y2038: s390: Remove unneeded ipc uapi header files
        y2038: ia64: Remove unneeded ipc uapi header files
        y2038: alpha: Remove unneeded ipc uapi header files
        ...
      ba252f16
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0bbcce5d
      Linus Torvalds authored
      Pull timers and timekeeping updates from Thomas Gleixner:
      
       - Core infrastucture work for Y2038 to address the COMPAT interfaces:
      
           + Add a new Y2038 safe __kernel_timespec and use it in the core
             code
      
           + Introduce config switches which allow to control the various
             compat mechanisms
      
           + Use the new config switch in the posix timer code to control the
             32bit compat syscall implementation.
      
       - Prevent bogus selection of CPU local clocksources which causes an
         endless reselection loop
      
       - Remove the extra kthread in the clocksource code which has no value
         and just adds another level of indirection
      
       - The usual bunch of trivial updates, cleanups and fixlets all over the
         place
      
       - More SPDX conversions
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        clocksource/drivers/mxs_timer: Switch to SPDX identifier
        clocksource/drivers/timer-imx-tpm: Switch to SPDX identifier
        clocksource/drivers/timer-imx-gpt: Switch to SPDX identifier
        clocksource/drivers/timer-imx-gpt: Remove outdated file path
        clocksource/drivers/arc_timer: Add comments about locking while read GFRC
        clocksource/drivers/mips-gic-timer: Add pr_fmt and reword pr_* messages
        clocksource/drivers/sprd: Fix Kconfig dependency
        clocksource: Move inline keyword to the beginning of function declarations
        timer_list: Remove unused function pointer typedef
        timers: Adjust a kernel-doc comment
        tick: Prefer a lower rating device only if it's CPU local device
        clocksource: Remove kthread
        time: Change nanosleep to safe __kernel_* types
        time: Change types to new y2038 safe __kernel_* types
        time: Fix get_timespec64() for y2038 safe compat interfaces
        time: Add new y2038 safe __kernel_timespec
        posix-timers: Make compat syscalls depend on CONFIG_COMPAT_32BIT_TIME
        time: Introduce CONFIG_COMPAT_32BIT_TIME
        time: Introduce CONFIG_64BIT_TIME in architectures
        compat: Enable compat_get/put_timespec64 always
        ...
      0bbcce5d
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0ef283d4
      Linus Torvalds authored
      Pull x86 RAS updates from Thomas Gleixner:
      
       - Fix a stack out of bounds write in the MCE error injection code.
      
       - Avoid IPIs during CPU hotplug to read the MCx_MISC block address from
         a remote CPU. That's fragile and pointless because the block
         addresses are the same on all CPUs. So they can be read once and
         local.
      
       - Add support for MCE broadcasting on newer VIA Centaur CPUs.
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/MCE/AMD: Read MCx_MISC block addresses on any CPU
        x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read()
        x86/MCE: Enable MCE broadcasting on new Centaur CPUs
      0ef283d4
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · db020be9
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
      
       - Consolidation of softirq pending:
      
         The softirq mask and its accessors/mutators have many implementations
         scattered around many architectures. Most do the same things
         consisting in a field in a per-cpu struct (often irq_cpustat_t)
         accessed through per-cpu ops. We can provide instead a generic
         efficient version that most of them can use. In fact s390 is the only
         exception because the field is stored in lowcore.
      
       - Support for level!?! triggered MSI (ARM)
      
         Over the past couple of years, we've seen some SoCs coming up with
         ways of signalling level interrupts using a new flavor of MSIs, where
         the MSI controller uses two distinct messages: one that raises a
         virtual line, and one that lowers it. The target MSI controller is in
         charge of maintaining the state of the line.
      
         This allows for a much simplified HW signal routing (no need to have
         hundreds of discrete lines to signal level interrupts if you already
         have a memory bus), but results in a departure from the current idea
         the kernel has of MSIs.
      
       - Support for Meson-AXG GPIO irqchip
      
       - Large stm32 irqchip rework (suspend/resume, hierarchical domains)
      
       - More SPDX conversions
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
        ARM: dts: stm32: Add exti support to stm32mp157 pinctrl
        ARM: dts: stm32: Add exti support for stm32mp157c
        pinctrl/stm32: Add irq_eoi for stm32gpio irqchip
        irqchip/stm32: Add suspend/resume support for hierarchy domain
        irqchip/stm32: Add stm32mp1 support with hierarchy domain
        irqchip/stm32: Prepare common functions
        irqchip/stm32: Add host and driver data structures
        irqchip/stm32: Add suspend support
        irqchip/stm32: Add falling pending register support
        irqchip/stm32: Checkpatch fix
        irqchip/stm32: Optimizes and cleans up stm32-exti irq_domain
        irqchip/meson-gpio: Add support for Meson-AXG SoCs
        dt-bindings: interrupt-controller: New binding for Meson-AXG SoC
        dt-bindings: interrupt-controller: Fix the double quotes
        softirq/s390: Move default mutators of overwritten softirq mask to s390
        softirq/x86: Switch to generic local_softirq_pending() implementation
        softirq/sparc: Switch to generic local_softirq_pending() implementation
        softirq/powerpc: Switch to generic local_softirq_pending() implementation
        softirq/parisc: Switch to generic local_softirq_pending() implementation
        softirq/ia64: Switch to generic local_softirq_pending() implementation
        ...
      db020be9
    • Linus Torvalds's avatar
      Merge branch 'x86-dax-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d09a8e6f
      Linus Torvalds authored
      Pull x86 dax updates from Ingo Molnar:
       "This contains x86 memcpy_mcsafe() fault handling improvements the
        nvdimm tree would like to make more use of"
      
      * 'x86-dax-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/asm/memcpy_mcsafe: Define copy_to_iter_mcsafe()
        x86/asm/memcpy_mcsafe: Add write-protection-fault handling
        x86/asm/memcpy_mcsafe: Return bytes remaining
        x86/asm/memcpy_mcsafe: Add labels for __memcpy_mcsafe() write fault handling
        x86/asm/memcpy_mcsafe: Remove loop unrolling
      d09a8e6f
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 83163856
      Linus Torvalds authored
      Pull x86 debug updates from Ingo Molnar:
       "This contains the x86 oops code printing reorganization and cleanups
        from Borislav Betkov, with a particular focus in enhancing opcode
        dumping all around"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/dumpstack: Explain the reasoning for the prologue and buffer size
        x86/dumpstack: Save first regs set for the executive summary
        x86/dumpstack: Add a show_ip() function
        x86/fault: Dump user opcode bytes on fatal faults
        x86/dumpstack: Add loglevel argument to show_opcodes()
        x86/dumpstack: Improve opcodes dumping in the code section
        x86/dumpstack: Carve out code-dumping into a function
        x86/dumpstack: Unexport oops_begin()
        x86/dumpstack: Remove code_bytes
      83163856
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0afe832e
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apm: Fix spelling mistake: "caculate" -> "calculate"
        x86/mtrr: Rename main.c to mtrr.c and remove duplicate prefixes
        x86: Remove pr_fmt duplicate logging prefixes
        x86/early-quirks: Rename duplicate define of dev_err
        x86/bpf: Clean up non-standard comments, to make the code more readable
      0afe832e
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 42964c6f
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
       "A handful of build system (Makefile, linker script) cleanups by
        Masahiro Yamada"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build/vdso: Put generated linker scripts to $(obj)/
        x86/build/vdso: Remove unnecessary export in Makefile
        x86/build/vdso: Remove unused $(vobjs-nox32) in Makefile
        x86/build: Remove no-op macro VMLINUX_SYMBOL()
      42964c6f
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1b246d22
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
      
       - better support (non-atomic) 64-bit readq()/writeq() variants (Andy
         Shevchenko)
      
       - __clear_user() micro-optimization (Alexey Dobriyan)
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/io: Define readq()/writeq() to use 64-bit type
        x86/asm/64: Micro-optimize __clear_user() - Use immediate constants
      1b246d22
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5cef8c2a
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
      
       - Centaur CPU updates (David Wang)
      
       - AMD and other CPU topology enumeration improvements and fixes
         (Borislav Petkov, Thomas Gleixner, Suravee Suthikulpanit)
      
       - Continued 5-level paging work (Kirill A. Shutemov)
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Mark __pgtable_l5_enabled __initdata
        x86/mm: Mark p4d_offset() __always_inline
        x86/mm: Introduce the 'no5lvl' kernel parameter
        x86/mm: Stop pretending pgtable_l5_enabled is a variable
        x86/mm: Unify pgtable_l5_enabled usage in early boot code
        x86/boot/compressed/64: Fix trampoline page table address calculation
        x86/CPU: Move x86_cpuinfo::x86_max_cores assignment to detect_num_cpu_cores()
        x86/Centaur: Report correct CPU/cache topology
        x86/CPU: Move cpu_detect_cache_sizes() into init_intel_cacheinfo()
        x86/CPU: Make intel_num_cpu_cores() generic
        x86/CPU: Move cpu local function declarations to local header
        x86/CPU/AMD: Derive CPU topology from CPUID function 0xB when available
        x86/CPU: Modify detect_extended_topology() to return result
        x86/CPU/AMD: Calculate last level cache ID from number of sharing threads
        x86/CPU: Rename intel_cacheinfo.c to cacheinfo.c
        perf/events/amd/uncore: Fix amd_uncore_llc ID to use pre-defined cpu_llc_id
        x86/CPU/AMD: Have smp_num_siblings and cpu_llc_id always be present
        x86/Centaur: Initialize supported CPU features properly
      5cef8c2a
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7f4e7fc
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - power-aware scheduling improvements (Patrick Bellasi)
      
       - NUMA balancing improvements (Mel Gorman)
      
       - vCPU scheduling fixes (Rohit Jain)
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Update util_est before updating schedutil
        sched/cpufreq: Modify aggregate utilization to always include blocked FAIR utilization
        sched/deadline/Documentation: Add overrun signal and GRUB-PA documentation
        sched/core: Distinguish between idle_cpu() calls based on desired effect, introduce available_idle_cpu()
        sched/wait: Include <linux/wait.h> in <linux/swait.h>
        sched/numa: Stagger NUMA balancing scan periods for new threads
        sched/core: Don't schedule threads on pre-empted vCPUs
        sched/fair: Avoid calling sync_entity_load_avg() unnecessarily
        sched/fair: Rearrange select_task_rq_fair() to optimize it
      f7f4e7fc
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d9b446e2
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Kernel side changes:
      
         - x86 Intel uncore driver cleanups and enhancements (Kan Liang)
      
         - group scheduling and other fixes (Song Liu
      
         - store frame pointer in the sample traces for better profiling
           (Alexey Budankov)
      
         - compat fixes/enhancements (Eugene Syromiatnikov)
      
        Tooling side changes, which you can build and install in a single step
        via:
      
            make -C tools/perf clean install
      
        perf annotate:
      
         - Support 'perf annotate --group' for non-explicit recorded event
           "groups", showing multiple columns, one for each event, just like
           when dealing with explicit event groups (those enclosed with {})
           (Jin Yao)
      
         - Record min/max LBR cycles (>= Skylake) and add 'perf annotate' TUI
           hotkey to show it (c) (Jin Yao)
      
        perf bpf:
      
         - Add infrastructure to help in writing eBPF C programs to be used
           with '-e name.c' type events in tools such as 'record' and 'trace',
           with headers for common constructs and an examples directory that
           will get populated as we add more such helpers and the 'perf bpf'
           (Arnaldo Carvalho de Melo)
      
        perf stat:
      
         - Display time in precision based on std deviation (Jiri Olsa)
      
         - Add --table option to display time of each run (Jiri Olsa)
      
         - Display length strings of each run for --table option (Jiri Olsa)
      
        perf buildid-cache:
      
         - Add --list and --purge-all options (Ravi Bangoria)
      
        perf test:
      
         - Let 'perf test list' display subtests (Hendrik Brueckner)
      
        perf pti:
      
         - Create extra kernel maps to help in decoding samples in x86 PTI
           entry trampolines (Adrian Hunter)
      
         - Copy x86 PTI entry trampoline sections in the kcore copy used for
           annotation and intel_pt CPU traces decoding (Adrian Hunter)
      
        ... and a lot of other fixes, enhancements and cleanups I did not
        list, see the shortlog and git log for details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (111 commits)
        perf/x86/intel/uncore: Clean up client IMC uncore
        perf/x86/intel/uncore: Expose uncore_pmu_event*() functions
        perf/x86/intel/uncore: Support IIO free-running counters on SKX
        perf/x86/intel/uncore: Add infrastructure for free running counters
        perf/x86/intel/uncore: Add new data structures for free running counters
        perf/x86/intel/uncore: Correct fixed counter index check in generic code
        perf/x86/intel/uncore: Correct fixed counter index check for NHM
        perf/x86/intel/uncore: Introduce customized event_read() for client IMC uncore
        perf/x86: Store user space frame-pointer value on a sample
        perf/core: Wire up compat PERF_EVENT_IOC_QUERY_BPF, PERF_EVENT_IOC_MODIFY_ATTRIBUTES
        perf/core: Fix bad use of igrab()
        perf/core: Fix group scheduling with mixed hw and sw events
        perf kcore_copy: Amend the offset of sections that remap kernel text
        perf kcore_copy: Copy x86 PTI entry trampoline sections
        perf kcore_copy: Get rid of kernel_map
        perf kcore_copy: Iterate phdrs
        perf kcore_copy: Layout sections
        perf kcore_copy: Calculate offset from phnum
        perf kcore_copy: Keep a count of phdrs
        perf kcore_copy: Keep phdr data in a list
        ...
      d9b446e2
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7a1b4373
      Linus Torvalds authored
      Pull perf tooling fixes from Ingo Molnar:
       "Leftover perf tooling fixes from the v4.17 cycle: they sync up updated
        ABI headers with their tooling versions"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools intel-pt-decoder: Update insn.h from the kernel sources
        tools headers: Sync x86 cpufeatures.h with the kernel sources
        tools headers: Synchronize prctl.h ABI header
        perf trace beauty prctl: Default header_dir to cwd to work without parms
      7a1b4373
  3. 04 Jun, 2018 16 commits
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 92400b8c
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
      
       - Lots of tidying up changes all across the map for Linux's formal
         memory/locking-model tooling, by Alan Stern, Akira Yokosawa, Andrea
         Parri, Paul E. McKenney and SeongJae Park.
      
         Notable changes beyond an overall update in the tooling itself is the
         tidying up of spin_is_locked() semantics, which spills over into the
         kernel proper as well.
      
       - qspinlock improvements: the locking algorithm now guarantees forward
         progress whereas the previous implementation in mainline could starve
         threads indefinitely in cmpxchg() loops. Also other related cleanups
         to the qspinlock code (Will Deacon)
      
       - misc smaller improvements, cleanups and fixes all across the locking
         subsystem
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
        locking/rwsem: Simplify the is-owner-spinnable checks
        tools/memory-model: Add reference for 'Simplifying ARM concurrency'
        tools/memory-model: Update ASPLOS information
        MAINTAINERS, tools/memory-model: Update e-mail address for Andrea Parri
        tools/memory-model: Fix coding style in 'lock.cat'
        tools/memory-model: Remove out-of-date comments and code from lock.cat
        tools/memory-model: Improve mixed-access checking in lock.cat
        tools/memory-model: Improve comments in lock.cat
        tools/memory-model: Remove duplicated code from lock.cat
        tools/memory-model: Flag "cumulativity" and "propagation" tests
        tools/memory-model: Add model support for spin_is_locked()
        tools/memory-model: Add scripts to test memory model
        tools/memory-model: Fix coding style in 'linux-kernel.def'
        tools/memory-model: Model 'smp_store_mb()'
        tools/memory-order: Update the cheat-sheet to show that smp_mb__after_atomic() orders later RMW operations
        tools/memory-order: Improve key for SELF and SV
        tools/memory-model: Fix cheat sheet typo
        tools/memory-model: Update required version of herdtools7
        tools/memory-model: Redefine rb in terms of rcu-fence
        tools/memory-model: Rename link and rcu-path to rcu-link and rb
        ...
      92400b8c
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 31a85cb3
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
      
       - decode x86 CPER data (Yazen Ghannam)
      
       - ignore unrealistically large option ROMs (Hans de Goede)
      
       - initialize UEFI secure boot state during Xen dom0 boot (Daniel Kiper)
      
       - additional minor tweaks and fixes.
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/capsule-loader: Don't output reset log when reset flags are not set
        efi/x86: Ignore unrealistically large option ROMs
        efi/x86: Fold __setup_efi_pci32() and __setup_efi_pci64() into one function
        efi: Align efi_pci_io_protocol typedefs to type naming convention
        efi/libstub/tpm: Make function efi_retrieve_tpm2_eventlog_1_2() static
        efi: Decode IA32/X64 Context Info structure
        efi: Decode IA32/X64 MS Check structure
        efi: Decode additional IA32/X64 Bus Check fields
        efi: Decode IA32/X64 Cache, TLB, and Bus Check structures
        efi: Decode UEFI-defined IA32/X64 Error Structure GUIDs
        efi: Decode IA32/X64 Processor Error Info Structure
        efi: Decode IA32/X64 Processor Error Section
        efi: Fix IA32/X64 Processor Error Record definition
        efi/cper: Remove the INDENT_SP silliness
        x86/xen/efi: Initialize UEFI secure boot state during dom0 boot
      31a85cb3
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4057adaf
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
      
       - updates to the handling of expedited grace periods
      
       - updates to reduce lock contention in the rcu_node combining tree
      
         [ These are in preparation for the consolidation of RCU-bh,
           RCU-preempt, and RCU-sched into a single flavor, which was
           requested by Linus in response to a security flaw whose root cause
           included confusion between the multiple flavors of RCU ]
      
       - torture-test updates that save their users some time and effort
      
       - miscellaneous fixes
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        rcu/x86: Provide early rcu_cpu_starting() callback
        torture: Make kvm-find-errors.sh find build warnings
        rcutorture: Abbreviate kvm.sh summary lines
        rcutorture: Print end-of-test state in kvm.sh summary
        rcutorture: Print end-of-test state
        torture: Fold parse-torture.sh into parse-console.sh
        torture: Add a script to edit output from failed runs
        rcu: Update list of rcu_future_grace_period() trace events
        rcu: Drop early GP request check from rcu_gp_kthread()
        rcu: Simplify and inline cpu_needs_another_gp()
        rcu: The rcu_gp_cleanup() function does not need cpu_needs_another_gp()
        rcu: Make rcu_start_this_gp() check for out-of-range requests
        rcu: Add funnel locking to rcu_start_this_gp()
        rcu: Make rcu_start_future_gp() caller select grace period
        rcu: Inline rcu_start_gp_advanced() into rcu_start_future_gp()
        rcu: Clear request other than RCU_GP_FLAG_INIT at GP end
        rcu: Cleanup, don't put ->completed into an int
        rcu: Switch __rcu_process_callbacks() to rcu_accelerate_cbs()
        rcu: Avoid __call_rcu_core() root rcu_node ->lock acquisition
        rcu: Make rcu_migrate_callbacks wake GP kthread when needed
        ...
      4057adaf
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.18-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 137f5ae4
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - a few time-related fixes:
           - off-by-one calendar month on some classes of machines
           - Y2038 preparation
      
       - build fix for ndelay() being called with a 64-bit type
      
       - revive 64-bit get_user(), which is used by some Android code
      
       - defconfig updates
      
       - fix for a long-standing fatal bug in iounmap() on '020/030, which was
         actually fixed in 2.4.23, but never in 2.5.x and later
      
       - default DMA mask to avoid warning splats
      
       - minor fixes and cleanups
      
      * tag 'm68k-for-v4.18-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Set default dma mask for platform devices
        m68k/mm: Adjust VM area to be unmapped by gap size for __iounmap()
        m68k/defconfig: Update defconfigs for v4.17-rc3
        m68k/uaccess: Revive 64-bit get_user()
        m68k: Implement ndelay() as an inline function to force type checking/casting
        zorro: Add a blank line after declarations
        m68k: Use read_persistent_clock64() consistently
        m68k: Fix off-by-one calendar month
        m68k: Fix style, spelling, and grammar in siginfo_build_tests()
        m68k/mac: Fix SWIM memory resource end address
      137f5ae4
    • Linus Torvalds's avatar
      Merge branch 'siginfo-linus' of... · 93e95fa5
      Linus Torvalds authored
      Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull siginfo updates from Eric Biederman:
       "This set of changes close the known issues with setting si_code to an
        invalid value, and with not fully initializing struct siginfo. There
        remains work to do on nds32, arc, unicore32, powerpc, arm, arm64, ia64
        and x86 to get the code that generates siginfo into a simpler and more
        maintainable state. Most of that work involves refactoring the signal
        handling code and thus careful code review.
      
        Also not included is the work to shrink the in kernel version of
        struct siginfo. That depends on getting the number of places that
        directly manipulate struct siginfo under control, as it requires the
        introduction of struct kernel_siginfo for the in kernel things.
      
        Overall this set of changes looks like it is making good progress, and
        with a little luck I will be wrapping up the siginfo work next
        development cycle"
      
      * 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)
        signal/sh: Stop gcc warning about an impossible case in do_divide_error
        signal/mips: Report FPE_FLTUNK for undiagnosed floating point exceptions
        signal/um: More carefully relay signals in relay_signal.
        signal: Extend siginfo_layout with SIL_FAULT_{MCEERR|BNDERR|PKUERR}
        signal: Remove unncessary #ifdef SEGV_PKUERR in 32bit compat code
        signal/signalfd: Add support for SIGSYS
        signal/signalfd: Remove __put_user from signalfd_copyinfo
        signal/xtensa: Use force_sig_fault where appropriate
        signal/xtensa: Consistenly use SIGBUS in do_unaligned_user
        signal/um: Use force_sig_fault where appropriate
        signal/sparc: Use force_sig_fault where appropriate
        signal/sparc: Use send_sig_fault where appropriate
        signal/sh: Use force_sig_fault where appropriate
        signal/s390: Use force_sig_fault where appropriate
        signal/riscv: Replace do_trap_siginfo with force_sig_fault
        signal/riscv: Use force_sig_fault where appropriate
        signal/parisc: Use force_sig_fault where appropriate
        signal/parisc: Use force_sig_mceerr where appropriate
        signal/openrisc: Use force_sig_fault where appropriate
        signal/nios2: Use force_sig_fault where appropriate
        ...
      93e95fa5
    • Linus Torvalds's avatar
      Merge branch 'userns-linus' of... · d8aed841
      Linus Torvalds authored
      Merge branch 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull userns updates from Eric Biederman:
       "This is the last couple of vfs bits to enable root in a user namespace
        to mount and manipulate a filesystem with backing store (AKA not a
        virtual filesystem like proc, but a filesystem where the unprivileged
        user controls the content). The target filesystem for this work is
        fuse, and Miklos should be sending you the pull request for the fuse
        bits this merge window.
      
        The two key patches are "evm: Don't update hmacs in user ns mounts"
        and "vfs: Don't allow changing the link count of an inode with an
        invalid uid or gid". Those close small gaps in the vfs that would be a
        problem if an unprivileged fuse filesystem is mounted.
      
        The rest of the changes are things that are now safe to allow a root
        user in a user namespace to do with a filesystem they have mounted.
        The most interesting development is that remount is now safe"
      
      * 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        fs: Allow CAP_SYS_ADMIN in s_user_ns to freeze and thaw filesystems
        capabilities: Allow privileged user in s_user_ns to set security.* xattrs
        fs: Allow superblock owner to access do_remount_sb()
        fs: Allow superblock owner to replace invalid owners of inodes
        vfs: Allow userns root to call mknod on owned filesystems.
        vfs: Don't allow changing the link count of an inode with an invalid uid or gid
        evm: Don't update hmacs in user ns mounts
      d8aed841
    • Linus Torvalds's avatar
      Merge tag '4.18-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 32552014
      Linus Torvalds authored
      Pull cifs updates from Steve French:
      
       - smb3 fixes for stable
      
       - addition of ftrace hooks for cifs.ko
      
       - improvements in compounding and smbdirect (rdma)
      
      * tag '4.18-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6: (38 commits)
        CIFS: Add support for direct pages in wdata
        CIFS: Use offset when reading pages
        CIFS: Add support for direct pages in rdata
        cifs: update multiplex loop to handle compounded responses
        cifs: remove header_preamble_size where it is always 0
        cifs: remove struct smb2_hdr
        CIFS: 511c54a2 adds a check for session expiry, status STATUS_NETWORK_SESSION_EXPIRED, however the server can also respond with STATUS_USER_SESSION_DELETED in cases where the session has been idle for some time and the server reaps the session to recover resources.
        cifs: change smb2_get_data_area_len to take a smb2_sync_hdr as argument
        cifs: update smb2_calc_size to use smb2_sync_hdr instead of smb2_hdr
        cifs: remove struct smb2_oplock_break_rsp
        cifs: remove rfc1002 header from all SMB2 response structures
        smb3: on reconnect set PreviousSessionId field
        smb3: Add posix create context for smb3.11 posix mounts
        smb3: add tracepoints for smb2/smb3 open
        cifs: add debug output to show nocase mount option
        smb3: add define for id for posix create context and corresponding struct
        cifs: update smb2_check_message to handle PDUs without a 4 byte length header
        smb3: allow "posix" mount option to enable new SMB311 protocol extensions
        smb3: add support for posix negotiate context
        cifs: allow disabling less secure legacy dialects
        ...
      32552014
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.18.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 1e43938b
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
       "We've got nine more patches for this merge window.
      
         - remove sd_jheightsize to greatly simplify some code (Andreas
           Gruenbacher)
      
         - fix some comments (Andreas)
      
         - fix a glock recursion bug when allocation errors occur (Andreas)
      
         - improve the hole_size function so it returns the entire hole rather
           than figuring it out piecemeal (Andreas)
      
         - clean up gfs2_stuffed_write_end to remove a lot of redundancy
           (Andreas)
      
         - clarify code with regard to the way ordered writes are processed
           (Andreas)
      
         - a bunch of improvements and cleanups of the iomap code to pave the
           way for iomap writes, which is a future patch set (Andreas)
      
         - fix a bug where block reservations can run off the end of a bitmap
           (Bob Peterson)
      
         - add Andreas to the MAINTAINERS file (Bob Peterson)"
      
      * tag 'gfs2-4.18.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        MAINTAINERS: Add Andreas Gruenbacher as a maintainer for gfs2
        gfs2: Iomap cleanups and improvements
        gfs2: Remove ordered write mode handling from gfs2_trans_add_data
        gfs2: gfs2_stuffed_write_end cleanup
        gfs2: hole_size improvement
        GFS2: gfs2_free_extlen can return an extent that is too long
        GFS2: Fix allocation error bug with recursive rgrp glocking
        gfs2: Update find_metapath comment
        gfs2: Remove sdp->sd_jheightsize
      1e43938b
    • Linus Torvalds's avatar
      Merge tag 'dlm-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 8a463114
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "These three commits fix and clean up the flags dlm was using on its
        SCTP sockets. This improves performance and fixes some bad connection
        delays"
      
      * tag 'dlm-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: remove O_NONBLOCK flag in sctp_connect_to_sock
        dlm: make sctp_connect_to_sock() return in specified time
        dlm: fix a clerical error when set SCTP_NODELAY
      8a463114
    • Linus Torvalds's avatar
      Merge tag 'for-4.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 70499656
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "User visible features:
      
         - added support for the ioctl FS_IOC_FSGETXATTR, per-inode flags,
           successor of GET/SETFLAGS; now supports only existing flags:
           append, immutable, noatime, nodump, sync
      
         - 3 new unprivileged ioctls to allow users to enumerate subvolumes
      
         - dedupe syscall implementation does not restrict the range to 16MiB,
           though it still splits the whole range to 16MiB chunks
      
         - on user demand, rmdir() is able to delete an empty subvolume,
           export the capability in sysfs
      
         - fix inode number types in tracepoints, other cleanups
      
         - send: improved speed when dealing with a large removed directory,
           measurements show decrease from 2000 minutes to 2 minutes on a
           directory with 2 million entries
      
         - pre-commit check of superblock to detect a mysterious in-memory
           corruption
      
         - log message updates
      
        Other changes:
      
         - orphan inode cleanup improved, does no keep long-standing
           reservations that could lead up to early ENOSPC in some cases
      
         - slight improvement of handling snapshotted NOCOW files by avoiding
           some unnecessary tree searches
      
         - avoid OOM when dealing with many unmergeable small extents at flush
           time
      
         - speedup conversion of free space tree representations from/to
           bitmap/tree
      
         - code refactoring, deletion, cleanups:
            + delayed refs
            + delayed iput
            + redundant argument removals
            + memory barrier cleanups
            + remove a redundant mutex supposedly excluding several ioctls to
              run in parallel
      
         - new tracepoints for blockgroup manipulation
      
         - more sanity checks of compressed headers"
      
      * tag 'for-4.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (183 commits)
        btrfs: Add unprivileged version of ino_lookup ioctl
        btrfs: Add unprivileged ioctl which returns subvolume's ROOT_REF
        btrfs: Add unprivileged ioctl which returns subvolume information
        Btrfs: clean up error handling in btrfs_truncate()
        btrfs: Factor out write portion of btrfs_get_blocks_direct
        btrfs: Factor out read portion of btrfs_get_blocks_direct
        btrfs: return ENOMEM if path allocation fails in btrfs_cross_ref_exist
        btrfs: raid56: Remove VLA usage
        btrfs: return error value if create_io_em failed in cow_file_range
        btrfs: drop useless member qgroup_reserved of btrfs_pending_snapshot
        btrfs: drop unused parameter qgroup_reserved
        btrfs: balance dirty metadata pages in btrfs_finish_ordered_io
        btrfs: lift some btrfs_cross_ref_exist checks in nocow path
        btrfs: Remove fs_info argument from btrfs_uuid_tree_rem
        btrfs: Remove fs_info argument from btrfs_uuid_tree_add
        Btrfs: remove unused check of skip_locking
        Btrfs: remove always true check in unlock_up
        Btrfs: grab write lock directly if write_lock_level is the max level
        Btrfs: move get root out of btrfs_search_slot to a helper
        Btrfs: use more straightforward extent_buffer_uptodate check
        ...
      70499656
    • Linus Torvalds's avatar
      Merge tag 'affs-for-4.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · e3a44fd7
      Linus Torvalds authored
      Pull affs fix from David Sterba:
       "A potential memory leak fix for AFFS"
      
      * tag 'affs-for-4.18-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        affs: fix potential memory leak when parsing option 'prefix'
      e3a44fd7
    • Linus Torvalds's avatar
      Merge branch 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 408afb8d
      Linus Torvalds authored
      Pull aio updates from Al Viro:
       "Majority of AIO stuff this cycle. aio-fsync and aio-poll, mostly.
      
        The only thing I'm holding back for a day or so is Adam's aio ioprio -
        his last-minute fixup is trivial (missing stub in !CONFIG_BLOCK case),
        but let it sit in -next for decency sake..."
      
      * 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
        aio: sanitize the limit checking in io_submit(2)
        aio: fold do_io_submit() into callers
        aio: shift copyin of iocb into io_submit_one()
        aio_read_events_ring(): make a bit more readable
        aio: all callers of aio_{read,write,fsync,poll} treat 0 and -EIOCBQUEUED the same way
        aio: take list removal to (some) callers of aio_complete()
        aio: add missing break for the IOCB_CMD_FDSYNC case
        random: convert to ->poll_mask
        timerfd: convert to ->poll_mask
        eventfd: switch to ->poll_mask
        pipe: convert to ->poll_mask
        crypto: af_alg: convert to ->poll_mask
        net/rxrpc: convert to ->poll_mask
        net/iucv: convert to ->poll_mask
        net/phonet: convert to ->poll_mask
        net/nfc: convert to ->poll_mask
        net/caif: convert to ->poll_mask
        net/bluetooth: convert to ->poll_mask
        net/sctp: convert to ->poll_mask
        net/tipc: convert to ->poll_mask
        ...
      408afb8d
    • Linus Torvalds's avatar
      Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · b058efc1
      Linus Torvalds authored
      Pull dcache lookup cleanups from Al Viro:
       "Cleaning ->lookup() instances up - mostly d_splice_alias() conversions"
      
      * 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (29 commits)
        switch the rest of procfs lookups to d_splice_alias()
        procfs: switch instantiate_t to d_splice_alias()
        don't bother with tid_fd_revalidate() in lookups
        proc_lookupfd_common(): don't bother with instantiate unless the file is open
        procfs: get rid of ancient BS in pid_revalidate() uses
        cifs_lookup(): switch to d_splice_alias()
        cifs_lookup(): cifs_get_inode_...() never returns 0 with *inode left NULL
        9p: unify paths in v9fs_vfs_lookup()
        ncp_lookup(): use d_splice_alias()
        hfsplus: switch to d_splice_alias()
        hfs: don't allow mounting over .../rsrc
        hfs: use d_splice_alias()
        omfs_lookup(): report IO errors, use d_splice_alias()
        orangefs_lookup: simplify
        openpromfs: switch to d_splice_alias()
        xfs_vn_lookup: simplify a bit
        adfs_lookup: do not fail with ENOENT on negatives, use d_splice_alias()
        adfs_lookup_byname: .. *is* taken care of in fs/namei.c
        romfs_lookup: switch to d_splice_alias()
        qnx6_lookup: switch to d_splice_alias()
        ...
      b058efc1
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 9214407d
      Linus Torvalds authored
      Pull fasync fix from Jeff Layton:
       "Just a single fix for a deadlock in the fasync handling code that
        Kirill observed while testing.
      
        The fix is to change the fa_lock to be rwlock_t, and use a read lock
        in kill_fasync_rcu"
      
      * tag 'locks-v4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        fasync: Fix deadlock between task-context and interrupt-context kill_fasync()
      9214407d
    • Linus Torvalds's avatar
      Merge tag 'docs-4.18' of git://git.lwn.net/linux · eeee3149
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "There's been a fair amount of work in the docs tree this time around,
        including:
      
         - Extensive RST conversions and organizational work in the
           memory-management docs thanks to Mike Rapoport.
      
         - An update of Documentation/features from Andrea Parri and a script
           to keep it updated.
      
         - Various LICENSES updates from Thomas, along with a script to check
           SPDX tags.
      
         - Work to fix dangling references to documentation files; this
           involved a fair number of one-liner comment changes outside of
           Documentation/
      
        ... and the usual list of documentation improvements, typo fixes, etc"
      
      * tag 'docs-4.18' of git://git.lwn.net/linux: (103 commits)
        Documentation: document hung_task_panic kernel parameter
        docs/admin-guide/mm: add high level concepts overview
        docs/vm: move ksm and transhuge from "user" to "internals" section.
        docs: Use the kerneldoc comments for memalloc_no*()
        doc: document scope NOFS, NOIO APIs
        docs: update kernel versions and dates in tables
        docs/vm: transhuge: split userspace bits to admin-guide/mm/transhuge
        docs/vm: transhuge: minor updates
        docs/vm: transhuge: change sections order
        Documentation: arm: clean up Marvell Berlin family info
        Documentation: gpio: driver: Fix a typo and some odd grammar
        docs: ranoops.rst: fix location of ramoops.txt
        scripts/documentation-file-ref-check: rewrite it in perl with auto-fix mode
        docs: uio-howto.rst: use a code block to solve a warning
        mm, THP, doc: Add document for thp_swpout/thp_swpout_fallback
        w1: w1_io.c: fix a kernel-doc warning
        Documentation/process/posting: wrap text at 80 cols
        docs: admin-guide: add cgroup-v2 documentation
        Revert "Documentation/features/vm: Remove arch support status file for 'pte_special'"
        Documentation: refcount-vs-atomic: Update reference to LKMM doc.
        ...
      eeee3149
    • Linus Torvalds's avatar
      swait: strengthen language to discourage use · c5e7a7ea
      Linus Torvalds authored
      We already earlier discouraged people from using this interface in
      commit 88796e7e ("sched/swait: Document it clearly that the swait
      facilities are special and shouldn't be used"), but I just got a pull
      request with a new broken user.
      
      So make the comment *really* clear.
      
      The swait interfaces are bad, and should not be used unless you have
      some *very* strong reasons that include tons of hard performance numbers
      on just why you want to use them, and you show that you actually
      understand that they aren't at all like the normal wait/wakeup
      interfaces.
      
      So far, every single user has been suspect.  The main user is KVM, which
      is completely pointless (there is only ever one waiter, which avoids the
      interface subtleties, but also means that having a queue instead of a
      pointer is counter-productive and certainly not an "optimization").
      
      So make the comments much stronger.
      
      Not that anybody likely reads them anyway, but there's always some
      slight hope that it will cause somebody to think twice.
      
      I'd like to remove this interface entirely, but there is the theoretical
      possibility that it's actually the right thing to use in some situation,
      most likely some deep RT use.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c5e7a7ea