1. 06 Dec, 2019 8 commits
    • 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
    • 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
  2. 05 Dec, 2019 32 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
    • 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
    • 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
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 25cfb0c7
      Linus Torvalds authored
      Pull m68knommu update from Greg Ungerer:
       "Only a single change, to enable coldfire preemption entry code for all
        preemption types"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k/coldfire: Use CONFIG_PREEMPTION
      25cfb0c7
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · b08baef0
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Olof Johansson:
       "We keep this in a separate branch to avoid cross-branch conflicts, but
        most of the material here is fairly boring -- some new drivers turned
        on for hardware since they were merged, and some refreshed files due
        to time having moved a lot of entries around"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (36 commits)
        ARM: config: multi_v5: ASPEED SDHCI, SGPIO
        ARM: configs: multi_v7: ASPEED network, gpio, FSI
        ARM: config: aspeed-g4: Add MMC, and cleanup
        ARM: config: aspeed-g5: Add SGPIO and FSI drivers
        ARM: config: aspeed-g5: Enable 8250_DW quirks
        arm64: defconfig: Change CONFIG_AT803X_PHY from m to y
        ARM: shmobile: defconfig: Refresh for v5.4-rc1
        arm64: defconfig: Enable R8A77961 SoC
        ARM: configs: sunxi: Enable MICREL_PHY
        arm64: defconfig: add new Allwinner crypto options
        ARM: configs: sunxi: add new Allwinner crypto options
        ARM: tegra: Enable Tegra VDE driver in tegra_defconfig
        ARM: imx_v6_v7_defconfig: Enable CONFIG_TOUCHSCREEN_DA9052
        arm64: defconfig: Enable configs for S32V234
        arm64: defconfig: Enable CONFIG_KEYBOARD_IMX_SC_KEY as module
        arm64: defconfig: Enable SMMU v3 PMCG
        arm64: defconfig: Enable HiSilicon ZIP controller
        arm64: defconfig: enable Altera GPIO controller
        ARM: multi_v7_defconfig: Enable audio support for stm32mp157
        arm64: defconfig: enable rsu driver
        ...
      b08baef0
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · eb275167
      Linus Torvalds authored
      Pull ARM Device-tree updates from Olof Johansson:
       "As always, the bulk of updates.  Some of the news this cycle:
      
        New SoC descriptions:
         - Broadcom BCM2711
         - Amlogic Meson A1 and G12
         - Freescale S32V234
         - Marvell Armada AP807/AP807-quad and CP115
         - Realtek RTD1293 and RTD1296
         - Rockchip RK3308
      
        New boards and platforms:
         - Allwinner: NanoPi Duo2
         - Amlogic: Ugoos am6
         - Atmel at91: Overkiz Kizbox2/4
         - Broadcom: RPi4, Luxul XWC-2000
         - Marvell: New Espressobin flavor
         - NXP: i.MX8MN LPDDR4 EVK, i.MX8QXP Colibri, S32V234 EVB, Netronix
           E60K02 and Kobo Clara HD, Kontron N6311 and N6411, OPOS6UL and
           OPOS6ULDev
         - Renesas: Salvator-XS
         - Rockchip: Beelink A1 (rk3308), rk3308 eval boards, rk3399-roc-pc"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (653 commits)
        ARM: dts: logicpd-torpedo: Disable USB Host
        arm: dts: mt6323: add keys, power-controller, rtc and codec
        arm64: dts: mt8183: add systimer0 device node
        dt-bindings: mediatek: update bindings for MT8183 systimer
        arm64: dts: rockchip: fix sdmmc detection on boot on rk3328-roc-cc
        arm64: dts: rockchip: Split rk3399-roc-pc for with and without mezzanine board.
        arm64: dts: rockchip: Add Beelink A1
        dt-bindings: ARM: rockchip: Add Beelink A1
        arm64: dts: rockchip: Add RK3328 audio pipelines
        arm64: dts: ti: k3-j721e-common-proc-board: Add USB ports
        arm64: dts: ti: k3-j721e-main: add USB controller nodes
        ARM: dts: aspeed-g6: Add timer description
        ARM: dts: aspeed: ast2600evb: Enable i2c buses
        ARM: dts: at91: add a dts and dtsi file for kizbox2 based boards
        dt-bindings: arm: at91: Document Kizbox2-2 board binding
        arm64: dts: meson-gx: fix i2c compatible
        arm64: dts: meson-gx: cec node should be disabled by default
        arm64: dts: meson-g12b-odroid-n2: add missing amlogic, s922x compatible
        arm64: dts: meson-gxm: fix gpu irq order
        arm64: dts: meson-g12a: fix gpu irq order
        ...
      eb275167
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ec939e4c
      Linus Torvalds authored
      Pull ARM SoC driver updates from Olof Johansson:
       "Various driver updates for platforms:
      
         - A larger set of work on Tegra 2/3 around memory controller and
           regulator features, some fuse cleanups, etc..
      
         - MMP platform drivers, in particular for USB PHY, and other smaller
           additions.
      
         - Samsung Exynos 5422 driver for DMC (dynamic memory configuration),
           and ASV (adaptive voltage), allowing the platform to run at more
           optimal operating points.
      
         - Misc refactorings and support for RZ/G2N and R8A774B1 from Renesas
      
         - Clock/reset control driver for TI/OMAP
      
         - Meson-A1 reset controller support
      
         - Qualcomm sdm845 and sda845 SoC IDs for socinfo"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (150 commits)
        firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT
        soc: fsl: add RCPM driver
        dt-bindings: fsl: rcpm: Add 'little-endian' and update Chassis definition
        memory: tegra: Consolidate registers definition into common header
        memory: tegra: Ensure timing control debug features are disabled
        memory: tegra: Introduce Tegra30 EMC driver
        memory: tegra: Do not handle error from wait_for_completion_timeout()
        memory: tegra: Increase handshake timeout on Tegra20
        memory: tegra: Print a brief info message about EMC timings
        memory: tegra: Pre-configure debug register on Tegra20
        memory: tegra: Include io.h instead of iopoll.h
        memory: tegra: Adapt for Tegra20 clock driver changes
        memory: tegra: Don't set EMC rate to maximum on probe for Tegra20
        memory: tegra: Add gr2d and gr3d to DRM IOMMU group
        memory: tegra: Set DMA mask based on supported address bits
        soc: at91: Add Atmel SFR SN (Serial Number) support
        memory: atmel-ebi: switch to SPDX license identifiers
        memory: atmel-ebi: move NUM_CS definition inside EBI driver
        soc: mediatek: Refactor bus protection control
        soc: mediatek: Refactor sram control
        ...
      ec939e4c
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 38206c24
      Linus Torvalds authored
      Pull ARM SoC platform updates from Olof Johansson:
       "Most of these are for MMP (seeing a bunch of cleanups and refactorings
        for the first time in a while), and for OMAP (a bunch of cleanups and
        added support for voltage controller on OMAP4430)"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (51 commits)
        ARM: OMAP2+: Add missing put_device() call in omapdss_init_of()
        OMAP2: fixup doc comments in omap_device
        ARM: OMAP1: drop duplicated dependency on ARCH_OMAP1
        ARM: ASPEED: update default ARCH_NR_GPIO for ARCH_ASPEED
        ARM: imx: use generic function to exit coherency
        ARM: tegra: Use WFE for power-gating on Tegra30
        ARM: tegra: Fix FLOW_CTLR_HALT register clobbering by tegra_resume()
        ARM: exynos: Enable exynos-asv driver for ARCH_EXYNOS
        ARM: s3c: Rename s5p_usb_phy functions
        ARM: s3c: Rename s3c64xx_spi_setname() function
        ARM: imx: Add serial number support for i.MX6/7 SoCs
        ARM: imx: Drop imx_anatop_usb_chrg_detect_disable()
        arm64: Introduce config for S32
        ARM: hisi: drop useless depend on ARCH_MULTI_V7
        arm64: realtek: Select reset controller
        ARM: shmobile: rcar-gen2: Drop legacy DT clock support
        ARM: OMAP2+: Remove duplicated include from pmic-cpcap.c
        ARM: OMAP1: ams-delta FIQ: Fix a typo ("Initiaize")
        MAINTAINERS: Add logicpd-som-lv and logicpd-torpedo to OMAP TREE
        ARM: OMAP2+: pdata-quirks: drop TI_ST/KIM support
        ...
      38206c24
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-5.5-rc1' of... · d9e48dc2
      Linus Torvalds authored
      Merge tag 'pwm/for-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "Various changes and minor fixes across a couple of drivers"
      
      * tag 'pwm/for-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: stm32: Pass breakinput instead of its values
        pwm: stm32: Remove clutter from ternary operator
        pwm: stm32: Validate breakinput data from DT
        pwm: Update comment on struct pwm_ops::apply
        pwm: sun4i: Fix incorrect calculation of duty_cycle/period
        pwm: stm32: Add power management support
        pwm: stm32: Split breakinput apply routine to ease PM support
        dt-bindings: pwm-stm32: Document pinctrl sleep state
        pwm: sun4i: Drop redundant assignment to variable pval
        dt-bindings: pwm: mediatek: Remove gratuitous compatible string for MT7629
      d9e48dc2
    • Linus Torvalds's avatar
      Merge branch 'thermal/next' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux · fb3da48a
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
      
       - Fix a deadlock regression in thermal core framework, which was
         introduced in 5.3 (Wei Wang)
      
       - Initialize thermal control framework earlier to enable thermal
         mitigation during boot (Amit Kucheria)
      
       - Convert the Intelligent Power Allocator (IPA) thermal governor to
         follow the generic PM_EM instead of its own Energy Model (Quentin
         Perret)
      
       - Introduce a new Amlogic soc thermal driver (Guillaume La Roque)
      
       - Add interrupt support for tsens thermal driver (Amit Kucheria)
      
       - Add support for MSM8956/8976 in tsens thermal driver
         (AngeloGioacchino Del Regno)
      
       - Add support for r8a774b1 in rcar thermal driver (Biju Das)
      
       - Add support for Thermal Monitor Unit v2 in qoriq thermal driver
         (Yuantian Tang)
      
       - Some other fixes/cleanups on thermal core framework and soc thermal
         drivers (Colin Ian King, Daniel Lezcano, Hsin-Yi Wang, Tian Tao)
      
      * 'thermal/next' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux: (32 commits)
        thermal: Fix deadlock in thermal thermal_zone_device_check
        thermal: cpu_cooling: Migrate to using the EM framework
        thermal: cpu_cooling: Make the power-related code depend on IPA
        PM / EM: Declare EM data types unconditionally
        arm64: defconfig: Enable CONFIG_ENERGY_MODEL
        drivers: thermal: tsens: fix potential integer overflow on multiply
        thermal: cpu_cooling: Reorder the header file
        thermal: cpu_cooling: Remove pointless dependency on CONFIG_OF
        thermal: no need to set .owner when using module_platform_driver
        thermal: qcom: tsens-v1: Fix kfree of a non-pointer value
        cpufreq: qcom-hw: Move driver initialization earlier
        clk: qcom: Initialize clock drivers earlier
        cpufreq: Initialize cpufreq-dt driver earlier
        cpufreq: Initialize the governors in core_initcall
        thermal: Initialize thermal subsystem earlier
        thermal: Remove netlink support
        dt: thermal: tsens: Document compatible for MSM8976/56
        thermal: qcom: tsens-v1: Add support for MSM8956 and MSM8976
        MAINTAINERS: add entry for Amlogic Thermal driver
        thermal: amlogic: Add thermal driver to support G12 SoCs
        ...
      fb3da48a
    • Justin Tee's avatar
      block: fix memleak of bio integrity data · ece841ab
      Justin Tee authored
      7c20f116 ("bio-integrity: stop abusing bi_end_io") moves
      bio_integrity_free from bio_uninit() to bio_integrity_verify_fn()
      and bio_endio(). This way looks wrong because bio may be freed
      without calling bio_endio(), for example, blk_rq_unprep_clone() is
      called from dm_mq_queue_rq() when the underlying queue of dm-mpath
      is busy.
      
      So memory leak of bio integrity data is caused by commit 7c20f116.
      
      Fixes this issue by re-adding bio_integrity_free() to bio_uninit().
      
      Fixes: 7c20f116 ("bio-integrity: stop abusing bi_end_io")
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by Justin Tee <justin.tee@broadcom.com>
      
      Add commit log, and simplify/fix the original patch wroten by Justin.
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      ece841ab
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 5ecc9d15
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
       "Most of the rest of MM and various other things. Some Kconfig rework
        still awaits merges of dependent trees from linux-next.
      
        Subsystems affected by this patch series: mm/hotfixes, mm/memcg,
        mm/vmstat, mm/thp, procfs, sysctl, misc, notifiers, core-kernel,
        bitops, lib, checkpatch, epoll, binfmt, init, rapidio, uaccess, kcov,
        ubsan, ipc, bitmap, mm/pagemap"
      
      * akpm: (86 commits)
        mm: remove __ARCH_HAS_4LEVEL_HACK and include/asm-generic/4level-fixup.h
        um: add support for folded p4d page tables
        um: remove unused pxx_offset_proc() and addr_pte() functions
        sparc32: use pgtable-nopud instead of 4level-fixup
        parisc/hugetlb: use pgtable-nopXd instead of 4level-fixup
        parisc: use pgtable-nopXd instead of 4level-fixup
        nds32: use pgtable-nopmd instead of 4level-fixup
        microblaze: use pgtable-nopmd instead of 4level-fixup
        m68k: mm: use pgtable-nopXd instead of 4level-fixup
        m68k: nommu: use pgtable-nopud instead of 4level-fixup
        c6x: use pgtable-nopud instead of 4level-fixup
        arm: nommu: use pgtable-nopud instead of 4level-fixup
        alpha: use pgtable-nopud instead of 4level-fixup
        gpio: pca953x: tighten up indentation
        gpio: pca953x: convert to use bitmap API
        gpio: pca953x: use input from regs structure in pca953x_irq_pending()
        gpio: pca953x: remove redundant variable and check in IRQ handler
        lib/bitmap: introduce bitmap_replace() helper
        lib/test_bitmap: fix comment about this file
        lib/test_bitmap: move exp1 and exp2 upper for others to use
        ...
      5ecc9d15
    • LimingWu's avatar
      io_uring: fix a typo in a comment · 0b4295b5
      LimingWu authored
      thatn -> than.
      Signed-off-by: default avatarLiming Wu <19092205@suning.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      0b4295b5
    • Hou Tao's avatar
      bfq-iosched: Ensure bio->bi_blkg is valid before using it · 08802ed6
      Hou Tao authored
      bio->bi_blkg will be NULL when the issue of the request
      has bypassed the block layer as shown in the following oops:
      
       Internal error: Oops: 96000005 [#1] SMP
       CPU: 17 PID: 2996 Comm: scsi_id Not tainted 5.4.0 #4
       Call trace:
        percpu_counter_add_batch+0x38/0x4c8
        bfqg_stats_update_legacy_io+0x9c/0x280
        bfq_insert_requests+0xbac/0x2190
        blk_mq_sched_insert_request+0x288/0x670
        blk_execute_rq_nowait+0x140/0x178
        blk_execute_rq+0x8c/0x140
        sg_io+0x604/0x9c0
        scsi_cmd_ioctl+0xe38/0x10a8
        scsi_cmd_blk_ioctl+0xac/0xe8
        sd_ioctl+0xe4/0x238
        blkdev_ioctl+0x590/0x20e0
        block_ioctl+0x60/0x98
        do_vfs_ioctl+0xe0/0x1b58
        ksys_ioctl+0x80/0xd8
        __arm64_sys_ioctl+0x40/0x78
        el0_svc_handler+0xc4/0x270
      
      so ensure its validity before using it.
      
      Fixes: fd41e603 ("bfq-iosched: stop using blkg->stat_bytes and ->stat_ios")
      Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      08802ed6
    • Pavel Begunkov's avatar
      io_uring: hook all linked requests via link_list · 4493233e
      Pavel Begunkov authored
      Links are created by chaining requests through req->list with an
      exception that head uses req->link_list. (e.g. link_list->list->list)
      Because of that, io_req_link_next() needs complex splicing to advance.
      
      Link them all through list_list. Also, it seems to be simpler and more
      consistent IMHO.
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4493233e
    • Pavel Begunkov's avatar
      io_uring: fix error handling in io_queue_link_head · 2e6e1fde
      Pavel Begunkov authored
      In case of an error io_submit_sqe() drops a request and continues
      without it, even if the request was a part of a link. Not only it
      doesn't cancel links, but also may execute wrong sequence of actions.
      
      Stop consuming sqes, and let the user handle errors.
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      2e6e1fde
    • Mike Rapoport's avatar
      mm: remove __ARCH_HAS_4LEVEL_HACK and include/asm-generic/4level-fixup.h · f949286c
      Mike Rapoport authored
      There are no architectures that use include/asm-generic/4level-fixup.h
      therefore it can be removed along with __ARCH_HAS_4LEVEL_HACK define.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-14-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f949286c
    • Mike Rapoport's avatar
      um: add support for folded p4d page tables · e19f97ed
      Mike Rapoport authored
      The UML port uses 4 and 5 level fixups to support higher level page
      table directories in the generic VM code.
      
      Implement primitives necessary for the 4th level folding, add walks of
      p4d level where appropriate and drop usage of __ARCH_USE_5LEVEL_HACK.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-13-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e19f97ed
    • Mike Rapoport's avatar
      um: remove unused pxx_offset_proc() and addr_pte() functions · 4e65e76f
      Mike Rapoport authored
      The pxx_offset_proc() and addr_pte() functions are never used.  Remove
      them.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-12-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarRichard Weinberger <richard@nod.at>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4e65e76f
    • Mike Rapoport's avatar
      sparc32: use pgtable-nopud instead of 4level-fixup · 7235db26
      Mike Rapoport authored
      32-bit version of sparc has three-level page tables and can use
      pgtable-nopud and folding of the upper layers.
      
      Replace usage of include/asm-generic/4level-fixup.h with
      include/asm-generic/pgtable-nopud.h and adjust page table manipulation
      macros and functions accordingly.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-11-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Tested-by: default avatarAnatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7235db26
    • Helge Deller's avatar
      parisc/hugetlb: use pgtable-nopXd instead of 4level-fixup · 2fa245c1
      Helge Deller authored
      Link: http://lkml.kernel.org/r/1572938135-31886-10-git-send-email-rppt@kernel.orgSigned-off-by: default avatarHelge Deller <deller@gmx.de>
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2fa245c1
    • Mike Rapoport's avatar
      parisc: use pgtable-nopXd instead of 4level-fixup · d96885e2
      Mike Rapoport authored
      parisc has two or three levels of page tables and can use appropriate
      pgtable-nopXd and folding of the upper layers.
      
      Replace usage of include/asm-generic/4level-fixup.h and explicit
      definitions of __PAGETABLE_PxD_FOLDED in parisc with
      include/asm-generic/pgtable-nopmd.h for two-level configurations and
      with include/asm-generic/pgtable-nopud.h for three-lelve configurations
      and adjust page table manipulation macros and functions accordingly.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-9-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarHelge Deller <deller@gmx.de>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d96885e2
    • Mike Rapoport's avatar
      nds32: use pgtable-nopmd instead of 4level-fixup · 7c2763c4
      Mike Rapoport authored
      nds32 has only two-level page tables and can use pgtable-nopmd and
      folding of the upper layers.
      
      Replace usage of include/asm-generic/4level-fixup.h and explicit
      definition of __PAGETABLE_PMD_FOLDED in nds32 with
      include/asm-generic/pgtable-nopmd.h and adjust page table manipulation
      macros and functions accordingly.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-8-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7c2763c4
    • Mike Rapoport's avatar
      microblaze: use pgtable-nopmd instead of 4level-fixup · ed48e1f8
      Mike Rapoport authored
      microblaze has only two-level page tables and can use pgtable-nopmd and
      folding of the upper layers.
      
      Replace usage of include/asm-generic/4level-fixup.h and explicit
      definition of __PAGETABLE_PMD_FOLDED in microblaze with
      include/asm-generic/pgtable-nopmd.h and adjust page table manipulation
      macros and functions accordingly.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-7-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ed48e1f8
    • Mike Rapoport's avatar
      m68k: mm: use pgtable-nopXd instead of 4level-fixup · 60e50f34
      Mike Rapoport authored
      m68k has two or three levels of page tables and can use appropriate
      pgtable-nopXd and folding of the upper layers.
      
      Replace usage of include/asm-generic/4level-fixup.h and explicit
      definitions of __PAGETABLE_PxD_FOLDED in m68k with
      include/asm-generic/pgtable-nopmd.h for two-level configurations and
      with include/asm-generic/pgtable-nopud.h for three-lelve configurations
      and adjust page table manipulation macros and functions accordingly.
      
      [akpm@linux-foundation.org: fix merge glitch]
      [geert@linux-m68k.org: more merge glitch fixes]
      [akpm@linux-foundation.org: s/bad_pgd/bad_pud/, per Mike]
      Link: http://lkml.kernel.org/r/1572938135-31886-6-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      60e50f34
    • Mike Rapoport's avatar
      m68k: nommu: use pgtable-nopud instead of 4level-fixup · f6f7caeb
      Mike Rapoport authored
      The generic nommu implementation of page table manipulation takes care
      of folding of the upper levels and does not require fixups.
      
      Simply replace of include/asm-generic/4level-fixup.h with
      include/asm-generic/pgtable-nopud.h.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-5-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f6f7caeb
    • Mike Rapoport's avatar
      c6x: use pgtable-nopud instead of 4level-fixup · d13252ea
      Mike Rapoport authored
      c6x is a nommu architecture and does not require fixup for upper layers
      of the page tables because it is already handled by the generic nommu
      implementation.
      
      Replace usage of include/asm-generic/4level-fixup.h with
      include/asm-generic/pgtable-nopud.h
      
      Link: http://lkml.kernel.org/r/1572938135-31886-4-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d13252ea
    • Mike Rapoport's avatar
      arm: nommu: use pgtable-nopud instead of 4level-fixup · aa662823
      Mike Rapoport authored
      The generic nommu implementation of page table manipulation takes care
      of folding of the upper levels and does not require fixups.
      
      Simply replace of include/asm-generic/4level-fixup.h with
      include/asm-generic/pgtable-nopud.h.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-3-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      aa662823
    • Mike Rapoport's avatar
      alpha: use pgtable-nopud instead of 4level-fixup · a73c9489
      Mike Rapoport authored
      Patch series "mm: remove __ARCH_HAS_4LEVEL_HACK", v13.
      
      These patches convert several architectures to use page table folding
      and remove __ARCH_HAS_4LEVEL_HACK along with
      include/asm-generic/4level-fixup.h.
      
      For the nommu configurations the folding is already implemented by the
      generic code so the only change was to use the appropriate header file.
      
      As for the rest, the changes are mostly about mechanical replacement of
      pgd accessors with pud/pmd ones and the addition of higher levels to
      page table traversals.
      
      With Vineet's patches from "elide extraneous generated code for folded
      p4d/pud/pmd" series [1] there is a small shrink of the kernel size of
      about -0.01% for the defconfig builds.
      
      This patch (of 13):
      
      It is not likely alpha will have 5-level page tables.
      
      Replace usage of include/asm-generic/4level-fixup.h and implied
      __ARCH_HAS_4LEVEL_HACK with include/asm-generic/pgtable-nopud.h and
      adjust page table manipulation macros and functions accordingly.
      
      Link: http://lkml.kernel.org/r/1572938135-31886-2-git-send-email-rppt@kernel.orgSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Peter Rosin <peda@axentia.se>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rolf Eike Beer <eike-kernel@sf-tec.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sam Creasey <sammy@sammy.net>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Cc: Anatoly Pugachev <matorola@gmail.com>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a73c9489