1. 19 Dec, 2020 24 commits
  2. 18 Dec, 2020 16 commits
    • Kent Overstreet's avatar
      mm/filemap: fix infinite loop in generic_file_buffered_read() · 3644e2d2
      Kent Overstreet authored
      If iter->count is 0 and iocb->ki_pos is page aligned, this causes
      nr_pages to be 0.
      
      Then in generic_file_buffered_read_get_pages() find_get_pages_contig()
      returns 0 - because we asked for 0 pages, so we call
      generic_file_buffered_read_no_cached_page() which attempts to add a page
      to the page cache, which fails with -EEXIST, and then we loop. Oops...
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
      Reported-by: default avatarJens Axboe <axboe@kernel.dk>
      Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3644e2d2
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.11-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · a0b96314
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "In this release we add the ability to set a 'needsrepair' flag
        indicating that we /know/ the filesystem requires xfs_repair, but
        other than that, it's the usual strengthening of metadata validation
        and miscellaneous cleanups.
      
        Summary:
      
         - Introduce a "needsrepair" "feature" to flag a filesystem as needing
           a pass through xfs_repair. This is key to enabling filesystem
           upgrades (in xfs_db) that require xfs_repair to make minor
           adjustments to metadata.
      
         - Refactor parameter checking of recovered log intent items so that
           we actually use the same validation code as them that generate the
           intent items.
      
         - Various fixes to online scrub not reacting correctly to directory
           entries pointing to inodes that cannot be igetted.
      
         - Refactor validation helpers for data and rt volume extents.
      
         - Refactor XFS_TRANS_DQ_DIRTY out of existence.
      
         - Fix a longstanding bug where mounting with "uqnoenforce" would
           start user quotas in non-enforcing mode but /proc/mounts would
           display "usrquota", implying that they are being enforced.
      
         - Don't flag dax+reflink inodes as corruption since that is a valid
           (but not fully functional) combination right now.
      
         - Clean up raid stripe validation functions.
      
         - Refactor the inode allocation code to be more straightforward.
      
         - Small prep cleanup for idmapping support.
      
         - Get rid of the xfs_buf_t typedef"
      
      * tag 'xfs-5.11-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (40 commits)
        xfs: remove xfs_buf_t typedef
        fs/xfs: convert comma to semicolon
        xfs: open code updating i_mode in xfs_set_acl
        xfs: remove xfs_vn_setattr_nonsize
        xfs: kill ialloced in xfs_dialloc()
        xfs: spilt xfs_dialloc() into 2 functions
        xfs: move xfs_dialloc_roll() into xfs_dialloc()
        xfs: move on-disk inode allocation out of xfs_ialloc()
        xfs: introduce xfs_dialloc_roll()
        xfs: convert noroom, okalloc in xfs_dialloc() to bool
        xfs: don't catch dax+reflink inodes as corruption in verifier
        xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks
        xfs: remove unneeded return value check for *init_cursor()
        xfs: introduce xfs_validate_stripe_geometry()
        xfs: show the proper user quota options
        xfs: remove the unused XFS_B_FSB_OFFSET macro
        xfs: remove unnecessary null check in xfs_generic_create
        xfs: directly return if the delta equal to zero
        xfs: check tp->t_dqinfo value instead of the XFS_TRANS_DQ_DIRTY flag
        xfs: delete duplicated tp->t_dqinfo null check and allocation
        ...
      a0b96314
    • Linus Torvalds's avatar
      Merge tag 'ktest-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 4862c741
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
       "No new features. Just a couple of fixes that I had in my local
        repository that fixed issues with sending the result emails"
      
      * tag 'ktest-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest.pl: Fix the logic for truncating the size of the log file for email
        ktest.pl: If size of log is too big to email, email error message
      4862c741
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2020-12-18' of git://anongit.freedesktop.org/drm/drm · c59c7588
      Linus Torvalds authored
      Pull more drm updates from Daniel Vetter:
       "UAPI Changes:
      
         - Only enable char/agp uapi when CONFIG_DRM_LEGACY is set
      
        Cross-subsystem Changes:
      
         - vma_set_file helper to make vma->vm_file changing less brittle,
           acked by Andrew
      
        Core Changes:
      
         - dma-buf heaps improvements
      
         - pass full atomic modeset state to driver callbacks
      
         - shmem helpers: cached bo by default
      
         - cleanups for fbdev, fb-helpers
      
         - better docs for drm modes and SCALING_FITLER uapi
      
         - ttm: fix dma32 page pool regression
      
        Driver Changes:
      
         - multi-hop regression fixes for amdgpu, radeon, nouveau
      
         - lots of small amdgpu hw enabling fixes (display, pm, ...)
      
         - fixes for imx, mcde, meson, some panels, virtio, qxl, i915, all
           fairly minor
      
         - some cleanups for legacy drm/fbdev drivers"
      
      * tag 'drm-next-2020-12-18' of git://anongit.freedesktop.org/drm/drm: (117 commits)
        drm/qxl: don't allocate a dma_address array
        drm/nouveau: fix multihop when move doesn't work.
        drm/i915/tgl: Fix REVID macros for TGL to fetch correct stepping
        drm/i915: Fix mismatch between misplaced vma check and vma insert
        drm/i915/perf: also include Gen11 in OATAILPTR workaround
        Revert "drm/i915: re-order if/else ladder for hpd_irq_setup"
        drm/amdgpu/disply: fix documentation warnings in display manager
        drm/amdgpu: print mmhub client name for dimgrey_cavefish
        drm/amdgpu: set mode1 reset as default for dimgrey_cavefish
        drm/amd/display: Add get_dig_frontend implementation for DCEx
        drm/radeon: remove h from printk format specifier
        drm/amdgpu: remove h from printk format specifier
        drm/amdgpu: Fix spelling mistake "Heterogenous" -> "Heterogeneous"
        drm/amdgpu: fix regression in vbios reservation handling on headless
        drm/amdgpu/SRIOV: Extend VF reset request wait period
        drm/amdkfd: correct amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu log.
        drm/amd/display: Adding prototype for dccg21_update_dpp_dto()
        drm/amdgpu: print what method we are using for runtime pm
        drm/amdgpu: simplify logic in atpx resume handling
        drm/amdgpu: no need to call pci_ignore_hotplug for _PR3
        ...
      c59c7588
    • Linus Torvalds's avatar
      Merge tag 'thermal-v5.11-2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux · 432c19a8
      Linus Torvalds authored
      Pull thermal fixlet from Daniel Lezcano:
       "A trivial change which fell through the cracks:
      
        Add Alder Lake support ACPI ids (Srinivas Pandruvada)"
      
      * tag 'thermal-v5.11-2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux:
        thermal: int340x: Support Alder Lake
      432c19a8
    • Linus Torvalds's avatar
      Merge tag 's390-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · a0872417
      Linus Torvalds authored
      Pull more s390 updates from Heiko Carstens:
       "This is mainly to decouple udelay() and arch_cpu_idle() and simplify
        both of them.
      
        Summary:
      
         - Always initialize kernel stack backchain when entering the kernel,
           so that unwinding works properly.
      
         - Fix stack unwinder test case to avoid rare interrupt stack
           corruption.
      
         - Simplify udelay() and just let it busy loop instead of implementing
           a complex logic.
      
         - arch_cpu_idle() cleanup.
      
         - Some other minor improvements"
      
      * tag 's390-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/zcrypt: convert comma to semicolon
        s390/idle: allow arch_cpu_idle() to be kprobed
        s390/idle: remove raw_local_irq_save()/restore() from arch_cpu_idle()
        s390/idle: merge enabled_wait() and arch_cpu_idle()
        s390/delay: remove udelay_simple()
        s390/irq: select HAVE_IRQ_EXIT_ON_IRQ_STACK
        s390/delay: simplify udelay
        s390/test_unwind: use timer instead of udelay
        s390/test_unwind: fix CALL_ON_STACK tests
        s390: make calls to TRACE_IRQS_OFF/TRACE_IRQS_ON balanced
        s390: always clear kernel stack backchain before calling functions
      a0872417
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 5ba836eb
      Linus Torvalds authored
      Pull more arm64 updates from Catalin Marinas:
       "These are some some trivial updates that mostly fix/clean-up code
        pushed during the merging window:
      
         - Work around broken GCC 4.9 handling of "S" asm constraint
      
         - Suppress W=1 missing prototype warnings
      
         - Warn the user when a small VA_BITS value cannot map the available
           memory
      
         - Drop the useless update to per-cpu cycles"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Work around broken GCC 4.9 handling of "S" constraint
        arm64: Warn the user when a small VA_BITS value wastes memory
        arm64: entry: suppress W=1 prototype warnings
        arm64: topology: Drop the useless update to per-cpu cycles
      5ba836eb
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.11-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · e2ae6340
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
       "We have a handful of new kernel features for 5.11:
      
         - Support for the contiguous memory allocator.
      
         - Support for IRQ Time Accounting
      
         - Support for stack tracing
      
         - Support for strict /dev/mem
      
         - Support for kernel section protection
      
        I'm being a bit conservative on the cutoff for this round due to the
        timing, so this is all the new development I'm going to take for this
        cycle (even if some of it probably normally would have been OK). There
        are, however, some fixes on the list that I will likely be sending
        along either later this week or early next week.
      
        There is one issue in here: one of my test configurations
        (PREEMPT{,_DEBUG}=y) fails to boot on QEMU 5.0.0 (from April) as of
        the .text.init alignment patch.
      
        With any luck we'll sort out the issue, but given how many bugs get
        fixed all over the place and how unrelated those features seem my
        guess is that we're just running into something that's been lurking
        for a while and has already been fixed in the newer QEMU (though I
        wouldn't be surprised if it's one of these implicit assumptions we
        have in the boot flow). If it was hardware I'd be strongly inclined to
        look more closely, but given that users can upgrade their simulators
        I'm less worried about it"
      
      * tag 'riscv-for-linus-5.11-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        arm64: Use the generic devmem_is_allowed()
        arm: Use the generic devmem_is_allowed()
        RISC-V: Use the new generic devmem_is_allowed()
        lib: Add a generic version of devmem_is_allowed()
        riscv: Fixed kernel test robot warning
        riscv: kernel: Drop unused clean rule
        riscv: provide memmove implementation
        RISC-V: Move dynamic relocation section under __init
        RISC-V: Protect all kernel sections including init early
        RISC-V: Align the .init.text section
        RISC-V: Initialize SBI early
        riscv: Enable ARCH_STACKWALK
        riscv: Make stack walk callback consistent with generic code
        riscv: Cleanup stacktrace
        riscv: Add HAVE_IRQ_TIME_ACCOUNTING
        riscv: Enable CMA support
        riscv: Ignore Image.* and loader.bin
        riscv: Clean up boot dir
        riscv: Fix compressed Image formats build
        RISC-V: Add kernel image sections to the resource tree
      e2ae6340
    • Daniel Vetter's avatar
      Merge tag 'drm-intel-next-fixes-2020-12-18' of... · 4efd7fab
      Daniel Vetter authored
      Merge tag 'drm-intel-next-fixes-2020-12-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      drm/i915 fixes for the merge window
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87zh2bp34m.fsf@intel.com
      4efd7fab
    • Christian König's avatar
      drm/qxl: don't allocate a dma_address array · f96f6259
      Christian König authored
      That seems to be unused.
      
      Daniel: Mike reported a warning when booting with qxl, which this
      patch fixes:
      
      [    1.815561] WARNING: CPU: 7 PID: 355 at drivers/gpu/drm/ttm/ttm_pool.c:365 ttm_pool_alloc+0x41b/0x540 [ttm]
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Reported-by: default avatarMike Galbraith <efault@gmx.de>
      Tested-by: default avatarMike Galbraith <efault@gmx.de>
      References: https://lore.kernel.org/lkml/7cb43d5b-4e6a-defc-1ab6-5f713ad5a963@amd.com/Reviewed-by: default avatarDavid Airlie <airlied@redhat.com>
      [davnet: bring commit message up to par.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201218134243.110884-1-christian.koenig@amd.com
      f96f6259
    • Dave Airlie's avatar
      drm/nouveau: fix multihop when move doesn't work. · 660a5995
      Dave Airlie authored
      As per the radeon/amdgpu fix don't use multihop if hw moves
      aren't enabled.
      Reported-by: default avatarMike Galbraith <efault@gmx.de>
      Tested-by: default avatarMike Galbraith <efault@gmx.de>
      Fixes: 0c8c0659 ("drm/nouveau/ttm: use multihop")
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201217200943.30511-1-airlied@gmail.com
      660a5995
    • Aditya Swarup's avatar
      drm/i915/tgl: Fix REVID macros for TGL to fetch correct stepping · 046f70d3
      Aditya Swarup authored
      Fix TGL REVID macros to fetch correct display/gt stepping based
      on SOC rev id from INTEL_REVID() macro. Previously, we were just
      returning the first element of the revid array instead of using
      the correct index based on SOC rev id.
      
      Fixes: c33298cb ("drm/i915/tgl: Fix stepping WA matching")
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarAditya Swarup <aditya.swarup@intel.com>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201203072359.156682-1-aditya.swarup@intel.com
      (cherry picked from commit 83dbd74f)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      046f70d3
    • Chris Wilson's avatar
      drm/i915: Fix mismatch between misplaced vma check and vma insert · 0e53656a
      Chris Wilson authored
      When inserting a VMA, we restrict the placement to the low 4G unless the
      caller opts into using the full range. This was done to allow usersapce
      the opportunity to transition slowly from a 32b address space, and to
      avoid breaking inherent 32b assumptions of some commands.
      
      However, for insert we limited ourselves to 4G-4K, but on verification
      we allowed the full 4G. This causes some attempts to bind a new buffer
      to sporadically fail with -ENOSPC, but at other times be bound
      successfully.
      
      commit 48ea1e32 ("drm/i915/gen9: Set PIN_ZONE_4G end to 4GB - 1
      page") suggests that there is a genuine problem with stateless addressing
      that cannot utilize the last page in 4G and so we purposefully excluded
      it. This means that the quick pin pass may cause us to utilize a buggy
      placement.
      Reported-by: default avatarCQ Tang <cq.tang@intel.com>
      Testcase: igt/gem_exec_params/larger-than-life-batch
      Fixes: 48ea1e32 ("drm/i915/gen9: Set PIN_ZONE_4G end to 4GB - 1 page")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: CQ Tang <cq.tang@intel.com>
      Reviewed-by: default avatarCQ Tang <cq.tang@intel.com>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Cc: <stable@vger.kernel.org> # v4.5+
      Link: https://patchwork.freedesktop.org/patch/msgid/20201216092951.7124-1-chris@chris-wilson.co.uk
      (cherry picked from commit 5f22cc0b)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      0e53656a
    • Lionel Landwerlin's avatar
      drm/i915/perf: also include Gen11 in OATAILPTR workaround · dd0e2193
      Lionel Landwerlin authored
      CI shows this workaround is also needed on Gen11.
      Signed-off-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Fixes: 059a0beb ("drm/i915/perf: workaround register corruption in OATAILPTR")
      Reviewed-by: default avatarUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201126105155.540350-1-lionel.g.landwerlin@intel.com
      (cherry picked from commit fa5d598b)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      dd0e2193
    • Chris Wilson's avatar
      Revert "drm/i915: re-order if/else ladder for hpd_irq_setup" · 2ccf2e03
      Chris Wilson authored
      We now use ilk_hpd_irq_setup for all GMCH platforms that do not have
      hotplug. These are early gen3 and gen2 devices that now explode on boot
      as they try to access non-existent registers.
      
      Fixes: 794d61a1 ("drm/i915: re-order if/else ladder for hpd_irq_setup")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201127145748.29491-1-chris@chris-wilson.co.uk
      (cherry picked from commit e5346a1f)
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      2ccf2e03
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · a409ed15
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of the GPIO changes for the v5.11 kernel cycle:
      
        Core changes:
      
         - Retired the old set-up function for GPIO IRQ chips. All chips now
           use the template struct gpio_irq_chip and pass that to the core to
           be set up alongside the gpio_chip. We can finally get rid of the
           old cruft.
      
         - Some refactoring and clean up of the core code.
      
         - Support edge event timestamps to be stamped using REALTIME (wall
           clock) timestamps. We have found solid use cases for this, so we
           support it.
      
        New drivers:
      
         - MStar MSC313 GPIO driver.
      
         - HiSilicon GPIO driver.
      
        Driver improvements:
      
         - The PCA953x driver now also supports the NXP PCAL9554B/C chips.
      
         - The mockup driver can now be probed from the device tree which is
           pretty useful for virtual prototyping of devices.
      
         - The Rcar driver now supports .get_multiple()
      
         - The MXC driver dropped some legacy and became a pure device tree
           client.
      
         - The Exar driver was moved over to the IDA interface for
           enumerating, and also switched over to using regmap for register
           access"
      
      * tag 'gpio-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (87 commits)
        MAINTAINERS: Remove reference to non-existing file
        gpio: hisi: Do not require ACPI for COMPILE_TEST
        MAINTAINERS: Add maintainer for HiSilicon GPIO driver
        gpio: gpio-hisi: Add HiSilicon GPIO support
        gpio: cs5535: Simplify the return expression of cs5535_gpio_probe()
        gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask
        dt-bindings: mt7621-gpio: convert bindings to YAML format
        gpiolib: cdev: Flag invalid GPIOs as used
        gpio: put virtual gpio device into their own submenu
        drivers: gpio: amd8111: use SPDX-License-Identifier
        drivers: gpio: amd8111: prefer dev_err()/dev_info() over raw printk
        drivers: gpio: bt8xx: prefer dev_err()/dev_warn() over of raw printk
        gpio: Add TODO item for debugfs interface
        gpio: just plain warning when nonexisting gpio requested
        tools: gpio: add option to report wall-clock time to gpio-event-mon
        tools: gpio: add support for reporting realtime event clock to lsgpio
        gpiolib: cdev: allow edge event timestamps to be configured as REALTIME
        gpio: msc313: MStar MSC313 GPIO driver
        dt-bindings: gpio: Binding for MStar MSC313 GPIO controller
        dt-bindings: gpio: Add a binding header for the MSC313 GPIO driver
        ...
      a409ed15