1. 03 Jun, 2023 5 commits
  2. 02 Jun, 2023 17 commits
  3. 01 Jun, 2023 18 commits
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.4-2023-05-31' of... · f9e94d6c
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.4-2023-05-31' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-6.4-2023-05-31:
      
      amdgpu:
      - Fix mclk and fclk output ordering on some APUs
      - Fix display regression with 5K VRR
      - VCN, JPEG spurious interrupt warning fixes
      - Fix SI DPM on some ARM64 platforms
      - Fix missing TMZ enablement on GC 11.0.1
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230601033846.7628-1-alexander.deucher@amd.com
      f9e94d6c
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 9e87b63e
      Linus Torvalds authored
      Pull fbdev fixes from Helge Deller:
       "Most notable is a fix for a null-ptr-deref in fbcon's soft_cursor
        function which was found by syzbot.
      
         - Fix null-ptr-deref in soft_cursor
      
         - various remove callback conversions
      
         - error path fixes in imsttfb"
      
      * tag 'fbdev-for-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        fbdev: bw2: Convert to platform remove callback returning void
        fbdev: broadsheetfb: Convert to platform remove callback returning void
        fbdev: au1200fb: Convert to platform remove callback returning void
        fbdev: au1100fb: Convert to platform remove callback returning void
        fbdev: arcfb: Convert to platform remove callback returning void
        fbdev: au1100fb: Drop if with an always false condition
        fbcon: Fix null-ptr-deref in soft_cursor
        fbdev: imsttfb: Fix error path of imsttfb_probe()
        fbdev: imsttfb: Release framebuffer and dealloc cmap on error path
        fbdev: matroxfb ssd1307fb: Switch i2c drivers back to use .probe()
      9e87b63e
    • Lucas De Marchi's avatar
      module/decompress: Fix error checking on zstd decompression · fadb74f9
      Lucas De Marchi authored
      While implementing support for in-kernel decompression in kmod,
      finit_module() was returning a very suspicious value:
      
      	finit_module(3, "", MODULE_INIT_COMPRESSED_FILE) = 18446744072717407296
      
      It turns out the check for module_get_next_page() failing is wrong,
      and hence the decompression was not really taking place. Invert
      the condition to fix it.
      
      Fixes: 169a58ad ("module/decompress: Support zstd in-kernel decompression")
      Cc: stable@kernel.org
      Cc: Luis Chamberlain <mcgrof@kernel.org>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Stephen Boyd <swboyd@chromium.org>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      fadb74f9
    • Linus Torvalds's avatar
      Merge tag 'mtd/fixes-for-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · b0e78154
      Linus Torvalds authored
      Pull mtd fixes from Miquel Raynal:
       "MTD core:
         - MAINTAINERS: Add Michal as reviewer instead of Naga
         - mtdchar: Mark bits of ioctl handler noinline
      
        NAND controller drivers:
         - marvell:
             - Don't set the NAND frequency select
             - Ensure timing values are written
         - ingenic: Fix empty stub helper definitions
      
        SPI-NOR core:
         - Fix divide by zero for spi-nor-generic flashes
      
        SPI-NOR manufacturer driver:
         - spansion: make sure local struct does not contain garbage"
      
      * tag 'mtd/fixes-for-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
        mtd: rawnand: marvell: don't set the NAND frequency select
        mtd: rawnand: marvell: ensure timing values are written
        mtdchar: mark bits of ioctl handler noinline
        MAINTAINERS: Add myself as reviewer instead of Naga
        mtd: spi-nor: Fix divide by zero for spi-nor-generic flashes
        mtd: rawnand: ingenic: fix empty stub helper definitions
        mtd: spi-nor: spansion: make sure local struct does not contain garbage
      b0e78154
    • Linus Torvalds's avatar
      Merge tag 'net-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 714069da
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Happy Wear a Dress Day.
      
        Fairly standard-sized batch of fixes, accounting for the lack of
        sub-tree submissions this week. The mlx5 IRQ fixes are notable, people
        were complaining about that. No fires burning.
      
        Current release - regressions:
      
         - eth: mlx5e:
            - multiple fixes for dynamic IRQ allocation
            - prevent encap offload when neigh update is running
      
         - eth: mana: fix perf regression: remove rx_cqes, tx_cqes counters
      
        Current release - new code bugs:
      
         - eth: mlx5e: DR, add missing mutex init/destroy in pattern manager
      
        Previous releases - always broken:
      
         - tcp: deny tcp_disconnect() when threads are waiting
      
         - sched: prevent ingress Qdiscs from getting installed in random
           locations in the hierarchy and moving around
      
         - sched: flower: fix possible OOB write in fl_set_geneve_opt()
      
         - netlink: fix NETLINK_LIST_MEMBERSHIPS length report
      
         - udp6: fix race condition in udp6_sendmsg & connect
      
         - tcp: fix mishandling when the sack compression is deferred
      
         - rtnetlink: validate link attributes set at creation time
      
         - mptcp: fix connect timeout handling
      
         - eth: stmmac: fix call trace when stmmac_xdp_xmit() is invoked
      
         - eth: amd-xgbe: fix the false linkup in xgbe_phy_status
      
         - eth: mlx5e:
            - fix corner cases in internal buffer configuration
            - drain health before unregistering devlink
      
         - usb: qmi_wwan: set DTR quirk for BroadMobi BM818
      
        Misc:
      
         - tcp: return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if
           user_mss set"
      
      * tag 'net-6.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (71 commits)
        mptcp: fix active subflow finalization
        mptcp: add annotations around sk->sk_shutdown accesses
        mptcp: fix data race around msk->first access
        mptcp: consolidate passive msk socket initialization
        mptcp: add annotations around msk->subflow accesses
        mptcp: fix connect timeout handling
        rtnetlink: add the missing IFLA_GRO_ tb check in validate_linkmsg
        rtnetlink: move IFLA_GSO_ tb check to validate_linkmsg
        rtnetlink: call validate_linkmsg in rtnl_create_link
        ice: recycle/free all of the fragments from multi-buffer frame
        net: phy: mxl-gpy: extend interrupt fix to all impacted variants
        net: renesas: rswitch: Fix return value in error path of xmit
        net: dsa: mv88e6xxx: Increase wait after reset deactivation
        net: ipa: Use correct value for IPA_STATUS_SIZE
        tcp: fix mishandling when the sack compression is deferred.
        net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
        sfc: fix error unwinds in TC offload
        net/mlx5: Read embedded cpu after init bit cleared
        net/mlx5e: Fix error handling in mlx5e_refresh_tirs
        net/mlx5: Ensure af_desc.mask is properly initialized
        ...
      714069da
    • Mike Christie's avatar
      fork, vhost: Use CLONE_THREAD to fix freezer/ps regression · f9010dbd
      Mike Christie authored
      When switching from kthreads to vhost_tasks two bugs were added:
      1. The vhost worker tasks's now show up as processes so scripts doing
      ps or ps a would not incorrectly detect the vhost task as another
      process.  2. kthreads disabled freeze by setting PF_NOFREEZE, but
      vhost tasks's didn't disable or add support for them.
      
      To fix both bugs, this switches the vhost task to be thread in the
      process that does the VHOST_SET_OWNER ioctl, and has vhost_worker call
      get_signal to support SIGKILL/SIGSTOP and freeze signals. Note that
      SIGKILL/STOP support is required because CLONE_THREAD requires
      CLONE_SIGHAND which requires those 2 signals to be supported.
      
      This is a modified version of the patch written by Mike Christie
      <michael.christie@oracle.com> which was a modified version of patch
      originally written by Linus.
      
      Much of what depended upon PF_IO_WORKER now depends on PF_USER_WORKER.
      Including ignoring signals, setting up the register state, and having
      get_signal return instead of calling do_group_exit.
      
      Tidied up the vhost_task abstraction so that the definition of
      vhost_task only needs to be visible inside of vhost_task.c.  Making
      it easier to review the code and tell what needs to be done where.
      As part of this the main loop has been moved from vhost_worker into
      vhost_task_fn.  vhost_worker now returns true if work was done.
      
      The main loop has been updated to call get_signal which handles
      SIGSTOP, freezing, and collects the message that tells the thread to
      exit as part of process exit.  This collection clears
      __fatal_signal_pending.  This collection is not guaranteed to
      clear signal_pending() so clear that explicitly so the schedule()
      sleeps.
      
      For now the vhost thread continues to exist and run work until the
      last file descriptor is closed and the release function is called as
      part of freeing struct file.  To avoid hangs in the coredump
      rendezvous and when killing threads in a multi-threaded exec.  The
      coredump code and de_thread have been modified to ignore vhost threads.
      
      Remvoing the special case for exec appears to require teaching
      vhost_dev_flush how to directly complete transactions in case
      the vhost thread is no longer running.
      
      Removing the special case for coredump rendezvous requires either the
      above fix needed for exec or moving the coredump rendezvous into
      get_signal.
      
      Fixes: 6e890c5d ("vhost: use vhost_tasks for worker threads")
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Co-developed-by: default avatarMike Christie <michael.christie@oracle.com>
      Signed-off-by: default avatarMike Christie <michael.christie@oracle.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f9010dbd
    • Paul Moore's avatar
      selinux: don't use make's grouped targets feature yet · 42c4e97e
      Paul Moore authored
      The Linux Kernel currently only requires make v3.82 while the grouped
      target functionality requires make v4.3.  Removed the grouped target
      introduced in 4ce1f694 ("selinux: ensure av_permissions.h is
      built when needed") as well as the multiple header file targets in
      the make rule.  This effectively reverts the problem commit.
      
      We will revisit this change when make >= 4.3 is required by the rest
      of the kernel.
      
      Cc: stable@vger.kernel.org
      Fixes: 4ce1f694 ("selinux: ensure av_permissions.h is built when needed")
      Reported-by: default avatarErwan Velu <e.velu@criteo.com>
      Reported-by: default avatarLuiz Capitulino <luizcap@amazon.com>
      Tested-by: default avatarLuiz Capitulino <luizcap@amazon.com>
      Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
      42c4e97e
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-fixes-2023-05-31' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · a451b8eb
      Jakub Kicinski authored
      Saeed Mahameed says:
      
      ====================
      mlx5 fixes 2023-05-31
      
      This series provides bug fixes to mlx5 driver.
      
      * tag 'mlx5-fixes-2023-05-31' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        net/mlx5: Read embedded cpu after init bit cleared
        net/mlx5e: Fix error handling in mlx5e_refresh_tirs
        net/mlx5: Ensure af_desc.mask is properly initialized
        net/mlx5: Fix setting of irq->map.index for static IRQ case
        net/mlx5: Remove rmap also in case dynamic MSIX not supported
      ====================
      
      Link: https://lore.kernel.org/r/20230601031051.131529-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a451b8eb
    • Jens Axboe's avatar
      Merge tag 'nvme-6.4-2023-06-01' of git://git.infradead.org/nvme into block-6.4 · 2e45a495
      Jens Axboe authored
      Pull NVMe fixes from Keith:
      
      "nvme fixes for Linux 6.4
      
       - Fixes for spurious Keep Alive timeouts (Uday)
       - Fix for command type check on passthrough actions (Min)
       - Fix for nvme command name for error logging (Christoph)"
      
      * tag 'nvme-6.4-2023-06-01' of git://git.infradead.org/nvme:
        nvme: fix the name of Zone Append for verbose logging
        nvme: improve handling of long keep alives
        nvme: check IO start time when deciding to defer KA
        nvme: double KA polling frequency to avoid KATO with TBKAS on
        nvme: fix miss command type check
      2e45a495
    • Ism Hong's avatar
      riscv: perf: Fix callchain parse error with kernel tracepoint events · 9a7e8ec0
      Ism Hong authored
      For RISC-V, when tracing with tracepoint events, the IP and status are
      set to 0, preventing the perf code parsing the callchain and resolving
      the symbols correctly.
      
       ./ply 'tracepoint:kmem/kmem_cache_alloc { @[stack]=count(); }'
       @:
       { <STACKID4294967282> }: 1
      
      The fix is to implement perf_arch_fetch_caller_regs for riscv, which
      fills several necessary registers used for callchain unwinding,
      including epc, sp, s0 and status. It's similar to commit b3eac026
      ("arm: perf: Fix callchain parse error with kernel tracepoint events")
      and commit 5b09a094 ("arm64: perf: Fix callchain parse error with
      kernel tracepoint events").
      
      With this patch, callchain can be parsed correctly as:
      
       ./ply 'tracepoint:kmem/kmem_cache_alloc { @[stack]=count(); }'
       @:
       {
               __traceiter_kmem_cache_alloc+68
               __traceiter_kmem_cache_alloc+68
               kmem_cache_alloc+354
               __sigqueue_alloc+94
               __send_signal_locked+646
               send_signal_locked+154
               do_send_sig_info+84
               __kill_pgrp_info+130
               kill_pgrp+60
               isig+150
               n_tty_receive_signal_char+36
               n_tty_receive_buf_standard+2214
               n_tty_receive_buf_common+280
               n_tty_receive_buf2+26
               tty_ldisc_receive_buf+34
               tty_port_default_receive_buf+62
               flush_to_ldisc+158
               process_one_work+458
               worker_thread+138
               kthread+178
               riscv_cpufeature_patch_func+832
        }: 1
      Signed-off-by: default avatarIsm Hong <ism.hong@gmail.com>
      Link: https://lore.kernel.org/r/20230601095355.1168910-1-ism.hong@gmail.com
      Fixes: 178e9fc4 ("perf: riscv: preliminary RISC-V support")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      9a7e8ec0
    • Jakub Kicinski's avatar
      Merge branch 'mptcp-fixes-for-connect-timeout-access-annotations-and-subflow-init' · 66dd1014
      Jakub Kicinski authored
      Mat Martineau says:
      
      ====================
      mptcp: Fixes for connect timeout, access annotations, and subflow init
      
      Patch 1 allows the SO_SNDTIMEO sockopt to correctly change the connect
      timeout on MPTCP sockets.
      
      Patches 2-5 add READ_ONCE()/WRITE_ONCE() annotations to fix KCSAN issues.
      
      Patch 6 correctly initializes some subflow fields on outgoing connections.
      ====================
      
      Link: https://lore.kernel.org/r/20230531-send-net-20230531-v1-0-47750c420571@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      66dd1014
    • Paolo Abeni's avatar
      mptcp: fix active subflow finalization · 55b47ca7
      Paolo Abeni authored
      Active subflow are inserted into the connection list at creation time.
      When the MPJ handshake completes successfully, a new subflow creation
      netlink event is generated correctly, but the current code wrongly
      avoid initializing a couple of subflow data.
      
      The above will cause misbehavior on a few exceptional events: unneeded
      mptcp-level retransmission on msk-level sequence wrap-around and infinite
      mapping fallback even when a MPJ socket is present.
      
      Address the issue factoring out the needed initialization in a new helper
      and invoking the latter from __mptcp_finish_join() time for passive
      subflow and from mptcp_finish_join() for active ones.
      
      Fixes: 0530020a ("mptcp: track and update contiguous data status")
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      55b47ca7
    • Paolo Abeni's avatar
      mptcp: add annotations around sk->sk_shutdown accesses · 6b9831bf
      Paolo Abeni authored
      Christoph reported the mptcp variant of a recently addressed plain
      TCP issue. Similar to commit e14cadfd ("tcp: add annotations around
      sk->sk_shutdown accesses") add READ/WRITE ONCE annotations to silence
      KCSAN reports around lockless sk_shutdown access.
      
      Fixes: 71ba088c ("mptcp: cleanup accept and poll")
      Reported-by: default avatarChristoph Paasch <cpaasch@apple.com>
      Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/401Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6b9831bf
    • Paolo Abeni's avatar
      mptcp: fix data race around msk->first access · 1b1b43ee
      Paolo Abeni authored
      The first subflow socket is accessed outside the msk socket lock
      by mptcp_subflow_fail(), we need to annotate each write access
      with WRITE_ONCE, but a few spots still lacks it.
      
      Fixes: 76a13b31 ("mptcp: invoke MP_FAIL response when needed")
      Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1b1b43ee
    • Paolo Abeni's avatar
      mptcp: consolidate passive msk socket initialization · 7e8b88ec
      Paolo Abeni authored
      When the msk socket is cloned at MPC handshake time, a few
      fields are initialized in a racy way outside mptcp_sk_clone()
      and the msk socket lock.
      
      The above is due historical reasons: before commit a88d0092
      ("mptcp: simplify subflow_syn_recv_sock()") as the first subflow socket
      carrying all the needed date was not available yet at msk creation
      time
      
      We can now refactor the code moving the missing initialization bit
      under the socket lock, removing the init race and avoiding some
      code duplication.
      
      This will also simplify the next patch, as all msk->first write
      access are now under the msk socket lock.
      
      Fixes: 0397c6d8 ("mptcp: keep unaccepted MPC subflow into join list")
      Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7e8b88ec
    • Paolo Abeni's avatar
      mptcp: add annotations around msk->subflow accesses · 5b825727
      Paolo Abeni authored
      The MPTCP can access the first subflow socket in a few spots
      outside the socket lock scope. That is actually safe, as MPTCP
      will delete the socket itself only after the msk sock close().
      
      Still the such accesses causes a few KCSAN splats, as reported
      by Christoph. Silence the harmless warning adding a few annotation
      around the relevant accesses.
      
      Fixes: 71ba088c ("mptcp: cleanup accept and poll")
      Reported-by: default avatarChristoph Paasch <cpaasch@apple.com>
      Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/402Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5b825727
    • Paolo Abeni's avatar
      mptcp: fix connect timeout handling · 786fc124
      Paolo Abeni authored
      Ondrej reported a functional issue WRT timeout handling on connect
      with a nice reproducer.
      
      The problem is that the current mptcp connect waits for both the
      MPTCP socket level timeout, and the first subflow socket timeout.
      The latter is not influenced/touched by the exposed setsockopt().
      
      Overall the above makes the SO_SNDTIMEO a no-op on connect.
      
      Since mptcp_connect is invoked via inet_stream_connect and the
      latter properly handle the MPTCP level timeout, we can address the
      issue making the nested subflow level connect always unblocking.
      
      This also allow simplifying a bit the code, dropping an ugly hack
      to handle the fastopen and custom proto_ops connect.
      
      The issues predates the blamed commit below, but the current resolution
      requires the infrastructure introduced there.
      
      Fixes: 54f1944e ("mptcp: factor out mptcp_connect()")
      Reported-by: default avatarOndrej Mosnacek <omosnace@redhat.com>
      Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/399
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      786fc124
    • Jakub Kicinski's avatar
      Merge branch 'rtnetlink-a-couple-of-fixes-in-linkmsg-validation' · 3021dbfe
      Jakub Kicinski authored
      Xin Long says:
      
      ====================
      rtnetlink: a couple of fixes in linkmsg validation
      
      validate_linkmsg() was introduced to do linkmsg validation for existing
      links. However, the new created links also need this linkmsg validation.
      
      Add validate_linkmsg() check for link creating in Patch 1, and add more
      tb checks into validate_linkmsg() in Patch 2 and 3.
      ====================
      
      Link: https://lore.kernel.org/r/cover.1685548598.git.lucien.xin@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3021dbfe