Skip to content
  1. Jul 09, 2019
    • 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
    • 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
    • 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
    • Geert Uytterhoeven's avatar
      fs: VALIDATE_FS_PARSER should default to n · 75f2d86b
      Geert Uytterhoeven authored
      CONFIG_VALIDATE_FS_PARSER is a debugging tool to check that the parser
      tables are vaguely sane.  It was set to default to 'Y' for the moment to
      catch errors in upcoming fs conversion development.
      
      Make sure it is not enabled by default in the final release of v5.1.
      
      Fixes: 31d921c7
      
       ("vfs: Add configuration parser helpers")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      75f2d86b
    • Steffen Maier's avatar
      docs: s390: s390dbf: typos and formatting, update crash command · 499723d1
      Steffen Maier authored
      
      
      Signed-off-by: default avatarSteffen Maier <maier@linux.ibm.com>
      Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Message-Id: <1562149189-1417-4-git-send-email-maier@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      499723d1
    • Steffen Maier's avatar
      docs: s390: unify and update s390dbf kdocs at debug.c · 0328e519
      Steffen Maier authored
      
      
      For non-static-inlines, debug.c already had non-compliant function
      header docs. So move the pure prototype kdocs of
      ("s390: include/asm/debug.h add kerneldoc markups")
      from debug.h to debug.c and merge them with the old function docs.
      Also, I had the impression that kdoc typically is at the implementation
      in the compile unit rather than at the prototype in the header file.
      
      While at it, update the short kdoc description to distinguish the
      different functions. And a few more consistency cleanups.
      
      Added a new kdoc for debug_set_critical() since debug.h comments it
      as part of the API.
      
      Signed-off-by: default avatarSteffen Maier <maier@linux.ibm.com>
      Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Message-Id: <1562149189-1417-3-git-send-email-maier@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      0328e519
    • Steffen Maier's avatar
      docs: s390: restore important non-kdoc parts of s390dbf.rst · f11977be
      Steffen Maier authored
      
      
      Complements previous ("s390: include/asm/debug.h add kerneldoc markups")
      which seemed to have dropped important non-kdoc parts such as
      user space interface (level, size, flush)
      as well as views and caution regarding strings in the sprintf view.
      
      Signed-off-by: default avatarSteffen Maier <maier@linux.ibm.com>
      Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Message-Id: <1562149189-1417-2-git-send-email-maier@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      f11977be
    • Vasily Gorbik's avatar
      Merge tag 'vfio-ccw-20190705' of... · 555827c2
      Vasily Gorbik authored
      
      Merge tag 'vfio-ccw-20190705' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into features
      
      Fix a bug introduced in the refactoring.
      
      * tag 'vfio-ccw-20190705' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw:
        vfio-ccw: Fix the conversion of Format-0 CCWs to Format-1
      
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      555827c2
    • Zhang Lei's avatar
      KVM: arm64/sve: Fix vq_present() macro to yield a bool · e644fa18
      Zhang Lei authored
      The original implementation of vq_present() relied on aggressive
      inlining in order for the compiler to know that the code is
      correct, due to some const-casting issues.  This was causing sparse
      and clang to complain, while GCC compiled cleanly.
      
      Commit 0c529ff7
      
       addressed this problem, but since vq_present()
      is no longer a function, there is now no implicit casting of the
      returned value to the return type (bool).
      
      In set_sve_vls(), this uncast bit value is compared against a bool,
      and so may spuriously compare as unequal when both are nonzero.  As
      a result, KVM may reject valid SVE vector length configurations as
      invalid, and vice versa.
      
      Fix it by forcing the returned value to a bool.
      
      Signed-off-by: default avatarZhang Lei <zhang.lei@jp.fujitsu.com>
      Fixes: 0c529ff7
      
       ("KVM: arm64: Implement vq_present() as a macro")
      Signed-off-by: Dave Martin <Dave.Martin@arm.com> [commit message rewrite]
      Cc: Viresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      e644fa18
    • Sricharan Ramabadhran's avatar
      dmaengine: qcom: bam_dma: Fix completed descriptors count · f6034225
      Sricharan Ramabadhran authored
      
      
      One space is left unused in circular FIFO to differentiate
      'full' and 'empty' cases. So take that in to account while
      counting for the descriptors completed.
      
      Fixes the issue reported here,
      	https://lkml.org/lkml/2019/6/18/669
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: default avatarSricharan R <sricharan@codeaurora.org>
      Tested-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
      f6034225
    • Robin Gong's avatar
      dmaengine: imx-sdma: remove BD_INTR for channel0 · 3f93a4f2
      Robin Gong authored
      It is possible for an irq triggered by channel0 to be received later
      after clks are disabled once firmware loaded during sdma probe. If
      that happens then clearing them by writing to SDMA_H_INTR won't work
      and the kernel will hang processing infinite interrupts. Actually,
      don't need interrupt triggered on channel0 since it's pollling
      SDMA_H_STATSTOP to know channel0 done rather than interrupt in
      current code, just clear BD_INTR to disable channel0 interrupt to
      avoid the above case.
      This issue was brought by commit 1d069bfa ("dmaengine: imx-sdma:
      ack channel 0 IRQ in the interrupt handler") which didn't take care
      the above case.
      
      Fixes: 1d069bfa
      
       ("dmaengine: imx-sdma: ack channel 0 IRQ in the interrupt handler")
      Cc: stable@vger.kernel.org #5.0+
      Signed-off-by: default avatarRobin Gong <yibin.gong@nxp.com>
      Reported-by: default avatarSven Van Asbroeck <thesven73@gmail.com>
      Tested-by: default avatarSven Van Asbroeck <thesven73@gmail.com>
      Reviewed-by: default avatarMichael Olbrich <m.olbrich@pengutronix.de>
      Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
      3f93a4f2
    • Sven Van Asbroeck's avatar
      dmaengine: imx-sdma: fix use-after-free on probe error path · 2b8066c3
      Sven Van Asbroeck authored
      
      
      If probe() fails anywhere beyond the point where
      sdma_get_firmware() is called, then a kernel oops may occur.
      
      Problematic sequence of events:
      1. probe() calls sdma_get_firmware(), which schedules the
         firmware callback to run when firmware becomes available,
         using the sdma instance structure as the context
      2. probe() encounters an error, which deallocates the
         sdma instance structure
      3. firmware becomes available, firmware callback is
         called with deallocated sdma instance structure
      4. use after free - kernel oops !
      
      Solution: only attempt to load firmware when we're certain
      that probe() will succeed. This guarantees that the firmware
      callback's context will remain valid.
      
      Note that the remove() path is unaffected by this issue: the
      firmware loader will increment the driver module's use count,
      ensuring that the module cannot be unloaded while the
      firmware callback is pending or running.
      
      Signed-off-by: default avatarSven Van Asbroeck <TheSven73@gmail.com>
      Reviewed-by: default avatarRobin Gong <yibin.gong@nxp.com>
      [vkoul: fixed braces for if condition]
      Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
      2b8066c3
    • Dan Carpenter's avatar
      dmaengine: jz4780: Fix an endian bug in IRQ handler · 4c89cc73
      Dan Carpenter authored
      The "pending" variable was a u32 but we cast it to an unsigned long
      pointer when we do the for_each_set_bit() loop.  The problem is that on
      big endian 64bit systems that results in an out of bounds read.
      
      Fixes: 4e4106f5
      
       ("dmaengine: jz4780: Fix transfers being ACKed too soon")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
      4c89cc73
    • Eric Farman's avatar
      vfio-ccw: Fix the conversion of Format-0 CCWs to Format-1 · c382cbc6
      Eric Farman authored
      When processing Format-0 CCWs, we use the "len" variable as the
      number of CCWs to convert to Format-1.  But that variable
      contains zero here, and is not a meaningful CCW count until
      ccwchain_calc_length() returns.  Since that routine requires and
      expects Format-1 CCWs to identify the chaining behavior, the
      format conversion must be done first.
      
      Convert the 2KB we copied even if it's more than we need.
      
      Fixes: 7f8e89a8
      
       ("vfio-ccw: Factor out the ccw0-to-ccw1 transition")
      Reported-by: default avatarFarhan Ali <alifm@linux.ibm.com>
      Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
      Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
      Message-Id: <20190702180928.18113-1-farman@linux.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      c382cbc6
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2019-07-05-1' of git://anongit.freedesktop.org/drm/drm · 3f9c4dc6
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "I skipped last week because there wasn't much worth doing, this week
        got a few more fixes in.
      
        amdgpu:
         - default register value change
         - runpm regression fix
         - fan control fix
      
        i915:
         - fix Ironlake regression
      
        panfrost:
         - fix a double free
      
        virtio:
         - fix a locking bug
      
        imx:
         - crtc disable fixes"
      
      * tag 'drm-fixes-2019-07-05-1' of git://anongit.freedesktop.org/drm/drm:
        drm/imx: only send event on crtc disable if kept disabled
        drm/imx: notify drm core before sending event during crtc disable
        drm/i915/ringbuffer: EMIT_INVALIDATE *before* switch context
        drm/amdgpu/gfx9: use reset default for PA_SC_FIFO_SIZE
        drm/amdgpu: Don't skip display settings in hwmgr_resume()
        drm/amd/powerplay: use hardware fan control if no powerplay fan table
        drm/panfrost: Fix a double-free error
        drm/etnaviv: add missing failure path to destroy suballoc
        drm/virtio: move drm_connector_update_edid_property() call
      3f9c4dc6
    • Dave Airlie's avatar
      Merge tag 'imx-drm-fixes-2019-07-04' of git://git.pengutronix.de/git/pza/linux into drm-fixes · a0b2cf79
      Dave Airlie authored
      
      
      drm/imx: fix stale vblank timestamp after a modeset
      
      This series fixes stale vblank timestamps in the first event sent after
      a crtc was disabled. The core now is notified via drm_crtc_vblank_off
      before sending the last pending event in atomic_disable. If the crtc is
      reenabled right away during to a modeset, the event is not sent at all,
      as the next vblank will take care of it.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Philipp Zabel <p.zabel@pengutronix.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/1562237119.6641.16.camel@pengutronix.de
      a0b2cf79
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · ee39d46d
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes two memory leaks and a list corruption bug"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: user - prevent operating on larval algorithms
        crypto: cryptd - Fix skcipher instance memory leak
        lib/mpi: Fix karactx leak in mpi_powm
      ee39d46d
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · a5fff14a
      Linus Torvalds authored
      Merge more fixes from Andrew Morton:
       "5 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        swap_readpage(): avoid blk_wake_io_task() if !synchronous
        devres: allow const resource arguments
        mm/vmscan.c: prevent useless kswapd loops
        fs/userfaultfd.c: disable irqs for fault_pending and event locks
        mm/page_alloc.c: fix regression with deferred struct page init
      a5fff14a
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ecbe5086
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Likely our final small batch of fixes for 5.2:
      
         - Some fixes for USB on davinci, regressions were due to the recent
           conversion of the OCHI driver to use GPIO regulators
      
         - A fixup of kconfig dependencies for a TI irq controller
      
         - A switch of armada-38x to avoid dropped characters on uart, caused
           by switch of base inherited platform description earlier this year"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: davinci: da830-evm: fix GPIO lookup for OHCI
        ARM: davinci: omapl138-hawk: add missing regulator constraints for OHCI
        ARM: davinci: da830-evm: add missing regulator constraints for OHCI
        soc: ti: fix irq-ti-sci link error
        ARM: dts: armada-xp-98dx3236: Switch to armada-38x-uart serial node
      ecbe5086
    • Linus Torvalds's avatar
      Merge tag 'dax-fix-5.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · cde357c3
      Linus Torvalds authored
      Pull dax fix from Dan Williams:
       "A single dax fix that has been soaking awaiting other fixes under
        discussion to join it. As it is getting late in the cycle lets proceed
        with this fix and save follow-on changes for post-v5.3-rc1.
      
         - Fix xarray entry association for mixed mappings"
      
      * tag 'dax-fix-5.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        dax: Fix xarray entry association for mixed mappings
      cde357c3
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 2cd7cdc7
      Linus Torvalds authored
      Pull do_move_mount() fix from Al Viro:
       "Regression fix"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: move_mount: reject moving kernel internal mounts
      2cd7cdc7
    • Oleg Nesterov's avatar
      swap_readpage(): avoid blk_wake_io_task() if !synchronous · 87518530
      Oleg Nesterov authored
      swap_readpage() sets waiter = bio->bi_private even if synchronous = F,
      this means that the caller can get the spurious wakeup after return.
      
      This can be fatal if blk_wake_io_task() does
      set_current_state(TASK_RUNNING) after the caller does
      set_special_state(), in the worst case the kernel can crash in
      do_task_dead().
      
      Link: http://lkml.kernel.org/r/20190704160301.GA5956@redhat.com
      Fixes: 0619317f
      
       ("block: add polled wakeup task helper")
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reported-by: default avatarQian Cai <cai@lca.pw>
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      87518530
    • Arnd Bergmann's avatar
      devres: allow const resource arguments · eef778c9
      Arnd Bergmann authored
      
      
      devm_ioremap_resource() does not currently take 'const' arguments, which
      results in a warning from the first driver trying to do it anyway:
      
        drivers/gpio/gpio-amd-fch.c: In function 'amd_fch_gpio_probe':
        drivers/gpio/gpio-amd-fch.c:171:49: error: passing argument 2 of 'devm_ioremap_resource' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
          priv->base = devm_ioremap_resource(&pdev->dev, &amd_fch_gpio_iores);
                                                         ^~~~~~~~~~~~~~~~~~~
      
      Change the prototype to allow it, as there is no real reason not to.
      
      Link: http://lkml.kernel.org/r/20190628150049.1108048-1-arnd@arndb.de
      Fixes: 9bb2e0452508 ("gpio: amd: Make resource struct const")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-by: default avatarEnrico Weigelt <info@metux.net>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
      Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eef778c9
    • Shakeel Butt's avatar
      mm/vmscan.c: prevent useless kswapd loops · dffcac2c
      Shakeel Butt authored
      In production we have noticed hard lockups on large machines running
      large jobs due to kswaps hoarding lru lock within isolate_lru_pages when
      sc->reclaim_idx is 0 which is a small zone.  The lru was couple hundred
      GiBs and the condition (page_zonenum(page) > sc->reclaim_idx) in
      isolate_lru_pages() was basically skipping GiBs of pages while holding
      the LRU spinlock with interrupt disabled.
      
      On further inspection, it seems like there are two issues:
      
      (1) If kswapd on the return from balance_pgdat() could not sleep (i.e.
          node is still unbalanced), the classzone_idx is unintentionally set
          to 0 and the whole reclaim cycle of kswapd will try to reclaim only
          the lowest and smallest zone while traversing the whole memory.
      
      (2) Fundamentally isolate_lru_pages() is really bad when the
          allocation has woken kswapd for a smaller zone on a very large machine
          running very large jobs.  It can hoard the LRU spinlock while skipping
          over 100s of GiBs of pages.
      
      This patch only fixes (1).  (2) needs a more fundamental solution.  To
      fix (1), in the kswapd context, if pgdat->kswapd_classzone_idx is
      invalid use the classzone_idx of the previous kswapd loop otherwise use
      the one the waker has requested.
      
      Link: http://lkml.kernel.org/r/20190701201847.251028-1-shakeelb@google.com
      Fixes: e716f2eb
      
       ("mm, vmscan: prevent kswapd sleeping prematurely due to mismatched classzone_idx")
      Signed-off-by: default avatarShakeel Butt <shakeelb@google.com>
      Reviewed-by: default avatarYang Shi <yang.shi@linux.alibaba.com>
      Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Hillf Danton <hdanton@sina.com>
      Cc: Roman Gushchin <guro@fb.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dffcac2c