Skip to content
  1. Aug 06, 2023
  2. Aug 05, 2023
    • Linus Torvalds's avatar
      Merge tag 'hyperv-fixes-signed-20230804' of... · 024ff300
      Linus Torvalds authored
      Merge tag 'hyperv-fixes-signed-20230804' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv fixes from Wei Liu:
      
       - Fix a bug in a python script for Hyper-V (Ani Sinha)
      
       - Workaround a bug in Hyper-V when IBT is enabled (Michael Kelley)
      
       - Fix an issue parsing MP table when Linux runs in VTL2 (Saurabh
         Sengar)
      
       - Several cleanup patches (Nischala Yelchuri, Kameron Carr, YueHaibing,
         ZhiHu)
      
      * tag 'hyperv-fixes-signed-20230804' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        Drivers: hv: vmbus: Remove unused extern declaration vmbus_ontimer()
        x86/hyperv: add noop functions to x86_init mpparse functions
        vmbus_testing: fix wrong python syntax for integer value comparison
        x86/hyperv: fix a warning in mshyperv.h
        x86/hyperv: Disable IBT when hypercall page lacks ENDBR instruction
        x86/hyperv: Improve code for referencing hyperv_pcpu_input_arg
        Drivers: hv: Change hv_free_hyperv_page() to take void * argument
      024ff300
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · e661f98c
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - A pair of fixes for build-related failures in the selftests
      
       - A fix for a sparse warning in acpi_os_ioremap()
      
       - A fix to restore the kernel PA offset in vmcoreinfo, to fix crash
         handling
      
      * tag 'riscv-for-linus-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        Documentation: kdump: Add va_kernel_pa_offset for RISCV64
        riscv: Export va_kernel_pa_offset in vmcoreinfo
        RISC-V: ACPI: Fix acpi_os_ioremap to return iomem address
        selftests: riscv: Fix compilation error with vstate_exec_nolibc.c
        selftests/riscv: fix potential build failure during the "emit_tests" step
      e661f98c
    • Linus Torvalds's avatar
      Merge tag 'pm-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ea4f142f
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "Fix a sparse warning triggered by the TPMI interface recently added to
        the Intel RAPL power capping driver (Zhang Rui)"
      
      * tag 'pm-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        powercap: intel_rapl: Fix a sparse warning in TPMI interface
      ea4f142f
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · e6fda526
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       "More SVE/SME fixes for ptrace() and for the (potentially future) case
        where SME is implemented in hardware without SVE support"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/fpsimd: Sync and zero pad FPSIMD state for streaming SVE
        arm64/fpsimd: Sync FPSIMD state with SVE for SME only systems
        arm64/ptrace: Don't enable SVE when setting streaming SVE
        arm64/ptrace: Flush FP state when setting ZT0
        arm64/fpsimd: Clear SME state in the target task when setting the VL
      e6fda526
    • Linus Torvalds's avatar
      Merge tag 'mtd/fixes-for-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · c8273a25
      Linus Torvalds authored
      Pull mtd fixes from Miquel Raynal:
       "Raw NAND fixes:
         - fsl_upm: Fix an off-by one test in fun_exec_op()
         - Rockchip:
             - Align hwecc vs. raw page helper layouts
             - Fix oobfree offset and description
         - Meson: Fix OOB available bytes for ECC
         - Omap ELM: Fix incorrect type in assignment
      
        SPI-NOR fix:
         - Avoid holes in struct spi_mem_op
      
        Hyperbus fix:
         - Add Tudor as reviewer in MAINTAINERS
      
        SPI-NAND fixes:
         - Winbond and Toshiba: Fix ecc_get_status"
      
      * tag 'mtd/fixes-for-6.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
        mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op()
        mtd: spi-nor: avoid holes in struct spi_mem_op
        MAINTAINERS: Add myself as reviewer for HYPERBUS
        mtd: rawnand: rockchip: Align hwecc vs. raw page helper layouts
        mtd: rawnand: rockchip: fix oobfree offset and description
        mtd: rawnand: meson: fix OOB available bytes for ECC
        mtd: rawnand: omap_elm: Fix incorrect type in assignment
        mtd: spinand: winbond: Fix ecc_get_status
        mtd: spinand: toshiba: Fix ecc_get_status
      c8273a25
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-08-04' of git://anongit.freedesktop.org/drm/drm · 4142fc67
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Small set of fixes this week, i915 and a few misc ones. I didn't see
        an amd pull so maybe next week it'll have a few more on that driver.
      
        ttm:
         - NULL ptr deref fix
      
        panel:
         - add missing MODULE_DEVICE_TABLE
      
        imx/ipuv3:
         - timing fix
      
        i915:
         - Fix bug in getting msg length in AUX CH registers handler
         - Gen12 AUX invalidation fixes
         - Fix premature release of request's reusable memory"
      
      * tag 'drm-fixes-2023-08-04' of git://anongit.freedesktop.org/drm/drm:
        drm/panel: samsung-s6d7aa0: Add MODULE_DEVICE_TABLE
        drm/i915: Fix premature release of request's reusable memory
        drm/i915/gt: Support aux invalidation on all engines
        drm/i915/gt: Poll aux invalidation register bit on invalidation
        drm/i915/gt: Enable the CCS_FLUSH bit in the pipe control and in the CS
        drm/i915/gt: Rename flags with bit_group_X according to the datasheet
        drm/i915/gt: Ensure memory quiesced before invalidation
        drm/i915: Add the gen12_needs_ccs_aux_inv helper
        drm/i915/gt: Cleanup aux invalidation registers
        drm/i915/gvt: Fix bug in getting msg length in AUX CH registers handler
        drm/imx/ipuv3: Fix front porch adjustment upon hactive aligning
        drm/ttm: check null pointer before accessing when swapping
      4142fc67
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.5-rc5' of https://github.com/ceph/ceph-client · 4593f3c2
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "Two patches to improve RBD exclusive lock interaction with
        osd_request_timeout option and another fix to reduce the potential for
        erroneous blocklisting -- this time in CephFS. All going to stable"
      
      * tag 'ceph-for-6.5-rc5' of https://github.com/ceph/ceph-client:
        libceph: fix potential hang in ceph_osdc_notify()
        rbd: prevent busy loop when requesting exclusive lock
        ceph: defer stopping mdsc delayed_work
      4593f3c2
    • Linus Torvalds's avatar
      file: reinstate f_pos locking optimization for regular files · 79796425
      Linus Torvalds authored
      
      
      In commit 20ea1e7d ("file: always lock position for
      FMODE_ATOMIC_POS") we ended up always taking the file pos lock, because
      pidfd_getfd() could get a reference to the file even when it didn't have
      an elevated file count due to threading of other sharing cases.
      
      But Mateusz Guzik reports that the extra locking is actually measurable,
      so let's re-introduce the optimization, and only force the locking for
      directory traversal.
      
      Directories need the lock for correctness reasons, while regular files
      only need it for "POSIX semantics".  Since pidfd_getfd() is about
      debuggers etc special things that are _way_ outside of POSIX, we can
      relax the rules for that case.
      
      Reported-by: default avatarMateusz Guzik <mjguzik@gmail.com>
      Cc: Christian Brauner <brauner@kernel.org>
      Link: https://lore.kernel.org/linux-fsdevel/20230803095311.ijpvhx3fyrbkasul@f/
      
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      79796425
  3. Aug 04, 2023
  4. Aug 03, 2023
    • Mark Brown's avatar
      arm64/ptrace: Flush FP state when setting ZT0 · 89a65c3f
      Mark Brown authored
      
      
      When setting ZT0 via ptrace we do not currently force a reload of the
      floating point register state from memory, do that to ensure that the newly
      set value gets loaded into the registers on next task execution.
      
      The function was templated off the function for FPSIMD which due to our
      providing the option of embedding a FPSIMD regset within the SVE regset
      does not directly include the flush.
      
      Fixes: f90b529b ("arm64/sme: Implement ZT0 ptrace support")
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20230803-arm64-fix-ptrace-zt0-flush-v1-1-72e854eaf96e@kernel.org
      
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      89a65c3f
    • Mark Brown's avatar
      arm64/fpsimd: Clear SME state in the target task when setting the VL · c9bb40b7
      Mark Brown authored
      
      
      When setting SME vector lengths we clear TIF_SME to reenable SME traps,
      doing a reallocation of the backing storage on next use. We do this using
      clear_thread_flag() which operates on the current thread, meaning that when
      setting the vector length via ptrace we may both not force traps for the
      target task and force a spurious flush of any SME state that the tracing
      task may have.
      
      Clear the flag in the target task.
      
      Fixes: e12310a0 ("arm64/sme: Implement ptrace support for streaming mode SVE registers")
      Reported-by: default avatarDavid Spickett <David.Spickett@arm.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20230803-arm64-fix-ptrace-tif-sme-v1-1-88312fd6fbfd@kernel.org
      
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      c9bb40b7
    • David Howells's avatar
      udp: Fix __ip_append_data()'s handling of MSG_SPLICE_PAGES · 0f71c9ca
      David Howells authored
      
      
      __ip_append_data() can get into an infinite loop when asked to splice into
      a partially-built UDP message that has more than the frag-limit data and up
      to the MTU limit.  Something like:
      
              pipe(pfd);
              sfd = socket(AF_INET, SOCK_DGRAM, 0);
              connect(sfd, ...);
              send(sfd, buffer, 8161, MSG_CONFIRM|MSG_MORE);
              write(pfd[1], buffer, 8);
              splice(pfd[0], 0, sfd, 0, 0x4ffe0ul, 0);
      
      where the amount of data given to send() is dependent on the MTU size (in
      this instance an interface with an MTU of 8192).
      
      The problem is that the calculation of the amount to copy in
      __ip_append_data() goes negative in two places, and, in the second place,
      this gets subtracted from the length remaining, thereby increasing it.
      
      This happens when pagedlen > 0 (which happens for MSG_ZEROCOPY and
      MSG_SPLICE_PAGES), because the terms in:
      
              copy = datalen - transhdrlen - fraggap - pagedlen;
      
      then mostly cancel when pagedlen is substituted for, leaving just -fraggap.
      This causes:
      
              length -= copy + transhdrlen;
      
      to increase the length to more than the amount of data in msg->msg_iter,
      which causes skb_splice_from_iter() to be unable to fill the request and it
      returns less than 'copied' - which means that length never gets to 0 and we
      never exit the loop.
      
      Fix this by:
      
       (1) Insert a note about the dodgy calculation of 'copy'.
      
       (2) If MSG_SPLICE_PAGES, clear copy if it is negative from the above
           equation, so that 'offset' isn't regressed and 'length' isn't
           increased, which will mean that length and thus copy should match the
           amount left in the iterator.
      
       (3) When handling MSG_SPLICE_PAGES, give a warning and return -EIO if
           we're asked to splice more than is in the iterator.  It might be
           better to not give the warning or even just give a 'short' write.
      
      [!] Note that this ought to also affect MSG_ZEROCOPY, but MSG_ZEROCOPY
      avoids the problem by simply assuming that everything asked for got copied,
      not just the amount that was in the iterator.  This is a potential bug for
      the future.
      
      Fixes: 7ac7c987 ("udp: Convert udp_sendpage() to use MSG_SPLICE_PAGES")
      Reported-by: default avatar <syzbot+f527b971b4bdc8e79f9e@syzkaller.appspotmail.com>
      Link: https://lore.kernel.org/r/000000000000881d0606004541d1@google.com/
      
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: David Ahern <dsahern@kernel.org>
      cc: Jens Axboe <axboe@kernel.dk>
      Reviewed-by: default avatarWillem de Bruijn <willemb@google.com>
      Link: https://lore.kernel.org/r/1420063.1690904933@warthog.procyon.org.uk
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0f71c9ca
    • Jakub Kicinski's avatar
      Merge branch 'mlx5-ipsec-fixes' · a2d9831d
      Jakub Kicinski authored
      Leon Romanovsky says:
      
      ====================
      mlx5 IPsec fixes
      
      The following patches are combination of Jianbo's work on IPsec eswitch mode
      together with our internal review toward addition of TCP protocol selectors
      support to IPSec packet offload.
      
      Despite not-being fix, the first patch helps us to make second one more
      clear, so I'm asking to apply it anyway as part of this series.
      ====================
      
      Link: https://lore.kernel.org/r/cover.1690803944.git.leonro@nvidia.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a2d9831d
    • Leon Romanovsky's avatar
      net/mlx5e: Set proper IPsec source port in L4 selector · 62da0833
      Leon Romanovsky authored
      
      
      Fix typo in setup_fte_upper_proto_match() where destination UDP port
      was used instead of source port.
      
      Fixes: a7385187 ("net/mlx5e: IPsec, support upper protocol selector field offload")
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Link: https://lore.kernel.org/r/ffc024a4d192113103f392b0502688366ca88c1f.1690803944.git.leonro@nvidia.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      62da0833
    • Jianbo Liu's avatar
      net/mlx5: fs_core: Skip the FTs in the same FS_TYPE_PRIO_CHAINS fs_prio · c635ca45
      Jianbo Liu authored
      
      
      In the cited commit, new type of FS_TYPE_PRIO_CHAINS fs_prio was added
      to support multiple parallel namespaces for multi-chains. And we skip
      all the flow tables under the fs_node of this type unconditionally,
      when searching for the next or previous flow table to connect for a
      new table.
      
      As this search function is also used for find new root table when the
      old one is being deleted, it will skip the entire FS_TYPE_PRIO_CHAINS
      fs_node next to the old root. However, new root table should be chosen
      from it if there is any table in it. Fix it by skipping only the flow
      tables in the same FS_TYPE_PRIO_CHAINS fs_node when finding the
      closest FT for a fs_node.
      
      Besides, complete the connecting from FTs of previous priority of prio
      because there should be multiple prevs after this fs_prio type is
      introduced. And also the next FT should be chosen from the first flow
      table next to the prio in the same FS_TYPE_PRIO_CHAINS fs_prio, if
      this prio is the first child.
      
      Fixes: 328edb49 ("net/mlx5: Split FDB fast path prio to multiple namespaces")
      Signed-off-by: default avatarJianbo Liu <jianbol@nvidia.com>
      Reviewed-by: default avatarPaul Blakey <paulb@nvidia.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Link: https://lore.kernel.org/r/7a95754df479e722038996c97c97b062b372591f.1690803944.git.leonro@nvidia.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c635ca45
    • Jianbo Liu's avatar
      net/mlx5: fs_core: Make find_closest_ft more generic · 618d28a5
      Jianbo Liu authored
      
      
      As find_closest_ft_recursive is called to find the closest FT, the
      first parameter of find_closest_ft can be changed from fs_prio to
      fs_node. Thus this function is extended to find the closest FT for the
      nodes of any type, not only prios, but also the sub namespaces.
      
      Signed-off-by: default avatarJianbo Liu <jianbol@nvidia.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Link: https://lore.kernel.org/r/d3962c2b443ec8dde7a740dc742a1f052d5e256c.1690803944.git.leonro@nvidia.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      618d28a5
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ec351c8f
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "A couple of platforms get a lone dts fix each:
      
         - SoCFPGA: Fix incorrect I2C property for SCL signal
      
         - Renesas: Fix interrupt names for MTU3 channels on RZ/G2L and
           RZ/V2L.
      
         - Juno/Vexpress: remove a dangling symlink
      
         - at91: sam9x60 SoC detection compatible strings
      
         - nspire: Fix arm primecell compatible string
      
        On the NXP i.MX platform, there multiple issues that get addressed:
      
         - A couple of ARM DTS fixes for i.MX6SLL usbphy and supported CPU
           frequency of sk-imx53 board
      
         - Add missing pull-up for imx8mn-var-som onboard PHY reset pinmux
      
         - A couple of imx8mm-venice fixes from Tim Harvey to diable
           disp_blk_ctrl
      
         - A couple of phycore-imx8mm fixes from Yashwanth Varakala to correct
           VPU label and gpio-line-names
      
         - Fix imx8mp-blk-ctrl driver to register HSIO PLL clock as
           bus_power_dev child, so that runtime PM can translate into the
           necessary GPC power domain action
      
        On the driver side, there are two fixes for tegra memory controller
        drivers addressing regressions from the merge window, a couple of
        minor correctness fixes for SCMI and SMCCC firmware, as well as a
        build fix for an lcd backlight driver"
      
      * tag 'soc-fixes-6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (22 commits)
        backlight: corgi_lcd: fix missing prototype
        memory: tegra: make icc_set_bw return zero if BWMGR not supported
        arm64: dts: renesas: rzg2l: Update overfow/underflow IRQ names for MTU3 channels
        dt-bindings: serial: atmel,at91-usart: update compatible for sam9x60
        ARM: dts: at91: sam9x60: fix the SOC detection
        ARM: dts: nspire: Fix arm primecell compatible string
        firmware: arm_scmi: Fix chan_free cleanup on SMC
        firmware: arm_scmi: Drop OF node reference in the transport channel setup
        soc: imx: imx8mp-blk-ctrl: register HSIO PLL clock as bus_power_dev child
        ARM: dts: nxp/imx: limit sk-imx53 supported frequencies
        firmware: arm_scmi: Fix signed error return values handling
        firmware: smccc: Fix use of uninitialised results structure
        arm64: dts: freescale: Fix VPU G2 clock
        arm64: dts: imx8mn-var-som: add missing pull-up for onboard PHY reset pinmux
        arm64: dts: phycore-imx8mm: Correction in gpio-line-names
        arm64: dts: phycore-imx8mm: Label typo-fix of VPU
        ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
        arm64: dts: imx8mm-venice-gw7904: disable disp_blk_ctrl
        arm64: dts: imx8mm-venice-gw7903: disable disp_blk_ctrl
        arm64: dts: arm: Remove the dangling vexpress-v2m-rs1.dtsi symlink
        ...
      ec351c8f