Skip to content
  1. Jul 09, 2019
    • Linus Torvalds's avatar
      Merge branch 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0d37dde7
      Linus Torvalds authored
      Pull x86 vsyscall updates from Thomas Gleixner:
       "Further hardening of the legacy vsyscall by providing support for
        execute only mode and switching the default to it.
      
        This prevents a certain class of attacks which rely on the vsyscall
        page being accessible at a fixed address in the canonical kernel
        address space"
      
      * 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/x86: Add a test for process_vm_readv() on the vsyscall page
        x86/vsyscall: Add __ro_after_init to global variables
        x86/vsyscall: Change the default vsyscall mode to xonly
        selftests/x86/vsyscall: Verify that vsyscall=none blocks execution
        x86/vsyscall: Document odd SIGSEGV error code for vsyscalls
        x86/vsyscall: Show something useful on a read fault
        x86/vsyscall: Add a new vsyscall=xonly mode
        Documentation/admin: Remove the vsyscall=native documentation
      0d37dde7
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0902d501
      Linus Torvalds authored
      Pull x96 apic updates from Thomas Gleixner:
       "Updates for the x86 APIC interrupt handling and APIC timer:
      
         - Fix a long standing issue with spurious interrupts which was caused
           by the big vector management rework a few years ago. Robert Hodaszi
           provided finally enough debug data and an excellent initial failure
           analysis which allowed to understand the underlying issues.
      
           This contains a change to the core interrupt management code which
           is required to handle this correctly for the APIC/IO_APIC. The core
           changes are NOOPs for most architectures except ARM64. ARM64 is not
           impacted by the change as confirmed by Marc Zyngier.
      
         - Newer systems allow to disable the PIT clock for power saving
           causing panic in the timer interrupt delivery check of the IO/APIC
           when the HPET timer is not enabled either. While the clock could be
           turned on this would cause an endless whack a mole game to chase
           the proper register in each affected chipset.
      
           These systems provide the relevant frequencies for TSC, CPU and the
           local APIC timer via CPUID and/or MSRs, which allows to avoid the
           PIT/HPET based calibration. As the calibration code is the only
           usage of the legacy timers on modern systems and is skipped anyway
           when the frequencies are known already, there is no point in
           setting up the PIT and actually checking for the interrupt delivery
           via IO/APIC.
      
           To achieve this on a wide variety of platforms, the CPUID/MSR based
           frequency readout has been made more robust, which also allowed to
           remove quite some workarounds which turned out to be not longer
           required. Thanks to Daniel Drake for analysis, patches and
           verification"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Seperate unused system vectors from spurious entry again
        x86/irq: Handle spurious interrupt after shutdown gracefully
        x86/ioapic: Implement irq_get_irqchip_state() callback
        genirq: Add optional hardware synchronization for shutdown
        genirq: Fix misleading synchronize_irq() documentation
        genirq: Delay deactivation in free_irq()
        x86/timer: Skip PIT initialization on modern chipsets
        x86/apic: Use non-atomic operations when possible
        x86/apic: Make apic_bsp_setup() static
        x86/tsc: Set LAPIC timer period to crystal clock frequency
        x86/apic: Rename 'lapic_timer_frequency' to 'lapic_timer_period'
        x86/tsc: Use CPUID.0x16 to calculate missing crystal frequency
      0902d501
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 927ba67a
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "The timer and timekeeping departement delivers:
      
        Core:
      
         - The consolidation of the VDSO code into a generic library including
           the conversion of x86 and ARM64. Conversion of ARM and MIPS are en
           route through the relevant maintainer trees and should end up in
           5.4.
      
           This gets rid of the unnecessary different copies of the same code
           and brings all architectures on the same level of VDSO
           functionality.
      
         - Make the NTP user space interface more robust by restricting the
           TAI offset to prevent undefined behaviour. Includes a selftest.
      
         - Validate user input in the compat settimeofday() syscall to catch
           invalid values which would be turned into valid values by a
           multiplication overflow
      
         - Consolidate the time accessors
      
         - Small fixes, improvements and cleanups all over the place
      
        Drivers:
      
         - Support for the NXP system counter, TI davinci timer
      
         - Move the Microsoft HyperV clocksource/events code into the
           drivers/clocksource directory so it can be shared between x86 and
           ARM64.
      
         - Overhaul of the Tegra driver
      
         - Delay timer support for IXP4xx
      
         - Small fixes, improvements and cleanups as usual"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)
        time: Validate user input in compat_settimeofday()
        timer: Document TIMER_PINNED
        clocksource/drivers: Continue making Hyper-V clocksource ISA agnostic
        clocksource/drivers: Make Hyper-V clocksource ISA agnostic
        MAINTAINERS: Fix Andy's surname and the directory entries of VDSO
        hrtimer: Use a bullet for the returns bullet list
        arm64: vdso: Fix compilation with clang older than 8
        arm64: compat: Fix __arch_get_hw_counter() implementation
        arm64: Fix __arch_get_hw_counter() implementation
        lib/vdso: Make delta calculation work correctly
        MAINTAINERS: Add entry for the generic VDSO library
        arm64: compat: No need for pre-ARMv7 barriers on an ARMv8 system
        arm64: vdso: Remove unnecessary asm-offsets.c definitions
        vdso: Remove superfluous #ifdef __KERNEL__ in vdso/datapage.h
        clocksource/drivers/davinci: Add support for clocksource
        clocksource/drivers/davinci: Add support for clockevents
        clocksource/drivers/tegra: Set up maximum-ticks limit properly
        clocksource/drivers/tegra: Cycles can't be 0
        clocksource/drivers/tegra: Restore base address before cleanup
        clocksource/drivers/tegra: Add verbose definition for 1MHz constant
        ...
      927ba67a
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2a1ccd31
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The irq departement provides the usual mixed bag:
      
        Core:
      
         - Further improvements to the irq timings code which aims to predict
           the next interrupt for power state selection to achieve better
           latency/power balance
      
         - Add interrupt statistics to the core NMI handlers
      
         - The usual small fixes and cleanups
      
        Drivers:
      
         - Support for Renesas RZ/A1, Annapurna Labs FIC, Meson-G12A SoC and
           Amazon Gravition AMR/GIC interrupt controllers.
      
         - Rework of the Renesas INTC controller driver
      
         - ACPI support for Socionext SoCs
      
         - Enhancements to the CSKY interrupt controller
      
         - The usual small fixes and cleanups"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)
        irq/irqdomain: Fix comment typo
        genirq: Update irq stats from NMI handlers
        irqchip/gic-pm: Remove PM_CLK dependency
        irqchip/al-fic: Introduce Amazon's Annapurna Labs Fabric Interrupt Controller Driver
        dt-bindings: interrupt-controller: Add Amazon's Annapurna Labs FIC
        softirq: Use __this_cpu_write() in takeover_tasklets()
        irqchip/mbigen: Stop printing kernel addresses
        irqchip/gic: Add dependency for ARM_GIC_MAX_NR
        genirq/affinity: Remove unused argument from [__]irq_build_affinity_masks()
        genirq/timings: Add selftest for next event computation
        genirq/timings: Add selftest for irqs circular buffer
        genirq/timings: Add selftest for circular array
        genirq/timings: Encapsulate storing function
        genirq/timings: Encapsulate timings push
        genirq/timings: Optimize the period detection speed
        genirq/timings: Fix timings buffer inspection
        genirq/timings: Fix next event index function
        irqchip/qcom: Use struct_size() in devm_kzalloc()
        irqchip/irq-csky-mpintc: Remove unnecessary loop in interrupt handler
        dt-bindings: interrupt-controller: Update csky mpintc
        ...
      2a1ccd31
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e0e86b11
      Linus Torvalds authored
      Pull SMP/hotplug updates from Thomas Gleixner:
       "A small set of updates for SMP and CPU hotplug:
      
         - Abort disabling secondary CPUs in the freezer when a wakeup is
           pending instead of evaluating it only after all CPUs have been
           offlined.
      
         - Remove the shared annotation for the strict per CPU cfd_data in the
           smp function call core code.
      
         - Remove the return values of smp_call_function() and on_each_cpu()
           as they are unconditionally 0. Fixup the few callers which actually
           bothered to check the return value"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp: Remove smp_call_function() and on_each_cpu() return values
        smp: Do not mark call_function_data as shared
        cpu/hotplug: Abort disabling secondary CPUs if wakeup is pending
        cpu/hotplug: Fix notify_cpu_starting() reference in bringup_wait_for_ap()
      e0e86b11
    • Linus Torvalds's avatar
      Merge branch 'core-rslib-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 568521d0
      Linus Torvalds authored
      Pull Reed-Solomon library updates from Thomas Gleixner:
       "A cleanup and fixes series from Ferdinand Blomqvist who analyzed the
        original Reed-Solomon library from Phil Karn on which the kernel
        implementation is based on.
      
        This comes with a test module which verifies all the various corner
        cases for correctness"
      
      * 'core-rslib-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rslib: Make some functions static
        rslib: Fix remaining decoder flaws
        rslib: Update documentation
        rslib: Fix handling of of caller provided syndrome
        rslib: decode_rs: Code cleanup
        rslib: decode_rs: Fix length parameter check
        rslib: Fix decoding of shortened codes
        rslib: Add tests for the encoder and decoder
      568521d0
    • Linus Torvalds's avatar
      Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6b377547
      Linus Torvalds authored
      Pull debugobjects updates from Thomas Gleixner:
       "A set of updates for debugobjects:
      
        - A series of changes to make debugobjects more scalable by
          introducing per cpu pools and reducing the number of lock
          acquisitions
      
        - debugfs cleanup"
      
      * 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Move printk out of db->lock critical sections
        debugobjects: Less aggressive freeing of excess debug objects
        debugobjects: Reduce number of pool_lock acquisitions in fill_pool()
        debugobjects: Percpu pool lookahead freeing/allocation
        debugobjects: Add percpu free pools
        debugobjects: No need to check return value of debugfs_create()
      6b377547
    • Linus Torvalds's avatar
      Merge tag 's390-5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 1758fedd
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Improve stop_machine wait logic: replace cpu_relax_yield call in
         generic stop_machine function with a weak stop_machine_yield
         function. This is overridden on s390, which yields the current cpu to
         the neighbouring cpu after a couple of retries, instead of blindly
         giving up the cpu to the hipervisor. This significantly improves
         stop_machine performance on s390 in overcommitted scenarios.
      
         This includes common code changes which have been Acked by Peter
         Zijlstra and Thomas Gleixner.
      
       - Improve jump label transformation speed: transform jump labels
         without using stop_machine.
      
       - Refactoring of the vfio-ccw cp handling, simplifying the code and
         avoiding unneeded allocating/copying.
      
       - Various vfio-ccw fixes (ccw translation, state machine).
      
       - Add support for vfio-ap queue interrupt control in the guest. This
         includes s390 kvm changes which have been Acked by Christian
         Borntraeger.
      
       - Add protected virtualization support for virtio-ccw.
      
       - Enforce both CONFIG_SMP and CONFIG_HOTPLUG_CPU, which allows to
         remove some code which most likely isn't working at all, besides that
         s390 didn't even compile for !CONFIG_SMP.
      
       - Support for special flagged EP11 CPRBs for zcrypt.
      
       - Handle PCI devices with no support for new MIO instructions.
      
       - Avoid KASAN false positives in reworked stack unwinder.
      
       - Couple of fixes for the QDIO layer.
      
       - Convert s390 specific documentation to ReST format.
      
       - Let s390 crypto modules return -ENODEV instead of -EOPNOTSUPP if
         hardware is missing. This way our modules behave like most other
         modules and which is also what systemd's systemd-modules-load.service
         expects.
      
       - Replace defconfig with performance_defconfig, so there is one config
         file less to maintain.
      
       - Remove the SCLP call home device driver, which was never useful.
      
       - Cleanups all over the place.
      
      * tag 's390-5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (83 commits)
        docs: s390: s390dbf: typos and formatting, update crash command
        docs: s390: unify and update s390dbf kdocs at debug.c
        docs: s390: restore important non-kdoc parts of s390dbf.rst
        vfio-ccw: Fix the conversion of Format-0 CCWs to Format-1
        s390/pci: correctly handle MIO opt-out
        s390/pci: deal with devices that have no support for MIO instructions
        s390: ap: kvm: Enable PQAP/AQIC facility for the guest
        s390: ap: implement PAPQ AQIC interception in kernel
        vfio: ap: register IOMMU VFIO notifier
        s390: ap: kvm: add PQAP interception for AQIC
        s390/unwind: cleanup unused READ_ONCE_TASK_STACK
        s390/kasan: avoid false positives during stack unwind
        s390/qdio: don't touch the dsci in tiqdio_add_input_queues()
        s390/qdio: (re-)initialize tiqdio list entries
        s390/dasd: Fix a precision vs width bug in dasd_feature_list()
        s390/cio: introduce driver_override on the css bus
        vfio-ccw: make convert_ccw0_to_ccw1 static
        vfio-ccw: Remove copy_ccw_from_iova()
        vfio-ccw: Factor out the ccw0-to-ccw1 transition
        vfio-ccw: Copy CCW data outside length calculation
        ...
      1758fedd
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 278ecbf0
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
        - switch to using the generic remapping DMA allocator
      
        - defconfig updates
      
      * tag 'm68k-for-v5.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Implement arch_dma_prep_coherent()
        m68k: Use the generic dma coherent remap allocator
        m68k: defconfig: Update defconfigs for v5.2-rc1
      278ecbf0
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · dfd437a2
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
      
       - arm64 support for syscall emulation via PTRACE_SYSEMU{,_SINGLESTEP}
      
       - Wire up VM_FLUSH_RESET_PERMS for arm64, allowing the core code to
         manage the permissions of executable vmalloc regions more strictly
      
       - Slight performance improvement by keeping softirqs enabled while
         touching the FPSIMD/SVE state (kernel_neon_begin/end)
      
       - Expose a couple of ARMv8.5 features to user (HWCAP): CondM (new
         XAFLAG and AXFLAG instructions for floating point comparison flags
         manipulation) and FRINT (rounding floating point numbers to integers)
      
       - Re-instate ARM64_PSEUDO_NMI support which was previously marked as
         BROKEN due to some bugs (now fixed)
      
       - Improve parking of stopped CPUs and implement an arm64-specific
         panic_smp_self_stop() to avoid warning on not being able to stop
         secondary CPUs during panic
      
       - perf: enable the ARM Statistical Profiling Extensions (SPE) on ACPI
         platforms
      
       - perf: DDR performance monitor support for iMX8QXP
      
       - cache_line_size() can now be set from DT or ACPI/PPTT if provided to
         cope with a system cache info not exposed via the CPUID registers
      
       - Avoid warning on hardware cache line size greater than
         ARCH_DMA_MINALIGN if the system is fully coherent
      
       - arm64 do_page_fault() and hugetlb cleanups
      
       - Refactor set_pte_at() to avoid redundant READ_ONCE(*ptep)
      
       - Ignore ACPI 5.1 FADTs reported as 5.0 (infer from the
         'arm_boot_flags' introduced in 5.1)
      
       - CONFIG_RANDOMIZE_BASE now enabled in defconfig
      
       - Allow the selection of ARM64_MODULE_PLTS, currently only done via
         RANDOMIZE_BASE (and an erratum workaround), allowing modules to spill
         over into the vmalloc area
      
       - Make ZONE_DMA32 configurable
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (54 commits)
        perf: arm_spe: Enable ACPI/Platform automatic module loading
        arm_pmu: acpi: spe: Add initial MADT/SPE probing
        ACPI/PPTT: Add function to return ACPI 6.3 Identical tokens
        ACPI/PPTT: Modify node flag detection to find last IDENTICAL
        x86/entry: Simplify _TIF_SYSCALL_EMU handling
        arm64: rename dump_instr as dump_kernel_instr
        arm64/mm: Drop [PTE|PMD]_TYPE_FAULT
        arm64: Implement panic_smp_self_stop()
        arm64: Improve parking of stopped CPUs
        arm64: Expose FRINT capabilities to userspace
        arm64: Expose ARMv8.5 CondM capability to userspace
        arm64: defconfig: enable CONFIG_RANDOMIZE_BASE
        arm64: ARM64_MODULES_PLTS must depend on MODULES
        arm64: bpf: do not allocate executable memory
        arm64/kprobes: set VM_FLUSH_RESET_PERMS on kprobe instruction pages
        arm64/mm: wire up CONFIG_ARCH_HAS_SET_DIRECT_MAP
        arm64: module: create module allocations without exec permissions
        arm64: Allow user selection of ARM64_MODULE_PLTS
        acpi/arm64: ignore 5.1 FADTs that are reported as 5.0
        arm64: Allow selecting Pseudo-NMI again
        ...
      dfd437a2
  2. Jul 08, 2019
  3. Jul 07, 2019
    • zhengbin's avatar
      time: Validate user input in compat_settimeofday() · 9176ab1b
      zhengbin authored
      
      
      The user value is validated after converting the timeval to a timespec, but
      for a wide range of negative tv_usec values the multiplication overflow turns
      them in positive numbers. So the 'validated later' is not catching the
      invalid input.
      
      Signed-off-by: default avatarzhengbin <zhengbin13@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Link: https://lkml.kernel.org/r/1562460701-113301-1-git-send-email-zhengbin13@huawei.com
      9176ab1b
    • Peter Xu's avatar
      timer: Document TIMER_PINNED · 28ef2db8
      Peter Xu authored
      
      
      The flag hints the user that the pinned timers will always be run on a
      static CPU (because that should be what "pinned" means...) but that's
      not the truth, at least with the current implementation.
      
      For example, currently if a pinned timer is set up but later mod_timer()
      upon the pinned timer is invoked, mod_timer() will still try to queue the
      timer on the current processor and migrate the timer if necessary.
      
      Document it a bit with the definition of TIMER_PINNED so that all future
      users will use it correctly.
      
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Marcelo Tosatti <mtosatti@redhat.com>
      Cc: Luiz Capitulino <lcapitulino@redhat.com>
      Link: https://lkml.kernel.org/r/20190628105942.14131-1-peterx@redhat.com
      28ef2db8
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20190706' of git://git.kernel.dk/linux-block · 46713c3d
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "Just a single fix for a patch from Greg KH, which reportedly break
        block debugfs locations for certain setups. Trivial enough that I
        think we should include it now, rather than wait and release 5.2 with
        it, since it's a regression in this series"
      
      * tag 'for-linus-20190706' of git://git.kernel.dk/linux-block:
        blk-mq: fix up placement of debugfs directory of queue files
      46713c3d
    • Linus Torvalds's avatar
      Merge tag 'mips_fixes_5.2_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · bcc0e65f
      Linus Torvalds authored
      Pull MIPS fixes from Paul Burton:
       "A few more MIPS fixes:
      
         - Fix a silly typo in virt_addr_valid which led to completely bogus
           behavior (that happened to stop tripping up hardened usercopy
           despite being broken).
      
         - Fix UART parity setup on AR933x systems.
      
         - A build fix for non-Linux build machines.
      
         - Have the 'all' make target build DTBs, primarily to fit in with the
           behavior of scripts/package/builddeb.
      
         - Handle an execution hazard in TLB exceptions that use KScratch
           registers, which could inadvertently clobber the $1 register on
           some generally higher-end out-of-order CPUs.
      
         - A MAINTAINERS update to fix the path to the NAND driver for Ingenic
           systems"
      
      * tag 'mips_fixes_5.2_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MAINTAINERS: Correct path to moved files
        MIPS: Add missing EHB in mtc0 -> mfc0 sequence.
        MIPS: have "plain" make calls build dtbs for selected platforms
        MIPS: fix build on non-linux hosts
        MIPS: ath79: fix ar933x uart parity mode
        MIPS: Fix bounds check virt_addr_valid
      bcc0e65f
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-5.2' of git://git.infradead.org/users/vkoul/slave-dma · 2692982b
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
      
       - bam_dma fix for completed descriptor count
      
       - fix for imx-sdma remove BD_INTR for channel0 and use-after-free on
         probe error path
      
       - endian bug fix in jz4780 IRQ handler
      
      * tag 'dmaengine-fix-5.2' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: qcom: bam_dma: Fix completed descriptors count
        dmaengine: imx-sdma: remove BD_INTR for channel0
        dmaengine: imx-sdma: fix use-after-free on probe error path
        dmaengine: jz4780: Fix an endian bug in IRQ handler
      2692982b
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 4f8b4909
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two iscsi fixes.
      
        One for an oops in the client which can be triggered by the server
        authentication protocol and the other in the target code which causes
        data corruption"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: iscsi: set auth_protocol back to NULL if CHAP_A value is not supported
        scsi: target/iblock: Fix overrun in WRITE SAME emulation
      4f8b4909
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ceacbc0e
      Linus Torvalds authored
      Pull vfs fixlet from Al Viro:
       "Fix bogus default y in Kconfig (VALIDATE_FS_PARSER)
      
        That thing should not be turned on by default, especially since it's
        not quiet in case it finds no problems. Geert has sent the obvious fix
        quite a few times, but it fell through the cracks"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: VALIDATE_FS_PARSER should default to n
      ceacbc0e
    • Greg Kroah-Hartman's avatar
      blk-mq: fix up placement of debugfs directory of queue files · 7e41c3c9
      Greg Kroah-Hartman authored
      When the blk-mq debugfs file creation logic was "cleaned up" it was
      cleaned up too much, causing the queue file to not be created in the
      correct location.  Turns out the check for the directory being present
      is needed as if that has not happened yet, the files should not be
      created, and the function will be called later on in the initialization
      code so that the files can be created in the correct location.
      
      Fixes: 6cfc0081
      
       ("blk-mq: no need to check return value of debugfs_create functions")
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Cc: linux-block@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7e41c3c9
  4. Jul 06, 2019
    • Zenghui Yu's avatar
      irq/irqdomain: Fix comment typo · 3a1d24ca
      Zenghui Yu authored
      
      
      Fix typo in the comment on top of __irq_domain_add().
      
      Signed-off-by: default avatarZenghui Yu <yuzenghui@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Link: https://lkml.kernel.org/r/1562388072-23492-1-git-send-email-yuzenghui@huawei.com
      3a1d24ca
    • Shijith Thotton's avatar
      genirq: Update irq stats from NMI handlers · c09cb129
      Shijith Thotton authored
      The NMI handlers handle_percpu_devid_fasteoi_nmi() and handle_fasteoi_nmi()
      do not update the interrupt counts. Due to that the NMI interrupt count
      does not show up correctly in /proc/interrupts.
      
      Add the statistics and treat the NMI handlers in the same way as per cpu
      interrupts and prevent them from updating irq_desc::tot_count as this might
      be corrupted due to concurrency.
      
      [ tglx: Massaged changelog ]
      
      Fixes: 2dcf1fbc
      
       ("genirq: Provide NMI handlers")
      Signed-off-by: default avatarShijith Thotton <sthotton@marvell.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Link: https://lkml.kernel.org/r/1562313336-11888-1-git-send-email-sthotton@marvell.com
      c09cb129
    • Linus Torvalds's avatar
      Revert "mm: page cache: store only head pages in i_pages" · 69bf4b6b
      Linus Torvalds authored
      This reverts commit 5fd4ca2d
      
      .
      
      Mikhail Gavrilov reports that it causes the VM_BUG_ON_PAGE() in
      __delete_from_swap_cache() to trigger:
      
         page:ffffd6d34dff0000 refcount:1 mapcount:1 mapping:ffff97812323a689 index:0xfecec363
         anon
         flags: 0x17fffe00080034(uptodate|lru|active|swapbacked)
         raw: 0017fffe00080034 ffffd6d34c67c508 ffffd6d3504b8d48 ffff97812323a689
         raw: 00000000fecec363 0000000000000000 0000000100000000 ffff978433ace000
         page dumped because: VM_BUG_ON_PAGE(entry != page)
         page->mem_cgroup:ffff978433ace000
         ------------[ cut here ]------------
         kernel BUG at mm/swap_state.c:170!
         invalid opcode: 0000 [#1] SMP NOPTI
         CPU: 1 PID: 221 Comm: kswapd0 Not tainted 5.2.0-0.rc2.git0.1.fc31.x86_64 #1
         Hardware name: System manufacturer System Product Name/ROG STRIX X470-I GAMING, BIOS 2202 04/11/2019
         RIP: 0010:__delete_from_swap_cache+0x20d/0x240
         Code: 30 65 48 33 04 25 28 00 00 00 75 4a 48 83 c4 38 5b 5d 41 5c 41 5d 41 5e 41 5f c3 48 c7 c6 2f dc 0f 8a 48 89 c7 e8 93 1b fd ff <0f> 0b 48 c7 c6 a8 74 0f 8a e8 85 1b fd ff 0f 0b 48 c7 c6 a8 7d 0f
         RSP: 0018:ffffa982036e7980 EFLAGS: 00010046
         RAX: 0000000000000021 RBX: 0000000000000040 RCX: 0000000000000006
         RDX: 0000000000000000 RSI: 0000000000000086 RDI: ffff97843d657900
         RBP: 0000000000000001 R08: ffffa982036e7835 R09: 0000000000000535
         R10: ffff97845e21a46c R11: ffffa982036e7835 R12: ffff978426387120
         R13: 0000000000000000 R14: ffffd6d34dff0040 R15: ffffd6d34dff0000
         FS:  0000000000000000(0000) GS:ffff97843d640000(0000) knlGS:0000000000000000
         CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
         CR2: 00002cba88ef5000 CR3: 000000078a97c000 CR4: 00000000003406e0
         Call Trace:
          delete_from_swap_cache+0x46/0xa0
          try_to_free_swap+0xbc/0x110
          swap_writepage+0x13/0x70
          pageout.isra.0+0x13c/0x350
          shrink_page_list+0xc14/0xdf0
          shrink_inactive_list+0x1e5/0x3c0
          shrink_node_memcg+0x202/0x760
          shrink_node+0xe0/0x470
          balance_pgdat+0x2d1/0x510
          kswapd+0x220/0x420
          kthread+0xfb/0x130
          ret_from_fork+0x22/0x40
      
      and it's not immediately obvious why it happens.  It's too late in the
      rc cycle to do anything but revert for now.
      
      Link: https://lore.kernel.org/lkml/CABXGCsN9mYmBD-4GaaeW_NrDu+FDXLzr_6x+XNxfmFV6QkYCDg@mail.gmail.com/
      Reported-and-bisected-by: default avatarMikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
      Suggested-by: default avatarJan Kara <jack@suse.cz>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Kirill Shutemov <kirill@shutemov.name>
      Cc: William Kucharski <william.kucharski@oracle.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      69bf4b6b
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 9fdb86c8
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "x86 bugfix patches and one compilation fix for ARM"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: arm64/sve: Fix vq_present() macro to yield a bool
        KVM: LAPIC: Fix pending interrupt in IRR blocked by software disable LAPIC
        KVM: nVMX: Change KVM_STATE_NESTED_EVMCS to signal vmcs12 is copied from eVMCS
        KVM: nVMX: Allow restore nested-state to enable eVMCS when vCPU in SMM
        KVM: x86: degrade WARN to pr_warn_ratelimited
      9fdb86c8
    • Linus Torvalds's avatar
      Merge tag 'mtd/fixes-for-5.2-final' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 0e63665a
      Linus Torvalds authored
      Pull mtf fixes from Miquel Raynal:
      
       - Fix the memory organization structure of a Macronix SPI-NAND chip.
      
       - Fix a build dependency wrongly described.
      
       - Fix the sunxi NAND driver for A23/A33 SoCs by (a) reverting the
         faulty commit introducing broken DMA support and (b) applying another
         commit bringing working DMA support.
      
      * tag 'mtd/fixes-for-5.2-final' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
        mtd: rawnand: sunxi: Add A23/A33 DMA support with extra MBUS configuration
        Revert "mtd: rawnand: sunxi: Add A23/A33 DMA support"
        mtd: rawnand: ingenic: Fix ingenic_ecc dependency
        mtd: spinand: Fix max_bad_eraseblocks_per_lun info in memorg
      0e63665a
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 881ed91f
      Linus Torvalds authored
      Pull i2c fixlet from Wolfram Sang:
       "I2C has a MAINTAINERS update which will be benfitial for developers,
        so let's add it right away"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: tegra: Add Dmitry as a reviewer
      881ed91f
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.2-2' of git://linux-nfs.org/~bfields/linux · a8f46b5a
      Linus Torvalds authored
      Pull nfsd fixes from Bruce Fields:
       "Two more quick bugfixes for nfsd: fixing a regression causing mount
        failures on high-memory machines and fixing the DRC over RDMA"
      
      * tag 'nfsd-5.2-2' of git://linux-nfs.org/~bfields/linux:
        nfsd: Fix overflow causing non-working mounts on 1 TB machines
        svcrdma: Ignore source port when computing DRC hash
      a8f46b5a
    • Miquel Raynal's avatar
      mtd: rawnand: sunxi: Add A23/A33 DMA support with extra MBUS configuration · c7a87ceb
      Miquel Raynal authored
      Allwinner NAND controllers can make use of DMA to enhance the I/O
      throughput thanks to ECC pipelining. DMA handling with A23/A33 NAND IP
      is a bit different than with the older SoCs, hence the introduction of
      a new compatible to handle:
      * the differences between register offsets,
      * the burst length change from 4 to minimum 8,
      * manage SRAM accesses through MBUS with extra configuration.
      
      Fixes: c49836f0
      
       ("mtd: rawnand: sunxi: Add A23/A33 DMA support")
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      c7a87ceb
    • Miquel Raynal's avatar
      Revert "mtd: rawnand: sunxi: Add A23/A33 DMA support" · 4f032640
      Miquel Raynal authored
      This reverts commit c49836f0.
      
      The commit is wrong and its approach actually does not work. Let's
      revert it in order to add the feature with a clean patch.
      
      Fixes: c49836f0
      
       ("mtd: rawnand: sunxi: Add A23/A33 DMA support")
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      4f032640
    • Dmitry Osipenko's avatar
      i2c: tegra: Add Dmitry as a reviewer · f3a3ea28
      Dmitry Osipenko authored
      
      
      I'm contributing to Tegra's upstream development in general and happened
      to review the Tegra's I2C patches for awhile because I'm actively using
      upstream kernel on all of my Tegra-powered devices and initially some of
      the submitted patches were getting my attention since they were causing
      problems. Recently Wolfram Sang asked whether I'm interested in becoming
      a reviewer for the driver and I don't mind at all.
      
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      [wsa: ack was expressed by Thierry Reding in a mail thread]
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      f3a3ea28
  5. Jul 05, 2019