Skip to content
  1. Jun 17, 2021
  2. Jun 11, 2021
  3. Jun 10, 2021
    • Stephen Boyd's avatar
      drm/msm/dsi: Stash away calculated vco frequency on recalc · 170b7635
      Stephen Boyd authored
      A problem was reported on CoachZ devices where the display wouldn't come
      up, or it would be distorted. It turns out that the PLL code here wasn't
      getting called once dsi_pll_10nm_vco_recalc_rate() started returning the
      same exact frequency, down to the Hz, that the bootloader was setting
      instead of 0 when the clk was registered with the clk framework.
      
      After commit 001d8dc3 ("drm/msm/dsi: remove temp data from global
      pll structure") we use a hardcoded value for the parent clk frequency,
      i.e.  VCO_REF_CLK_RATE, and we also hardcode the value for FRAC_BITS,
      instead of getting it from the config structure. This combination of
      changes to the recalc function allows us to properly calculate the
      frequency of the PLL regardless of whether or not the PLL has been
      clk_prepare()d or clk_set_rate()d. That's a good improvement.
      
      Unfortunately, this means that now we won't call down into the PLL clk
      driver when we call clk_set_rate() because the frequency calculated in
      the framework matches the frequency that is set in hardware. If the rate
      is the same as what we want it should be OK to not call the set_rate PLL
      op. The real problem is that the prepare op in this driver uses a
      private struct member to stash away the vco frequency so that it can
      call the set_rate op directly during prepare. Once the set_rate op is
      never called because recalc_rate told us the rate is the same, we don't
      set this private struct member before the prepare op runs, so we try to
      call the set_rate function directly with a frequency of 0. This
      effectively kills the PLL and configures it for a rate that won't work.
      Calling set_rate from prepare is really quite bad and will confuse any
      downstream clks about what the rate actually is of their parent. Fixing
      that will be a rather large change though so we leave that to later.
      
      For now, let's stash away the rate we calculate during recalc so that
      the prepare op knows what frequency to set, instead of 0. This way
      things keep working and the display can enable the PLL properly. In the
      future, we should remove that code from the prepare op so that it
      doesn't even try to call the set rate function.
      
      Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
      Cc: Abhinav Kumar <abhinavk@codeaurora.org>
      Fixes: 001d8dc3
      
       ("drm/msm/dsi: remove temp data from global pll structure")
      Signed-off-by: default avatarStephen Boyd <swboyd@chromium.org>
      Link: https://lore.kernel.org/r/20210608195519.125561-1-swboyd@chromium.org
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      170b7635
    • Desmond Cheong Zhi Xi's avatar
      drm: Lock pointer access in drm_master_release() · c336a5ee
      Desmond Cheong Zhi Xi authored
      
      
      This patch eliminates the following smatch warning:
      drivers/gpu/drm/drm_auth.c:320 drm_master_release() warn: unlocked access 'master' (line 318) expected lock '&dev->master_mutex'
      
      The 'file_priv->master' field should be protected by the mutex lock to
      '&dev->master_mutex'. This is because other processes can concurrently
      modify this field and free the current 'file_priv->master'
      pointer. This could result in a use-after-free error when 'master' is
      dereferenced in subsequent function calls to
      'drm_legacy_lock_master_cleanup()' or to 'drm_lease_revoke()'.
      
      An example of a scenario that would produce this error can be seen
      from a similar bug in 'drm_getunique()' that was reported by Syzbot:
      https://syzkaller.appspot.com/bug?id=148d2f1dfac64af52ffd27b661981a540724f803
      
      In the Syzbot report, another process concurrently acquired the
      device's master mutex in 'drm_setmaster_ioctl()', then overwrote
      'fpriv->master' in 'drm_new_set_master()'. The old value of
      'fpriv->master' was subsequently freed before the mutex was unlocked.
      
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDesmond Cheong Zhi Xi <desmondcheongzx@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210609092119.173590-1-desmondcheongzx@gmail.com
      c336a5ee
  4. Jun 09, 2021
  5. Jun 08, 2021
    • Mark Rutland's avatar
      drm/vc4: fix vc4_atomic_commit_tail() logic · 8a11e84b
      Mark Rutland authored
      
      
      In vc4_atomic_commit_tail() we iterate of the set of old CRTCs, and
      attempt to wait on any channels which are still in use. When we iterate
      over the CRTCs, we have:
      
      * `i` - the index of the CRTC
      * `channel` - the channel a CRTC is using
      
      When we check the channel state, we consult:
      
        old_hvs_state->fifo_state[channel].in_use
      
      ... but when we wait for the channel, we erroneously wait on:
      
        old_hvs_state->fifo_state[i].pending_commit
      
      ... rather than:
      
         old_hvs_state->fifo_state[channel].pending_commit
      
      ... and this bogus access has been observed to result in boot-time hangs
      on some arm64 configurations, and can be detected using KASAN. FIx this
      by using the correct index.
      
      I've tested this on a Raspberry Pi 3 model B v1.2 with KASAN.
      
      Trimmed KASAN splat:
      
      | ==================================================================
      | BUG: KASAN: slab-out-of-bounds in vc4_atomic_commit_tail+0x1cc/0x910
      | Read of size 8 at addr ffff000007360440 by task kworker/u8:0/7
      | CPU: 2 PID: 7 Comm: kworker/u8:0 Not tainted 5.13.0-rc3-00009-g694c523e7267 #3
      |
      | Hardware name: Raspberry Pi 3 Model B (DT)
      | Workqueue: events_unbound deferred_probe_work_func
      | Call trace:
      |  dump_backtrace+0x0/0x2b4
      |  show_stack+0x1c/0x30
      |  dump_stack+0xfc/0x168
      |  print_address_description.constprop.0+0x2c/0x2c0
      |  kasan_report+0x1dc/0x240
      |  __asan_load8+0x98/0xd4
      |  vc4_atomic_commit_tail+0x1cc/0x910
      |  commit_tail+0x100/0x210
      | ...
      |
      | Allocated by task 7:
      |  kasan_save_stack+0x2c/0x60
      |  __kasan_kmalloc+0x90/0xb4
      |  vc4_hvs_channels_duplicate_state+0x60/0x1a0
      |  drm_atomic_get_private_obj_state+0x144/0x230
      |  vc4_atomic_check+0x40/0x73c
      |  drm_atomic_check_only+0x998/0xe60
      |  drm_atomic_commit+0x34/0x94
      |  drm_client_modeset_commit_atomic+0x2f4/0x3a0
      |  drm_client_modeset_commit_locked+0x8c/0x230
      |  drm_client_modeset_commit+0x38/0x60
      |  drm_fb_helper_set_par+0x104/0x17c
      |  fbcon_init+0x43c/0x970
      |  visual_init+0x14c/0x1e4
      | ...
      |
      | The buggy address belongs to the object at ffff000007360400
      |  which belongs to the cache kmalloc-128 of size 128
      | The buggy address is located 64 bytes inside of
      |  128-byte region [ffff000007360400, ffff000007360480)
      | The buggy address belongs to the page:
      | page:(____ptrval____) refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7360
      | flags: 0x3fffc0000000200(slab|node=0|zone=0|lastcpupid=0xffff)
      | raw: 03fffc0000000200 dead000000000100 dead000000000122 ffff000004c02300
      | raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000
      | page dumped because: kasan: bad access detected
      |
      | Memory state around the buggy address:
      |  ffff000007360300: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
      |  ffff000007360380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
      | >ffff000007360400: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc
      |                                            ^
      |  ffff000007360480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
      |  ffff000007360500: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
      | ==================================================================
      
      Link: https://lore.kernel.org/r/4d0c8318-bad8-2be7-e292-fc8f70c198de@samsung.com
      Link: https://lore.kernel.org/linux-arm-kernel/20210607151740.moncryl5zv3ahq4s@gilmour
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Emma Anholt <emma@anholt.net>
      Cc: Maxime Ripard <maxime@cerno.tech>
      Cc: Will Deacon <will@kernel.org>
      Cc: dri-devel@lists.freedesktop.org
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210608085513.2069-1-mark.rutland@arm.com
      8a11e84b
    • Christian König's avatar
      drm/ttm: fix deref of bo->ttm without holding the lock v2 · 2d2ddb58
      Christian König authored
      
      
      We need to grab the resv lock first before doing that check.
      
      v2 (chk): simplify the change for -fixes
      
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: default avatarHuang Rui <ray.huang@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210528130041.1683-1-christian.koenig@amd.com
      2d2ddb58
  6. Jun 07, 2021
    • Saravana Kannan's avatar
      drm/sun4i: dw-hdmi: Make HDMI PHY into a platform device · 9bf37977
      Saravana Kannan authored
      
      
      On sunxi boards that use HDMI output, HDMI device probe keeps being
      avoided indefinitely with these repeated messages in dmesg:
      
        platform 1ee0000.hdmi: probe deferral - supplier 1ef0000.hdmi-phy
          not ready
      
      There's a fwnode_link being created with fw_devlink=on between hdmi
      and hdmi-phy nodes, because both nodes have 'compatible' property set.
      
      Fw_devlink code assumes that nodes that have compatible property
      set will also have a device associated with them by some driver
      eventually. This is not the case with the current sun8i-hdmi
      driver.
      
      This commit makes sun8i-hdmi-phy into a proper platform device
      and fixes the display pipeline probe on sunxi boards that use HDMI.
      
      More context: https://lkml.org/lkml/2021/5/16/203
      
      Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
      Signed-off-by: default avatarOndrej Jirman <megous@megous.com>
      Tested-by: default avatarAndre Przywara <andre.przywara@arm.com>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210607085836.2827429-1-megous@megous.com
      9bf37977
    • Linus Torvalds's avatar
      Linux 5.13-rc5 · 614124be
      Linus Torvalds authored
      v5.13-rc5
      614124be
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 90d56a3d
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Five small and fairly minor fixes, all in drivers"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V
        scsi: ufs: ufs-mediatek: Fix HCI version in some platforms
        scsi: qedf: Do not put host in qedf_vport_create() unconditionally
        scsi: lpfc: Fix failure to transmit ABTS on FC link
        scsi: target: core: Fix warning on realtime kernels
      90d56a3d
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 20e41d9b
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Miscellaneous ext4 bug fixes"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: Only advertise encrypted_casefold when encryption and unicode are enabled
        ext4: fix no-key deletion for encrypt+casefold
        ext4: fix memory leak in ext4_fill_super
        ext4: fix fast commit alignment issues
        ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed
        ext4: fix accessing uninit percpu counter variable with fast_commit
        ext4: fix memory leak in ext4_mb_init_backend on error path.
      20e41d9b
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-fixes-v5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · decad3e1
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A set of fixes that have been coming in over the last few weeks, the
        usual mix of fixes:
      
         - DT fixups for TI K3
      
         - SATA drive detection fix for TI DRA7
      
         - Power management fixes and a few build warning removals for OMAP
      
         - OP-TEE fix to use standard API for UUID exporting
      
         - DT fixes for a handful of i.MX boards
      
        And a few other smaller items"
      
      * tag 'arm-soc-fixes-v5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (29 commits)
        arm64: meson: select COMMON_CLK
        soc: amlogic: meson-clk-measure: remove redundant dev_err call in meson_msr_probe()
        ARM: OMAP1: ams-delta: remove unused function ams_delta_camera_power
        bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act
        ARM: dts: imx: emcon-avari: Fix nxp,pca8574 #gpio-cells
        ARM: dts: imx7d-pico: Fix the 'tuning-step' property
        ARM: dts: imx7d-meerkat96: Fix the 'tuning-step' property
        arm64: dts: freescale: sl28: var1: fix RGMII clock and voltage
        arm64: dts: freescale: sl28: var4: fix RGMII clock and voltage
        ARM: imx: pm-imx27: Include "common.h"
        arm64: dts: zii-ultra: fix 12V_MAIN voltage
        arm64: dts: zii-ultra: remove second GEN_3V3 regulator instance
        arm64: dts: ls1028a: fix memory node
        bus: ti-sysc: Fix am335x resume hang for usb otg module
        ARM: OMAP2+: Fix build warning when mmc_omap is not built
        ARM: OMAP1: isp1301-omap: Add missing gpiod_add_lookup_table function
        ARM: OMAP1: Fix use of possibly uninitialized irq variable
        optee: use export_uuid() to copy client UUID
        arm64: dts: ti: k3*: Introduce reg definition for interrupt routers
        arm64: dts: ti: k3-am65|j721e|am64: Map the dma / navigator subsystem via explicit ranges
        ...
      decad3e1
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.13-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · bd7b12aa
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Fix our KVM reverse map real-mode handling since we enabled huge
        vmalloc (in some configurations).
      
        Revert a recent change to our IOMMU code which broke some devices.
      
        Fix KVM handling of FSCR on P7/P8, which could have possibly let a
        guest crash it's Qemu.
      
        Fix kprobes validation of prefixed instructions across page boundary.
      
        Thanks to Alexey Kardashevskiy, Christophe Leroy, Fabiano Rosas,
        Frederic Barrat, Naveen N. Rao, and Nicholas Piggin"
      
      * tag 'powerpc-5.13-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        Revert "powerpc/kernel/iommu: Align size for IOMMU_PAGE_SIZE() to save TCEs"
        KVM: PPC: Book3S HV: Save host FSCR in the P7/8 path
        powerpc: Fix reverse map real-mode address lookup with huge vmalloc
        powerpc/kprobes: Fix validation of prefixed instructions across page boundary
      bd7b12aa
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 773ac53b
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
       "A bunch of x86/urgent stuff accumulated for the last two weeks so
        lemme unload it to you.
      
        It should be all totally risk-free, of course. :-)
      
         - Fix out-of-spec hardware (1st gen Hygon) which does not implement
           MSR_AMD64_SEV even though the spec clearly states so, and check
           CPUID bits first.
      
         - Send only one signal to a task when it is a SEGV_PKUERR si_code
           type.
      
         - Do away with all the wankery of reserving X amount of memory in the
           first megabyte to prevent BIOS corrupting it and simply and
           unconditionally reserve the whole first megabyte.
      
         - Make alternatives NOP optimization work at an arbitrary position
           within the patched sequence because the compiler can put
           single-byte NOPs for alignment anywhere in the sequence (32-bit
           retpoline), vs our previous assumption that the NOPs are only
           appended.
      
         - Force-disable ENQCMD[S] instructions support and remove
           update_pasid() because of insufficient protection against FPU state
           modification in an interrupt context, among other xstate horrors
           which are being addressed at the moment. This one limits the
           fallout until proper enablement.
      
         - Use cpu_feature_enabled() in the idxd driver so that it can be
           build-time disabled through the defines in disabled-features.h.
      
         - Fix LVT thermal setup for SMI delivery mode by making sure the APIC
           LVT value is read before APIC initialization so that softlockups
           during boot do not happen at least on one machine.
      
         - Mark all legacy interrupts as legacy vectors when the IO-APIC is
           disabled and when all legacy interrupts are routed through the PIC"
      
      * tag 'x86_urgent_for_v5.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sev: Check SME/SEV support in CPUID first
        x86/fault: Don't send SIGSEGV twice on SEGV_PKUERR
        x86/setup: Always reserve the first 1M of RAM
        x86/alternative: Optimize single-byte NOPs at an arbitrary position
        x86/cpufeatures: Force disable X86_FEATURE_ENQCMD and remove update_pasid()
        dmaengine: idxd: Use cpu_feature_enabled()
        x86/thermal: Fix LVT thermal setup for SMI delivery mode
        x86/apic: Mark _all_ legacy interrupts when IO/APIC is missing
      773ac53b
  7. Jun 06, 2021
    • Daniel Rosenberg's avatar
      ext4: Only advertise encrypted_casefold when encryption and unicode are enabled · e71f99f2
      Daniel Rosenberg authored
      Encrypted casefolding is only supported when both encryption and
      casefolding are both enabled in the config.
      
      Fixes: 471fbbea
      
       ("ext4: handle casefolding with encryption")
      Cc: stable@vger.kernel.org # 5.13+
      Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
      Link: https://lore.kernel.org/r/20210603094849.314342-1-drosen@google.com
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      e71f99f2
    • Daniel Rosenberg's avatar
      ext4: fix no-key deletion for encrypt+casefold · 63e7f128
      Daniel Rosenberg authored
      commit 471fbbea ("ext4: handle casefolding with encryption") is
      missing a few checks for the encryption key which are needed to
      support deleting enrypted casefolded files when the key is not
      present.
      
      This bug made it impossible to delete encrypted+casefolded directories
      without the encryption key, due to errors like:
      
          W         : EXT4-fs warning (device vdc): __ext4fs_dirhash:270: inode #49202: comm Binder:378_4: Siphash requires key
      
      Repro steps in kvm-xfstests test appliance:
            mkfs.ext4 -F -E encoding=utf8 -O encrypt /dev/vdc
            mount /vdc
            mkdir /vdc/dir
            chattr +F /vdc/dir
            keyid=$(head -c 64 /dev/zero | xfs_io -c add_enckey /vdc | awk '{print $NF}')
            xfs_io -c "set_encpolicy $keyid" /vdc/dir
            for i in `seq 1 100`; do
                mkdir /vdc/dir/$i
            done
            xfs_io -c "rm_enckey $keyid" /vdc
            rm -rf /vdc/dir # fails with the bug
      
      Fixes: 471fbbea
      
       ("ext4: handle casefolding with encryption")
      Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
      Link: https://lore.kernel.org/r/20210522004132.2142563-1-drosen@google.com
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      63e7f128
    • Alexey Makhalov's avatar
      ext4: fix memory leak in ext4_fill_super · afd09b61
      Alexey Makhalov authored
      Buffer head references must be released before calling kill_bdev();
      otherwise the buffer head (and its page referenced by b_data) will not
      be freed by kill_bdev, and subsequently that bh will be leaked.
      
      If blocksizes differ, sb_set_blocksize() will kill current buffers and
      page cache by using kill_bdev(). And then super block will be reread
      again but using correct blocksize this time. sb_set_blocksize() didn't
      fully free superblock page and buffer head, and being busy, they were
      not freed and instead leaked.
      
      This can easily be reproduced by calling an infinite loop of:
      
        systemctl start <ext4_on_lvm>.mount, and
        systemctl stop <ext4_on_lvm>.mount
      
      ... since systemd creates a cgroup for each slice which it mounts, and
      the bh leak get amplified by a dying memory cgroup that also never
      gets freed, and memory consumption is much more easily noticed.
      
      Fixes: ce40733c ("ext4: Check for return value from sb_set_blocksize")
      Fixes: ac27a0ec
      
       ("ext4: initial copy of files from ext3")
      Link: https://lore.kernel.org/r/20210521075533.95732-1-amakhalov@vmware.com
      Signed-off-by: default avatarAlexey Makhalov <amakhalov@vmware.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Cc: stable@kernel.org
      afd09b61
    • Harshad Shirwadkar's avatar
      ext4: fix fast commit alignment issues · a7ba36bc
      Harshad Shirwadkar authored
      Fast commit recovery data on disk may not be aligned. So, when the
      recovery code reads it, this patch makes sure that fast commit info
      found on-disk is first memcpy-ed into an aligned variable before
      accessing it. As a consequence of it, we also remove some macros that
      could resulted in unaligned accesses.
      
      Cc: stable@kernel.org
      Fixes: 8016e29f
      
       ("ext4: fast commit recovery path")
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20210519215920.2037527-1-harshads@google.com
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      a7ba36bc
    • Ye Bin's avatar
      ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed · 082cd4ec
      Ye Bin authored
      
      
      We got follow bug_on when run fsstress with injecting IO fault:
      [130747.323114] kernel BUG at fs/ext4/extents_status.c:762!
      [130747.323117] Internal error: Oops - BUG: 0 [#1] SMP
      ......
      [130747.334329] Call trace:
      [130747.334553]  ext4_es_cache_extent+0x150/0x168 [ext4]
      [130747.334975]  ext4_cache_extents+0x64/0xe8 [ext4]
      [130747.335368]  ext4_find_extent+0x300/0x330 [ext4]
      [130747.335759]  ext4_ext_map_blocks+0x74/0x1178 [ext4]
      [130747.336179]  ext4_map_blocks+0x2f4/0x5f0 [ext4]
      [130747.336567]  ext4_mpage_readpages+0x4a8/0x7a8 [ext4]
      [130747.336995]  ext4_readpage+0x54/0x100 [ext4]
      [130747.337359]  generic_file_buffered_read+0x410/0xae8
      [130747.337767]  generic_file_read_iter+0x114/0x190
      [130747.338152]  ext4_file_read_iter+0x5c/0x140 [ext4]
      [130747.338556]  __vfs_read+0x11c/0x188
      [130747.338851]  vfs_read+0x94/0x150
      [130747.339110]  ksys_read+0x74/0xf0
      
      This patch's modification is according to Jan Kara's suggestion in:
      https://patchwork.ozlabs.org/project/linux-ext4/patch/20210428085158.3728201-1-yebin10@huawei.com/
      "I see. Now I understand your patch. Honestly, seeing how fragile is trying
      to fix extent tree after split has failed in the middle, I would probably
      go even further and make sure we fix the tree properly in case of ENOSPC
      and EDQUOT (those are easily user triggerable).  Anything else indicates a
      HW problem or fs corruption so I'd rather leave the extent tree as is and
      don't try to fix it (which also means we will not create overlapping
      extents)."
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarYe Bin <yebin10@huawei.com>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Link: https://lore.kernel.org/r/20210506141042.3298679-1-yebin10@huawei.com
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      082cd4ec
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · f5b6eb1e
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Some more bugfixes from I2C for v5.13. Usual stuff"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: qcom-geni: Suspend and resume the bus during SYSTEM_SLEEP_PM ops
        i2c: qcom-geni: Add shutdown callback for i2c
        i2c: tegra-bpmp: Demote kernel-doc abuses
        i2c: altera: Fix formatting issue in struct and demote unworthy kernel-doc headers
      f5b6eb1e
    • Olof Johansson's avatar
      Merge tag 'ti-k3-dt-fixes-for-v5.13' of... · b9c112f2
      Olof Johansson authored
      
      Merge tag 'ti-k3-dt-fixes-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/fixes
      
      Devicetree fixes for TI K3 platforms for v5.13 merge window:
      
      These minor fixes include:
      * Fixups for device tree discovered during yaml conversion
      * Fixups for missing dma-coherent property in j7200
      * Removal of camera sensor node from am65 evm dts to overlay
        as camera sensor boards are variable.
      
      * tag 'ti-k3-dt-fixes-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux:
        arm64: dts: ti: k3*: Introduce reg definition for interrupt routers
        arm64: dts: ti: k3-am65|j721e|am64: Map the dma / navigator subsystem via explicit ranges
        arm64: dts: ti: k3-*: Rename the TI-SCI node
        arm64: dts: ti: k3-am65-wakeup: Drop un-necessary properties from dmsc node
        arm64: dts: ti: k3-am65-wakeup: Add debug region to TI-SCI node
        arm64: dts: ti: k3-*: Rename the TI-SCI clocks node name
        arm64: dts: ti: j7200-main: Mark Main NAVSS as dma-coherent
        arm64: dts: ti: k3-am654-base-board: remove ov5640
      
      Link: https://lore.kernel.org/r/20210518115634.467vgpbzplal5kou@obituary
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      b9c112f2
    • Olof Johansson's avatar
      Merge tag 'optee-fix-for-v5.13' of... · 7468bed8
      Olof Johansson authored
      
      Merge tag 'optee-fix-for-v5.13' of git://git.linaro.org/people/jens.wiklander/linux-tee into arm/fixes
      
      OP-TEE use export_uuid() to copy UUID
      
      * tag 'optee-fix-for-v5.13' of git://git.linaro.org/people/jens.wiklander/linux-tee:
        optee: use export_uuid() to copy client UUID
      
      Link: https://lore.kernel.org/r/20210518100712.GA449561@jade
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      7468bed8
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.13/fixes-pm' of... · 2f3e4eb1
      Olof Johansson authored
      
      Merge tag 'omap-for-v5.13/fixes-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      PM and build warning fixes for omaps
      
      While chasing system suspend related regressions, I noticed few other
      issues related to PM would be good to have fixed:
      
      - UART idling does not always work for hardware autoidle features
      - am335x resume works only the first time unless musb module is loaded
      
      Then there are three patches for omap1 related warnings caused by the gpio
      changes, and one build warning fix for legacy mmc platform code when mmc
      is built as a loadable module.
      
      These can all be merged whenever suitable naturally. I've sent the more
      urgent SATA regression fix separately although it appears in this pull
      request too because of the branches merged.
      
      * tag 'omap-for-v5.13/fixes-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP1: ams-delta: remove unused function ams_delta_camera_power
        bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act
        bus: ti-sysc: Fix am335x resume hang for usb otg module
        ARM: OMAP2+: Fix build warning when mmc_omap is not built
        ARM: OMAP1: isp1301-omap: Add missing gpiod_add_lookup_table function
        ARM: OMAP1: Fix use of possibly uninitialized irq variable
      
      Link: https://lore.kernel.org/r/pull-1622614772-543196@atomide.com
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      2f3e4eb1
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.13/fixes-sata' of... · 94277cb5
      Olof Johansson authored
      
      Merge tag 'omap-for-v5.13/fixes-sata' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Regression fix for TI dra7 SATA not detecting drives
      
      The SATA quirk flags are no missing With recent removal of legacy
      platform data and we need to add the quirk flags to detect drives.
      
      * tag 'omap-for-v5.13/fixes-sata' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        bus: ti-sysc: Fix missing quirk flags for sata
      
      Link: https://lore.kernel.org/r/pull-1622613578-121536@atomide.com
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      94277cb5
    • Olof Johansson's avatar
      Merge tag 'amlogic-fixes-v5.13-rc1' of... · 3091a9e7
      Olof Johansson authored
      
      Merge tag 'amlogic-fixes-v5.13-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/fixes
      
      Amlogic fixes for v5.13-rc1
      - arm64: meson: select COMMON_CLK to select a proper implementation of the clock API
      - soc: amlogic: meson-clk-measure: remove redundant dev_err call in meson_msr_probe()
      
      * tag 'amlogic-fixes-v5.13-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
        arm64: meson: select COMMON_CLK
        soc: amlogic: meson-clk-measure: remove redundant dev_err call in meson_msr_probe()
      
      Link: https://lore.kernel.org/r/73e76706-f3f4-bebf-10dd-d2ec9106a234@baylibre.com
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      3091a9e7
    • Olof Johansson's avatar
      Merge tag 'imx-fixes-5.13' of... · 3a2d3ae0
      Olof Johansson authored
      
      Merge tag 'imx-fixes-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
      
      i.MX fixes for 5.13:
      
      - Fix missing-prototypes warning of 'imx27_pm_init' in i.MX27 platform
        pm code.
      - A couple of patches from Fabio Estevam to fix 'tuning-step' property
        in imx7d-meerkat96 and imx7d-pico DT.
      - Fix '#gpio-cells' of nxp,pca8574 device in imx6qdl-emcon-avari DT.
      - A couple of patches from Lucas Stach to fix regulator and voltage for
        imx8mq-zii-ultra board.
      - Add missing regulators for imx6q-dhcom to avoid possible instability
        issues.
      - Fix memory-controller settings for fsl-ls1028a DT.
      - Fix RGMII clock and voltage for a couple of fsl-ls1028a-kontron-sl28
        boards.
      - Fix RGMII connection to QCA8334 switch for imx6dl-yapp4 board.
      
      * tag 'imx-fixes-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        ARM: dts: imx: emcon-avari: Fix nxp,pca8574 #gpio-cells
        ARM: dts: imx7d-pico: Fix the 'tuning-step' property
        ARM: dts: imx7d-meerkat96: Fix the 'tuning-step' property
        arm64: dts: freescale: sl28: var1: fix RGMII clock and voltage
        arm64: dts: freescale: sl28: var4: fix RGMII clock and voltage
        ARM: imx: pm-imx27: Include "common.h"
        arm64: dts: zii-ultra: fix 12V_MAIN voltage
        arm64: dts: zii-ultra: remove second GEN_3V3 regulator instance
        arm64: dts: ls1028a: fix memory node
        ARM: dts: imx6q-dhcom: Add PU,VDD1P1,VDD2P5 regulators
        ARM: dts: imx6dl-yapp4: Fix RGMII connection to QCA8334 switch
      
      Link: https://lore.kernel.org/r/20210527011758.GD8194@dragon
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      3a2d3ae0
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · e5220dd1
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "13 patches.
      
        Subsystems affected by this patch series: mips, mm (kfence, debug,
        pagealloc, memory-hotplug, hugetlb, kasan, and hugetlb), init, proc,
        lib, ocfs2, and mailmap"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mailmap: use private address for Michel Lespinasse
        ocfs2: fix data corruption by fallocate
        lib: crc64: fix kernel-doc warning
        mm, hugetlb: fix simple resv_huge_pages underflow on UFFDIO_COPY
        mm/kasan/init.c: fix doc warning
        proc: add .gitignore for proc-subset-pid selftest
        hugetlb: pass head page to remove_hugetlb_page()
        drivers/base/memory: fix trying offlining memory blocks with memory holes on aarch64
        mm/page_alloc: fix counting of free pages after take off from buddy
        mm/debug_vm_pgtable: fix alignment for pmd/pud_advanced_tests()
        pid: take a reference when initializing `cad_pid`
        kfence: use TASK_IDLE when awaiting allocation
        Revert "MIPS: make userspace mapping young by default"
      e5220dd1