1. 07 Dec, 2019 3 commits
    • Linus Torvalds's avatar
      pipe: fix and clarify pipe write wakeup logic · 1b6b26ae
      Linus Torvalds authored
      The pipe rework ends up having been extra painful, partly becaused of
      actual bugs with ordering and caching of the pipe state, but also
      because of subtle performance issues.
      
      In particular, the pipe rework caused the kernel build to inexplicably
      slow down.
      
      The reason turns out to be that the GNU make jobserver (which limits the
      parallelism of the build) uses a pipe to implement a "token" system: a
      parallel submake will read a character from the pipe to get the job
      token before starting a new job, and will write a character back to the
      pipe when it is done.  The overall job limit is thus easily controlled
      by just writing the appropriate number of initial token characters into
      the pipe.
      
      But to work well, that really means that the old behavior of write
      wakeups being synchronous (WF_SYNC) is very important - when the pipe
      writer wakes up a reader, we want the reader to actually get scheduled
      immediately.  Otherwise you lose the parallelism of the build.
      
      The pipe rework lost that synchronous wakeup on write, and we had
      clearly all forgotten the reasons and rules for it.
      
      This rewrites the pipe write wakeup logic to do the required Wsync
      wakeups, but also clarifies the logic and avoids extraneous wakeups.
      
      It also ends up addign a number of comments about what oit does and why,
      so that we hopefully don't end up forgetting about this next time we
      change this code.
      
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1b6b26ae
    • Linus Torvalds's avatar
      pipe: fix poll/select race introduced by the pipe rework · ad910e36
      Linus Torvalds authored
      The kernel wait queues have a basic rule to them: you add yourself to
      the wait-queue first, and then you check the things that you're going to
      wait on.  That avoids the races with the event you're waiting for.
      
      The same goes for poll/select logic: the "poll_wait()" goes first, and
      then you check the things you're polling for.
      
      Of course, if you use locking, the ordering doesn't matter since the
      lock will serialize with anything that changes the state you're looking
      at. That's not the case here, though.
      
      So move the poll_wait() first in pipe_poll(), before you start looking
      at the pipe state.
      
      Fixes: 8cefc107 ("pipe: Use head and tail pointers for the ring, not cursor and length")
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ad910e36
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · eea2d5da
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
      
       - fix CPU topology setup for SCHED_MC case
      
       - fix VDSO regression
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8947/1: Fix __arch_get_hw_counter() access to CNTVCT
        ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC
      eea2d5da
  2. 06 Dec, 2019 28 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 347f56fb
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A set of fixes that we've merged late, but for the most part that have
        been sitting in -next for a while through platform maintainer trees:
      
         - Fixes to suspend/resume on Tegra, caused by the added features this
           merge window
      
         - Cleanups and minor fixes to TI additions this merge window
      
         - Tee fixes queued up late before the merge window, included here.
      
         - A handful of other fixlets
      
        There's also a refresh of the shareed config files (multi_v* on
        32-bit, and defconfig on 64-bit), to avoid conflicts when we get new
        contributions"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (32 commits)
        ARM: multi_v7_defconfig: Restore debugfs support
        ARM: defconfig: re-run savedefconfig on multi_v* configs
        arm64: defconfig: re-run savedefconfig
        ARM: pxa: Fix resource properties
        soc: mediatek: cmdq: fixup wrong input order of write api
        soc: aspeed: Fix snoop_file_poll()'s return type
        MAINTAINERS: Switch to Marvell addresses
        MAINTAINERS: update Cavium ThunderX drivers
        Revert "arm64: dts: juno: add dma-ranges property"
        MAINTAINERS: Make Nicolas Saenz Julienne the new bcm2835 maintainer
        firmware: arm_scmi: Avoid double free in error flow
        arm64: dts: juno: Fix UART frequency
        ARM: dts: Fix sgx sysconfig register for omap4
        arm: socfpga: execute cold reboot by default
        ARM: dts: Fix vcsi regulator to be always-on for droid4 to prevent hangs
        ARM: dts: dra7: fix cpsw mdio fck clock
        ARM: dts: am57xx-beagle-x15: Update pinmux name to ddr_3_3v
        ARM: dts: omap3-tao3530: Fix incorrect MMC card detection GPIO polarity
        soc/tegra: pmc: Add reset sources and levels on Tegra194
        soc/tegra: pmc: Add missing IRQ callbacks on Tegra194
        ...
      347f56fb
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 98884281
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - ZONE_DMA32 initialisation fix when memblocks fall entirely within the
         first GB (used by ZONE_DMA in 5.5 for Raspberry Pi 4).
      
       - Couple of ftrace fixes following the FTRACE_WITH_REGS patchset.
      
       - access_ok() fix for the Tagged Address ABI when called from from a
         kernel thread (asynchronous I/O): the kthread does not have the TIF
         flags of the mm owner, so untag the user address unconditionally.
      
       - KVM compute_layout() called before the alternatives code patching.
      
       - Minor clean-ups.
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: entry: refine comment of stack overflow check
        arm64: ftrace: fix ifdeffery
        arm64: KVM: Invoke compute_layout() before alternatives are applied
        arm64: Validate tagged addresses in access_ok() called from kernel threads
        arm64: mm: Fix column alignment for UXN in kernel_page_tables
        arm64: insn: consistently handle exit text
        arm64: mm: Fix initialisation of DMA zones on non-NUMA systems
      98884281
    • David Howells's avatar
      pipe: Fix iteration end check in fuse_dev_splice_write() · 76f6777c
      David Howells authored
      Fix the iteration end check in fuse_dev_splice_write().  The iterator
      position can only be compared with == or != since wrappage may be involved.
      
      Fixes: 8cefc107 ("pipe: Use head and tail pointers for the ring, not cursor and length")
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      76f6777c
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 43a28986
      Linus Torvalds authored
      Pull more powerpc updates from Michael Ellerman:
       "A few commits splitting the KASAN instrumented bitops header in three,
        to match the split of the asm-generic bitops headers.
      
        This is needed on powerpc because we use the generic bitops for the
        non-atomic case only, whereas the existing KASAN instrumented bitops
        assume all the underlying operations are provided by the arch as
        arch_foo() versions.
      
        Thanks to: Daniel Axtens & Christophe Leroy"
      
      * tag 'powerpc-5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        docs/core-api: Remove possibly confusing sub-headings from Bit Operations
        powerpc: support KASAN instrumentation of bitops
        kasan: support instrumented bitops combined with generic bitops
      43a28986
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · f89d416a
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "One fix for a regression introduced by our recent rework of cache
        flushing on memory hotunplug.
      
        Like several other arches, our VDSO clock_getres() needed a fix to
        match the semantics of posix_get_hrtimer_res().
      
        A fix for a boot crash on Power9 LPARs using PCI LSI interrupts.
      
        A commit disabling use of the trace_imc PMU (not the core PMU) on
        Power9 systems, because it can lead to checkstops, until a workaround
        is developed.
      
        A handful of other minor fixes.
      
        Thanks to: Aneesh Kumar K.V, Anju T Sudhakar, Ard Biesheuvel,
        Christophe Leroy, Cédric Le Goater, Madhavan Srinivasan, Vincenzo
        Frascino"
      
      * tag 'powerpc-5.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/perf: Disable trace_imc pmu
        powerpc/powernv: Avoid re-registration of imc debugfs directory
        powerpc/pmem: Convert to EXPORT_SYMBOL_GPL
        powerpc/archrandom: fix arch_get_random_seed_int()
        powerpc: Fix vDSO clock_getres()
        powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range
        powerpc/xive: Skip ioremap() of ESB pages for LSI interrupts
        powerpc/kasan: Fix boot failure with RELOCATABLE && FSL_BOOKE
      f89d416a
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 3cf2890f
      Linus Torvalds authored
      Pull more sound updates from Takashi Iwai:
       "A few last-minute updates, most of them are the regression fixes:
      
         - AMD HD-audio HDMI runtime PM improvements
      
         - Fixes for HD-audio HDMI regressions wrt DP-MST
      
         - A regression fix for the previous aloop enhancement
      
         - A fix for a long-time problem in PCM OSS layer that was spotted by
           fuzzer now
      
         - A few HD-audio quirks"
      
      * tag 'sound-fix-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: pcm: oss: Avoid potential buffer overflows
        ALSA: hda: hdmi - Keep old slot assignment behavior for Intel platforms
        ALSA: hda: Modify stream stripe mask only when needed
        ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen
        ALSA: hda: hdmi - preserve non-MST PCM routing for Intel platforms
        ALSA: hda: hdmi - fix kernel oops caused by invalid PCM idx
        ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G
        ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236
        ALSA: hda: hdmi - fix regression in connect list handling
        ALSA: aloop: Avoid pointer dereference before null-check
        ALSA: hda/hdmi - enable automatic runtime pm for AMD HDMI codecs by default
        ALSA: hda/hdmi - enable runtime pm for newer AMD display audio
        ALSA: hda/hdmi - Add new pci ids for AMD GPU display audio
        ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD
      3cf2890f
    • Linus Torvalds's avatar
      pipe: fix incorrect caching of pipe state over pipe_wait() · ec057595
      Linus Torvalds authored
      Similarly to commit 8f868d68 ("pipe: Fix missing mask update after
      pipe_wait()") this fixes a case where the pipe rewrite ended up caching
      the pipe state incorrectly over a pipe lock drop event.
      
      It wasn't quite as obvious, because you needed to splice data from a
      pipe to a file, which is a fairly unusual operation, but it's completely
      wrong.
      
      Make sure we load the pipe head/tail/size information only after we've
      waited for there to be data in the pipe.
      
      While in that file, also make one of the splice helper functions use the
      canonical arghument order for pipe_empty().  That's syntactic - pipe
      emptiness is just that head and tail are equal, and thus mixing up head
      and tail doesn't really matter.  It's still wrong, though.
      Reported-by: default avatarDavid Sterba <dsterba@suse.cz>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ec057595
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2019-12-06' of git://anongit.freedesktop.org/drm/drm · 7ada90eb
      Linus Torvalds authored
      Pull more drm updates from Dave Airlie:
       "Rob pointed out I missed his pull request for msm-next, it's been in
        next for a while outside of my tree so shouldn't cause any unexpected
        issues, it has some OCMEM support in drivers/soc that is acked by
        other maintainers as it's outside my tree.
      
        Otherwise it's a usual fixes pull, i915, amdgpu, the main ones, with
        some tegra, omap, mgag200 and one core fix.
      
        Summary:
      
        msm-next:
         - OCMEM support for a3xx and a4xx GPUs.
         - a510 support + display support
      
        core:
         - mst payload deletion fix
      
        i915:
         - uapi alignment fix
         - fix for power usage regression due to security fixes
         - change default preemption timeout to 640ms from 100ms
         - EHL voltage level display fixes
         - TGL DGL PHY fix
         - gvt - MI_ATOMIC cmd parser fix, CFL non-priv warning
         - CI spotted deadlock fix
         - EHL port D programming fix
      
        amdgpu:
         - VRAM lost fixes on BACO for CI/VI
         - navi14 DC fixes
         - misc SR-IOV, gfx10 fixes
         - XGMI fixes for arcturus
         - SRIOV fixes
      
        amdkfd:
         - KFD on ppc64le enabled
         - page table optimisations
      
        radeon:
         - fix for r1xx/2xx register checker.
      
        tegra:
         - displayport regression fixes
         - DMA API regression fixes
      
        mgag200:
         - fix devices that can't scanout except at 0 addr
      
        omap:
         - fix dma_addr refcounting"
      
      * tag 'drm-next-2019-12-06' of git://anongit.freedesktop.org/drm/drm: (100 commits)
        drm/dp_mst: Correct the bug in drm_dp_update_payload_part1()
        drm/omap: fix dma_addr refcounting
        drm/tegra: Run hub cleanup on ->remove()
        drm/tegra: sor: Make the +5V HDMI supply optional
        drm/tegra: Silence expected errors on IOMMU attach
        drm/tegra: vic: Export module device table
        drm/tegra: sor: Implement system suspend/resume
        drm/tegra: Use proper IOVA address for cursor image
        drm/tegra: gem: Remove premature import restrictions
        drm/tegra: gem: Properly pin imported buffers
        drm/tegra: hub: Remove bogus connection mutex check
        ia64: agp: Replace empty define with do while
        agp: Add bridge parameter documentation
        agp: remove unused variable num_segments
        agp: move AGPGART_MINOR to include/linux/miscdevice.h
        agp: remove unused variable size in agp_generic_create_gatt_table
        drm/dp_mst: Fix build on systems with STACKTRACE_SUPPORT=n
        drm/radeon: fix r1xx/r2xx register checker for POT textures
        drm/amdgpu: fix GFX10 missing CSIB set(v3)
        drm/amdgpu: should stop GFX ring in hw_fini
        ...
      7ada90eb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20191205' of git://git.kernel.dk/linux-block · 9feb1af9
      Linus Torvalds authored
      Pull more block and io_uring updates from Jens Axboe:
       "I wasn't expecting this to be so big, and if I was, I would have used
        separate branches for this. Going forward I'll be doing separate
        branches for the current tree, just like for the next kernel version
        tree. In any case, this contains:
      
         - Series from Christoph that fixes an inherent race condition with
           zoned devices and revalidation.
      
         - null_blk zone size fix (Damien)
      
         - Fix for a regression in this merge window that caused busy spins by
           sending empty disk uevents (Eric)
      
         - Fix for a regression in this merge window for bfq stats (Hou)
      
         - Fix for io_uring creds allocation failure handling (me)
      
         - io_uring -ERESTARTSYS send/recvmsg fix (me)
      
         - Series that fixes the need for applications to retain state across
           async request punts for io_uring. This one is a bit larger than I
           would have hoped, but I think it's important we get this fixed for
           5.5.
      
         - connect(2) improvement for io_uring, handling EINPROGRESS instead
           of having applications needing to poll for it (me)
      
         - Have io_uring use a hash for poll requests instead of an rbtree.
           This turned out to work much better in practice, so I think we
           should make the switch now. For some workloads, even with a fair
           amount of cancellations, the insertion sort is just too expensive.
           (me)
      
         - Various little io_uring fixes (me, Jackie, Pavel, LimingWu)
      
         - Fix for brd unaligned IO, and a warning for the future (Ming)
      
         - Fix for a bio integrity data leak (Justin)
      
         - bvec_iter_advance() improvement (Pavel)
      
         - Xen blkback page unmap fix (SeongJae)
      
        The major items in here are all well tested, and on the liburing side
        we continue to add regression and feature test cases. We're up to 50
        topic cases now, each with anywhere from 1 to more than 10 cases in
        each"
      
      * tag 'for-linus-20191205' of git://git.kernel.dk/linux-block: (33 commits)
        block: fix memleak of bio integrity data
        io_uring: fix a typo in a comment
        bfq-iosched: Ensure bio->bi_blkg is valid before using it
        io_uring: hook all linked requests via link_list
        io_uring: fix error handling in io_queue_link_head
        io_uring: use hash table for poll command lookups
        io-wq: clear node->next on list deletion
        io_uring: ensure deferred timeouts copy necessary data
        io_uring: allow IO_SQE_* flags on IORING_OP_TIMEOUT
        null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED
        brd: warn on un-aligned buffer
        brd: remove max_hw_sectors queue limit
        xen/blkback: Avoid unmapping unmapped grant pages
        io_uring: handle connect -EINPROGRESS like -EAGAIN
        block: set the zone size in blk_revalidate_disk_zones atomically
        block: don't handle bio based drivers in blk_revalidate_disk_zones
        block: allocate the zone bitmaps lazily
        block: replace seq_zones_bitmap with conv_zones_bitmap
        block: simplify blkdev_nr_zones
        block: remove the empty line at the end of blk-zoned.c
        ...
      9feb1af9
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0aecba61
      Linus Torvalds authored
      Pull vfs d_inode/d_flags memory ordering fixes from Al Viro:
       "Fallout from tree-wide audit for ->d_inode/->d_flags barriers use.
        Basically, the problem is that negative pinned dentries require
        careful treatment - unless ->d_lock is locked or parent is held at
        least shared, another thread can make them positive right under us.
      
        Most of the uses turned out to be safe - the main surprises as far as
        filesystems are concerned were
      
         - race in dget_parent() fastpath, that might end up with the caller
           observing the returned dentry _negative_, due to insufficient
           barriers. It is positive in memory, but we could end up seeing the
           wrong value of ->d_inode in CPU cache. Fixed.
      
         - manual checks that result of lookup_one_len_unlocked() is positive
           (and rejection of negatives). Again, insufficient barriers (we
           might end up with inconsistent observed values of ->d_inode and
           ->d_flags). Fixed by switching to a new primitive that does the
           checks itself and returns ERR_PTR(-ENOENT) instead of a negative
           dentry. That way we get rid of boilerplate converting negatives
           into ERR_PTR(-ENOENT) in the callers and have a single place to
           deal with the barrier-related mess - inside fs/namei.c rather than
           in every caller out there.
      
        The guts of pathname resolution *do* need to be careful - the race
        found by Ritesh is real, as well as several similar races.
        Fortunately, it turns out that we can take care of that with fairly
        local changes in there.
      
        The tree-wide audit had not been fun, and I hate the idea of repeating
        it. I think the right approach would be to annotate the places where
        we are _not_ guaranteed ->d_inode/->d_flags stability and have sparse
        catch regressions. But I'm still not sure what would be the least
        invasive way of doing that and it's clearly the next cycle fodder"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs/namei.c: fix missing barriers when checking positivity
        fix dget_parent() fastpath race
        new helper: lookup_positive_unlocked()
        fs/namei.c: pull positivity check into follow_managed()
      0aecba61
    • Olof Johansson's avatar
      Merge tag 'arm-soc/for-5.5/devicetree-part2' of https://github.com/Broadcom/stblinux into arm/fixes · 30f55eae
      Olof Johansson authored
      This pull request contains the second batch of changes for Broadcom
      ARM-based SoCs, please pull the following:
      
      - Nicolas declares a CMA area within the first 1GB of DRAM in order for
        it to be guaranteed to reside there, otherwise ARM64's memory
        initialization will pick up a CMA area within ZONE_DMA32
      
      - Stefan adds the Device Tree node for the built-in Ethernet controller
        (GENET) on the Raspberry Pi 4 model B board
      
      * tag 'arm-soc/for-5.5/devicetree-part2' of https://github.com/Broadcom/stblinux:
        ARM: dts: bcm2711-rpi-4: Enable GENET support
        ARM: dts: bcm2711: force CMA into first GB of memory
      
      Link: https://lore.kernel.org/r/20191118182931.11884-1-f.fainelli@gmail.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      30f55eae
    • Olof Johansson's avatar
      Merge tag 'tegra-for-5.5-memory-fixes' of... · 916a9140
      Olof Johansson authored
      Merge tag 'tegra-for-5.5-memory-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/fixes
      
      memory: tegra: Fixes for v5.5-rc1
      
      This contains a fix for a kernel panic that can occur on suspend if EMC
      timings are not available in device tree.
      
      * tag 'tegra-for-5.5-memory-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
        memory: tegra30-emc: Fix panic on suspend
      
      Link: https://lore.kernel.org/r/20191204130753.3614278-1-thierry.reding@gmail.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      916a9140
    • Olof Johansson's avatar
      Merge tag 'tegra-for-5.5-soc-fixes' of... · 5af5b2ae
      Olof Johansson authored
      Merge tag 'tegra-for-5.5-soc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/fixes
      
      soc/tegra: Fixes for v5.5-rc1
      
      Fixes a regression for wake events on Tegra194 caused by the Tegra210
      support that was added in v5.5-rc1 as well as wrong reset sources and
      levels on Tegra194.
      
      * tag 'tegra-for-5.5-soc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
        soc/tegra: pmc: Add reset sources and levels on Tegra194
        soc/tegra: pmc: Add missing IRQ callbacks on Tegra194
        soc/tegra: pmc: Use lower-case for hexadecimal literals
      
      Link: https://lore.kernel.org/r/20191204130753.3614278-2-thierry.reding@gmail.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      5af5b2ae
    • Olof Johansson's avatar
      Merge tag 'tegra-for-5.5-cpufreq' of... · c25f318b
      Olof Johansson authored
      Merge tag 'tegra-for-5.5-cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/fixes
      
      cpufreq: tegra: Changes for v5.5-rc1
      
      Implements support for suspend/resume on Tegra124.
      
      * tag 'tegra-for-5.5-cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
        cpufreq: tegra124: Add suspend and resume support
      
      Link: https://lore.kernel.org/r/20191204130753.3614278-3-thierry.reding@gmail.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      c25f318b
    • Olof Johansson's avatar
      Merge tag 'socfpga_update_for_v5.5' of... · f7a1a1db
      Olof Johansson authored
      Merge tag 'socfpga_update_for_v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/fixes
      
      SoCFPGA updates for v5.5
      - Issue COLD reboot by default for SoCFPGA platforms
      
      * tag 'socfpga_update_for_v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
        arm: socfpga: execute cold reboot by default
      
      Link: https://lore.kernel.org/r/20191122182106.822-1-dinguyen@kernel.orgSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      f7a1a1db
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.5/dt-fixes-merge-window-signed' of... · e89d108d
      Olof Johansson authored
      Merge tag 'omap-for-v5.5/dt-fixes-merge-window-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Device tree fixes for omap variants for for v5.5 merge window
      
      This series of changes contains fixes for few SoC and board specific
      issues that would be good to have merged for v5.5-rc1:
      
      - Fix incorrect MMC card detection polarity for omap3-tao3530
      
      - Fix wrong am57xx-beagle-x15 pinmux named states for eMMC
      
      - Fix dra7 cpsw mdio clock that causes wrong speed
      
      - Fix vcsi for droid4 so it won't get turned off after init
      
      - Fix rev and sysconfig register offsets for omap4 sgx so it can idle
      
      Then there are also two minor late changes to logicpd-torpedo-baseboard
      to configure 1-wire HDQ for battery stats, and remove out of date
      workaround comments no longer needed.
      
      * tag 'omap-for-v5.5/dt-fixes-merge-window-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: Fix sgx sysconfig register for omap4
        ARM: dts: Fix vcsi regulator to be always-on for droid4 to prevent hangs
        ARM: dts: dra7: fix cpsw mdio fck clock
        ARM: dts: am57xx-beagle-x15: Update pinmux name to ddr_3_3v
        ARM: dts: omap3-tao3530: Fix incorrect MMC card detection GPIO polarity
        ARM: dts: logicpd-torpedo: Remove unnecessary notes/comments
        ARM: dts: logicpd-torpedo-baseboard:  Enable HDQ
      
      Link: https://lore.kernel.org/r/pull-1574870758-237468@atomide.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      e89d108d
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.5/ti-sysc-late-signed' of... · 0f679edf
      Olof Johansson authored
      Merge tag 'omap-for-v5.5/ti-sysc-late-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Few ti-sysc related fixes for v5.5 merge window
      
      Just few minor changes that can be merged when suitable, but would
      be good to have these in v5.5-rc1 to remove dependencies between branches
      for more changes later on in v5.6:
      
      - Add quirk handling for AESS (Audio Engine Sub System)
      
      - We want to drop the useless gptimer option for omap4 as there are local
        timers
      
      - A minor error path handling improvment for sysc_child_add_named_clock()
        that will make further patching a bit easier
      
      * tag 'omap-for-v5.5/ti-sysc-late-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        bus: ti-sysc: Adjust exception handling in sysc_child_add_named_clock()
        ARM: OMAP2+: Drop useless gptimer option for omap4
        bus: ti-sysc: Add module enable quirk for audio AESS
      
      Link: https://lore.kernel.org/r/pull-1574273726-31367@atomide.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      0f679edf
    • Marek Szyprowski via Linux.Kernel.Org's avatar
      ARM: multi_v7_defconfig: Restore debugfs support · 18977008
      Commit fd7d58f0 ("ARM: multi_v7_defconfig: renormalize based on recent
      additions") removed explicit enable line for CONFIG_DEBUG_FS, because
      that feature has been selected by other enabled options: CONFIG_TRACING,
      which were enabled by CONFIG_PERF_EVENTS.
      
      In meantime, commit 0e4a459f ("tracing: Remove unnecessary DEBUG_FS
      dependency") removed the dependency between CONFIG_DEBUG_FS and
      CONFIG_TRACING, so CONFIG_DEBUG_FS is no longer enabled in default builds.
      
      Enable it again explicitly, as debugfs support is essential for various
      automated testing tools.
      
      Link: https://lore.kernel.org/r/20191206125112.11006-1-m.szyprowski@samsung.comSigned-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      18977008
    • Heyi Guo's avatar
      arm64: entry: refine comment of stack overflow check · de858040
      Heyi Guo authored
      Stack overflow checking can be done by testing sp & (1 << THREAD_SHIFT)
      only for the stacks are aligned to (2 << THREAD_SHIFT) with size of
      (1 << THREAD_SIZE), and this is the case when CONFIG_VMAP_STACK is set.
      
      Fix the code comment to avoid confusion.
      
      Cc: Will Deacon <will@kernel.org>
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarHeyi Guo <guoheyi@huawei.com>
      [catalin.marinas@arm.com: Updated comment following Mark's suggestion]
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      de858040
    • Mark Rutland's avatar
      arm64: ftrace: fix ifdeffery · 70927d02
      Mark Rutland authored
      When I tweaked the ftrace entry assembly in commit:
      
        3b23e499 ("arm64: implement ftrace with regs")
      
      ... my ifdeffery tweaks left ftrace_graph_caller undefined for
      CONFIG_DYNAMIC_FTRACE && CONFIG_FUNCTION_GRAPH_TRACER when ftrace is
      based on mcount.
      
      The kbuild test robot reported that this issue is detected at link time:
      
      | arch/arm64/kernel/entry-ftrace.o: In function `skip_ftrace_call':
      | arch/arm64/kernel/entry-ftrace.S:238: undefined reference to `ftrace_graph_caller'
      | arch/arm64/kernel/entry-ftrace.S:238:(.text+0x3c): relocation truncated to fit: R_AARCH64_CONDBR19 against undefined symbol
      | `ftrace_graph_caller'
      | arch/arm64/kernel/entry-ftrace.S:243: undefined reference to `ftrace_graph_caller'
      | arch/arm64/kernel/entry-ftrace.S:243:(.text+0x54): relocation truncated to fit: R_AARCH64_CONDBR19 against undefined symbol
      | `ftrace_graph_caller'
      
      This patch fixes the ifdeffery so that the mcount version of
      ftrace_graph_caller doesn't depend on CONFIG_DYNAMIC_FTRACE. At the same
      time, a redundant #else is removed from the ifdeffery for the
      patchable-function-entry version of ftrace_graph_caller.
      
      Fixes: 3b23e499 ("arm64: implement ftrace with regs")
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Amit Daniel Kachhap <amit.kachhap@arm.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Torsten Duwe <duwe@lst.de>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      70927d02
    • Sebastian Andrzej Siewior's avatar
      arm64: KVM: Invoke compute_layout() before alternatives are applied · 0492747c
      Sebastian Andrzej Siewior authored
      compute_layout() is invoked as part of an alternative fixup under
      stop_machine(). This function invokes get_random_long() which acquires a
      sleeping lock on -RT which can not be acquired in this context.
      
      Rename compute_layout() to kvm_compute_layout() and invoke it before
      stop_machine() applies the alternatives. Add a __init prefix to
      kvm_compute_layout() because the caller has it, too (and so the code can be
      discarded after boot).
      Reviewed-by: default avatarJames Morse <james.morse@arm.com>
      Acked-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      0492747c
    • Catalin Marinas's avatar
      arm64: Validate tagged addresses in access_ok() called from kernel threads · df325e05
      Catalin Marinas authored
      __range_ok(), invoked from access_ok(), clears the tag of the user
      address only if CONFIG_ARM64_TAGGED_ADDR_ABI is enabled and the thread
      opted in to the relaxed ABI. The latter sets the TIF_TAGGED_ADDR thread
      flag. In the case of asynchronous I/O (e.g. io_submit()), the
      access_ok() may be called from a kernel thread. Since kernel threads
      don't have TIF_TAGGED_ADDR set, access_ok() will fail for valid tagged
      user addresses. Example from the ffs_user_copy_worker() thread:
      
      	use_mm(io_data->mm);
      	ret = ffs_copy_to_iter(io_data->buf, ret, &io_data->data);
      	unuse_mm(io_data->mm);
      
      Relax the __range_ok() check to always untag the user address if called
      in the context of a kernel thread. The user pointers would have already
      been checked via aio_setup_rw() -> import_{single_range,iovec}() at the
      time of the asynchronous I/O request.
      
      Fixes: 63f0c603 ("arm64: Introduce prctl() options to control the tagged user addresses ABI")
      Cc: <stable@vger.kernel.org> # 5.4.x-
      Cc: Will Deacon <will@kernel.org>
      Reported-by: default avatarEvgenii Stepanov <eugenis@google.com>
      Tested-by: default avatarEvgenii Stepanov <eugenis@google.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      df325e05
    • Vincenzo Frascino's avatar
      ARM: 8947/1: Fix __arch_get_hw_counter() access to CNTVCT · 04bb9642
      Vincenzo Frascino authored
      __arch_get_hw_counter() should check clock_mode to see if it can access
      CNTVCT. With the conversion to unified vDSO this check has been left out.
      
      This causes on imx v6 and v7 (imx_v6_v7_defconfig) and other platforms to
      hang at boot during the execution of the init process as per below:
      
      [   19.976852] Run /sbin/init as init process
      [   20.044931] Kernel panic - not syncing: Attempted to kill init!
      exitcode=0x00000004
      
      Fix the problem verifying that clock_mode is set coherently before
      accessing CNTVCT.
      Investigated-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      04bb9642
    • Dietmar Eggemann's avatar
      ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC · ff98a5f6
      Dietmar Eggemann authored
      Commit ca74b316 ("arm: Use common cpu_topology structure and
      functions.") changed cpu_coregroup_mask() from the ARM32 specific
      implementation in arch/arm/include/asm/topology.h to the one shared
      with ARM64 and RISCV in drivers/base/arch_topology.c.
      
      Currently on ARM32 (TC2 w/ CONFIG_SCHED_MC) the task scheduler setup
      code (w/ CONFIG_SCHED_DEBUG) shows this during CPU hotplug:
      
        ERROR: groups don't span domain->span
      
      It happens to CPUs of the cluster of the CPU which gets hot-plugged
      out on scheduler domain MC.
      
      Turns out that the shared cpu_coregroup_mask() requires that the
      hot-plugged CPU is removed from the core_sibling mask via
      remove_cpu_topology(). Otherwise the 'is core_sibling subset of
      cpumask_of_node()' doesn't work. In this case the task scheduler has to
      deal with cpumask_of_node instead of core_sibling which is wrong on
      scheduler domain MC.
      
      e.g. CPU3 hot-plugged out on TC2 [cluster0: 0,3-4 cluster1: 1-2]:
      
        cpu_coregroup_mask(): CPU3 cpumask_of_node=0-2,4 core_sibling=0,3-4
                                                                        ^
      should be:
      
        cpu_coregroup_mask(): CPU3 cpumask_of_node=0-2,4 core_sibling=0,4
      
      Add remove_cpu_topology() to __cpu_disable() to remove the CPU from the
      topology masks in case of a CPU hotplug out operation.
      
      At the same time tweak store_cpu_topology() slightly so it will call
      update_siblings_masks() in case of CPU hotplug in operation via
      secondary_start_kernel()->smp_store_cpu_info().
      
      This aligns the ARM32 implementation with the ARM64 one.
      
      Guarding remove_cpu_topology() with CONFIG_GENERIC_ARCH_TOPOLOGY is
      necessary since some Arm32 defconfigs (aspeed_g5_defconfig,
      milbeaut_m10v_defconfig, spear13xx_defconfig) specify an explicit
      
       # CONFIG_ARM_CPU_TOPOLOGY is not set
      
      w/ ./arch/arm/Kconfig: select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
      
      Fixes: ca74b316 ("arm: Use common cpu_topology structure and functions")
      Reviewed-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Reviewed-by: default avatarLukasz Luba <lukasz.luba@arm.com>
      Tested-by: default avatarLukasz Luba <lukasz.luba@arm.com>
      Tested-by: default avatarOndrej Jirman <megous@megous.com>
      Signed-off-by: default avatarDietmar Eggemann <dietmar.eggemann@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      ff98a5f6
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2019-12-05' of... · 9c1867d7
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2019-12-05' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      - Includes gvt-next-fixes-2019-12-02 pull
      - Fixes for CI spotted eadlock and a race condition in GEM contexts
      - Fix for EHL port D programming
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191205092412.GA8089@jlahtine-desk.ger.corp.intel.com
      9c1867d7
    • Jens Axboe's avatar
      Merge branch 'io_uring-5.5' into for-linus · 85394299
      Jens Axboe authored
      * io_uring-5.5:
        io_uring: fix a typo in a comment
        io_uring: hook all linked requests via link_list
        io_uring: fix error handling in io_queue_link_head
        io_uring: use hash table for poll command lookups
      85394299
    • Linus Torvalds's avatar
      Merge branch 'next.autofs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · b0d4beaa
      Linus Torvalds authored
      Pull autofs updates from Al Viro:
       "autofs misuses checks for ->d_subdirs emptiness; the cursors are in
        the same lists, resulting in false negatives. It's not needed anyway,
        since autofs maintains counter in struct autofs_info, containing 0 for
        removed ones, 1 for live symlinks and 1 + number of children for live
        directories, which is precisely what we need for those checks.
      
        This series switches to use of that counter and untangles the crap
        around its uses (it needs not be atomic and there's a bunch of
        completely pointless "defensive" checks).
      
        This fell out of dcache_readdir work; the main point is to get rid of
        ->d_subdirs abuses in there. I've more followup cleanups, but I hadn't
        run those by Ian yet, so they can go next cycle"
      
      * 'next.autofs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        autofs: don't bother with atomics for ino->count
        autofs_dir_rmdir(): check ino->count for deciding whether it's empty...
        autofs: get rid of pointless checks around ->count handling
        autofs_clear_leaf_automount_flags(): use ino->count instead of ->d_subdirs
      b0d4beaa
    • Linus Torvalds's avatar
      Merge branch 'pipe-rework' (patches from David Howells) · da73fcd8
      Linus Torvalds authored
      Merge two fixes for the pipe rework from David Howells:
       "Here are a couple of patches to fix bugs syzbot found in the pipe
        changes:
      
         - An assertion check will sometimes trip when polling a pipe because
           the ring size and indices used are approximate and may be being
           changed simultaneously.
      
           An equivalent approximate calculation was done previously, but
           without the assertion check, so I've just dropped the check. To
           make it accurate, the pipe mutex would need to be taken or the spin
           lock could be used - but usage of the spinlock would need to be
           rolled out into splice, iov_iter and other places for that.
      
         - The index mask and the max_usage values cannot be cached across
           pipe_wait() as F_SETPIPE_SZ could have been called during the wait.
           This can cause pipe_write() to break"
      
      * pipe-rework:
        pipe: Fix missing mask update after pipe_wait()
        pipe: Remove assertion from pipe_poll()
      da73fcd8
  3. 05 Dec, 2019 9 commits
    • David Howells's avatar
      pipe: Fix missing mask update after pipe_wait() · 8f868d68
      David Howells authored
      Fix pipe_write() to not cache the ring index mask and max_usage as their
      values are invalidated by calling pipe_wait() because the latter
      function drops the pipe lock, thereby allowing F_SETPIPE_SZ change them.
      Without this, pipe_write() may subsequently miscalculate the array
      indices and pipe fullness, leading to an oops like the following:
      
        BUG: KASAN: slab-out-of-bounds in pipe_write+0xc25/0xe10 fs/pipe.c:481
        Write of size 8 at addr ffff8880771167a8 by task syz-executor.3/7987
        ...
        CPU: 1 PID: 7987 Comm: syz-executor.3 Not tainted 5.4.0-rc2-syzkaller #0
        ...
        Call Trace:
          pipe_write+0xc25/0xe10 fs/pipe.c:481
          call_write_iter include/linux/fs.h:1895 [inline]
          new_sync_write+0x3fd/0x7e0 fs/read_write.c:483
          __vfs_write+0x94/0x110 fs/read_write.c:496
          vfs_write+0x18a/0x520 fs/read_write.c:558
          ksys_write+0x105/0x220 fs/read_write.c:611
          __do_sys_write fs/read_write.c:623 [inline]
          __se_sys_write fs/read_write.c:620 [inline]
          __x64_sys_write+0x6e/0xb0 fs/read_write.c:620
          do_syscall_64+0xca/0x5d0 arch/x86/entry/common.c:290
          entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      This is not a problem for pipe_read() as the mask is recalculated on
      each pass of the loop, after pipe_wait() has been called.
      
      Fixes: 8cefc107 ("pipe: Use head and tail pointers for the ring, not cursor and length")
      Reported-by: syzbot+838eb0878ffd51f27c41@syzkaller.appspotmail.com
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Cc: Eric Biggers <ebiggers@kernel.org>
      [ Changed it to use a temporary variable 'mask' to avoid long lines -Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8f868d68
    • David Howells's avatar
      pipe: Remove assertion from pipe_poll() · 8c7b8c34
      David Howells authored
      An assertion check was added to pipe_poll() to make sure that the ring
      occupancy isn't seen to overflow the ring size.  However, since no locks
      are held when the three values are read, it is possible for F_SETPIPE_SZ
      to intervene and muck up the calculation, thereby causing the oops.
      
      Fix this by simply removing the assertion and accepting that the
      calculation might be approximate.
      
      Note that the previous code also had a similar issue, though there was
      no assertion check, since the occupancy counter and the ring size were
      not read with a lock held, so it's possible that the poll check might
      have malfunctioned then too.
      
      Also wake up all the waiters so that they can reissue their checks if
      there was a competing read or write.
      
      Fixes: 8cefc107 ("pipe: Use head and tail pointers for the ring, not cursor and length")
      Reported-by: syzbot+d37abaade33a934f16f2@syzkaller.appspotmail.com
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Eric Biggers <ebiggers@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8c7b8c34
    • Olof Johansson's avatar
      ARM: defconfig: re-run savedefconfig on multi_v* configs · 30b10c77
      Olof Johansson authored
      This is mostly to reorder the entries as they've moved in the Kconfig
      hierarchies. Doing this periodically (but not very often) simplifies
      conflict resolution for new options, etc.
      
      Link: https://lore.kernel.org/r/20191205211438.27552-2-olof@lixom.netSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      30b10c77
    • Olof Johansson's avatar
      arm64: defconfig: re-run savedefconfig · f693ff65
      Olof Johansson authored
      This is mostly to reorder the entries as they've moved in the Kconfig
      hierarchies. Doing this periodically (but not very often) simplifies
      conflict resolution for new options, etc.
      
      Link: https://lore.kernel.org/r/20191205211438.27552-3-olof@lixom.netSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      f693ff65
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 3f1266ec
      Linus Torvalds authored
      Pull GFS2 updates from Andreas Gruenbacher:
       "Bob's extensive filesystem withdrawal and recovery testing:
         - don't write log headers after file system withdraw
         - clean up iopen glock mess in gfs2_create_inode
         - close timing window with GLF_INVALIDATE_IN_PROGRESS
         - abort gfs2_freeze if io error is seen
         - don't loop forever in gfs2_freeze if withdrawn
         - fix infinite loop in gfs2_ail1_flush on io error
         - introduce function gfs2_withdrawn
         - fix glock reference problem in gfs2_trans_remove_revoke
      
        Filesystems with a block size smaller than the page size:
         - fix end-of-file handling in gfs2_page_mkwrite
         - improve mmap write vs. punch_hole consistency
      
        Other:
         - remove active journal side effect from gfs2_write_log_header
         - multi-block allocations in gfs2_page_mkwrite
      
        Minor cleanups and coding style fixes:
         - remove duplicate call from gfs2_create_inode
         - make gfs2_log_shutdown static
         - make gfs2_fs_parameters static
         - some whitespace cleanups
         - removed unnecessary semicolon"
      
      * tag 'gfs2-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Don't write log headers after file system withdraw
        gfs2: Remove duplicate call from gfs2_create_inode
        gfs2: clean up iopen glock mess in gfs2_create_inode
        gfs2: Close timing window with GLF_INVALIDATE_IN_PROGRESS
        gfs2: Abort gfs2_freeze if io error is seen
        gfs2: Don't loop forever in gfs2_freeze if withdrawn
        gfs2: fix infinite loop in gfs2_ail1_flush on io error
        gfs2: Introduce function gfs2_withdrawn
        gfs2: fix glock reference problem in gfs2_trans_remove_revoke
        gfs2: make gfs2_log_shutdown static
        gfs2: Remove active journal side effect from gfs2_write_log_header
        gfs2: Fix end-of-file handling in gfs2_page_mkwrite
        gfs2: Multi-block allocations in gfs2_page_mkwrite
        gfs2: Improve mmap write vs. punch_hole consistency
        gfs2: make gfs2_fs_parameters static
        gfs2: Some whitespace cleanups
        gfs2: removed unnecessary semicolon
      3f1266ec
    • Olof Johansson's avatar
      Merge mainline/master into arm/fixes · 942e6f8a
      Olof Johansson authored
      This brings in the mainline tree right after armsoc contents was merged
      this release cycle, so that we can re-run savedefconfig, etc.
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      942e6f8a
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.5-rc1' of git://github.com/ceph/ceph-client · a2315823
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "The two highlights are a set of improvements to how rbd read-only
        mappings are handled and a conversion to the new mount API (slightly
        complicated by the fact that we had a common option parsing framework
        that called out into rbd and the filesystem instead of them calling
        into it).
      
        Also included a few scattered fixes and a MAINTAINERS update for rbd,
        adding Dongsheng as a reviewer"
      
      * tag 'ceph-for-5.5-rc1' of git://github.com/ceph/ceph-client:
        libceph, rbd, ceph: convert to use the new mount API
        rbd: ask for a weaker incompat mask for read-only mappings
        rbd: don't query snapshot features
        rbd: remove snapshot existence validation code
        rbd: don't establish watch for read-only mappings
        rbd: don't acquire exclusive lock for read-only mappings
        rbd: disallow read-write partitions on images mapped read-only
        rbd: treat images mapped read-only seriously
        rbd: introduce RBD_DEV_FLAG_READONLY
        rbd: introduce rbd_is_snap()
        ceph: don't leave ino field in ceph_mds_request_head uninitialized
        ceph: tone down loglevel on ceph_mdsc_build_path warning
        rbd: update MAINTAINERS info
        ceph: fix geting random mds from mdsmap
        rbd: fix spelling mistake "requeueing" -> "requeuing"
        ceph: make several helper accessors take const pointers
        libceph: drop unnecessary check from dispatch() in mon_client.c
      a2315823
    • Linus Torvalds's avatar
      Merge tag 'fuse-update-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 7ce4fab8
      Linus Torvalds authored
      Pull fuse update from Miklos Szeredi:
      
       - Fix a regression introduced in the last release
      
       - Fix a number of issues with validating data coming from userspace
      
       - Some cleanups in virtiofs
      
      * tag 'fuse-update-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: fix Kconfig indentation
        fuse: fix leak of fuse_io_priv
        virtiofs: Use completions while waiting for queue to be drained
        virtiofs: Do not send forget request "struct list_head" element
        virtiofs: Use a common function to send forget
        virtiofs: Fix old-style declaration
        fuse: verify nlink
        fuse: verify write return
        fuse: verify attributes
      7ce4fab8
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 0f137416
      Linus Torvalds authored
      Pull modules updates from Jessica Yu:
       "Summary of modules changes for the 5.5 merge window:
      
         - Refactor include/linux/export.h and remove code duplication between
           EXPORT_SYMBOL and EXPORT_SYMBOL_NS to make it more readable.
      
           The most notable change is that no namespace is represented by an
           empty string "" rather than NULL.
      
         - Fix a module load/unload race where waiter(s) trying to load the
           same module weren't being woken up when a module finally goes away"
      
      * tag 'modules-for-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        kernel/module.c: wakeup processes in module_wq on module unload
        moduleparam: fix parameter description mismatch
        export: avoid code duplication in include/linux/export.h
      0f137416