1. 05 Feb, 2020 10 commits
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-5.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 18ea671b
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "Fixes for:
      
         - Documentation build error fix
      
         - Fix dma_request_chan() error return
      
         - Remove unneeded conversion in idxd driver
      
         - Fix pointer check for dma_async_device_channel_register()
      
         - Fix slave-channel symlink cleanup"
      
      * tag 'dmaengine-fix-5.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: Cleanups for the slave <-> channel symlink support
        dmaengine: fix null ptr check for __dma_async_device_channel_register()
        dmaengine: idxd: fix boolconv.cocci warnings
        dmaengine: Fix return value for dma_request_chan() in case of failure
        dmaengine: doc: Properly indent metadata title
      18ea671b
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4fc2ea6a
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Allow compiling the ARM-SMMU drivers as modules.
      
       - Fixes and cleanups for the ARM-SMMU drivers and io-pgtable code
         collected by Will Deacon. The merge-commit (6855d1ba) has all the
         details.
      
       - Cleanup of the iommu_put_resv_regions() call-backs in various
         drivers.
      
       - AMD IOMMU driver cleanups.
      
       - Update for the x2APIC support in the AMD IOMMU driver.
      
       - Preparation patches for Intel VT-d nested mode support.
      
       - RMRR and identity domain handling fixes for the Intel VT-d driver.
      
       - More small fixes and cleanups.
      
      * tag 'iommu-updates-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (87 commits)
        iommu/amd: Remove the unnecessary assignment
        iommu/vt-d: Remove unnecessary WARN_ON_ONCE()
        iommu/vt-d: Unnecessary to handle default identity domain
        iommu/vt-d: Allow devices with RMRRs to use identity domain
        iommu/vt-d: Add RMRR base and end addresses sanity check
        iommu/vt-d: Mark firmware tainted if RMRR fails sanity check
        iommu/amd: Remove unused struct member
        iommu/amd: Replace two consecutive readl calls with one readq
        iommu/vt-d: Don't reject Host Bridge due to scope mismatch
        PCI/ATS: Add PASID stubs
        iommu/arm-smmu-v3: Return -EBUSY when trying to re-add a device
        iommu/arm-smmu-v3: Improve add_device() error handling
        iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE
        iommu/arm-smmu-v3: Add second level of context descriptor table
        iommu/arm-smmu-v3: Prepare for handling arm_smmu_write_ctx_desc() failure
        iommu/arm-smmu-v3: Propagate ssid_bits
        iommu/arm-smmu-v3: Add support for Substream IDs
        iommu/arm-smmu-v3: Add context descriptor tables allocators
        iommu/arm-smmu-v3: Prepare arm_smmu_s1_cfg for SSID support
        ACPI/IORT: Parse SSID property of named component node
        ...
      4fc2ea6a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · d271ab29
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - fix a bug introduced in 5.5 in the Xen gntdev driver
      
       - fix the Xen balloon driver when running on ancient Xen versions
      
       - allow Xen stubdoms to control interrupt enable flags of
         passed-through PCI cards
      
       - release resources in Xen backends under memory pressure
      
      * tag 'for-linus-5.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/blkback: Consistently insert one empty line between functions
        xen/blkback: Remove unnecessary static variable name prefixes
        xen/blkback: Squeeze page pools if a memory pressure is detected
        xenbus/backend: Protect xenbus callback with lock
        xenbus/backend: Add memory pressure handler callback
        xen/gntdev: Do not use mm notifiers with autotranslating guests
        xen/balloon: Support xend-based toolstack take two
        xen-pciback: optionally allow interrupt enable flag writes
      d271ab29
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 2634744b
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Fix incorrect $id paths in schemas
      
       - Two fixes for Intel LGM SoC binding schemas
      
      * tag 'devicetree-fixes-for-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: Fix paths in schema $id fields
        dt-bindings: PCI: intel: Fix dt_binding_check compilation failure
        dt-bindings: phy: Fix errors in intel,lgm-emmc-phy example
      2634744b
    • Linus Torvalds's avatar
      Merge tag 's390-5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · cfb4b571
      Linus Torvalds authored
      Pull more s390 updates from Vasily Gorbik:
       "The second round of s390 fixes and features for 5.6:
      
         - Add KPROBES_ON_FTRACE support
      
         - Add EP11 AES secure keys support
      
         - PAES rework and prerequisites for paes-s390 ciphers selftests
      
         - Fix page table upgrade for hugetlbfs"
      
      * tag 's390-5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pkey/zcrypt: Support EP11 AES secure keys
        s390/zcrypt: extend EP11 card and queue sysfs attributes
        s390/zcrypt: add new low level ep11 functions support file
        s390/zcrypt: ep11 structs rework, export zcrypt_send_ep11_cprb
        s390/zcrypt: enable card/domain autoselect on ep11 cprbs
        s390/crypto: enable clear key values for paes ciphers
        s390/pkey: Add support for key blob with clear key value
        s390/crypto: Rework on paes implementation
        s390: support KPROBES_ON_FTRACE
        s390/mm: fix dynamic pagetable upgrade for hugetlbfs
      cfb4b571
    • Rob Herring's avatar
      dt-bindings: Fix paths in schema $id fields · 04dbd865
      Rob Herring authored
      The $id path checks were inadequately checking the path part of the $id
      value. With the check fixed, there's a number of errors that need to be
      fixed. Most of the errors are including 'bindings/' in the path which
      should not be as that is considered the root.
      
      Cc: Andy Gross <agross@kernel.org>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: "Nuno Sá" <nuno.sa@analog.com>
      Cc: Jean Delvare <jdelvare@suse.com>
      Cc: Stefan Popa <stefan.popa@analog.com>
      Cc: Jonathan Cameron <jic23@kernel.org>
      Cc: Hartmut Knaack <knaack.h@gmx.de>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Cc: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
      Cc: Marcus Folkesson <marcus.folkesson@gmail.com>
      Cc: Kent Gustavsson <kent@minoris.se>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: linux-clk@vger.kernel.org
      Cc: linux-iio@vger.kernel.org
      Cc: linux-input@vger.kernel.org
      Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      04dbd865
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 6992ca0d
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "A page table initialization cleanup from Mike Rapoport and regenerated
        defconfig files from Helge Deller"
      
      * 'parisc-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Regenerate parisc defconfigs
        parisc: map_pages(): cleanup page table initialization
      6992ca0d
    • Linus Torvalds's avatar
      Merge tag 'jfs-5.6' of git://github.com/kleikamp/linux-shaggy · 51a198e8
      Linus Torvalds authored
      Pull jfs update from David Kleikamp:
       "Trivial cleanup for jfs"
      
      * tag 'jfs-5.6' of git://github.com/kleikamp/linux-shaggy:
        jfs: remove unused MAXL2PAGES
      51a198e8
    • Linus Torvalds's avatar
      Merge branch 'work.recursive_removal' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 72f582ff
      Linus Torvalds authored
      Pull vfs recursive removal updates from Al Viro:
       "We have quite a few places where synthetic filesystems do an
        equivalent of 'rm -rf', with varying amounts of code duplication,
        wrong locking, etc. That really ought to be a library helper.
      
        Only debugfs (and very similar tracefs) are converted here - I have
        more conversions, but they'd never been in -next, so they'll have to
        wait"
      
      * 'work.recursive_removal' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        simple_recursive_removal(): kernel-side rm -rf for ramfs-style filesystems
      72f582ff
    • Linus Torvalds's avatar
      Merge branch 'imm.timestamp' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · bddea11b
      Linus Torvalds authored
      Pull vfs timestamp updates from Al Viro:
       "More 64bit timestamp work"
      
      * 'imm.timestamp' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        kernfs: don't bother with timestamp truncation
        fs: Do not overload update_time
        fs: Delete timespec64_trunc()
        fs: ubifs: Eliminate timespec64_trunc() usage
        fs: ceph: Delete timespec64_trunc() usage
        fs: cifs: Delete usage of timespec64_trunc
        fs: fat: Eliminate timespec64_trunc() usage
        utimes: Clamp the timestamps in notify_change()
      bddea11b
  2. 04 Feb, 2020 30 commits
    • Dilip Kota's avatar
      dt-bindings: PCI: intel: Fix dt_binding_check compilation failure · 34129bb8
      Dilip Kota authored
      Remove <dt-bindings/clock/intel,lgm-clk.h> dependency as
      it is not present in the mainline tree. Use numeric value
      instead of LGM_GCLK_PCIE10 macro.
      Signed-off-by: default avatarDilip Kota <eswara.kota@linux.intel.com>
      [robh: Also drop interrupt-parent from example]
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      34129bb8
    • Rob Herring's avatar
      dt-bindings: phy: Fix errors in intel,lgm-emmc-phy example · 4ae87b17
      Rob Herring authored
      DT labels can't have '-' in them causing a compile failure in the example.
      Fixing that leads to more warnings:
      
      Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.example.dts:23.13-33: Warning (reg_format): /example-0/chiptop@e0200000/emmc-phy@a8:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
      Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.example.dt.yaml: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
      Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.example.dt.yaml: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
      Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.example.dt.yaml: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
      Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.example.dts:21.33-26.13: Warning (avoid_default_addr_size): /example-0/chiptop@e0200000/emmc-phy@a8: Relying on default #address-cells value
      Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.example.dts:21.33-26.13: Warning (avoid_default_addr_size): /example-0/chiptop@e0200000/emmc-phy@a8: Relying on default #size-cells value
      
      Fixes: 5bc99910 ("dt-bindings: phy: intel-emmc-phy: Add YAML schema for LGM eMMC PHY")
      Cc: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com>
      Cc: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
      Cc: Kishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      4ae87b17
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 33b40134
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Use after free in rxrpc_put_local(), from David Howells.
      
       2) Fix 64-bit division error in mlxsw, from Nathan Chancellor.
      
       3) Make sure we clear various bits of TCP state in response to
          tcp_disconnect(). From Eric Dumazet.
      
       4) Fix netlink attribute policy in cls_rsvp, from Eric Dumazet.
      
       5) txtimer must be deleted in stmmac suspend(), from Nicolin Chen.
      
       6) Fix TC queue mapping in bnxt_en driver, from Michael Chan.
      
       7) Various netdevsim fixes from Taehee Yoo (use of uninitialized data,
          snapshot panics, stack out of bounds, etc.)
      
       8) cls_tcindex changes hash table size after allocating the table, fix
          from Cong Wang.
      
       9) Fix regression in the enforcement of session ID uniqueness in l2tp.
          We only have to enforce uniqueness for IP based tunnels not UDP
          ones. From Ridge Kennedy.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (46 commits)
        gtp: use __GFP_NOWARN to avoid memalloc warning
        l2tp: Allow duplicate session creation with UDP
        r8152: Add MAC passthrough support to new device
        net_sched: fix an OOB access in cls_tcindex
        qed: Remove set but not used variable 'p_link'
        tc-testing: add missing 'nsPlugin' to basic.json
        tc-testing: fix eBPF tests failure on linux fresh clones
        net: hsr: fix possible NULL deref in hsr_handle_frame()
        netdevsim: remove unused sdev code
        netdevsim: use __GFP_NOWARN to avoid memalloc warning
        netdevsim: use IS_ERR instead of IS_ERR_OR_NULL for debugfs
        netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init()
        netdevsim: fix panic in nsim_dev_take_snapshot_write()
        netdevsim: disable devlink reload when resources are being used
        netdevsim: fix using uninitialized resources
        bnxt_en: Fix TC queue mapping.
        bnxt_en: Fix logic that disables Bus Master during firmware reset.
        bnxt_en: Fix RDMA driver failure with SRIOV after firmware reset.
        bnxt_en: Refactor logic to re-enable SRIOV after firmware reset detected.
        net: stmmac: Delete txtimer in suspend()
        ...
      33b40134
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · d60ddd24
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - decompressor updates
      
       - prevention of out-of-bounds access while stacktracing
      
       - fix a section mismatch warning with free_memmap()
      
       - make kexec depend on MMU to avoid some build errors
      
       - remove swapops stubs
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8954/1: NOMMU: remove stubs for swapops
        ARM: 8952/1: Disable kmemleak on XIP kernels
        ARM: 8951/1: Fix Kexec compilation issue.
        ARM: 8949/1: mm: mark free_memmap as __init
        ARM: 8948/1: Prevent OOB access in stacktrace
        ARM: 8945/1: decompressor: use CONFIG option instead of cc-option
        ARM: 8942/1: Revert "8857/1: efi: enable CP15 DMB instructions before cleaning the cache"
        ARM: 8941/1: decompressor: enable CP15 barrier instructions in v7 cache setup code
      d60ddd24
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 71c3a888
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "A pretty small batch for us, and apologies for it being a bit late, I
        wanted to sneak Christophe's user_access_begin() series in.
      
        Summary:
      
         - Implement user_access_begin() and friends for our platforms that
           support controlling kernel access to userspace.
      
         - Enable CONFIG_VMAP_STACK on 32-bit Book3S and 8xx.
      
         - Some tweaks to our pseries IOMMU code to allow SVMs ("secure"
           virtual machines) to use the IOMMU.
      
         - Add support for CLOCK_{REALTIME/MONOTONIC}_COARSE to the 32-bit
           VDSO, and some other improvements.
      
         - A series to use the PCI hotplug framework to control opencapi
           card's so that they can be reset and re-read after flashing a new
           FPGA image.
      
        As well as other minor fixes and improvements as usual.
      
        Thanks to: Alastair D'Silva, Alexandre Ghiti, Alexey Kardashevskiy,
        Andrew Donnellan, Aneesh Kumar K.V, Anju T Sudhakar, Bai Yingjie, Chen
        Zhou, Christophe Leroy, Frederic Barrat, Greg Kurz, Jason A.
        Donenfeld, Joel Stanley, Jordan Niethe, Julia Lawall, Krzysztof
        Kozlowski, Laurent Dufour, Laurentiu Tudor, Linus Walleij, Michael
        Bringmann, Nathan Chancellor, Nicholas Piggin, Nick Desaulniers,
        Oliver O'Halloran, Peter Ujfalusi, Pingfan Liu, Ram Pai, Randy Dunlap,
        Russell Currey, Sam Bobroff, Sebastian Andrzej Siewior, Shawn
        Anastasio, Stephen Rothwell, Steve Best, Sukadev Bhattiprolu, Thiago
        Jung Bauermann, Tyrel Datwyler, Vaibhav Jain"
      
      * tag 'powerpc-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (131 commits)
        powerpc: configs: Cleanup old Kconfig options
        powerpc/configs/skiroot: Enable some more hardening options
        powerpc/configs/skiroot: Disable xmon default & enable reboot on panic
        powerpc/configs/skiroot: Enable security features
        powerpc/configs/skiroot: Update for symbol movement only
        powerpc/configs/skiroot: Drop default n CONFIG_CRYPTO_ECHAINIV
        powerpc/configs/skiroot: Drop HID_LOGITECH
        powerpc/configs: Drop NET_VENDOR_HP which moved to staging
        powerpc/configs: NET_CADENCE became NET_VENDOR_CADENCE
        powerpc/configs: Drop CONFIG_QLGE which moved to staging
        powerpc: Do not consider weak unresolved symbol relocations as bad
        powerpc/32s: Fix kasan_early_hash_table() for CONFIG_VMAP_STACK
        powerpc: indent to improve Kconfig readability
        powerpc: Provide initial documentation for PAPR hcalls
        powerpc: Implement user_access_save() and user_access_restore()
        powerpc: Implement user_access_begin and friends
        powerpc/32s: Prepare prevent_user_access() for user_access_end()
        powerpc/32s: Drop NULL addr verification
        powerpc/kuap: Fix set direction in allow/prevent_user_access()
        powerpc/32s: Fix bad_kuap_fault()
        ...
      71c3a888
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v5.6-rc1' of git://git.monstr.eu/linux-2.6-microblaze · 153b5c56
      Linus Torvalds authored
      Pull Microblaze update from Michal Simek:
      
       - enable CMA
      
       - add support for MB v11
      
       - defconfig updates
      
       - minor fixes
      
      * tag 'microblaze-v5.6-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Add ID for Microblaze v11
        microblaze: Prevent the overflow of the start
        microblaze: Wire CMA allocator
        asm-generic: Make dma-contiguous.h a mandatory include/asm header
        microblaze: Sync defconfig with latest Kconfig layout
        microblaze: defconfig: Disable EXT2 driver and Enable EXT3 & EXT4 drivers
        microblaze: Align comments with register usage
      153b5c56
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 7f879e1a
      Linus Torvalds authored
      Pull overlayfs update from Miklos Szeredi:
      
       - Try to preserve holes in sparse files when copying up, thus saving
         disk space and improving performance.
      
       - Fix a performance regression introduced in v4.19 by preserving
         asynchronicity of IO when fowarding to underlying layers. Add VFS
         helpers to submit async iocbs.
      
       - Fix a regression in lseek(2) introduced in v4.19 that breaks >2G
         seeks on 32bit kernels.
      
       - Fix a corner case where st_ino/st_dev was not preserved across copy
         up.
      
       - Miscellaneous fixes and cleanups.
      
      * tag 'ovl-update-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: fix lseek overflow on 32bit
        ovl: add splice file read write helper
        ovl: implement async IO routines
        vfs: add vfs_iocb_iter_[read|write] helper functions
        ovl: layer is const
        ovl: fix corner case of non-constant st_dev;st_ino
        ovl: fix corner case of conflicting lower layer uuid
        ovl: generalize the lower_fs[] array
        ovl: simplify ovl_same_sb() helper
        ovl: generalize the lower_layers[] array
        ovl: improving copy-up efficiency for big sparse file
        ovl: use ovl_inode_lock in ovl_llseek()
        ovl: use pr_fmt auto generate prefix
        ovl: fix wrong WARN_ON() in ovl_cache_update_ino()
      7f879e1a
    • Taehee Yoo's avatar
      gtp: use __GFP_NOWARN to avoid memalloc warning · bd5cd35b
      Taehee Yoo authored
      gtp hashtable size is received by user-space.
      So, this hashtable size could be too large. If so, kmalloc will internally
      print a warning message.
      This warning message is actually not necessary for the gtp module.
      So, this patch adds __GFP_NOWARN to avoid this message.
      
      Splat looks like:
      [ 2171.200049][ T1860] WARNING: CPU: 1 PID: 1860 at mm/page_alloc.c:4713 __alloc_pages_nodemask+0x2f3/0x740
      [ 2171.238885][ T1860] Modules linked in: gtp veth openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv]
      [ 2171.262680][ T1860] CPU: 1 PID: 1860 Comm: gtp-link Not tainted 5.5.0+ #321
      [ 2171.263567][ T1860] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
      [ 2171.264681][ T1860] RIP: 0010:__alloc_pages_nodemask+0x2f3/0x740
      [ 2171.265332][ T1860] Code: 64 fe ff ff 65 48 8b 04 25 c0 0f 02 00 48 05 f0 12 00 00 41 be 01 00 00 00 49 89 47 0
      [ 2171.267301][ T1860] RSP: 0018:ffff8880b51af1f0 EFLAGS: 00010246
      [ 2171.268320][ T1860] RAX: ffffed1016a35e43 RBX: 0000000000000000 RCX: 0000000000000000
      [ 2171.269517][ T1860] RDX: 0000000000000000 RSI: 000000000000000b RDI: 0000000000000000
      [ 2171.270305][ T1860] RBP: 0000000000040cc0 R08: ffffed1018893109 R09: dffffc0000000000
      [ 2171.275973][ T1860] R10: 0000000000000001 R11: ffffed1018893108 R12: 1ffff11016a35e43
      [ 2171.291039][ T1860] R13: 000000000000000b R14: 000000000000000b R15: 00000000000f4240
      [ 2171.292328][ T1860] FS:  00007f53cbc83740(0000) GS:ffff8880da000000(0000) knlGS:0000000000000000
      [ 2171.293409][ T1860] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 2171.294586][ T1860] CR2: 000055f540014508 CR3: 00000000b49f2004 CR4: 00000000000606e0
      [ 2171.295424][ T1860] Call Trace:
      [ 2171.295756][ T1860]  ? mark_held_locks+0xa5/0xe0
      [ 2171.296659][ T1860]  ? __alloc_pages_slowpath+0x21b0/0x21b0
      [ 2171.298283][ T1860]  ? gtp_encap_enable_socket+0x13e/0x400 [gtp]
      [ 2171.298962][ T1860]  ? alloc_pages_current+0xc1/0x1a0
      [ 2171.299475][ T1860]  kmalloc_order+0x22/0x80
      [ 2171.299936][ T1860]  kmalloc_order_trace+0x1d/0x140
      [ 2171.300437][ T1860]  __kmalloc+0x302/0x3a0
      [ 2171.300896][ T1860]  gtp_newlink+0x293/0xba0 [gtp]
      [ ... ]
      
      Fixes: 459aa660 ("gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U)")
      Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bd5cd35b
    • Ridge Kennedy's avatar
      l2tp: Allow duplicate session creation with UDP · 0d0d9a38
      Ridge Kennedy authored
      In the past it was possible to create multiple L2TPv3 sessions with the
      same session id as long as the sessions belonged to different tunnels.
      The resulting sessions had issues when used with IP encapsulated tunnels,
      but worked fine with UDP encapsulated ones. Some applications began to
      rely on this behaviour to avoid having to negotiate unique session ids.
      
      Some time ago a change was made to require session ids to be unique across
      all tunnels, breaking the applications making use of this "feature".
      
      This change relaxes the duplicate session id check to allow duplicates
      if both of the colliding sessions belong to UDP encapsulated tunnels.
      
      Fixes: dbdbc73b ("l2tp: fix duplicate session creation")
      Signed-off-by: default avatarRidge Kennedy <ridge.kennedy@alliedtelesis.co.nz>
      Acked-by: default avatarJames Chapman <jchapman@katalix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0d0d9a38
    • Kai-Heng Feng's avatar
      r8152: Add MAC passthrough support to new device · b4b771fd
      Kai-Heng Feng authored
      Device 0xa387 also supports MAC passthrough, therefore add it to the
      whitelst.
      
      BugLink: https://bugs.launchpad.net/bugs/1827961/comments/30Signed-off-by: default avatarKai-Heng Feng <kai.heng.feng@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b4b771fd
    • Cong Wang's avatar
      net_sched: fix an OOB access in cls_tcindex · 599be01e
      Cong Wang authored
      As Eric noticed, tcindex_alloc_perfect_hash() uses cp->hash
      to compute the size of memory allocation, but cp->hash is
      set again after the allocation, this caused an out-of-bound
      access.
      
      So we have to move all cp->hash initialization and computation
      before the memory allocation. Move cp->mask and cp->shift together
      as cp->hash may need them for computation too.
      
      Reported-and-tested-by: syzbot+35d4dea36c387813ed31@syzkaller.appspotmail.com
      Fixes: 331b7292 ("net: sched: RCU cls_tcindex")
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: Jiri Pirko <jiri@resnulli.us>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      599be01e
    • Michal Simek's avatar
      microblaze: Add ID for Microblaze v11 · 6aa71ef9
      Michal Simek authored
      List Microblaze v11 from PVR.
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      6aa71ef9
    • Shubhrajyoti Datta's avatar
      microblaze: Prevent the overflow of the start · 061d2c1d
      Shubhrajyoti Datta authored
      In case the start + cache size is more than the max int the
      start overflows.
      Prevent the same.
      Signed-off-by: default avatarShubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      061d2c1d
    • Michal Simek's avatar
      microblaze: Wire CMA allocator · 2602276d
      Michal Simek authored
      Based on commit 04e3543e ("microblaze: use the generic dma coherent
      remap allocator")
      CMA can be easily enabled by calling dma_contiguous_reserve() at the end of
      mmu_init(). High limit is end of lowmem space which is completely unused at
      this point of time.
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      2602276d
    • Michal Simek's avatar
      asm-generic: Make dma-contiguous.h a mandatory include/asm header · def3f7ce
      Michal Simek authored
      dma-continuguous.h is generic for all architectures except arm32 which has
      its own version.
      
      Similar change was done for msi.h by commit a1b39bae
      ("asm-generic: Make msi.h a mandatory include/asm header")
      Suggested-by: default avatarChristoph Hellwig <hch@infradead.org>
      Link: https://lore.kernel.org/linux-arm-kernel/20200117080446.GA8980@lst.de/T/#m92bb56b04161057635d4142e1b3b9b6b0a70122eSigned-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: Paul Walmsley <paul.walmsley@sifive.com> # for arch/riscv
      def3f7ce
    • Michal Simek's avatar
      microblaze: Sync defconfig with latest Kconfig layout · 5fefd796
      Michal Simek authored
      Layout was changed by commit 6210b640
      ("kernel-hacking: group sysrq/kgdb/ubsan into 'Generic Kernel Debugging Instruments'")
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      5fefd796
    • Manish Narani's avatar
      microblaze: defconfig: Disable EXT2 driver and Enable EXT3 & EXT4 drivers · 6162cd2b
      Manish Narani authored
      As EXT4 filesystem driver is used for handling EXT2 file systems as
      well. There is no need to enable EXT2 driver. This patch disables EXT2
      and enables EXT3/EXT4 drivers.
      Signed-off-by: default avatarManish Narani <manish.narani@xilinx.com>
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      6162cd2b
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · a45ad71e
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This adds support for the Mediatek MT8183 SCP, modem remoteproc on
        Qualcomm SC7180 platform, audio and sensor remoteprocs on Qualcomm
        MSM8998 and audio, compute, modem and sensor remoteprocs on Qualcomm
        SM8150.
      
        It adds votes for necessary power-domains for all Qualcomm TrustZone
        based remoteproc instances are held, fixes a bug related to remoteproc
        drivers registering before the core has been initialized and does
        clean up the Qualcomm modem remoteproc driver"
      
      * tag 'rproc-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: (21 commits)
        remoteproc: qcom: q6v5-mss: Improve readability of reset_assert
        remoteproc: qcom: q6v5-mss: Use regmap_read_poll_timeout
        remoteproc: qcom: q6v5-mss: Rename boot status timeout
        remoteproc: qcom: q6v5-mss: Improve readability across clk handling
        remoteproc: use struct_size() helper
        remoteproc: Initialize rproc_class before use
        rpmsg: add rpmsg support for mt8183 SCP.
        remoteproc/mediatek: add SCP support for mt8183
        dt-bindings: Add a binding for Mediatek SCP
        remoteproc: mss: q6v5-mss: Add modem support on SC7180
        dt-bindings: remoteproc: qcom: Add Q6V5 Modem PIL binding for SC7180
        remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support
        dt-bindings: remoteproc: qcom: Add ADSP and SLPI support for MSM8998 SoC
        remoteproc: q6v5-mss: Remove mem clk from the active pool
        remoteproc: qcom: Remove unneeded semicolon
        remoteproc: qcom: pas: Add auto_boot flag
        remoteproc: qcom: pas: Add SM8150 ADSP, CDSP, Modem and SLPI support
        dt-bindings: remoteproc: qcom: SM8150 Add ADSP, CDSP, MPSS and SLPI support
        remoteproc: qcom: pas: Vote for active/proxy power domains
        dt-bindings: remoteproc: qcom: Add power-domain bindings for Q6V5 PAS
        ...
      a45ad71e
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 68509798
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "This continues the transition of drivers to device managed resources
        and removal of unnecessary PM runtime integration, with cleanups to
        the SIRF, OMAP and Qualcomm hwspinlock drivers.
      
        It also adds Baolin as reviewer in MAINTAINERS"
      
      * tag 'hwlock-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        hwspinlock: sirf: Use devm_hwspin_lock_register() to register hwlock controller
        hwspinlock: sirf: Remove redundant PM runtime functions
        hwspinlock: sirf: Change to use devm_platform_ioremap_resource()
        hwspinlock: omap: Use devm_kzalloc() to allocate memory
        hwspinlock: omap: Change to use devm_platform_ioremap_resource()
        hwspinlock: qcom: Use devm_hwspin_lock_register() to register hwlock controller
        hwspinlock: qcom: Remove redundant PM runtime functions
        hwspinlock: stm32: convert to devm_platform_ioremap_resource
        MAINTAINERS: Add myself as reviewer for the hwspinlock subsystem
      68509798
    • YueHaibing's avatar
      qed: Remove set but not used variable 'p_link' · 83b43045
      YueHaibing authored
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/ethernet/qlogic/qed/qed_cxt.c: In function 'qed_qm_init_pf':
      drivers/net/ethernet/qlogic/qed/qed_cxt.c:1401:29: warning:
       variable 'p_link' set but not used [-Wunused-but-set-variable]
      
      commit 92fae6fb ("qed: FW 8.42.2.0 Queue Manager changes")
      leave behind this unused variable.
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      83b43045
    • David S. Miller's avatar
      Merge branch 'unbreak-basic-and-bpf-tdc-testcases' · 9afe2322
      David S. Miller authored
      Davide Caratti says:
      
      ====================
      unbreak 'basic' and 'bpf' tdc testcases
      
      - patch 1/2 fixes tdc failures with 'bpf' action on fresch clones of the
        kernel tree
      - patch 2/2 allow running tdc for the 'basic' classifier without tweaking
        tdc_config.py
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9afe2322
    • Davide Caratti's avatar
      tc-testing: add missing 'nsPlugin' to basic.json · e9ed4fa7
      Davide Caratti authored
      since tdc tests for cls_basic need $DEV1, use 'nsPlugin' so that the
      following command can be run without errors:
      
       [root@f31 tc-testing]# ./tdc.py -c basic
      
      Fixes: 4717b053 ("tc-testing: Introduced tdc tests for basic filter")
      Signed-off-by: default avatarDavide Caratti <dcaratti@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9ed4fa7
    • Davide Caratti's avatar
      tc-testing: fix eBPF tests failure on linux fresh clones · 7145fcff
      Davide Caratti authored
      when the following command is done on a fresh clone of the kernel tree,
      
       [root@f31 tc-testing]# ./tdc.py -c bpf
      
      test cases that need to build the eBPF sample program fail systematically,
      because 'buildebpfPlugin' is unable to install the kernel headers (i.e, the
      'khdr' target fails). Pass the correct environment to 'make', in place of
      ENVIR, to allow running these tests.
      
      Fixes: 4c2d39bd ("tc-testing: use a plugin to build eBPF program")
      Signed-off-by: default avatarDavide Caratti <dcaratti@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7145fcff
    • Eric Dumazet's avatar
      net: hsr: fix possible NULL deref in hsr_handle_frame() · 2b5b8251
      Eric Dumazet authored
      hsr_port_get_rcu() can return NULL, so we need to be careful.
      
      general protection fault, probably for non-canonical address 0xdffffc0000000006: 0000 [#1] PREEMPT SMP KASAN
      KASAN: null-ptr-deref in range [0x0000000000000030-0x0000000000000037]
      CPU: 1 PID: 10249 Comm: syz-executor.5 Not tainted 5.5.0-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      RIP: 0010:__read_once_size include/linux/compiler.h:199 [inline]
      RIP: 0010:hsr_addr_is_self+0x86/0x330 net/hsr/hsr_framereg.c:44
      Code: 04 00 f3 f3 f3 65 48 8b 04 25 28 00 00 00 48 89 45 d0 31 c0 e8 6b ff 94 f9 4c 89 f2 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 75 02 00 00 48 8b 43 30 49 39 c6 49 89 47 c0 0f
      RSP: 0018:ffffc90000da8a90 EFLAGS: 00010206
      RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff87e0cc33
      RDX: 0000000000000006 RSI: ffffffff87e035d5 RDI: 0000000000000000
      RBP: ffffc90000da8b20 R08: ffff88808e7de040 R09: ffffed1015d2707c
      R10: ffffed1015d2707b R11: ffff8880ae9383db R12: ffff8880a689bc5e
      R13: 1ffff920001b5153 R14: 0000000000000030 R15: ffffc90000da8af8
      FS:  00007fd7a42be700(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000001b32338000 CR3: 00000000a928c000 CR4: 00000000001406e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       <IRQ>
       hsr_handle_frame+0x1c5/0x630 net/hsr/hsr_slave.c:31
       __netif_receive_skb_core+0xfbc/0x30b0 net/core/dev.c:5099
       __netif_receive_skb_one_core+0xa8/0x1a0 net/core/dev.c:5196
       __netif_receive_skb+0x2c/0x1d0 net/core/dev.c:5312
       process_backlog+0x206/0x750 net/core/dev.c:6144
       napi_poll net/core/dev.c:6582 [inline]
       net_rx_action+0x508/0x1120 net/core/dev.c:6650
       __do_softirq+0x262/0x98c kernel/softirq.c:292
       do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1082
       </IRQ>
      
      Fixes: c5a75911 ("net/hsr: Use list_head (and rcu) instead of array for slave devices.")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2b5b8251
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · cc12071f
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
       "The rest of MM and the rest of everything else: hotfixes, ipc, misc,
        procfs, lib, cleanups, arm"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (67 commits)
        ARM: dma-api: fix max_pfn off-by-one error in __dma_supported()
        treewide: remove redundant IS_ERR() before error code check
        include/linux/cpumask.h: don't calculate length of the input string
        lib: new testcases for bitmap_parse{_user}
        lib: rework bitmap_parse()
        lib: make bitmap_parse_user a wrapper on bitmap_parse
        lib: add test for bitmap_parse()
        bitops: more BITS_TO_* macros
        lib/string: add strnchrnul()
        proc: convert everything to "struct proc_ops"
        proc: decouple proc from VFS with "struct proc_ops"
        asm-generic/tlb: provide MMU_GATHER_TABLE_FREE
        asm-generic/tlb: rename HAVE_MMU_GATHER_NO_GATHER
        asm-generic/tlb: rename HAVE_MMU_GATHER_PAGE_SIZE
        asm-generic/tlb: rename HAVE_RCU_TABLE_FREE
        asm-generic/tlb: add missing CONFIG symbol
        asm-gemeric/tlb: remove stray function declarations
        asm-generic/tlb: avoid potential double flush
        mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush
        powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case
        ...
      cc12071f
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2020-02-04' of git://anongit.freedesktop.org/drm/drm · 9717c1ce
      Linus Torvalds authored
      Pull drm ttm/mm updates from Dave Airlie:
       "Thomas Hellstrom has some more changes to the TTM layer that needed a
        patch to the mm subsystem.
      
        This adds a new mm API vmf_insert_mixed_prot to avoid an ugly hack
        that has limitations in the TTM layer"
      
      * tag 'drm-next-2020-02-04' of git://anongit.freedesktop.org/drm/drm:
        mm, drm/ttm: Fix vm page protection handling
        mm: Add a vmf_insert_mixed_prot() function
      9717c1ce
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v5.6' of... · 79703e01
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Benson Leung:
       "CrOS EC:
      
         - Refactoring of some of cros_ec's headers:
      
           include/linux/mfd/cros_ec.h now removed, new cros_ec.h added to
           drivers/platform/chrome which contains shared operations of cros_ec
           transport drivers.
      
         - Response tracing in cros_ec_proto
      
        Wilco EC:
      
         - Fix unregistration order.
      
         - Fix keyboard backlight probing on systems without keyboard
           backlight
      
         - Minor cleanup (newlines in printks, COMPILE_TEST)
      
        Misc:
      
         - chromeos_laptop converted to use i2c_new_scanned_device instead of
           i2c_new_probed_device"
      
      * tag 'tag-chrome-platform-for-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        platform/chrome: cros_ec: Match implementation with headers
        platform/chrome: cros_ec: Drop unaligned.h include
        platform/chrome: wilco_ec: Allow wilco to be compiled in COMPILE_TEST
        platform/chrome: wilco_ec: Add newlines to printks
        platform/chrome: wilco_ec: Fix unregistration order
        cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h'
        platform/chrome: cros_ec_ishtp: Make init_lock static
        platform/chrome: chromeos_laptop: Convert to i2c_new_scanned_device
        platform/chrome: cros_ec_lpc: Use platform_get_irq_optional() for optional IRQs
        platform/chrome: cros_ec_proto: Add response tracing
        platform/chrome: cros_ec_trace: Match trace commands with EC commands
      79703e01
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · eadc4e40
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "The VL_READ and VL_CLR ioctls have been reworked to be more useful.
        This will not break userspace as there are very few users and they are
        using the integer value as a boolean.
      
        Apart from that, two drivers were reworked and a few fixes here and
        there for a net reduction of number of lines.
      
        Summary:
      
        Subsystem:
         - the VL_READ and VL_CLR ioctls are now documented and their behavior
           is unified across all the drivers.
         - RTC_I2C_AND_SPI Kconfig option rework to avoid selecting both
           REGMAP_I2C and REGMAP_SPI unecessarily.
      
        Drivers:
         - at91rm9200: remove deprecated procfs, add sam9x60, sama5d4 and
           sama5d2 compatibles.
         - cmos: solve lost interrupts issue on MS Surface 3
         - hym8563: return proper errno when time is invalid
         - rv3029: many fixes, nvram support"
      
      * tag 'rtc-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (63 commits)
        dt-bindings: rtc: at91rm9200: document clocks property
        rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
        rtc: Kconfig: select REGMAP_I2C when necessary
        rtc: Kconfig: properly indent sd3078 entry
        rtc: cmos: Refactor code by using the new dmi_get_bios_year() helper
        rtc: cmos: Use predefined value for RTC IRQ on legacy x86
        rtc: cmos: Stop using shared IRQ
        rtc: tps6586x: Use IRQ_NOAUTOEN flag
        rtc: at91rm9200: use FIELD_PREP/FIELD_GET
        rtc: at91rm9200: avoid time readout in at91_rtc_setalarm
        rtc: at91rm9200: move register definitions to C file
        rtc: at91rm9200: add sama5d4 and sama5d2 compatibles
        dt-bindings: rtc: at91rm9200: convert bindings to json-schema
        rtc: at91rm9200: remove procfs information
        dt-bindings: atmel, at91rm9200-rtc: add microchip, sam9x60-rtc
        rtc: pcf8563: Use BIT
        rtc: moxart: Convert to SPDX identifier
        rtc: ds1343: Remove unused struct spi_device in struct ds1343_priv
        rtc: rx8025: Remove struct i2c_client from struct rx8025_data
        rtc: hym8563: Read the valid flag directly instead of caching it
        ...
      eadc4e40
    • Chen-Yu Tsai's avatar
      ARM: dma-api: fix max_pfn off-by-one error in __dma_supported() · f3cc4e1d
      Chen-Yu Tsai authored
      max_pfn, as set in arch/arm/mm/init.c:
      
          static void __init find_limits(unsigned long *min,
      				   unsigned long *max_low,
      				   unsigned long *max_high)
          {
      	    *max_low = PFN_DOWN(memblock_get_current_limit());
      	    *min = PFN_UP(memblock_start_of_DRAM());
      	    *max_high = PFN_DOWN(memblock_end_of_DRAM());
          }
      
      with memblock_end_of_DRAM() pointing to the next byte after DRAM.  As
      such, max_pfn points to the PFN after the end of DRAM.
      
      Thus when using max_pfn to check DMA masks, we should subtract one when
      checking DMA ranges against it.
      
      Commit 8bf1268f ("ARM: dma-api: fix off-by-one error in
      __dma_supported()") fixed the same issue, but missed this spot.
      
      This issue was found while working on the sun4i-csi v4l2 driver on the
      Allwinner R40 SoC.  On Allwinner SoCs, DRAM is offset at 0x40000000, and
      we are starting to use of_dma_configure() with the "dma-ranges" property
      in the device tree to have the DMA API handle the offset.
      
      In this particular instance, dma-ranges was set to the same range as the
      actual available (2 GiB) DRAM.  The following error appeared when the
      driver attempted to allocate a buffer:
      
          sun4i-csi 1c09000.csi: Coherent DMA mask 0x7fffffff (pfn 0x40000-0xc0000)
          covers a smaller range of system memory than the DMA zone pfn 0x0-0xc0001
          sun4i-csi 1c09000.csi: dma_alloc_coherent of size 307200 failed
      
      Fixing the off-by-one error makes things work.
      
      Link: http://lkml.kernel.org/r/20191224030239.5656-1-wens@kernel.org
      Fixes: 11a5aa32 ("ARM: dma-mapping: check DMA mask against available memory")
      Fixes: 9f28cde0 ("ARM: another fix for the DMA mapping checks")
      Fixes: ab746573 ("ARM: dma-mapping: allow larger DMA mask than supported")
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f3cc4e1d
    • Masahiro Yamada's avatar
      treewide: remove redundant IS_ERR() before error code check · 45586c70
      Masahiro Yamada authored
      'PTR_ERR(p) == -E*' is a stronger condition than IS_ERR(p).
      Hence, IS_ERR(p) is unneeded.
      
      The semantic patch that generates this commit is as follows:
      
      // <smpl>
      @@
      expression ptr;
      constant error_code;
      @@
      -IS_ERR(ptr) && (PTR_ERR(ptr) == - error_code)
      +PTR_ERR(ptr) == - error_code
      // </smpl>
      
      Link: http://lkml.kernel.org/r/20200106045833.1725-1-masahiroy@kernel.orgSigned-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      Acked-by: Stephen Boyd <sboyd@kernel.org> [drivers/clk/clk.c]
      Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> [GPIO]
      Acked-by: Wolfram Sang <wsa@the-dreams.de> [drivers/i2c]
      Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> [acpi/scan.c]
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Cc: Eric Biggers <ebiggers@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      45586c70