1. 16 8月, 2018 1 次提交
  2. 15 8月, 2018 23 次提交
    • L
      Merge tag 'hardened-usercopy-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 8c479c2c
      Linus Torvalds 提交于
      Pull hardened usercopy updates from Kees Cook:
       "This cleans up a minor Kconfig issue and adds a kernel boot option for
        disabling hardened usercopy for distro users that may have corner-case
        performance issues (e.g. high bandwidth small-packet UDP traffic).
      
        Summary:
      
         - drop unneeded Kconfig "select BUG" (Kamal Mostafa)
      
         - add "hardened_usercopy=off" rare performance needs (Chris von
           Recklinghausen)"
      
      * tag 'hardened-usercopy-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        usercopy: Allow boot cmdline disabling of hardening
        usercopy: Do not select BUG with HARDENED_USERCOPY
      8c479c2c
    • L
      Merge tag 'for-linus-4.19-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 31130a16
      Linus Torvalds 提交于
      Pull xen updates from Juergen Gross:
      
       - add dma-buf functionality to Xen grant table handling
      
       - fix for booting the kernel as Xen PVH dom0
      
       - fix for booting the kernel as a Xen PV guest with
         CONFIG_DEBUG_VIRTUAL enabled
      
       - other minor performance and style fixes
      
      * tag 'for-linus-4.19-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/balloon: fix balloon initialization for PVH Dom0
        xen: don't use privcmd_call() from xen_mc_flush()
        xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits
        xen/biomerge: Use true and false for boolean values
        xen/gntdev: don't dereference a null gntdev_dmabuf on allocation failure
        xen/spinlock: Don't use pvqspinlock if only 1 vCPU
        xen/gntdev: Implement dma-buf import functionality
        xen/gntdev: Implement dma-buf export functionality
        xen/gntdev: Add initial support for dma-buf UAPI
        xen/gntdev: Make private routines/structures accessible
        xen/gntdev: Allow mappings for DMA buffers
        xen/grant-table: Allow allocating buffers suitable for DMA
        xen/balloon: Share common memory reservation routines
        xen/grant-table: Make set/clear page private code shared
      31130a16
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 1202f4fd
      Linus Torvalds 提交于
      Pull arm64 updates from Will Deacon:
       "A bunch of good stuff in here. Worth noting is that we've pulled in
        the x86/mm branch from -tip so that we can make use of the core
        ioremap changes which allow us to put down huge mappings in the
        vmalloc area without screwing up the TLB. Much of the positive
        diffstat is because of the rseq selftest for arm64.
      
        Summary:
      
         - Wire up support for qspinlock, replacing our trusty ticket lock
           code
      
         - Add an IPI to flush_icache_range() to ensure that stale
           instructions fetched into the pipeline are discarded along with the
           I-cache lines
      
         - Support for the GCC "stackleak" plugin
      
         - Support for restartable sequences, plus an arm64 port for the
           selftest
      
         - Kexec/kdump support on systems booting with ACPI
      
         - Rewrite of our syscall entry code in C, which allows us to zero the
           GPRs on entry from userspace
      
         - Support for chained PMU counters, allowing 64-bit event counters to
           be constructed on current CPUs
      
         - Ensure scheduler topology information is kept up-to-date with CPU
           hotplug events
      
         - Re-enable support for huge vmalloc/IO mappings now that the core
           code has the correct hooks to use break-before-make sequences
      
         - Miscellaneous, non-critical fixes and cleanups"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (90 commits)
        arm64: alternative: Use true and false for boolean values
        arm64: kexec: Add comment to explain use of __flush_icache_range()
        arm64: sdei: Mark sdei stack helper functions as static
        arm64, kaslr: export offset in VMCOREINFO ELF notes
        arm64: perf: Add cap_user_time aarch64
        efi/libstub: Only disable stackleak plugin for arm64
        arm64: drop unused kernel_neon_begin_partial() macro
        arm64: kexec: machine_kexec should call __flush_icache_range
        arm64: svc: Ensure hardirq tracing is updated before return
        arm64: mm: Export __sync_icache_dcache() for xen-privcmd
        drivers/perf: arm-ccn: Use devm_ioremap_resource() to map memory
        arm64: Add support for STACKLEAK gcc plugin
        arm64: Add stack information to on_accessible_stack
        drivers/perf: hisi: update the sccl_id/ccl_id when MT is supported
        arm64: fix ACPI dependencies
        rseq/selftests: Add support for arm64
        arm64: acpi: fix alignment fault in accessing ACPI
        efi/arm: map UEFI memory map even w/o runtime services enabled
        efi/arm: preserve early mapping of UEFI memory map longer for BGRT
        drivers: acpi: add dependency of EFI for arm64
        ...
      1202f4fd
    • V
      x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread · d0055f35
      Vlastimil Babka 提交于
      The function has an inline "return false;" definition with CONFIG_SMP=n
      but the "real" definition is also visible leading to "redefinition of
      ‘apic_id_is_primary_thread’" compiler error.
      
      Guard it with #ifdef CONFIG_SMP
      Signed-off-by: NVlastimil Babka <vbabka@suse.cz>
      Fixes: 6a4d2657 ("x86/smp: Provide topology_is_primary_thread()")
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d0055f35
    • A
      cpu/hotplug: Non-SMP machines do not make use of booted_once · 269777aa
      Abel Vesa 提交于
      Commit 0cc3cd21 ("cpu/hotplug: Boot HT siblings at least once")
      breaks non-SMP builds.
      
      [ I suspect the 'bool' fields should just be made to be bitfields and be
        exposed regardless of configuration, but that's a separate cleanup
        that I'll leave to the owners of this file for later.   - Linus ]
      
      Fixes: 0cc3cd21 ("cpu/hotplug: Boot HT siblings at least once")
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Signed-off-by: NAbel Vesa <abelvesa@linux.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      269777aa
    • L
      Merge tag 'docs-4.19' of git://git.lwn.net/linux · e6ecec34
      Linus Torvalds 提交于
      Pull documentation update from Jonathan Corbet:
       "This was a moderately busy cycle for docs, with the usual collection
        of small fixes and updates.
      
        We also have new ktime_get_*() docs from Arnd, some kernel-doc fixes,
        a new set of Italian translations (non so se vale la pena, ma non fa
        male - speriamo bene), and some extensive early memory-management
        documentation improvements from Mike Rapoport"
      
      * tag 'docs-4.19' of git://git.lwn.net/linux: (52 commits)
        Documentation: corrections to console/console.txt
        Documentation: add ioctl number entry for v4l2-subdev.h
        Remove gendered language from management style documentation
        scripts/kernel-doc: Escape all literal braces in regexes
        docs/mm: add description of boot time memory management
        docs/mm: memblock: add overview documentation
        docs/mm: memblock: add kernel-doc description for memblock types
        docs/mm: memblock: add kernel-doc comments for memblock_add[_node]
        docs/mm: memblock: update kernel-doc comments
        mm/memblock: add a name for memblock flags enumeration
        docs/mm: bootmem: add overview documentation
        docs/mm: bootmem: add kernel-doc description of 'struct bootmem_data'
        docs/mm: bootmem: fix kernel-doc warnings
        docs/mm: nobootmem: fixup kernel-doc comments
        mm/bootmem: drop duplicated kernel-doc comments
        Documentation: vm.txt: Adding 'nr_hugepages_mempolicy' parameter description.
        doc:it_IT: translation for kernel-hacking
        docs: Fix the reference labels in Locking.rst
        doc: tracing: Fix a typo of trace_stat
        mm: Introduce new type vm_fault_t
        ...
      e6ecec34
    • L
      Merge tag 'sound-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 747f6230
      Linus Torvalds 提交于
      Pull sound updates from Takashi Iwai:
       "It's been busy summer weeks and hence lots of changes, partly for a
        few new drivers and partly for a wide range of fixes.
      
        Here are highlights:
      
        ALSA Core:
         - Fix rawmidi buffer management, code cleanup / refactoring
         - Fix the SG-buffer page handling with incorrect fallback size
         - Fix the stall at virmidi trigger callback with a large buffer; also
           offloading and code-refactoring along with it
         - Various ALSA sequencer code cleanups
      
        ASoC:
         - Deploy the standard snd_pcm_stop_xrun() helper in several drivers
         - Support for providing name prefixes to generic component nodes
         - Quite a few fixes for DPCM as it gains a bit wider use and more
           robust testing
         - Generalization of the DIO2125 support to a simple amplifier driver
         - Accessory detection support for the audio graph card
         - DT support for PXA AC'97 devices
         - Quirks for a number of new x86 systems
         - Support for AM Logic Meson, Everest ES7154, Intel systems with
           RT5682, Qualcomm QDSP6 and WCD9335, Realtek RT5682 and TI TAS5707
      
        HD-audio:
         - Code refactoring in HD-audio ext codec codes to drop own classes;
           preliminary works for the upcoming legacy codec support
         - Generalized DRM audio component for the upcoming radeon / amdgpu
           support
         - Unification of mic mute-LED and GPIO support for various codecs
         - Further improvement of CA0132 codec support including Recon3D
         - Proper vga_switcheroo handling for AMD i-GPU
         - Update of model list in documentation
         - Fixups for another HP Spectre x360, Conexant codecs, power-save
           blacklist update
      
        USB-audio:
         - Fix the invalid sample rate setup with external clock
         - Support of UAC3 selector units and processing units
         - Basic UAC3 power-domain support
         - Support for Encore mDSD and Thesycon-based DSD devices
         - Preparation for future complete callback changes
      
        Firewire:
         - Add support for MOTU Traveler
      
        Misc:
         - The endianess notation fixes in various drivers
         - Add fall-through comment in lots of drivers
         - Various sparse warning fixes, e.g. about PCM format types"
      
      * tag 'sound-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (529 commits)
        ASoC: adav80x: mark expected switch fall-through
        ASoC: da7219: Add delays to capture path to remove DC offset noise
        ALSA: usb-audio: Mark expected switch fall-through
        ALSA: mixart: Mark expected switch fall-through
        ALSA: opl3: Mark expected switch fall-through
        ALSA: hda/ca0132 - Add exit commands for Recon3D
        ALSA: hda/ca0132 - Change mixer controls for Recon3D
        ALSA: hda/ca0132 - Add Recon3D input and output select commands
        ALSA: hda/ca0132 - Add DSP setup defaults for Recon3D
        ALSA: hda/ca0132 - Add Recon3D startup functions and setup
        ALSA: hda/ca0132 - Add bool variable to enable/disable pci region2 mmio
        ALSA: hda/ca0132 - Add Recon3D pincfg
        ALSA: hda/ca0132 - Add quirk ID and enum for Recon3D
        ALSA: hda/ca0132 - Add alt_functions unsolicited response
        ALSA: hda/ca0132 - Clean up ca0132_init function.
        ALSA: hda/ca0132 - Create mmio gpio function to make code clearer
        ASoC: wm_adsp: Make DSP name configurable by codec driver
        ASoC: wm_adsp: Declare firmware controls from codec driver
        ASoC: max98373: Added software reset register to readable registers
        ASoC: wm_adsp: Correct DSP pointer for preloader control
        ...
      747f6230
    • L
      Merge tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2c20443e
      Linus Torvalds 提交于
      Pull ACPI updates from Rafael Wysocki:
       "These revert two ACPICA commits that are not needed any more, rework
        the property graphs support in ACPI to be more aligned with the
        analogous DT code, add some new quirks and remove one that isn't
        needed any more, add a special platform driver to enumerate multiple
        I2C devices hooked up to the same device object in the ACPI tables and
        update the battery and button drivers.
      
        Specifics:
      
         - Revert two ACPICA commits that are not needed any more (Erik
           Schmauss).
      
         - Rework property graph support in the ACPI device properties
           framework to make it behave more like the analogous DT code and
           update the documentation of it (Sakari Ailus).
      
         - Change the default ACPI device status after initialization to
           ACPI_STA_DEFAULT instead of 0 (Hans de Goede).
      
         - Add a special platform driver for enumerating multiple I2C devices
           hooked up to the same object in the ACPI tables (Hans de Goede).
      
         - Fix the ACPI battery driver to avoid reporting full capacity on
           systems without support for that and clean it up (Hans de Goede,
           Dmitry Rozhkov, Lucas Rangit Magasweran).
      
         - Add two system wakeup quirks to the ACPI EC driver (Aaron Ma, Mika
           Westerberg).
      
         - Add the touchscreen on Dell Venue Pro 7139 to the list of "always
           present" devices to make it work (Tristian Celestin).
      
         - Revert a special tables handling quirk for Dell XPS 9570 and
           Precision M5530 which is not needed any more (Kai Heng Feng).
      
         - Add support for a new OEM _OSI string to allow system vendors to
           work around issues with NVidia HDMI audio (Alex Hung).
      
         - Prevent the ACPI button driver from reporting excessive system
           wakeup events and clean it up (Ravi Chandra Sadineni, Randy
           Dunlap).
      
         - Clean up two minor code style issues in the ACPI core and GHES
           handling on ARM64 (Dongjiu Geng, John Garry, Tom Todd)"
      
      * tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (34 commits)
        platform/x86: Add ACPI i2c-multi-instantiate pseudo driver
        ACPI / x86: utils: Remove status workaround from acpi_device_always_present()
        ACPI / scan: Create platform device for fwnodes with multiple i2c devices
        ACPI / scan: Initialize status to ACPI_STA_DEFAULT
        ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th
        ACPI: bus: Fix a pointer coding style issue
        arm64 / ACPI: clean the additional checks before calling ghes_notify_sea()
        ACPI / scan: Add static attribute to indirect_io_hosts[]
        ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity
        ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd
        ACPI / battery: get rid of negations in conditions
        ACPI / battery: use specialized print macros
        ACPI / battery: reorder headers alphabetically
        ACPI / battery: drop inclusion of init.h
        ACPI: battery: remove redundant old_present check on insertion
        ACPI: property: graph: Update graph documentation to use generic references
        ACPI: property: graph: Improve graph documentation for port/ep numbering
        ACPI: property: graph: Fix graph documentation
        ACPI: property: Update documentation for hierarchical data extension 1.1
        ACPI: property: Document key numbering for hierarchical data extension refs
        ...
      2c20443e
    • L
      Merge tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b018fc98
      Linus Torvalds 提交于
      Pull power management updates from Rafael Wysocki:
       "These add a new framework for CPU idle time injection, to be used by
        all of the idle injection code in the kernel in the future, fix some
        issues and add a number of relatively small extensions in multiple
        places.
      
        Specifics:
      
         - Add a new framework for CPU idle time injection (Daniel Lezcano).
      
         - Add AVS support to the armada-37xx cpufreq driver (Gregory
           CLEMENT).
      
         - Add support for current CPU frequency reporting to the ACPI CPPC
           cpufreq driver (George Cherian).
      
         - Rework the cooling device registration in the imx6q/thermal driver
           (Bastian Stender).
      
         - Make the pcc-cpufreq driver refuse to work with dynamic scaling
           governors on systems with many CPUs to avoid scalability issues
           with it (Rafael Wysocki).
      
         - Fix the intel_pstate driver to report different maximum CPU
           frequencies on systems where they really are different and to
           ignore the turbo active ratio if hardware-managend P-states (HWP)
           are in use; make it use the match_string() helper (Xie Yisheng,
           Srinivas Pandruvada).
      
         - Fix a minor deferred probe issue in the qcom-kryo cpufreq driver
           (Niklas Cassel).
      
         - Add a tracepoint for the tracking of frequency limits changes (from
           Andriod) to the cpufreq core (Ruchi Kandoi).
      
         - Fix a circular lock dependency between CPU hotplug and sysfs
           locking in the cpufreq core reported by lockdep (Waiman Long).
      
         - Avoid excessive error reports on driver registration failures in
           the ARM cpuidle driver (Sudeep Holla).
      
         - Add a new device links flag to the driver core to make links go
           away automatically on supplier driver removal (Vivek Gautam).
      
         - Eliminate potential race condition between system-wide power
           management transitions and system shutdown (Pingfan Liu).
      
         - Add a quirk to save NVS memory on system suspend for the ASUS 1025C
           laptop (Willy Tarreau).
      
         - Make more systems use suspend-to-idle (instead of ACPI S3) by
           default (Tristian Celestin).
      
         - Get rid of stack VLA usage in the low-level hibernation code on
           64-bit x86 (Kees Cook).
      
         - Fix error handling in the hibernation core and mark an expected
           fall-through switch in it (Chengguang Xu, Gustavo Silva).
      
         - Extend the generic power domains (genpd) framework to support
           attaching a device to a power domain by name (Ulf Hansson).
      
         - Fix device reference counting and user limits initialization in the
           devfreq core (Arvind Yadav, Matthias Kaehlcke).
      
         - Fix a few issues in the rk3399_dmc devfreq driver and improve its
           documentation (Enric Balletbo i Serra, Lin Huang, Nick Milner).
      
         - Drop a redundant error message from the exynos-ppmu devfreq driver
           (Markus Elfring)"
      
      * tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
        PM / reboot: Eliminate race between reboot and suspend
        PM / hibernate: Mark expected switch fall-through
        cpufreq: intel_pstate: Ignore turbo active ratio in HWP
        cpufreq: Fix a circular lock dependency problem
        cpu/hotplug: Add a cpus_read_trylock() function
        x86/power/hibernate_64: Remove VLA usage
        cpufreq: trace frequency limits change
        cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP
        cpufreq: pcc-cpufreq: Disable dynamic scaling on many-CPU systems
        cpufreq: qcom-kryo: Silently error out on EPROBE_DEFER
        cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC
        cpufreq: armada-37xx: Add AVS support
        dt-bindings: marvell: Add documentation for the Armada 3700 AVS binding
        PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload.
        PM / devfreq: Init user limits from OPP limits, not viceversa
        PM / devfreq: rk3399_dmc: fix spelling mistakes.
        PM / devfreq: rk3399_dmc: do not print error when get supply and clk defer.
        dt-bindings: devfreq: rk3399_dmc: move interrupts to be optional.
        PM / devfreq: rk3399_dmc: remove wait for dcf irq event.
        dt-bindings: clock: add rk3399 DDR3 standard speed bins.
        ...
      b018fc98
    • L
      Merge tag 'leds-for-4.19-rc1' of... · c07b3682
      Linus Torvalds 提交于
      Merge tag 'leds-for-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      
      Pull LED updates from Jacek Anaszewski:
       "LED triggers improvements make the biggest part of this pull request.
        The most striking ones, that allowed for nice cleanups in the triggers
        are:
      
         - centralized handling of creation and removal of trigger sysfs
           attributes via attribute group
      
         - addition of module_led_trigger() helper
      
        The other things that need to be mentioned:
      
        New features and improvements to existing LED class drivers:
      
         - lt3593: add DT support, switch to gpiod interface
      
         - lm3692x: support LED sync configuration, change OF calls to fwnode
           calls
      
         - apu: modify PC Engines apu/apu2 driver to support apu3
      
        Change in the drivers/net/can/led.c:
      
         - mark led trigger as broken since it's in the way for the further
           cleanups. It implements a subset of the netdev trigger and an Ack
           is needed from someone who can actually test and confirm that the
           netdev trigger works for can devices"
      
      * tag 'leds-for-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (32 commits)
        leds: ns2: Change unsigned to unsigned int
        usb: simplify usbport trigger
        leds: gpio trigger: simplifications from core changes
        leds: backlight trigger: simplifications from core changes
        leds: activity trigger: simplifications from core changes
        leds: default-on trigger: make use of module_led_trigger()
        leds: heartbeat trigger: simplifications from core changes
        leds: oneshot trigger: simplifications from core changes
        leds: transient trigger: simplifications from core changes
        leds: timer trigger: simplifications from core changes
        leds: netdev trigger: simplifications from core changes
        leds: triggers: new function led_set_trigger_data()
        leds: triggers: define module_led_trigger helper
        leds: triggers: handle .trigger_data and .activated() in the core
        leds: triggers: add device attribute support
        leds: triggers: let struct led_trigger::activate() return an error code
        leds: triggers: make the MODULE_LICENSE string match the actual license
        leds: lm3692x: Support LED sync configuration
        dt: bindings: lm3692x: Update binding for LED sync control
        leds: lm3692x: Change DT calls to fwnode calls
        ...
      c07b3682
    • L
      Merge tag 'devicetree-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4d88e3d2
      Linus Torvalds 提交于
      Pull Devicetree updates from Rob Herring:
      
       - Remove an obsolete hack for PPC32 longtrail systems
      
       - Make of_io_request_and_map() "name" arg optional
      
       - Add vendor prefixes for bitmain, Asus, and Y Soft
      
       - Remove 'interrupt-parent' from bindings as it is implicit
      
       - New properties for wm8994 audio codec
      
       - Add 'clocks' property support to SRAM binding
      
       - Add binding for ASPEED coprocessor interrupt controller
      
       - Various binding spelling and link fixes
      
      * tag 'devicetree-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        Documentation: remove dynamic-resolution-notes reference to non-existent file
        dt-bindings: Add Y Soft Corporation vendor prefix
        of/fdt: Remove PPC32 longtrail hack in memory scan
        dt-bindings: remove 'interrupt-parent' from bindings
        pinctrl: tegra: fix spelling in devicetree binding document
        usb: dwc3: rockchip: Fix PHY documentation links.
        dt-bindings: sound: wm8994: document wlf,csnaddr-pd property
        dt-bindings: sound: wm8994: document wlf,spkmode-pu property
        dt-bindings: sram: Add 'clocks' as an optional property
        dt-bindings: Add vendor prefix for AsusTek Computer Inc.
        dt-bindings: misc: ASPEED coprocessor interrupt controller
        dt-bindings: gpio: pca953x: Document interrupts, update example
        drivers/of: Make of_io_request_and_map() "name" argument optional
        dt-bindings: Add bitmain vendor prefix
        Documentation: devicetree: tilcdc: fix spelling mistake "suppors" -> "supports"
      4d88e3d2
    • L
      Merge tag 'pinctrl-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · c6ed444f
      Linus Torvalds 提交于
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for v4.19:
      
        Core changes:
      
         - Augment pinctrl_generic_add_group() and pinmux_generic_add_function()
           to return the selector for the added group/function to the caller
           and augment (hopefully) all drivers to handle this
      
        New subdrivers:
      
         - Qualcomm PM8998 and PM8005 are supported in the SPMI pin control
           and GPIO driver
      
         - Intel Ice Lake PCH (platform controller hub) support
      
         - NXP (ex Freescale) i.MX8MQ support
      
         - Berlin AS370 support
      
        Improvements to drivers:
      
         - Support interrupts on the Ocelot pin controller
      
         - Add SPI pins to the Uniphier driver
      
         - Define a GPIO compatible per SoC in the Tegra driver
      
         - Push Tegra initialization down in the initlevels
      
         - Support external wakeup interrupts on the Exynos
      
         - Add generic clocks pins to the meson driver
      
         - Add USB and HSCIF pins for some Renesas PFC chips
      
         - Suspend/resume support in the armada-37xx
      
         - Interrupt support for the Actions Semiconductor S900 also known as
           "owl"
      
         - Correct the pin ordering in Cedarfork
      
         - Debugfs output for INTF in the mcp23s08 driver
      
         - Avoid divisions in context save/restore in pinctrl-single
      
        The rest is minor bug fixes or cleanups"
      
      * tag 'pinctrl-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (69 commits)
        pinctrl: nomadik: silence uninitialized variable warning
        pinctrl: axp209: Fix NULL pointer dereference after allocation
        pinctrl: samsung: Remove duplicated "wakeup" in printk
        pinctrl: ocelot: add support for interrupt controller
        pinctrl: intel: Don't shadow error code of gpiochip_lock_as_irq()
        pinctrl: berlin: fix 'pctrl->functions' allocation in berlin_pinctrl_build_state
        gpio: tegra: Move driver registration to subsys_init level
        pinctrl: tegra: Move drivers registration to arch_init level
        pinctrl: baytrail: actually print the apparently misconfigured pin
        MAINTAINERS: Replace Heikki as maintainer of Intel pinctrl
        pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show()
        pinctrl: uniphier: add spi pin-mux settings
        pinctrl: cannonlake: Fix community ordering for H variant
        pinctrl: tegra: define GPIO compatible node per SoC
        pinctrl: intel: Do pin translation when lock IRQ
        pinctrl: imx: off by one in imx_pinconf_group_dbg_show()
        pinctrl: mediatek: include chained_irq.h header
        pinctrl/amd: only handle irq if it is pending and unmasked
        pinctrl/amd: fix gpio irq level in debugfs
        pinctrl: stm32: add syscfg mask parameter
        ...
      c6ed444f
    • L
      Merge tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 3860cae6
      Linus Torvalds 提交于
      Pull regulator updates from Mark Brown:
       "The biggest set of changes in here is the addition of the Qualcomm
        RPMH driver. As well as the regualtor driver itself being quite large
        due to the usual involved Qualcomm regulator stuff there's also some
        code shared with the arm-soc tree, a bus driver required to
        communicate with the hardware that actually winds up being much larger
        than the regulator driver itself and a LLCC driver that was part of
        the same signed tag used with the arm-soc tree.
      
        Other than that it's a fairly standard and quiet release, highlights
        include:
      
         - Addition of device links from regulator consumers to their
           regulators, helping the core avoid dependency issues during
           suspend.
      
         - Support for the entertainingly innovative suspend implementation in
           the BD9571MWV.
      
         - Support for switch regulators on the PFUZE100, this required two
           goes due to backwards compatibility issues with old DTs that were
           discovered.
      
         - Support for Freescale PFUZE3001 and SocioNext UniPhier.
      
         - The aforementioned Qualcomm RPMH driver together with the driver
           changes required to support it"
      
      * tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (52 commits)
        regulator: add QCOM RPMh regulator driver
        regulator: dt-bindings: add QCOM RPMh regulator bindings
        regulator: samsung: Add SPDX license identifiers
        regulator: maxim: Add SPDX license identifiers
        regulator: bd71837: adobt MFD changes to regulator driver
        regulator: tps65217: Fix NULL pointer dereference on probe
        regulator: Add support for CPCAP regulators on Motorola Xoom devices.
        regulator: Add sw2_sw4 voltage table to cpcap regulator.
        regulator: bd9571mwv: Make symbol 'dev_attr_backup_mode' static
        regulator: pfuze100: add support to en-/disable switch regulators
        regulator: pfuze100: add optional disable switch-regulators binding
        soc: qcom: rmtfs-mem: fix memleak in probe error paths
        soc: qcom: llc-slice: Add missing MODULE_LICENSE()
        drivers: qcom: rpmh: fix unwanted error check for get_tcs_of_type()
        drivers: qcom: rpmh-rsc: fix the loop index check in get_req_from_tcs
        firmware: qcom: scm: add a dummy qcom_scm_assign_mem()
        drivers: qcom: rpmh-rsc: Check cmd_db_ready() to help children
        drivers: qcom: rpmh-rsc: allow active requests from wake TCS
        drivers: qcom: rpmh: add support for batch RPMH request
        drivers: qcom: rpmh: allow requests to be sent asynchronously
        ...
      3860cae6
    • L
      Merge tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 010b0e70
      Linus Torvalds 提交于
      Pull spi updates from Mark Brown:
       "Quite an active release for the SPI subsystem, lots of small updates
        and fixes scattered about with highlights including:
      
         - 3-wire support in the GPIO driver.
      
         - support for setting a custom memory name in the memory mapped flash
           drivers.
      
         - support for extended mode in the Freescale DSPI controller.
      
         - support for the non-standard integration with the Microsemi Ocelot
           platform in the DesignWare driver.
      
         - new driver for the SocioNext UniPhier"
      
      * tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (47 commits)
        spi: davinci: fix a NULL pointer dereference
        spi: spi-mem: Constify spi_mem->name
        mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name
        spi: spi-mem: Extend the SPI mem interface to set a custom memory name
        spi: spi-mem: Fix a typo in the documentation of struct spi_mem
        spi: uniphier: remove unnecessary include headers
        spi: spi-gpio: add SPI_3WIRE support
        spi: add flags parameter to txrx_word function pointers
        spi: add SPI controller driver for UniPhier SoC
        spi: add DT bindings for UniPhier SPI controller
        spi: dw: document Microsemi integration
        spi: img-spfi: Set device select bits for SPFI port state
        spi: omap2-mcspi: remove several redundant variables
        spi: dw-mmio: add MSCC Ocelot support
        spi: dw: export dw_spi_set_cs
        spi: spi-fsl-espi: Log fifo counters on error
        spi: imx: Use the longuest possible burst size when in dynamic_burst
        spi: imx: remove unnecessary check in spi_imx_can_dma
        spi: imx: Use correct number of bytes per words
        spi: imx: Use dynamic bursts only when bits_per_word is 8, 16 or 32
        ...
      010b0e70
    • V
      x86/init: fix build with CONFIG_SWAP=n · 792adb90
      Vlastimil Babka 提交于
      The introduction of generic_max_swapfile_size and arch-specific versions has
      broken linking on x86 with CONFIG_SWAP=n due to undefined reference to
      'generic_max_swapfile_size'. Fix it by compiling the x86-specific
      max_swapfile_size() only with CONFIG_SWAP=y.
      Reported-by: NTomas Pruzina <pruzinat@gmail.com>
      Fixes: 377eeaa8 ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2")
      Signed-off-by: NVlastimil Babka <vbabka@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      792adb90
    • L
      Merge tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 15bc88cd
      Linus Torvalds 提交于
      Pull regmap updates from Mark Brown:
       "Several small new features for regmap this time around:
      
         - Support for SCCB, an I2C variant used on some media cards. This has
           also pulled in an I2C commit from Peter Rosin as a dependency.
      
         - Addition of an API for reading repeatedly from registers where the
           address doesn't automatically increment like some ADC outputs or
           GPIO status registers.
      
         - Support for bulk I/O on Slimbus"
      
      * tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Add regmap_noinc_read API
        regmap: sccb: fix typo and sort headers alphabetically
        i2c: smbus: add unlocked __i2c_smbus_xfer variant
        regmap: add SCCB support
        regmap: slimbus: add support to multi read/write
      15bc88cd
    • L
      Merge tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs · be718b52
      Linus Torvalds 提交于
      Pull configfs updates from Christoph Hellwig:
      
       - simplify the cide by using kvasprintf (Bart Van Assche)
      
       - fix a gcc 8 string truncation warning by making the code simpler
         (Guenter Roeck)
      
       - fix a bug in rmdir() handling (Mike Christie)
      
      * tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs:
        configfs: fix registered group removal
        configfs: replace strncpy with memcpy
        configfs: use kvasprintf() instead of open-coding it
      be718b52
    • L
      Merge tag 'dma-mapping-4.19' of git://git.infradead.org/users/hch/dma-mapping · f66dc723
      Linus Torvalds 提交于
      Pull dma-mapping updates from Christoph Hellwig:
      
       - a series from Robin to fix bus imposed dma limits by adding a
         separate mask for them to struct device instead of trying to squeeze
         a second meaning out of the existing dma mask as we did before.
      
         This has ACKs from the various other subsystems touched
      
       - a small swiotlb cleanup from Kees (acked by Konrad)
      
       - conversion of nios2 and sh to the new generic dma-noncoherent code.
      
         Various other architecture conversions will come through the
         architectures maintainers trees.
      
      * tag 'dma-mapping-4.19' of git://git.infradead.org/users/hch/dma-mapping:
        sh: use generic dma_noncoherent_ops
        sh: split arch/sh/mm/consistent.c
        sh: use dma_direct_ops for the CONFIG_DMA_COHERENT case
        sh: introduce a sh_cacheop_vaddr helper
        sh: simplify get_arch_dma_ops
        OF: Don't set default coherent DMA mask
        ACPI/IORT: Don't set default coherent DMA mask
        iommu/dma: Respect bus DMA limit for IOVAs
        of/device: Set bus DMA mask as appropriate
        ACPI/IORT: Set bus DMA mask as appropriate
        dma-mapping: Generalise dma_32bit_limit flag
        ACPI/IORT: Support address size limit for root complexes
        of/platform: Initialise default DMA masks
        nios2: use generic dma_noncoherent_ops
        swiotlb: clean up reporting
        dma-mapping: relax warning for per-device areas
      f66dc723
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · b219a1d2
      Linus Torvalds 提交于
      Pull MD updates from Shaohua Li:
       "A few MD fixes for 4.19-rc1:
      
         - several md-cluster fixes from Guoqing
      
         - a data corruption fix from BingJing
      
         - other cleanups"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        md/raid5: fix data corruption of replacements after originals dropped
        drivers/md/raid5: Do not disable irq on release_inactive_stripe_list() call
        drivers/md/raid5: Use irqsave variant of atomic_dec_and_lock()
        md/r5cache: remove redundant pointer bio
        md-cluster: don't send msg if array is closing
        md-cluster: show array's status more accurate
        md-cluster: clear another node's suspend_area after the copy is finished
      b219a1d2
    • L
      Merge tag 'mtd/for-4.19' of git://git.infradead.org/linux-mtd · c2fc71c9
      Linus Torvalds 提交于
      Pull mtd updates from Boris Brezillon:
       "JFFS2 changes:
         - Support 64-bit timestamps
      
        MTD core changes:
         - Support sub-partitions
         - Clarify mtd_oob_ops documentation
         - Make Kconfig formatting consistent
         - Fix potential overflows in mtdchar_{write,read}()
         - Fallback to ->_{read,write}() when ->_{read,write}_oob() is missing
           and no OOB data were requested
         - Remove VLA usage in the bch lib
      
        MTD driver changes:
         - Use mtd_device_register() instead of mtd_device_parse_register()
           where applicable
         - Use proper printk format to print physical addresses in the
           solutionengine driver
         - Add missing mtd_set_of_node() call in the powernv driver
         - Remove unneeded variables in a few drivers
         - Plug the TRX part parser to the DT partition parsers logic
         - Check ioremap_cache() return code in the gpio-addr-flash driver
         - Stop using VMLINUX_SYMBOL_STR() in gen_probe.c
      
        SPI NOR core changes:
         - Apply reset hacks only when reset is explicitly marked as broken in
           the DT
      
         SPI NOR driver changes:
         - Minor cleanup/fixes in the m25p80 driver
         - Release flash_np in the nxp-spifi driver
         - Add suspend/resume hooks to the atmel-quadspi driver
         - Include gpio/consumer.h instead of gpio.h in the atmel-quadspi
           driver
         - Use %pK instead of %p in the stm32-quadspi driver
         - Improve timeout handling in the cadence-quadspi driver
         - Use mtd_device_register() instead of mtd_device_parse_register() in
           the intel-spi driver
      
        NAND core changes:
         - Add the SPI-NAND framework.
         - Create a helper to find the best ECC configuration.
         - Create NAND controller operations.
         - Allocate dynamically ONFI parameters structure.
         - Add defines for ONFI version bits.
         - Add manufacturer fixup for ONFI parameter page.
         - Add an option to specify NAND chip as a boot device.
         - Add Reed-Solomon error correction algorithm.
         - Better name for the controller structure.
         - Remove unused caller_is_module() definition.
         - Make subop helpers return unsigned values.
         - Expose _notsupp() helpers for raw page accessors.
         - Add default values for dynamic timings.
         - Kill the chip->scan_bbt() hook.
         - Rename nand_default_bbt() into nand_create_bbt().
         - Start to clean the nand_chip structure.
         - Remove stale prototype from rawnand.h.
      
        Raw NAND controllers drivers changes:
         - Qcom: structuring cleanup.
         - Denali: use core helper to find the best ECC configuration.
         - Possible build of almost all drivers by adding a dependency on
           COMPILE_TEST for almost all of them in Kconfig, implies various
           fixes, Kconfig cleanup, GPIO headers inclusion cleanup, and even
           changes in sparc64 and ia64 architectures.
         - Clean the ->probe() functions error path of a lot of drivers.
         - Migrate all drivers to use nand_scan() instead of
           nand_scan_ident()/nand_scan_tail() pair.
         - Use mtd_device_register() where applicable to simplify the code.
         - Marvell:
            * Handle on-die ECC.
            * Better clocks handling.
            * Remove bogus comment.
            * Add suspend and resume support.
         - Tegra: add NAND controller driver.
         - Atmel:
            * Add module param to avoid using dma.
            * Drop Wenyou Yang from MAINTAINERS.
         - Denali: optimize timings handling.
         - FSMC: Stop using chip->read_buf().
         - FSL:
            * Switch to SPDX license tag identifiers.
            * Fix qualifiers in MXC init functions.
      
        Raw NAND chip drivers changes:
         - Micron:
            * Add fixup for ONFI revision.
            * Update ecc_stats.corrected.
            * Make ECC activation stateful.
            * Avoid enabling/disabling ECC when it can't be disabled.
            * Get the actual number of bitflips.
            * Allow forced on-die ECC.
            * Support 8/512 on-die ECC.
            * Fix on-die ECC detection logic.
         - Hynix:
            * Fix decoding the OOB size on H27UCG8T2BTR.
            * Use ->exec_op() in hynix_nand_reg_write_op()"
      
      * tag 'mtd/for-4.19' of git://git.infradead.org/linux-mtd: (188 commits)
        mtd: rawnand: atmel: Select GENERIC_ALLOCATOR
        MAINTAINERS: drop Wenyou Yang from Atmel NAND driver support
        mtd: rawnand: allocate dynamically ONFI parameters during detection
        mtd: spi-nor: only apply reset hacks to broken hardware
        mtd: spi-nor: cadence-quadspi: fix timeout handling
        mtd: spi-nor: atmel-quadspi: Include gpio/consumer.h instead of gpio.h
        mtd: spi-nor: intel-spi: use mtd_device_register()
        mtd: spi-nor: stm32-quadspi: replace "%p" with "%pK"
        mtd: spi-nor: atmel-quadspi: add suspend/resume hooks
        mtd: rawnand: allocate model parameter dynamically
        mtd: rawnand: do not export nand_scan_[ident|tail]() anymore
        mtd: rawnand: txx9ndfmc: convert driver to nand_scan()
        mtd: rawnand: txx9ndfmc: clarify ECC parameters assignation
        mtd: rawnand: tegra: convert driver to nand_scan()
        mtd: rawnand: jz4740: convert driver to nand_scan()
        mtd: rawnand: jz4740: group nand_scan_{ident, tail} calls
        mtd: rawnand: jz4740: fix probe function error path
        mtd: rawnand: docg4: convert driver to nand_scan()
        mtd: rawnand: do not execute nand_scan_ident() if maxchips is zero
        mtd: rawnand: atmel: convert driver to nand_scan()
        ...
      c2fc71c9
    • L
      Merge SCSI_IOCTL_SEND_COMMAND cleanup branch. · 57ee3196
      Linus Torvalds 提交于
      Nobody commented on this patch back in July. So now it gets merged.
      
      * SCSI_IOCTL_SEND_COMMAND cleanup:
        scsi sg: remove incorrect scsi command checking logic
      57ee3196
    • L
      Merge tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-block · 73ba2fb3
      Linus Torvalds 提交于
      Pull block updates from Jens Axboe:
       "First pull request for this merge window, there will also be a
        followup request with some stragglers.
      
        This pull request contains:
      
         - Fix for a thundering heard issue in the wbt block code (Anchal
           Agarwal)
      
         - A few NVMe pull requests:
            * Improved tracepoints (Keith)
            * Larger inline data support for RDMA (Steve Wise)
            * RDMA setup/teardown fixes (Sagi)
            * Effects log suppor for NVMe target (Chaitanya Kulkarni)
            * Buffered IO suppor for NVMe target (Chaitanya Kulkarni)
            * TP4004 (ANA) support (Christoph)
            * Various NVMe fixes
      
         - Block io-latency controller support. Much needed support for
           properly containing block devices. (Josef)
      
         - Series improving how we handle sense information on the stack
           (Kees)
      
         - Lightnvm fixes and updates/improvements (Mathias/Javier et al)
      
         - Zoned device support for null_blk (Matias)
      
         - AIX partition fixes (Mauricio Faria de Oliveira)
      
         - DIF checksum code made generic (Max Gurtovoy)
      
         - Add support for discard in iostats (Michael Callahan / Tejun)
      
         - Set of updates for BFQ (Paolo)
      
         - Removal of async write support for bsg (Christoph)
      
         - Bio page dirtying and clone fixups (Christoph)
      
         - Set of bcache fix/changes (via Coly)
      
         - Series improving blk-mq queue setup/teardown speed (Ming)
      
         - Series improving merging performance on blk-mq (Ming)
      
         - Lots of other fixes and cleanups from a slew of folks"
      
      * tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-block: (190 commits)
        blkcg: Make blkg_root_lookup() work for queues in bypass mode
        bcache: fix error setting writeback_rate through sysfs interface
        null_blk: add lock drop/acquire annotation
        Blk-throttle: reduce tail io latency when iops limit is enforced
        block: paride: pd: mark expected switch fall-throughs
        block: Ensure that a request queue is dissociated from the cgroup controller
        block: Introduce blk_exit_queue()
        blkcg: Introduce blkg_root_lookup()
        block: Remove two superfluous #include directives
        blk-mq: count the hctx as active before allocating tag
        block: bvec_nr_vecs() returns value for wrong slab
        bcache: trivial - remove tailing backslash in macro BTREE_FLAG
        bcache: make the pr_err statement used for ENOENT only in sysfs_attatch section
        bcache: set max writeback rate when I/O request is idle
        bcache: add code comments for bset.c
        bcache: fix mistaken comments in request.c
        bcache: fix mistaken code comments in bcache.h
        bcache: add a comment in super.c
        bcache: avoid unncessary cache prefetch bch_btree_node_get()
        bcache: display rate debug parameters to 0 when writeback is not running
        ...
      73ba2fb3
    • L
      Merge branch 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 958f338e
      Linus Torvalds 提交于
      Merge L1 Terminal Fault fixes from Thomas Gleixner:
       "L1TF, aka L1 Terminal Fault, is yet another speculative hardware
        engineering trainwreck. It's a hardware vulnerability which allows
        unprivileged speculative access to data which is available in the
        Level 1 Data Cache when the page table entry controlling the virtual
        address, which is used for the access, has the Present bit cleared or
        other reserved bits set.
      
        If an instruction accesses a virtual address for which the relevant
        page table entry (PTE) has the Present bit cleared or other reserved
        bits set, then speculative execution ignores the invalid PTE and loads
        the referenced data if it is present in the Level 1 Data Cache, as if
        the page referenced by the address bits in the PTE was still present
        and accessible.
      
        While this is a purely speculative mechanism and the instruction will
        raise a page fault when it is retired eventually, the pure act of
        loading the data and making it available to other speculative
        instructions opens up the opportunity for side channel attacks to
        unprivileged malicious code, similar to the Meltdown attack.
      
        While Meltdown breaks the user space to kernel space protection, L1TF
        allows to attack any physical memory address in the system and the
        attack works across all protection domains. It allows an attack of SGX
        and also works from inside virtual machines because the speculation
        bypasses the extended page table (EPT) protection mechanism.
      
        The assoicated CVEs are: CVE-2018-3615, CVE-2018-3620, CVE-2018-3646
      
        The mitigations provided by this pull request include:
      
         - Host side protection by inverting the upper address bits of a non
           present page table entry so the entry points to uncacheable memory.
      
         - Hypervisor protection by flushing L1 Data Cache on VMENTER.
      
         - SMT (HyperThreading) control knobs, which allow to 'turn off' SMT
           by offlining the sibling CPU threads. The knobs are available on
           the kernel command line and at runtime via sysfs
      
         - Control knobs for the hypervisor mitigation, related to L1D flush
           and SMT control. The knobs are available on the kernel command line
           and at runtime via sysfs
      
         - Extensive documentation about L1TF including various degrees of
           mitigations.
      
        Thanks to all people who have contributed to this in various ways -
        patches, review, testing, backporting - and the fruitful, sometimes
        heated, but at the end constructive discussions.
      
        There is work in progress to provide other forms of mitigations, which
        might be less horrible performance wise for a particular kind of
        workloads, but this is not yet ready for consumption due to their
        complexity and limitations"
      
      * 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
        x86/microcode: Allow late microcode loading with SMT disabled
        tools headers: Synchronise x86 cpufeatures.h for L1TF additions
        x86/mm/kmmio: Make the tracer robust against L1TF
        x86/mm/pat: Make set_memory_np() L1TF safe
        x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
        x86/speculation/l1tf: Invert all not present mappings
        cpu/hotplug: Fix SMT supported evaluation
        KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry
        x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry
        x86/speculation: Simplify sysfs report of VMX L1TF vulnerability
        Documentation/l1tf: Remove Yonah processors from not vulnerable list
        x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr()
        x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d
        x86: Don't include linux/irq.h from asm/hardirq.h
        x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d
        x86/irq: Demote irq_cpustat_t::__softirq_pending to u16
        x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush()
        x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond'
        x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush()
        cpu/hotplug: detect SMT disabled by BIOS
        ...
      958f338e
  3. 14 8月, 2018 16 次提交
    • L
      Merge tag 'xfs-4.19-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 781fca5b
      Linus Torvalds 提交于
      Pull xfs updates from Darrick Wong:
       "This is the second part of the XFS changes for 4.19.
      
        The biggest changes are the removal of buffer heads frm XFS, a massive
        reworking of the deferred transaction operations handling code, the
        removal of the long defunct barrier/nobarrier mount options, and the
        addition of a few more online repair functions.
      
        Summary:
      
         - Use extent maps to track pagecache page status instead of
           bufferhead state.
      
         - Refactor pagecache read and write paths to use the new iomap
           library functions, which enable us to drop the old bufferhead code
           for pagesize == blocksize filesystems.
      
         - Set up parallel per-block-per-page metadata to track subpage
           information that was tracked by buffer heads, which enables us to
           drop the old bufferhead code for pagesize > blocksize filesystems.
      
         - Tie a deferred ops control structure to a transaction so that we
           can take advantage of an upper-level dfops without having to plumb
           pointer passing through the code.
      
         - Refactor the deferred ops code to track deferred ops as part of the
           transaction structure (instead of as a separate data structure) so
           that we can simplify the scoping rules around defer_ops.
      
         - Refactor twisty delwri buffer submission code to avoid deadlocks.
      
         - Shorten and fix indenting problems in the scrub code.
      
         - Detect obviously bad summary counts at mount and fix them.
      
         - Directly associate deferred ops control structure with a
           transaction so that callers no longer have to manage it themselves.
      
         - Remove a couple of IRIX-era inode macros.
      
         - Remove the long-deprecated 'barrier' and 'nobarrier' mount options.
      
         - Clean up the inode fork structure a bit.
      
         - Check for bad fs summary counter values in the superblock.
      
         - Reduce COW fork lookups during writeback.
      
         - Refactor the deferred ops control structures into the transaction
           structure, thereby eliminating the need for transaction users to
           handle the deferred ops as a separate data structure.
      
         - Add the ability to repair AG headers online.
      
         - Fix a crash due to insufficient return value checking.
      
         - Various fixes and cleanups"
      
      * tag 'xfs-4.19-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (155 commits)
        xfs: fix a null pointer dereference in xfs_bmap_extents_to_btree
        xfs: remove b_last_holder & associated macros
        iomap: Switch to offset_in_page for clarity
        xfs: Close race between direct IO and xfs_break_layouts()
        xfs: repair the AGI
        xfs: repair the AGFL
        xfs: repair the AGF
        xfs: remove dead error handling code in xfs_dquot_disk_alloc()
        xfs: use WRITE_ONCE to update if_seq
        xfs: fix a comment in xfs_log_reserve
        xfs: only validate summary counts on primary superblock
        xfs: substitute spaces with tabs
        xfs: fold dfops into the transaction
        xfs: always defer agfl block frees
        xfs: pass transaction to xfs_defer_add()
        xfs: replace xfs_defer_ops ->dop_pending with on-stack list
        xfs: cancel dfops on xfs_defer_finish() error
        xfs: clean out superfluous dfops dop params/vars
        xfs: drop dop param from xfs_defer_op_type ->finish_item() callback
        xfs: automatic dfops inode relogging
        ...
      781fca5b
    • R
      Merge branches 'acpi-button', 'acpi-battery' and 'acpi-osi' · 76f7d6c0
      Rafael J. Wysocki 提交于
      Merge updates of the ACPI battery and button drivers and support for
      a new OEM _OSI string for 4.19.
      
      * acpi-button:
        ACPI / button: fix defined but not used warning
        ACPI / button: increment wakeup count only when notified
      
      * acpi-battery:
        ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity
        ACPI / battery: get rid of negations in conditions
        ACPI / battery: use specialized print macros
        ACPI / battery: reorder headers alphabetically
        ACPI / battery: drop inclusion of init.h
        ACPI: battery: remove redundant old_present check on insertion
      
      * acpi-osi:
        ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio
      76f7d6c0
    • R
      Merge branches 'acpi-x86', 'acpi-bus', 'acpi-ec' and 'acpi-apei' · 3c942804
      Rafael J. Wysocki 提交于
      Merge ACPI x86-specific changes, core updates, EC driver updates and
      APEI support updates for 4.19.
      
      These add a special platform driver for handling multiple I2C devices
      hooked up to the same device object in the ACPI tables, add some new
      quirks and remove one that is not needed any more.
      
      * acpi-x86:
        platform/x86: Add ACPI i2c-multi-instantiate pseudo driver
        ACPI / x86: utils: Remove status workaround from acpi_device_always_present()
        ACPI / x86: enable touchscreen on Dell Venue Pro 7139
      
      * acpi-bus:
        ACPI: bus: Fix a pointer coding style issue
        Revert "ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530"
      
      * acpi-ec:
        ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th
        ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd
      
      * acpi-apei:
        arm64 / ACPI: clean the additional checks before calling ghes_notify_sea()
      3c942804
    • R
      Merge branches 'acpica' and 'acpi-property' · 4a3f421b
      Rafael J. Wysocki 提交于
      Merge ACPICA changes and updates of the ACPI device properties
      framework for 4.19.
      
      These revert two ACPICA commits that are not needed any more and
      modify the properties graph support in ACPI to be more in-line with
      the analogous DT code.
      
      * acpica:
        ACPICA: Update version to 20180629
        ACPICA: Revert "iASL compiler: allow compilation of externals with paths that refer to existing names"
        ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness"
      
      * acpi-property:
        ACPI: property: graph: Update graph documentation to use generic references
        ACPI: property: graph: Improve graph documentation for port/ep numbering
        ACPI: property: graph: Fix graph documentation
        ACPI: property: Update documentation for hierarchical data extension 1.1
        ACPI: property: Document key numbering for hierarchical data extension refs
        ACPI: property: Use data node name and reg property for graphs
        ACPI: property: Allow direct graph endpoint references
        ACPI: property: Make the ACPI graph API private
        ACPI: property: Document hierarchical data extension references
        ACPI: property: Allow making references to non-device nodes
        ACPI: Convert ACPI reference args to generic fwnode reference args
      4a3f421b
    • R
      Merge branch 'pm-cpufreq' · 7425ecd5
      Rafael J. Wysocki 提交于
      Merge cpufreq changes for 4.19.
      
      These are driver extensions, some driver and core fixes and a new
      tracepoint for the tracking of frequency limits changes (coming from
      Android).
      
      * pm-cpufreq:
        cpufreq: intel_pstate: Ignore turbo active ratio in HWP
        cpufreq: Fix a circular lock dependency problem
        cpu/hotplug: Add a cpus_read_trylock() function
        cpufreq: trace frequency limits change
        cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP
        cpufreq: pcc-cpufreq: Disable dynamic scaling on many-CPU systems
        cpufreq: qcom-kryo: Silently error out on EPROBE_DEFER
        cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC
        cpufreq: armada-37xx: Add AVS support
        dt-bindings: marvell: Add documentation for the Armada 3700 AVS binding
        cpufreq: imx6q/thermal: imx: register cooling device depending on OF
        cpufreq: intel_pstate: use match_string() helper
      7425ecd5
    • R
      Merge branches 'powercap' and 'pm-devfreq' · 8f0f2b62
      Rafael J. Wysocki 提交于
      Merge devfreq changes and a new CPU idle time injection framework
      for 4.19.
      
      * powercap:
        powercap / idle_inject: Add an idle injection framework
      
      * pm-devfreq:
        PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload.
        PM / devfreq: Init user limits from OPP limits, not viceversa
        PM / devfreq: rk3399_dmc: fix spelling mistakes.
        PM / devfreq: rk3399_dmc: do not print error when get supply and clk defer.
        dt-bindings: devfreq: rk3399_dmc: move interrupts to be optional.
        PM / devfreq: rk3399_dmc: remove wait for dcf irq event.
        dt-bindings: clock: add rk3399 DDR3 standard speed bins.
        dt-bindings: devfreq: rk3399_dmc: improve binding documentation.
        PM / devfreq: use put_device() instead of kfree()
        PM / devfreq: exynos-ppmu: Delete an error message for a failed memory allocation in exynos_ppmu_probe()
      8f0f2b62
    • R
      Merge branches 'pm-core', 'pm-domains', 'pm-sleep', 'acpi-pm' and 'pm-cpuidle' · 17bc3432
      Rafael J. Wysocki 提交于
      Merge changes in the PM core, system-wide PM infrastructure, generic
      power domains (genpd) framework, ACPI PM infrastructure and cpuidle
      for 4.19.
      
      * pm-core:
        driver core: Add flag to autoremove device link on supplier unbind
        driver core: Rename flag AUTOREMOVE to AUTOREMOVE_CONSUMER
      
      * pm-domains:
        PM / Domains: Introduce dev_pm_domain_attach_by_name()
        PM / Domains: Introduce option to attach a device by name to genpd
        PM / Domains: dt: Add a power-domain-names property
      
      * pm-sleep:
        PM / reboot: Eliminate race between reboot and suspend
        PM / hibernate: Mark expected switch fall-through
        x86/power/hibernate_64: Remove VLA usage
        PM / hibernate: cast PAGE_SIZE to int when comparing with error code
      
      * acpi-pm:
        ACPI / PM: save NVS memory for ASUS 1025C laptop
        ACPI / PM: Default to s2idle in all machines supporting LP S0
      
      * pm-cpuidle:
        ARM: cpuidle: silence error on driver registration failure
      17bc3432
    • L
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 10f3e23f
      Linus Torvalds 提交于
      Pull ext4 updates from Ted Ts'o:
      
       - Convert content from the ext4 wiki to Documentation rst files so it
         is more likely to be updated as we add new features to ext4.
      
       - Add 64-bit timestamp support to ext4's superblock fields.
      
       - ... and the usual bug fixes and cleanups, including a Spectre gadget
         fixup and some hardening against maliciously corrupted file systems.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (34 commits)
        ext4: remove unneeded variable "err" in ext4_mb_release_inode_pa()
        ext4: improve code readability in ext4_iget()
        ext4: fix spectre gadget in ext4_mb_regular_allocator()
        ext4: check for NUL characters in extended attribute's name
        ext4: use ext4_warning() for sb_getblk failure
        ext4: fix race when setting the bitmap corrupted flag
        ext4: reset error code in ext4_find_entry in fallback
        ext4: handle layout changes to pinned DAX mappings
        dax: dax_layout_busy_page() warn on !exceptional
        docs: fix up the obviously obsolete bits in the new ext4 documentation
        docs: add new ext4 superblock time extension fields
        docs: create filesystem internal section
        ext4: use swap macro in mext_page_double_lock
        ext4: check allocation failure when duplicating "data" in ext4_remount()
        ext4: fix warning message in ext4_enable_quotas()
        ext4: super: extend timestamps to 40 bits
        jbd2: replace current_kernel_time64 with ktime equivalent
        ext4: use timespec64 for all inode times
        ext4: use ktime_get_real_seconds for i_dtime
        ext4: use 64-bit timestamps for mmp_time
        ...
      10f3e23f
    • L
      Merge tag '4.19-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 3bb37da5
      Linus Torvalds 提交于
      Pull cifs updates from Steve French:
       "smb3/cifs fixes (including 8 for stable).
      
        Other improvements include:
      
         - improved tracing, improved stats
      
         - snapshots (previous version mounts work now over SMB3)
      
         - performance (compounding enabled for statfs, ~40% faster).
      
         - security (make it possible to build cifs.ko with insecure vers=1.0
           disabled in Kconfig)"
      
      * tag '4.19-smb3' of git://git.samba.org/sfrench/cifs-2.6: (43 commits)
        smb3: create smb3 equivalent alias for cifs pseudo-xattrs
        smb3: allow previous versions to be mounted with snapshot= mount parm
        cifs: don't show domain= in mount output when domain is empty
        cifs: add missing support for ACLs in SMB 3.11
        smb3: enumerating snapshots was leaving part of the data off end
        cifs: update smb2_queryfs() to use compounding
        cifs: update receive_encrypted_standard to handle compounded responses
        cifs: create SMB2_open_init()/SMB2_open_free() helpers.
        cifs: add SMB2_query_info_[init|free]()
        cifs: add SMB2_close_init()/SMB2_close_free()
        smb3: display stats counters for number of slow commands
        CIFS: fix uninitialized ptr deref in smb2 signing
        smb3: Do not send SMB3 SET_INFO if nothing changed
        smb3: fix minor debug output for CONFIG_CIFS_STATS
        smb3: add tracepoint for slow responses
        cifs: add compound_send_recv()
        cifs: make smb_send_rqst take an array of requests
        cifs: update init_sg, crypt_message to take an array of rqst
        smb3: update readme to correct information about /proc/fs/cifs/Stats
        smb3: fix reset of bytes read and written stats
        ...
      3bb37da5
    • L
      Merge branch 'iomap-4.19-merge' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 161fa27f
      Linus Torvalds 提交于
      Pull fs iomap refactoring from Darrick Wong:
       "This is the first part of the XFS changes for 4.19.
      
        Christoph and Andreas coordinated some refactoring work on the iomap
        code in preparation for removing buffer heads from XFS and porting
        gfs2 to iomap. I'm sending this small pull request ahead of the main
        XFS merge to avoid holding up gfs2 unnecessarily"
      
      * 'iomap-4.19-merge' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: add inline data support to iomap_readpage_actor
        iomap: support direct I/O to inline data
        iomap: refactor iomap_dio_actor
        iomap: add initial support for writes without buffer heads
        iomap: add an iomap-based readpage and readpages implementation
        iomap: add private pointer to struct iomap
        iomap: add a page_done callback
        iomap: generic inline data handling
        iomap: complete partial direct I/O writes synchronously
        iomap: mark newly allocated buffer heads as new
        fs: factor out a __generic_write_end helper
      161fa27f
    • L
      Merge tag 'for-4.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · a1a4f841
      Linus Torvalds 提交于
      Pull btrfs updates from David Sterba:
       "Mostly fixes and cleanups, nothing big, though the notable thing is
        the inserted/deleted lines delta -1124.
      
        User visible changes:
         - allow defrag on opened read-only files that have rw permissions;
           similar to what dedupe will allow on such files
      
        Core changes:
         - tree checker improvements, reported by fuzzing:
            * more checks for: block group items, essential trees
            * chunk type validation
            * mount time cross-checks that physical and logical chunks match
            * switch more error codes to EUCLEAN aka EFSCORRUPTED
      
        Fixes:
         - fsync corner case fixes
      
         - fix send failure when root has deleted files still open
      
         - send, fix incorrect file layout after hole punching beyond eof
      
         - fix races between mount and deice scan ioctl, found by fuzzing
      
         - fix deadlock when delayed iput is called from writeback on the same
           inode; rare but has been observed in practice, also removes code
      
         - fix pinned byte accounting, using the right percpu helpers; this
           should avoid some write IO inefficiency during low space conditions
      
         - don't remove block group that still has pinned bytes
      
         - reset on-disk device stats value after replace, otherwise this
           would report stale values for the new device
      
        Cleanups:
         - time64_t/timespec64 cleanups
      
         - remove remaining dead code in scrub handling NOCOW extents after
           disabling it in previous cycle
      
         - simplify fsync regarding ordered extents logic and remove all the
           related code
      
         - remove redundant arguments in order to reduce stack space
           consumption
      
         - remove support for V0 type of extents, not in use since 2.6.30
      
         - remove several unused structure members
      
         - fewer indirect function calls by inlining some callbacks
      
         - qgroup rescan timing fixes
      
         - vfs: iget cleanups"
      
      * tag 'for-4.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (182 commits)
        btrfs: revert fs_devices state on error of btrfs_init_new_device
        btrfs: Exit gracefully when chunk map cannot be inserted to the tree
        btrfs: Introduce mount time chunk <-> dev extent mapping check
        btrfs: Verify that every chunk has corresponding block group at mount time
        btrfs: Check that each block group has corresponding chunk at mount time
        Btrfs: send, fix incorrect file layout after hole punching beyond eof
        btrfs: Use wrapper macro for rcu string to remove duplicate code
        btrfs: simplify btrfs_iget
        btrfs: lift make_bad_inode into btrfs_iget
        btrfs: simplify IS_ERR/PTR_ERR checks
        btrfs: btrfs_iget never returns an is_bad_inode inode
        btrfs: replace: Reset on-disk dev stats value after replace
        btrfs: extent-tree: Remove unused __btrfs_free_block_rsv
        btrfs: backref: Use ERR_CAST to return error code
        btrfs: Remove redundant btrfs_release_path from btrfs_unlink_subvol
        btrfs: Remove root parameter from btrfs_unlink_subvol
        btrfs: Remove fs_info from btrfs_add_root_ref
        btrfs: Remove fs_info from btrfs_del_root_ref
        btrfs: Remove fs_info from btrfs_del_root
        btrfs: Remove fs_info from btrfs_delete_delayed_dir_index
        ...
      a1a4f841
    • L
      Merge tag 'locks-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 575b9438
      Linus Torvalds 提交于
      Pull file locking updates from Jeff Layton:
       "Just a couple of patches from Konstantin to fix /proc/locks when the
        process that set the lock has exited, and a new tracepoint for the
        flock() codepath. Also threw in mailmap entries for my addresses and a
        comment cleanup"
      
      * tag 'locks-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: remove misleading obsolete comment
        mailmap: remap some of my email addresses to kernel.org address
        locks: add tracepoint in flock codepath
        fs/lock: show locks taken by processes from another pidns
        fs/lock: skip lock owner pid translation in case we are in init_pid_ns
      575b9438
    • L
      Merge branches 'work.misc' and 'work.dcache' of... · 4591343e
      Linus Torvalds 提交于
      Merge branches 'work.misc' and 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
      
      Pull misc vfs updates from Al Viro:
       "Misc cleanups from various folks all over the place
      
        I expected more fs/dcache.c cleanups this cycle, so that went into a
        separate branch. Said cleanups have missed the window, so in the
        hindsight it could've gone into work.misc instead. Decided not to
        cherry-pick, thus the 'work.dcache' branch"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: dcache: Use true and false for boolean values
        fold generic_readlink() into its only caller
        fs: shave 8 bytes off of struct inode
        fs: Add more kernel-doc to the produced documentation
        fs: Fix attr.c kernel-doc
        removed extra extern file_fdatawait_range
      
      * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        kill dentry_update_name_case()
      4591343e
    • L
      Merge branch 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · f2be2698
      Linus Torvalds 提交于
      Pull vfs aio updates from Al Viro:
       "Christoph's aio poll, saner this time around.
      
        This time it's pretty much local to fs/aio.c. Hopefully race-free..."
      
      * 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        aio: allow direct aio poll comletions for keyed wakeups
        aio: implement IOCB_CMD_POLL
        aio: add a iocb refcount
        timerfd: add support for keyed wakeups
      f2be2698
    • L
      Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4d2a073c
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'work.mkdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0ea97a2d
      Linus Torvalds 提交于
      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