Skip to content
  1. Jul 18, 2023
    • Jiapeng Chong's avatar
      security: keys: Modify mismatched function name · 2a415274
      Jiapeng Chong authored
      No functional modification involved.
      
      security/keys/trusted-keys/trusted_tpm2.c:203: warning: expecting prototype for tpm_buf_append_auth(). Prototype was for tpm2_buf_append_auth() instead.
      
      Fixes: 2e19e101
      
       ("KEYS: trusted: Move TPM2 trusted keys code")
      Reported-by: default avatarAbaci Robot <abaci@linux.alibaba.com>
      Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=5524
      Signed-off-by: default avatarJiapeng Chong <jiapeng.chong@linux.alibaba.com>
      Reviewed-by: default avatarPaul Moore <paul@paul-moore.com>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      2a415274
    • Jerry Snitselaar's avatar
      tpm: return false from tpm_amd_is_rng_defective on non-x86 platforms · ecff6813
      Jerry Snitselaar authored
      
      
      tpm_amd_is_rng_defective is for dealing with an issue related to the
      AMD firmware TPM, so on non-x86 architectures just have it inline and
      return false.
      
      Cc: stable@vger.kernel.org # v6.3+
      Reported-by: default avatarSachin Sant <sachinp@linux.ibm.com>
      Reported-by: default avatarAneesh Kumar K. V <aneesh.kumar@linux.ibm.com>
      Closes: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321-CF832B50CAC3@linux.ibm.com/
      Fixes: f1324bbc
      
       ("tpm: disable hwrng for fTPM on some AMD designs")
      Signed-off-by: default avatarJerry Snitselaar <jsnitsel@redhat.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      ecff6813
    • Petr Pavlu's avatar
      keys: Fix linking a duplicate key to a keyring's assoc_array · d5590152
      Petr Pavlu authored
      When making a DNS query inside the kernel using dns_query(), the request
      code can in rare cases end up creating a duplicate index key in the
      assoc_array of the destination keyring. It is eventually found by
      a BUG_ON() check in the assoc_array implementation and results in
      a crash.
      
      Example report:
      [2158499.700025] kernel BUG at ../lib/assoc_array.c:652!
      [2158499.700039] invalid opcode: 0000 [#1] SMP PTI
      [2158499.700065] CPU: 3 PID: 31985 Comm: kworker/3:1 Kdump: loaded Not tainted 5.3.18-150300.59.90-default #1 SLE15-SP3
      [2158499.700096] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
      [2158499.700351] Workqueue: cifsiod cifs_resolve_server [cifs]
      [2158499.700380] RIP: 0010:assoc_array_insert+0x85f/0xa40
      [2158499.700401] Code: ff 74 2b 48 8b 3b 49 8b 45 18 4c 89 e6 48 83 e7 fe e8 95 ec 74 00 3b 45 88 7d db 85 c0 79 d4 0f 0b 0f 0b 0f 0b e8 41 f2 be ff <0f> 0b 0f 0b 81 7d 88 ff ff ff 7f 4c 89 eb 4c 8b ad 58 ff ff ff 0f
      [2158499.700448] RSP: 0018:ffffc0bd6187faf0 EFLAGS: 00010282
      [2158499.700470] RAX: ffff9f1ea7da2fe8 RBX: ffff9f1ea7da2fc1 RCX: 0000000000000005
      [2158499.700492] RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000000
      [2158499.700515] RBP: ffffc0bd6187fbb0 R08: ffff9f185faf1100 R09: 0000000000000000
      [2158499.700538] R10: ffff9f1ea7da2cc0 R11: 000000005ed8cec8 R12: ffffc0bd6187fc28
      [2158499.700561] R13: ffff9f15feb8d000 R14: ffff9f1ea7da2fc0 R15: ffff9f168dc0d740
      [2158499.700585] FS:  0000000000000000(0000) GS:ffff9f185fac0000(0000) knlGS:0000000000000000
      [2158499.700610] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [2158499.700630] CR2: 00007fdd94fca238 CR3: 0000000809d8c006 CR4: 00000000003706e0
      [2158499.700702] Call Trace:
      [2158499.700741]  ? key_alloc+0x447/0x4b0
      [2158499.700768]  ? __key_link_begin+0x43/0xa0
      [2158499.700790]  __key_link_begin+0x43/0xa0
      [2158499.700814]  request_key_and_link+0x2c7/0x730
      [2158499.700847]  ? dns_resolver_read+0x20/0x20 [dns_resolver]
      [2158499.700873]  ? key_default_cmp+0x20/0x20
      [2158499.700898]  request_key_tag+0x43/0xa0
      [2158499.700926]  dns_query+0x114/0x2ca [dns_resolver]
      [2158499.701127]  dns_resolve_server_name_to_ip+0x194/0x310 [cifs]
      [2158499.701164]  ? scnprintf+0x49/0x90
      [2158499.701190]  ? __switch_to_asm+0x40/0x70
      [2158499.701211]  ? __switch_to_asm+0x34/0x70
      [2158499.701405]  reconn_set_ipaddr_from_hostname+0x81/0x2a0 [cifs]
      [2158499.701603]  cifs_resolve_server+0x4b/0xd0 [cifs]
      [2158499.701632]  process_one_work+0x1f8/0x3e0
      [2158499.701658]  worker_thread+0x2d/0x3f0
      [2158499.701682]  ? process_one_work+0x3e0/0x3e0
      [2158499.701703]  kthread+0x10d/0x130
      [2158499.701723]  ? kthread_park+0xb0/0xb0
      [2158499.701746]  ret_from_fork+0x1f/0x40
      
      The situation occurs as follows:
      * Some kernel facility invokes dns_query() to resolve a hostname, for
        example, "abcdef". The function registers its global DNS resolver
        cache as current->cred.thread_keyring and passes the query to
        request_key_net() -> request_key_tag() -> request_key_and_link().
      * Function request_key_and_link() creates a keyring_search_context
        object. Its match_data.cmp method gets set via a call to
        type->match_preparse() (resolves to dns_resolver_match_preparse()) to
        dns_resolver_cmp().
      * Function request_key_and_link() continues and invokes
        search_process_keyrings_rcu() which returns that a given key was not
        found. The control is then passed to request_key_and_link() ->
        construct_alloc_key().
      * Concurrently to that, a second task similarly makes a DNS query for
        "abcdef." and its result gets inserted into the DNS resolver cache.
      * Back on the first task, function construct_alloc_key() first runs
        __key_link_begin() to determine an assoc_array_edit operation to
        insert a new key. Index keys in the array are compared exactly as-is,
        using keyring_compare_object(). The operation finds that "abcdef" is
        not yet present in the destination keyring.
      * Function construct_alloc_key() continues and checks if a given key is
        already present on some keyring by again calling
        search_process_keyrings_rcu(). This search is done using
        dns_resolver_cmp() and "abcdef" gets matched with now present key
        "abcdef.".
      * The found key is linked on the destination keyring by calling
        __key_link() and using the previously calculated assoc_array_edit
        operation. This inserts the "abcdef." key in the array but creates
        a duplicity because the same index key is already present.
      
      Fix the problem by postponing __key_link_begin() in
      construct_alloc_key() until an actual key which should be linked into
      the destination keyring is determined.
      
      [jarkko@kernel.org: added a fixes tag and cc to stable]
      Cc: stable@vger.kernel.org # v5.3+
      Fixes: df593ee2
      
       ("keys: Hoist locking out of __key_link_begin()")
      Signed-off-by: default avatarPetr Pavlu <petr.pavlu@suse.com>
      Reviewed-by: default avatarJoey Lee <jlee@suse.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      d5590152
    • Alexander Sverdlin's avatar
      tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes · 83e7e5d8
      Alexander Sverdlin authored
      Underlying I2C bus drivers not always support longer transfers and
      imx-lpi2c for instance doesn't. The fix is symmetric to previous patch
      which fixed the read direction.
      
      Cc: stable@vger.kernel.org # v5.20+
      Fixes: bbc23a07
      
       ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
      Tested-by: default avatarMichael Haener <michael.haener@siemens.com>
      Signed-off-by: default avatarAlexander Sverdlin <alexander.sverdlin@siemens.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Reviewed-by: default avatarJerry Snitselaar <jsnitsel@redhat.com>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      83e7e5d8
    • Alexander Sverdlin's avatar
      tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes · f3b70b6e
      Alexander Sverdlin authored
      Underlying I2C bus drivers not always support longer transfers and
      imx-lpi2c for instance doesn't. SLB 9673 offers 427-bytes packets.
      
      Visible symptoms are:
      
      tpm tpm0: Error left over data
      tpm tpm0: tpm_transmit: tpm_recv: error -5
      tpm_tis_i2c: probe of 1-002e failed with error -5
      
      Cc: stable@vger.kernel.org # v5.20+
      Fixes: bbc23a07
      
       ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
      Tested-by: default avatarMichael Haener <michael.haener@siemens.com>
      Signed-off-by: default avatarAlexander Sverdlin <alexander.sverdlin@siemens.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Reviewed-by: default avatarJerry Snitselaar <jsnitsel@redhat.com>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      f3b70b6e
    • Peijie Shao's avatar
      tpm_tis_spi: Release chip select when flow control fails · f0afba40
      Peijie Shao authored
      
      
      The failure paths in tpm_tis_spi_transfer() do not deactivate
      chip select. Send an empty message (cs_select == 0) to overcome
      this.
      
      The patch is tested by two ways.
      One way needs to touch hardware:
         1. force pull MISO pin down to GND, it emulates a forever
            'WAIT' timing.
         2. probe cs pin by an oscilloscope.
         3. load tpm_tis_spi.ko.
      After loading, dmesg prints:
          "probe of spi0.0 failed with error -110"
      and oscilloscope shows cs pin goes high(deactivated) after
      the failure. Before the patch, cs pin keeps low.
      
      Second way is by writing a fake spi controller.
         1. implement .transfer_one method, fill all rx buf with 0.
         2. implement .set_cs method, print the state of cs pin.
         we can see cs goes high after the failure.
      
      Signed-off-by: default avatarPeijie Shao <shaopeijie@cestc.cn>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      f0afba40
    • Peter Ujfalusi's avatar
      tpm: tpm_tis: Disable interrupts *only* for AEON UPX-i11 · edb13d7b
      Peter Ujfalusi authored
      Further restrict with DMI_PRODUCT_VERSION.
      
      Cc: stable@vger.kernel.org # v6.4+
      Link: https://lore.kernel.org/linux-integrity/20230517122931.22385-1-peter.ujfalusi@linux.intel.com/
      Fixes: 95a9359e
      
       ("tpm: tpm_tis: Disable interrupts for AEON UPX-i11")
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      edb13d7b
    • Jarkko Sakkinen's avatar
      tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation · f4032d61
      Jarkko Sakkinen authored
      /dev/vtpmx is made visible before 'workqueue' is initialized, which can
      lead to a memory corruption in the worst case scenario.
      
      Address this by initializing 'workqueue' as the very first step of the
      driver initialization.
      
      Cc: stable@vger.kernel.org
      Fixes: 6f99612e
      
       ("tpm: Proxy driver for supporting multiple emulated TPMs")
      Reviewed-by: default avatarStefan Berger <stefanb@linux.ibm.com>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko.sakkinen@tuni.fi>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      f4032d61
  2. Jul 17, 2023
    • Linus Torvalds's avatar
      Linux 6.5-rc2 · fdf0eaf1
      Linus Torvalds authored
      v6.5-rc2
      fdf0eaf1
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20230716' of https://github.com/jcmvbkbc/linux-xtensa · 5b8d6e85
      Linus Torvalds authored
      Pull xtensa fixes from Max Filippov:
      
       - fix interaction between unaligned exception handler and load/store
         exception handler
      
       - fix parsing ISS network interface specification string
      
       - add comment about etherdev freeing to ISS network driver
      
      * tag 'xtensa-20230716' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: fix unaligned and load/store configuration interaction
        xtensa: ISS: fix call to split_if_spec
        xtensa: ISS: add comment about etherdev freeing
      5b8d6e85
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1667e630
      Linus Torvalds authored
      Pull perf fix from Borislav Petkov:
      
       - Fix a lockdep warning when the event given is the first one, no event
         group exists yet but the code still goes and iterates over event
         siblings
      
      * tag 'perf_urgent_for_v6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Fix lockdep warning in for_each_sibling_event() on SPR
      1667e630
    • Linus Torvalds's avatar
      Merge tag 'objtool_urgent_for_v6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8a3e4a64
      Linus Torvalds authored
      Pull objtool fixes from Borislav Petkov:
      
       - Mark copy_iovec_from_user() __noclone in order to prevent gcc from
         doing an inter-procedural optimization and confuse objtool
      
       - Initialize struct elf fully to avoid build failures
      
      * tag 'objtool_urgent_for_v6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        iov_iter: Mark copy_iovec_from_user() noclone
        objtool: initialize all of struct elf
      8a3e4a64
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f61a89ca
      Linus Torvalds authored
      Pull scheduler fixes from Borislav Petkov:
      
       - Remove a cgroup from under a polling process properly
      
       - Fix the idle sibling selection
      
      * tag 'sched_urgent_for_v6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/psi: use kernfs polling functions for PSI trigger polling
        sched/fair: Use recent_used_cpu to test p->cpus_ptr
      f61a89ca
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · ede950b0
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "I'm mostly on vacation but what would vacation be without a few
        critical fixes so people can use their gaming laptops when hiding away
        from the sun (or rain)?
      
         - Fix a really annoying interrupt storm in the AMD driver affecting
           Asus TUF gaming notebooks
      
         - Fix device tree parsing in the Renesas driver"
      
      * tag 'pinctrl-v6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: amd: Unify debounce handling into amd_pinconf_set()
        pinctrl: amd: Drop pull up select configuration
        pinctrl: amd: Use amd_pinconf_set() for all config options
        pinctrl: amd: Only use special debounce behavior for GPIO 0
        pinctrl: renesas: rzg2l: Handle non-unique subnode names
        pinctrl: renesas: rzv2m: Handle non-unique subnode names
      ede950b0
    • Linus Torvalds's avatar
      Merge tag '6.5-rc1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · fe756ad0
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - Two reconnect fixes: important fix to address inFlight count to leak
         (which can leak credits), and fix for better handling a deleted share
      
       - DFS fix
      
       - SMB1 cleanup fix
      
       - deferred close fix
      
      * tag '6.5-rc1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix mid leak during reconnection after timeout threshold
        cifs: is_network_name_deleted should return a bool
        smb: client: fix missed ses refcounting
        smb: client: Fix -Wstringop-overflow issues
        cifs: if deferred close is disabled then close files immediately
      fe756ad0
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 20edcec2
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix Speculation_Store_Bypass reporting in /proc/self/status on
         Power10
      
       - Fix HPT with 4K pages since recent changes by implementing pmd_same()
      
       - Fix 64-bit native_hpte_remove() to be irq-safe
      
      Thanks to Aneesh Kumar K.V, Nageswara R Sastry, and Russell Currey.
      
      * tag 'powerpc-6.5-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/mm/book3s64/hash/4k: Add pmd_same callback for 4K page size
        powerpc/64e: Fix obtool warnings in exceptions-64e.S
        powerpc/security: Fix Speculation_Store_Bypass reporting on Power10
        powerpc/64s: Fix native_hpte_remove() to be irq-safe
      20edcec2
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 6eede068
      Linus Torvalds authored
      Pull hardening fixes from Kees Cook:
      
       - Remove LTO-only suffixes from promoted global function symbols
         (Yonghong Song)
      
       - Remove unused .text..refcount section from vmlinux.lds.h (Petr Pavlu)
      
       - Add missing __always_inline to sparc __arch_xchg() (Arnd Bergmann)
      
       - Claim maintainership of string routines
      
      * tag 'hardening-v6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        sparc: mark __arch_xchg() as __always_inline
        MAINTAINERS: Foolishly claim maintainership of string routines
        kallsyms: strip LTO-only suffixes from promoted global functions
        vmlinux.lds.h: Remove a reference to no longer used sections .text..refcount
      6eede068
    • Linus Torvalds's avatar
      Merge tag 'probes-fixes-v6.5-rc1-2' of... · 4b4eef57
      Linus Torvalds authored
      Merge tag 'probes-fixes-v6.5-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull probe fixes from Masami Hiramatsu:
      
       - fprobe: Add a comment why fprobe will be skipped if another kprobe is
         running in fprobe_kprobe_handler().
      
       - probe-events: Fix some issues related to fetch-arguments:
      
          - Fix double counting of the string length for user-string and
            symstr. This will require longer buffer in the array case.
      
          - Fix not to count error code (minus value) for the total used
            length in array argument. This makes the total used length
            shorter.
      
          - Fix to update dynamic used data size counter only if fetcharg uses
            the dynamic size data. This may mis-count the used dynamic data
            size and corrupt data.
      
          - Revert "tracing: Add "(fault)" name injection to kernel probes"
            because that did not work correctly with a bug, and we agreed the
            current '(fault)' output (instead of '"(fault)"' like a string)
            explains what happened more clearly.
      
          - Fix to record 0-length (means fault access) data_loc data in fetch
            function itself, instead of store_trace_args(). If we record an
            array of string, this will fix to save fault access data on each
            entry of the array correctly.
      
      * tag 'probes-fixes-v6.5-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/probes: Fix to record 0-length data_loc in fetch_store_string*() if fails
        Revert "tracing: Add "(fault)" name injection to kernel probes"
        tracing/probes: Fix to update dynamic data counter if fetcharg uses it
        tracing/probes: Fix not to count error code to total length
        tracing/probes: Fix to avoid double count of the string length on the array
        fprobes: Add a comment why fprobe_kprobe_handler exits if kprobe is running
      4b4eef57
  3. Jul 15, 2023
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 831fe284
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A couple of fairly minor driver specific fixes here, plus a bunch of
        maintainership and admin updates. Nothing too remarkable"
      
      * tag 'spi-fix-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        mailmap: add entry for Jonas Gorski
        MAINTAINERS: add myself for spi-bcm63xx
        spi: s3c64xx: clear loopback bit after loopback test
        spi: bcm63xx: fix max prepend length
        MAINTAINERS: Add myself as a maintainer for Microchip SPI
      831fe284
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 393ea781
      Linus Torvalds authored
      Pull regmap fix from Mark Brown:
       "One fix for an out of bounds access in the interupt code here"
      
      * tag 'regmap-fix-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap-irq: Fix out-of-bounds access when allocating config buffers
      393ea781
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 82678ab2
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - Fix a regression causing a crash on sysfs access of iommu-group
         specific files
      
       - Fix signedness bug in SVA code
      
      * tag 'iommu-fixes-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/sva: Fix signedness bug in iommu_sva_alloc_pasid()
        iommu: Fix crash during syfs iommu_groups/N/type
      82678ab2
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b6e6cc1f
      Linus Torvalds authored
      Pull x86 CFI fixes from Peter Zijlstra:
       "Fix kCFI/FineIBT weaknesses
      
        The primary bug Alyssa noticed was that with FineIBT enabled function
        prologues have a spurious ENDBR instruction:
      
          __cfi_foo:
      	endbr64
      	subl	$hash, %r10d
      	jz	1f
      	ud2
      	nop
          1:
          foo:
      	endbr64 <--- *sadface*
      
        This means that any indirect call that fails to target the __cfi
        symbol and instead targets (the regular old) foo+0, will succeed due
        to that second ENDBR.
      
        Fixing this led to the discovery of a single indirect call that was
        still doing this: ret_from_fork(). Since that's an assembly stub the
        compiler would not generate the proper kCFI indirect call magic and it
        would not get patched.
      
        Brian came up with the most comprehensive fix -- convert the thing to
        C with only a very thin asm wrapper. This ensures the kernel thread
        boostrap is a proper kCFI call.
      
        While discussing all this, Kees noted that kCFI hashes could/should be
        poisoned to seal all functions whose address is never taken, further
        limiting the valid kCFI targets -- much like we already do for IBT.
      
        So what was a 'simple' observation and fix cascaded into a bunch of
        inter-related CFI infrastructure fixes"
      
      * tag 'x86_urgent_for_6.5_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cfi: Only define poison_cfi() if CONFIG_X86_KERNEL_IBT=y
        x86/fineibt: Poison ENDBR at +0
        x86: Rewrite ret_from_fork() in C
        x86/32: Remove schedule_tail_wrapper()
        x86/cfi: Extend ENDBR sealing to kCFI
        x86/alternative: Rename apply_ibt_endbr()
        x86/cfi: Extend {JMP,CAKK}_NOSPEC comment
      b6e6cc1f
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · be522ac7
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a bunch of small driver fixes and a larger rework of zone disk
        handling (which reaches into blk and nvme).
      
        The aacraid array-bounds fix is now critical since the security people
        turned on -Werror for some build tests, which now fail without it"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: storvsc: Handle SRB status value 0x30
        scsi: block: Improve checks in blk_revalidate_disk_zones()
        scsi: block: virtio_blk: Set zone limits before revalidating zones
        scsi: block: nullblk: Set zone limits before revalidating zones
        scsi: nvme: zns: Set zone limits before revalidating zones
        scsi: sd_zbc: Set zone limits before revalidating zones
        scsi: ufs: core: Add support for qTimestamp attribute
        scsi: aacraid: Avoid -Warray-bounds warning
        scsi: ufs: ufs-mediatek: Add dependency for RESET_CONTROLLER
        scsi: ufs: core: Update contact email for monitor sysfs nodes
        scsi: scsi_debug: Remove dead code
        scsi: qla2xxx: Use vmalloc_array() and vcalloc()
        scsi: fnic: Use vmalloc_array() and vcalloc()
        scsi: qla2xxx: Fix error code in qla2x00_start_sp()
        scsi: qla2xxx: Silence a static checker warning
        scsi: lpfc: Fix a possible data race in lpfc_unregister_fcf_rescan()
      be522ac7
    • Linus Torvalds's avatar
      Merge tag 'block-6.5-2023-07-14' of git://git.kernel.dk/linux · b3bd86a0
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
            - Don't require quirk to use duplicate namespace identifiers
              (Christoph, Sagi)
            - One more BOGUS_NID quirk (Pankaj)
            - IO timeout and error hanlding fixes for PCI (Keith)
            - Enhanced metadata format mask fix (Ankit)
            - Association race condition fix for fibre channel (Michael)
            - Correct debugfs error checks (Minjie)
            - Use PAGE_SECTORS_SHIFT where needed (Damien)
            - Reduce kernel logs for legacy nguid attribute (Keith)
            - Use correct dma direction when unmapping metadata (Ming)
      
       - Fix for a flush handling regression in this release (Christoph)
      
       - Fix for batched request time stamping (Chengming)
      
       - Fix for a regression in the mq-deadline position calculation (Bart)
      
       - Lockdep fix for blk-crypto (Eric)
      
       - Fix for a regression in the Amiga partition handling changes
         (Michael)
      
      * tag 'block-6.5-2023-07-14' of git://git.kernel.dk/linux:
        block: queue data commands from the flush state machine at the head
        blk-mq: fix start_time_ns and alloc_time_ns for pre-allocated rq
        nvme-pci: fix DMA direction of unmapping integrity data
        nvme: don't reject probe due to duplicate IDs for single-ported PCIe devices
        block/mq-deadline: Fix a bug in deadline_from_pos()
        nvme: ensure disabling pairs with unquiesce
        nvme-fc: fix race between error recovery and creating association
        nvme-fc: return non-zero status code when fails to create association
        nvme: fix parameter check in nvme_fault_inject_init()
        nvme: warn only once for legacy uuid attribute
        block: remove dead struc request->completion_data field
        nvme: fix the NVME_ID_NS_NVM_STS_MASK definition
        nvmet: use PAGE_SECTORS_SHIFT
        nvme: add BOGUS_NID quirk for Samsung SM953
        blk-crypto: use dynamic lock class for blk_crypto_profile::lock
        block/partition: fix signedness issue for Amiga partitions
      b3bd86a0
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.5-2023-07-14' of git://git.kernel.dk/linux · ec17f164
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Just a single tweak for the wait logic in io_uring"
      
      * tag 'io_uring-6.5-2023-07-14' of git://git.kernel.dk/linux:
        io_uring: Use io_schedule* in cqring wait
      ec17f164
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 2772d7df
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - fix a formatting error in the hwprobe documentation
      
       - fix a spurious warning in the RISC-V PMU driver
      
       - fix memory detection on rv32 (problem does not manifest on any known
         system)
      
       - avoid parsing legacy parsing of I in ACPI ISA strings
      
      * tag 'riscv-for-linus-6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        RISC-V: Don't include Zicsr or Zifencei in I from ACPI
        riscv: mm: fix truncation warning on RV32
        perf: RISC-V: Remove PERF_HES_STOPPED flag checking in riscv_pmu_start()
        Documentation: RISC-V: hwprobe: Fix a formatting error
      2772d7df
    • Linus Torvalds's avatar
      Merge tag 'pm-6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · bde7f150
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix hibernation (after recent changes), frequency QoS and the
        sparc cpufreq driver.
      
        Specifics:
      
         - Unbreak the /sys/power/resume interface after recent changes (Azat
           Khuzhin).
      
         - Allow PM_QOS_DEFAULT_VALUE to be used with frequency QoS (Chungkai
           Yang).
      
         - Remove __init from cpufreq callbacks in the sparc driver, because
           they may be called after initialization too (Viresh Kumar)"
      
      * tag 'pm-6.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: sparc: Don't mark cpufreq callbacks with __init
        PM: QoS: Restore support for default value on frequency QoS
        PM: hibernate: Fix writing maj:min to /sys/power/resume
      bde7f150
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-sleep' and 'pm-qos' · d121758d
      Rafael J. Wysocki authored
      Merge a PM QoS fix and a hibernation fix for 6.5-rc2.
      
       - Unbreak the /sys/power/resume interface after recent changes (Azat
         Khuzhin).
      
       - Allow PM_QOS_DEFAULT_VALUE to be used with frequency QoS (Chungkai
         Yang).
      
      * pm-sleep:
        PM: hibernate: Fix writing maj:min to /sys/power/resume
      
      * pm-qos:
        PM: QoS: Restore support for default value on frequency QoS
      d121758d
    • Shyam Prasad N's avatar
      cifs: fix mid leak during reconnection after timeout threshold · 69cba9d3
      Shyam Prasad N authored
      When the number of responses with status of STATUS_IO_TIMEOUT
      exceeds a specified threshold (NUM_STATUS_IO_TIMEOUT), we reconnect
      the connection. But we do not return the mid, or the credits
      returned for the mid, or reduce the number of in-flight requests.
      
      This bug could result in the server->in_flight count to go bad,
      and also cause a leak in the mids.
      
      This change moves the check to a few lines below where the
      response is decrypted, even of the response is read from the
      transform header. This way, the code for returning the mids
      can be reused.
      
      Also, the cifs_reconnect was reconnecting just the transport
      connection before. In case of multi-channel, this may not be
      what we want to do after several timeouts. Changed that to
      reconnect the session and the tree too.
      
      Also renamed NUM_STATUS_IO_TIMEOUT to a more appropriate name
      MAX_STATUS_IO_TIMEOUT.
      
      Fixes: 8e670f77
      
       ("Handle STATUS_IO_TIMEOUT gracefully")
      Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      69cba9d3
    • Shyam Prasad N's avatar
      cifs: is_network_name_deleted should return a bool · c071b34f
      Shyam Prasad N authored
      
      
      Currently, is_network_name_deleted and it's implementations
      do not return anything if the network name did get deleted.
      So the function doesn't fully achieve what it advertizes.
      
      Changed the function to return a bool instead. It will now
      return true if the error returned is STATUS_NETWORK_NAME_DELETED
      and the share (tree id) was found to be connected. It returns
      false otherwise.
      
      Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
      Acked-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      c071b34f
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-07-14-1' of git://anongit.freedesktop.org/drm/drm · 3a97a299
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "There were a bunch of fixes lined up for 2 weeks, so we have quite a
        few scattered fixes, mostly amdgpu and i915, but ttm has a bunch and
        nouveau makes an appearance.
      
        So a bit busier than usual for rc2, but nothing seems out of the
        ordinary.
      
        fbdev:
         - dma: Fix documented default preferred_bpp value
      
        ttm:
         - fix warning that we shouldn't mix && and ||
         - never consider pinned BOs for eviction&swap
         - Don't leak a resource on eviction error
         - Don't leak a resource on swapout move error
         - fix bulk_move corruption when adding a entry
      
        client:
         - Send hotplug event after registering a client
      
        dma-buf:
         - keep the signaling time of merged fences v3
         - fix an error pointer vs NULL bug
      
        sched:
         - wait for all deps in kill jobs
         - call set fence parent from scheduled
      
        i915:
         - Don't preserve dpll_hw_state for slave crtc in Bigjoiner
         - Consider OA buffer boundary when zeroing out reports
         - Remove dead code from gen8_pte_encode
         - Fix one wrong caching mode enum usage
      
        amdgpu:
         - SMU i2c locking fix
         - Fix a possible deadlock in process restoration for ROCm apps
         - Disable PCIe lane/speed switching on Intel platforms (the platforms
           don't support it)
      
        nouveau:
         - disp: fix HDMI on gt215+
         - disp/g94: enable HDMI
         - acr: Abort loading ACR if no firmware was found
         - bring back blit subchannel for pre nv50 GPUs
         - Fix drm_dp_remove_payload() invocation
      
        ivpu:
         - Fix VPU register access in irq disable
         - Clear specific interrupt status bits on C0
      
        bridge:
         - dw_hdmi: fix connector access for scdc
         - ti-sn65dsi86: Fix auxiliary bus lifetime
      
        panel:
         - simple: Add connector_type for innolux_at043tn24
         - simple: Add Powertip PH800480T013 drm_display_mode flags"
      
      * tag 'drm-fixes-2023-07-14-1' of git://anongit.freedesktop.org/drm/drm: (32 commits)
        drm/nouveau: bring back blit subchannel for pre nv50 GPUs
        drm/nouveau/acr: Abort loading ACR if no firmware was found
        drm/amd: Align SMU11 SMU_MSG_OverridePcieParameters implementation with SMU13
        drm/amd: Move helper for dynamic speed switch check out of smu13
        drm/amd/pm: conditionally disable pcie lane/speed switching for SMU13
        drm/amd/pm: share the code around SMU13 pcie parameters update
        drm/amdgpu: avoid restore process run into dead loop.
        drm/amd/pm: fix smu i2c data read risk
        drm/nouveau/disp/g94: enable HDMI
        drm/nouveau/disp: fix HDMI on gt215+
        drm/client: Send hotplug event after registering a client
        drm/i915: Fix one wrong caching mode enum usage
        drm/i915: Remove dead code from gen8_pte_encode
        drm/i915/perf: Consider OA buffer boundary when zeroing out reports
        drm/i915: Don't preserve dpll_hw_state for slave crtc in Bigjoiner
        drm/ttm: never consider pinned BOs for eviction&swap
        drm/fbdev-dma: Fix documented default preferred_bpp value
        dma-buf: fix an error pointer vs NULL bug
        accel/ivpu: Clear specific interrupt status bits on C0
        accel/ivpu: Fix VPU register access in irq disable
        ...
      3a97a299
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.5-rc2' of https://github.com/ceph/ceph-client · ddbd9161
      Linus Torvalds authored
      Pull ceph fix from Ilya Dryomov:
       "A fix to prevent a potential buffer overrun in the messenger, marked
        for stable"
      
      * tag 'ceph-for-6.5-rc2' of https://github.com/ceph/ceph-client:
        libceph: harden msgr2.1 frame segment length checks
      ddbd9161
  4. Jul 14, 2023
    • Christoph Hellwig's avatar
      block: queue data commands from the flush state machine at the head · 9f87fc4d
      Christoph Hellwig authored
      We used to insert the data commands following a pre-flush to the head
      of the queue until commit 1e82fadf ("blk-mq: do not do head insertions
      post-pre-flush commands").  Not doing this seems to cause hangs of
      such commands on NFS workloads when exported from file systems with
      SATA SSDs.  I have no idea why this would starve these workloads,
      but doing a semantic revert of this patch (which looks quite different
      due to various other changes) fixes the hangs.
      
      Fixes: 1e82fadf
      
       ("blk-mq: do not do head insertions post-pre-flush commands")
      Reported-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Tested-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Link: https://lore.kernel.org/r/20230714143014.11879-1-hch@lst.de
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      9f87fc4d
    • Dan Carpenter's avatar
      iommu/sva: Fix signedness bug in iommu_sva_alloc_pasid() · c20ecf7b
      Dan Carpenter authored
      The ida_alloc_range() function returns negative error codes on error.
      On success it returns values in the min to max range (inclusive).  It
      never returns more then INT_MAX even if "max" is higher.  It never
      returns values in the 0 to (min - 1) range.
      
      The bug is that "min" is an unsigned int so negative error codes will
      be promoted to high positive values errors treated as success.
      
      Fixes: 1a14bf0f
      
       ("iommu/sva: Use GFP_KERNEL for pasid allocation")
      Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
      Reviewed-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Link: https://lore.kernel.org/r/6b32095d-7491-4ebb-a850-12e96209eaaf@kili.mountain
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      c20ecf7b
    • Jason Gunthorpe's avatar
      iommu: Fix crash during syfs iommu_groups/N/type · 911476ef
      Jason Gunthorpe authored
      The err_restore_domain flow was accidently inserted into the success path
      in commit 1000dccd ("iommu: Allow IOMMU_RESV_DIRECT to work on
      ARM"). It should only happen if iommu_create_device_direct_mappings()
      fails. This caused the domains the be wrongly changed and freed whenever
      the sysfs is used, resulting in an oops:
      
        BUG: kernel NULL pointer dereference, address: 0000000000000000
        #PF: supervisor read access in kernel mode
        #PF: error_code(0x0000) - not-present page
        PGD 0 P4D 0
        Oops: 0000 [#1] PREEMPT SMP NOPTI
        CPU: 1 PID: 3417 Comm: avocado Not tainted 6.4.0-rc4-next-20230602 #3
        Hardware name: Dell Inc. PowerEdge R6515/07PXPY, BIOS 2.3.6 07/06/2021
        RIP: 0010:__iommu_attach_device+0xc/0xa0
        Code: c0 c3 cc cc cc cc 48 89 f0 c3 cc cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 41 54 55 48 8b 47 08 <48> 8b 00 48 85 c0 74 74 48 89 f5 e8 64 12 49 00 41 89 c4 85 c0 74
        RSP: 0018:ffffabae0220bd48 EFLAGS: 00010246
        RAX: 0000000000000000 RBX: ffff9ac04f70e410 RCX: 0000000000000001
        RDX: ffff9ac044db20c0 RSI: ffff9ac044fa50d0 RDI: ffff9ac04f70e410
        RBP: ffff9ac044fa50d0 R08: 1000000100209001 R09: 00000000000002dc
        R10: 0000000000000000 R11: 0000000000000000 R12: ffff9ac043d54700
        R13: ffff9ac043d54700 R14: 0000000000000001 R15: 0000000000000001
        FS:  00007f02e30ae000(0000) GS:ffff9afeb2440000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 0000000000000000 CR3: 000000012afca006 CR4: 0000000000770ee0
        PKRU: 55555554
        Call Trace:
         <TASK>
         ? __die+0x24/0x70
         ? page_fault_oops+0x82/0x150
         ? __iommu_queue_command_sync+0x80/0xc0
         ? exc_page_fault+0x69/0x150
         ? asm_exc_page_fault+0x26/0x30
         ? __iommu_attach_device+0xc/0xa0
         ? __iommu_attach_device+0x1c/0xa0
         __iommu_device_set_domain+0x42/0x80
         __iommu_group_set_domain_internal+0x5d/0x160
         iommu_setup_default_domain+0x318/0x400
         iommu_group_store_type+0xb1/0x200
         kernfs_fop_write_iter+0x12f/0x1c0
         vfs_write+0x2a2/0x3b0
         ksys_write+0x63/0xe0
         do_syscall_64+0x3f/0x90
         entry_SYSCALL_64_after_hwframe+0x6e/0xd8
        RIP: 0033:0x7f02e2f14a6f
      
      Reorganize the error flow so that the success branch and error branches
      are clearer.
      
      Fixes: 1000dccd
      
       ("iommu: Allow IOMMU_RESV_DIRECT to work on ARM")
      Reported-by: default avatarDheeraj Kumar Srivastava <dheerajkumar.srivastava@amd.com>
      Tested-by: default avatarVasant Hegde <vasant.hegde@amd.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Reviewed-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Link: https://lore.kernel.org/r/0-v1-5bd8cc969d9e+1f1-iommu_set_def_fix_jgg@nvidia.com
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      911476ef
    • Masami Hiramatsu (Google)'s avatar
      tracing/probes: Fix to record 0-length data_loc in fetch_store_string*() if fails · 797311bc
      Masami Hiramatsu (Google) authored
      Fix to record 0-length data to data_loc in fetch_store_string*() if it fails
      to get the string data.
      Currently those expect that the data_loc is updated by store_trace_args() if
      it returns the error code. However, that does not work correctly if the
      argument is an array of strings. In that case, store_trace_args() only clears
      the first entry of the array (which may have no error) and leaves other
      entries. So it should be cleared by fetch_store_string*() itself.
      Also, 'dyndata' and 'maxlen' in store_trace_args() should be updated
      only if it is used (ret > 0 and argument is a dynamic data.)
      
      Link: https://lore.kernel.org/all/168908496683.123124.4761206188794205601.stgit@devnote2/
      
      Fixes: 40b53b77
      
       ("tracing: probeevent: Add array type support")
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      797311bc
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.5-2023-07-12' of... · 38d88d5e
      Dave Airlie authored
      
      Merge tag 'amd-drm-fixes-6.5-2023-07-12' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-6.5-2023-07-12:
      
      amdgpu:
      - SMU i2c locking fix
      - Fix a possible deadlock in process restoration for ROCm apps
      - Disable PCIe lane/speed switching on Intel platforms (the platforms don't support it)
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230712184009.7740-1-alexander.deucher@amd.com
      38d88d5e
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2023-07-13' of... · 864e029f
      Dave Airlie authored
      
      Merge tag 'drm-intel-fixes-2023-07-13' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      - Don't preserve dpll_hw_state for slave crtc in Bigjoiner (Stanislav Lisovskiy)
      - Consider OA buffer boundary when zeroing out reports [perf] (Umesh Nerlige Ramappa)
      - Remove dead code from gen8_pte_encode (Tvrtko Ursulin)
      - Fix one wrong caching mode enum usage (Tvrtko Ursulin)
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ZK+nHLCltaxoxVw/@tursulin-desk
      864e029f
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2023-07-13' of ssh://git.freedesktop.org/git/drm/drm-misc into drm-fixes · b7a57386
      Dave Airlie authored
      
      
      A couple of nouveau patches addressing improving HDMI support and
      firmware handling, a fix for TTM to skip pinned BO when evicting, and a
      fix for the fbdev documentation.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <mripard@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/nq3ke75juephbex5acfyi5t6bxv22nhmfcpfhru55haj2nv3us@gehrlmjbqgjk
      b7a57386
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-6.5-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · 4b810bf0
      Linus Torvalds authored
      Pull erofs fixes from Gao Xiang:
       "Three patches address regressions related to post-EOF unexpected
        behaviors and fsdax unavailability of chunk-based regular files.
      
        The other two patches mainly get rid of kmap_atomic() and simplify
        z_erofs_transform_plain().
      
         - Fix two unexpected loop cases when reading beyond EOF
      
         - Fix fsdax unavailability for chunk-based regular files
      
         - Get rid of the remaining kmap_atomic()
      
         - Minor cleanups"
      
      * tag 'erofs-for-6.5-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: fix fsdax unavailability for chunk-based regular files
        erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF
        erofs: avoid useless loops in z_erofs_pcluster_readmore() when reading beyond EOF
        erofs: simplify z_erofs_transform_plain()
        erofs: get rid of the remaining kmap_atomic()
      4b810bf0