1. 28 Jul, 2023 22 commits
  2. 27 Jul, 2023 18 commits
    • Linus Torvalds's avatar
      Merge tag 'net-6.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 57012c57
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from can, netfilter.
      
        Current release - regressions:
      
         - core: fix splice_to_socket() for O_NONBLOCK socket
      
         - af_unix: fix fortify_panic() in unix_bind_bsd().
      
         - can: raw: fix lockdep issue in raw_release()
      
        Previous releases - regressions:
      
         - tcp: reduce chance of collisions in inet6_hashfn().
      
         - netfilter: skip immediate deactivate in _PREPARE_ERROR
      
         - tipc: stop tipc crypto on failure in tipc_node_create
      
         - eth: igc: fix kernel panic during ndo_tx_timeout callback
      
         - eth: iavf: fix potential deadlock on allocation failure
      
        Previous releases - always broken:
      
         - ipv6: fix bug where deleting a mngtmpaddr can create a new
           temporary address
      
         - eth: ice: fix memory management in ice_ethtool_fdir.c
      
         - eth: hns3: fix the imp capability bit cannot exceed 32 bits issue
      
         - eth: vxlan: calculate correct header length for GPE
      
         - eth: stmmac: apply redundant write work around on 4.xx too"
      
      * tag 'net-6.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (49 commits)
        tipc: stop tipc crypto on failure in tipc_node_create
        af_unix: Terminate sun_path when bind()ing pathname socket.
        tipc: check return value of pskb_trim()
        benet: fix return value check in be_lancer_xmit_workarounds()
        virtio-net: fix race between set queues and probe
        net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
        splice, net: Fix splice_to_socket() for O_NONBLOCK socket
        net: fec: tx processing does not call XDP APIs if budget is 0
        mptcp: more accurate NL event generation
        selftests: mptcp: join: only check for ip6tables if needed
        tools: ynl-gen: fix parse multi-attr enum attribute
        tools: ynl-gen: fix enum index in _decode_enum(..)
        netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
        netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR
        netfilter: nft_set_rbtree: fix overlap expiration walk
        igc: Fix Kernel Panic during ndo_tx_timeout callback
        net: dsa: qca8k: fix mdb add/del case with 0 VID
        net: dsa: qca8k: fix broken search_and_del
        net: dsa: qca8k: fix search_and_insert wrong handling of new rule
        net: dsa: qca8k: enable use_single_write for qca8xxx
        ...
      57012c57
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · bc168790
      Linus Torvalds authored
      Pull soundwire fixes from Vinod Koul:
      
       - Core fix for enumeration completion
      
       - Qualcomm driver fix to update status
      
       - AMD driver fix for probe error check
      
      * tag 'soundwire-6.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: amd: Fix a check for errors in probe()
        soundwire: qcom: update status correctly with mask
        soundwire: fix enumeration completion
      bc168790
    • Linus Torvalds's avatar
      Merge tag 'phy-fixes-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 53c8621b
      Linus Torvalds authored
      Pull phy fixes from Vinod Koul:
      
       - Out of bound fix for hisilicon phy
      
       - Qualcomm synopsis femto phy for keeping clock enabled during suspend
         and enabling ref clocks
      
       - Mediatek driver fixes for upper limit test and error code
      
      * tag 'phy-fixes-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
        phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
        phy: qcom-snps-femto-v2: use qcom_snps_hsphy_suspend/resume error code
        phy: qcom-snps-femto-v2: properly enable ref clock
        phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend
        phy: mediatek: hdmi: mt8195: fix prediv bad upper limit test
        phy: phy-mtk-dp: Fix an error code in probe()
      53c8621b
    • Linus Torvalds's avatar
      Merge tag 'for-6.5-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 64de76ce
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fix accounting of global block reserve size when block group tree is
         enabled
      
       - the async discard has been enabled in 6.2 unconditionally, but for
         zoned mode it does not make that much sense to do it asynchronously
         as the zones are reset as needed
      
       - error handling and proper error value propagation fixes
      
      * tag 'for-6.5-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: check for commit error at btrfs_attach_transaction_barrier()
        btrfs: check if the transaction was aborted at btrfs_wait_for_commit()
        btrfs: remove BUG_ON()'s in add_new_free_space()
        btrfs: account block group tree when calculating global reserve size
        btrfs: zoned: do not enable async discard
      64de76ce
    • Linus Torvalds's avatar
      Merge tag 'fixes-2023-07-27' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · 379e6671
      Linus Torvalds authored
      Pull memblock fix from Mike Rapoport:
       "A call to memblock_free() or memblock_phys_free() issued after
        memblock data is discarded will result in use after free in
        memblock_isolate_range().
      
        Avoid those issues by making sure that memblock_discard points
        memblock.reserved.regions back at the static buffer"
      
      * tag 'fixes-2023-07-27' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        mm,memblock: reset memblock.reserved to system init state to prevent UAF
      379e6671
    • Jann Horn's avatar
      mm: lock_vma_under_rcu() must check vma->anon_vma under vma lock · 657b5146
      Jann Horn authored
      lock_vma_under_rcu() tries to guarantee that __anon_vma_prepare() can't
      be called in the VMA-locked page fault path by ensuring that
      vma->anon_vma is set.
      
      However, this check happens before the VMA is locked, which means a
      concurrent move_vma() can concurrently call unlink_anon_vmas(), which
      disassociates the VMA's anon_vma.
      
      This means we can get UAF in the following scenario:
      
        THREAD 1                   THREAD 2
        ========                   ========
        <page fault>
          lock_vma_under_rcu()
            rcu_read_lock()
            mas_walk()
            check vma->anon_vma
      
                                   mremap() syscall
                                     move_vma()
                                      vma_start_write()
                                       unlink_anon_vmas()
                                   <syscall end>
      
          handle_mm_fault()
            __handle_mm_fault()
              handle_pte_fault()
                do_pte_missing()
                  do_anonymous_page()
                    anon_vma_prepare()
                      __anon_vma_prepare()
                        find_mergeable_anon_vma()
                          mas_walk() [looks up VMA X]
      
                                   munmap() syscall (deletes VMA X)
      
                          reusable_anon_vma() [called on freed VMA X]
      
      This is a security bug if you can hit it, although an attacker would
      have to win two races at once where the first race window is only a few
      instructions wide.
      
      This patch is based on some previous discussion with Linus Torvalds on
      the security list.
      
      Cc: stable@vger.kernel.org
      Fixes: 5e31275c ("mm: add per-VMA lock and helper functions to control it")
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      657b5146
    • Jason Gunthorpe's avatar
      iommufd: Set end correctly when doing batch carry · b7c822fa
      Jason Gunthorpe authored
      Even though the test suite covers this it somehow became obscured that
      this wasn't working.
      
      The test iommufd_ioas.mock_domain.access_domain_destory would blow up
      rarely.
      
      end should be set to 1 because this just pushed an item, the carry, to the
      pfns list.
      
      Sometimes the test would blow up with:
      
        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] SMP
        CPU: 5 PID: 584 Comm: iommufd Not tainted 6.5.0-rc1-dirty #1236
        Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
        RIP: 0010:batch_unpin+0xa2/0x100 [iommufd]
        Code: 17 48 81 fe ff ff 07 00 77 70 48 8b 15 b7 be 97 e2 48 85 d2 74 14 48 8b 14 fa 48 85 d2 74 0b 40 0f b6 f6 48 c1 e6 04 48 01 f2 <48> 8b 3a 48 c1 e0 06 89 ca 48 89 de 48 83 e7 f0 48 01 c7 e8 96 dc
        RSP: 0018:ffffc90001677a58 EFLAGS: 00010246
        RAX: 00007f7e2646f000 RBX: 0000000000000000 RCX: 0000000000000001
        RDX: 0000000000000000 RSI: 00000000fefc4c8d RDI: 0000000000fefc4c
        RBP: ffffc90001677a80 R08: 0000000000000048 R09: 0000000000000200
        R10: 0000000000030b98 R11: ffffffff81f3bb40 R12: 0000000000000001
        R13: ffff888101f75800 R14: ffffc90001677ad0 R15: 00000000000001fe
        FS:  00007f9323679740(0000) GS:ffff8881ba540000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 0000000000000000 CR3: 0000000105ede003 CR4: 00000000003706a0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
        Call Trace:
         <TASK>
         ? show_regs+0x5c/0x70
         ? __die+0x1f/0x60
         ? page_fault_oops+0x15d/0x440
         ? lock_release+0xbc/0x240
         ? exc_page_fault+0x4a4/0x970
         ? asm_exc_page_fault+0x27/0x30
         ? batch_unpin+0xa2/0x100 [iommufd]
         ? batch_unpin+0xba/0x100 [iommufd]
         __iopt_area_unfill_domain+0x198/0x430 [iommufd]
         ? __mutex_lock+0x8c/0xb80
         ? __mutex_lock+0x6aa/0xb80
         ? xa_erase+0x28/0x30
         ? iopt_table_remove_domain+0x162/0x320 [iommufd]
         ? lock_release+0xbc/0x240
         iopt_area_unfill_domain+0xd/0x10 [iommufd]
         iopt_table_remove_domain+0x195/0x320 [iommufd]
         iommufd_hw_pagetable_destroy+0xb3/0x110 [iommufd]
         iommufd_object_destroy_user+0x8e/0xf0 [iommufd]
         iommufd_device_detach+0xc5/0x140 [iommufd]
         iommufd_selftest_destroy+0x1f/0x70 [iommufd]
         iommufd_object_destroy_user+0x8e/0xf0 [iommufd]
         iommufd_destroy+0x3a/0x50 [iommufd]
         iommufd_fops_ioctl+0xfb/0x170 [iommufd]
         __x64_sys_ioctl+0x40d/0x9a0
         do_syscall_64+0x3c/0x80
         entry_SYSCALL_64_after_hwframe+0x46/0xb0
      
      Link: https://lore.kernel.org/r/3-v1-85aacb2af554+bc-iommufd_syz3_jgg@nvidia.com
      Cc: <stable@vger.kernel.org>
      Fixes: f394576e ("iommufd: PFN handling for iopt_pages")
      Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Tested-by: default avatarNicolin Chen <nicolinc@nvidia.com>
      Reported-by: default avatarNicolin Chen <nicolinc@nvidia.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      b7c822fa
    • Jason Gunthorpe's avatar
      iommufd: IOMMUFD_DESTROY should not increase the refcount · 99f98a7c
      Jason Gunthorpe authored
      syzkaller found a race where IOMMUFD_DESTROY increments the refcount:
      
             obj = iommufd_get_object(ucmd->ictx, cmd->id, IOMMUFD_OBJ_ANY);
             if (IS_ERR(obj))
                     return PTR_ERR(obj);
             iommufd_ref_to_users(obj);
             /* See iommufd_ref_to_users() */
             if (!iommufd_object_destroy_user(ucmd->ictx, obj))
      
      As part of the sequence to join the two existing primitives together.
      
      Allowing the refcount the be elevated without holding the destroy_rwsem
      violates the assumption that all temporary refcount elevations are
      protected by destroy_rwsem. Racing IOMMUFD_DESTROY with
      iommufd_object_destroy_user() will cause spurious failures:
      
        WARNING: CPU: 0 PID: 3076 at drivers/iommu/iommufd/device.c:477 iommufd_access_destroy+0x18/0x20 drivers/iommu/iommufd/device.c:478
        Modules linked in:
        CPU: 0 PID: 3076 Comm: syz-executor.0 Not tainted 6.3.0-rc1-syzkaller #0
        Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/03/2023
        RIP: 0010:iommufd_access_destroy+0x18/0x20 drivers/iommu/iommufd/device.c:477
        Code: e8 3d 4e 00 00 84 c0 74 01 c3 0f 0b c3 0f 1f 44 00 00 f3 0f 1e fa 48 89 fe 48 8b bf a8 00 00 00 e8 1d 4e 00 00 84 c0 74 01 c3 <0f> 0b c3 0f 1f 44 00 00 41 57 41 56 41 55 4c 8d ae d0 00 00 00 41
        RSP: 0018:ffffc90003067e08 EFLAGS: 00010246
        RAX: 0000000000000000 RBX: ffff888109ea0300 RCX: 0000000000000000
        RDX: 0000000000000001 RSI: 0000000000000000 RDI: 00000000ffffffff
        RBP: 0000000000000004 R08: 0000000000000000 R09: ffff88810bbb3500
        R10: ffff88810bbb3e48 R11: 0000000000000000 R12: ffffc90003067e88
        R13: ffffc90003067ea8 R14: ffff888101249800 R15: 00000000fffffffe
        FS:  00007ff7254fe6c0(0000) GS:ffff888237c00000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 0000555557262da8 CR3: 000000010a6fd000 CR4: 0000000000350ef0
        Call Trace:
         <TASK>
         iommufd_test_create_access drivers/iommu/iommufd/selftest.c:596 [inline]
         iommufd_test+0x71c/0xcf0 drivers/iommu/iommufd/selftest.c:813
         iommufd_fops_ioctl+0x10f/0x1b0 drivers/iommu/iommufd/main.c:337
         vfs_ioctl fs/ioctl.c:51 [inline]
         __do_sys_ioctl fs/ioctl.c:870 [inline]
         __se_sys_ioctl fs/ioctl.c:856 [inline]
         __x64_sys_ioctl+0x84/0xc0 fs/ioctl.c:856
         do_syscall_x64 arch/x86/entry/common.c:50 [inline]
         do_syscall_64+0x38/0x80 arch/x86/entry/common.c:80
         entry_SYSCALL_64_after_hwframe+0x63/0xcd
      
      The solution is to not increment the refcount on the IOMMUFD_DESTROY path
      at all. Instead use the xa_lock to serialize everything. The refcount
      check == 1 and xa_erase can be done under a single critical region. This
      avoids the need for any refcount incrementing.
      
      It has the downside that if userspace races destroy with other operations
      it will get an EBUSY instead of waiting, but this is kind of racing is
      already dangerous.
      
      Fixes: 2ff4bed7 ("iommufd: File descriptor, context, kconfig and makefiles")
      Link: https://lore.kernel.org/r/2-v1-85aacb2af554+bc-iommufd_syz3_jgg@nvidia.comReviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Reported-by: syzbot+7574ebfe589049630608@syzkaller.appspotmail.com
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      99f98a7c
    • Ming Lei's avatar
      ublk: return -EINTR if breaking from waiting for existed users in DEL_DEV · 3e9dce80
      Ming Lei authored
      If user interrupts wait_event_interruptible() in ublk_ctrl_del_dev(),
      return -EINTR and let user know what happens.
      
      Fixes: 0abe39de ("block: ublk: improve handling device deletion")
      Reported-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Link: https://lore.kernel.org/r/20230726144502.566785-4-ming.lei@redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      3e9dce80
    • Ming Lei's avatar
      ublk: fail to recover device if queue setup is interrupted · 0c0cbd4e
      Ming Lei authored
      In ublk_ctrl_end_recovery(), if wait_for_completion_interruptible() is
      interrupted by signal, queues aren't setup successfully yet, so we
      have to fail UBLK_CMD_END_USER_RECOVERY, otherwise kernel oops can be
      triggered.
      
      Fixes: c732a852 ("ublk_drv: add START_USER_RECOVERY and END_USER_RECOVERY support")
      Reported-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Link: https://lore.kernel.org/r/20230726144502.566785-3-ming.lei@redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      0c0cbd4e
    • Ming Lei's avatar
      ublk: fail to start device if queue setup is interrupted · 53e7d08f
      Ming Lei authored
      In ublk_ctrl_start_dev(), if wait_for_completion_interruptible() is
      interrupted by signal, queues aren't setup successfully yet, so we
      have to fail UBLK_CMD_START_DEV, otherwise kernel oops can be triggered.
      
      Reported by German when working on qemu-storage-deamon which requires
      single thread ublk daemon.
      
      Fixes: 71f28f31 ("ublk_drv: add io_uring based userspace block driver")
      Reported-by: default avatarGerman Maglione <gmaglione@redhat.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Link: https://lore.kernel.org/r/20230726144502.566785-2-ming.lei@redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      53e7d08f
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v6.5-rc3' of... · 3b9adfbb
      Takashi Iwai authored
      Merge tag 'asoc-fix-v6.5-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v6.5
      
      A collection of device specific fixes, none particularly remarkable.
      There's a set of repetitive fixes for the RealTek drivers fixing an
      issue with suspend that was replicated in multiple drivers.
      3b9adfbb
    • Fedor Pchelkin's avatar
      tipc: stop tipc crypto on failure in tipc_node_create · de52e173
      Fedor Pchelkin authored
      If tipc_link_bc_create() fails inside tipc_node_create() for a newly
      allocated tipc node then we should stop its tipc crypto and free the
      resources allocated with a call to tipc_crypto_start().
      
      As the node ref is initialized to one to that point, just put the ref on
      tipc_link_bc_create() error case that would lead to tipc_node_free() be
      eventually executed and properly clean the node and its crypto resources.
      
      Found by Linux Verification Center (linuxtesting.org).
      
      Fixes: cb8092d7 ("tipc: move bc link creation back to tipc_node_create")
      Suggested-by: default avatarXin Long <lucien.xin@gmail.com>
      Signed-off-by: default avatarFedor Pchelkin <pchelkin@ispras.ru>
      Reviewed-by: default avatarXin Long <lucien.xin@gmail.com>
      Link: https://lore.kernel.org/r/20230725214628.25246-1-pchelkin@ispras.ruSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      de52e173
    • Kuniyuki Iwashima's avatar
      af_unix: Terminate sun_path when bind()ing pathname socket. · ecb4534b
      Kuniyuki Iwashima authored
      kernel test robot reported slab-out-of-bounds access in strlen(). [0]
      
      Commit 06d4c8a8 ("af_unix: Fix fortify_panic() in unix_bind_bsd().")
      removed unix_mkname_bsd() call in unix_bind_bsd().
      
      If sunaddr->sun_path is not terminated by user and we don't enable
      CONFIG_INIT_STACK_ALL_ZERO=y, strlen() will do the out-of-bounds access
      during file creation.
      
      Let's go back to strlen()-with-sockaddr_storage way and pack all 108
      trickiness into unix_mkname_bsd() with bold comments.
      
      [0]:
      BUG: KASAN: slab-out-of-bounds in strlen (lib/string.c:?)
      Read of size 1 at addr ffff000015492777 by task fortify_strlen_/168
      
      CPU: 0 PID: 168 Comm: fortify_strlen_ Not tainted 6.5.0-rc1-00333-g3329b603ebba #16
      Hardware name: linux,dummy-virt (DT)
      Call trace:
       dump_backtrace (arch/arm64/kernel/stacktrace.c:235)
       show_stack (arch/arm64/kernel/stacktrace.c:242)
       dump_stack_lvl (lib/dump_stack.c:107)
       print_report (mm/kasan/report.c:365 mm/kasan/report.c:475)
       kasan_report (mm/kasan/report.c:590)
       __asan_report_load1_noabort (mm/kasan/report_generic.c:378)
       strlen (lib/string.c:?)
       getname_kernel (./include/linux/fortify-string.h:? fs/namei.c:226)
       kern_path_create (fs/namei.c:3926)
       unix_bind (net/unix/af_unix.c:1221 net/unix/af_unix.c:1324)
       __sys_bind (net/socket.c:1792)
       __arm64_sys_bind (net/socket.c:1801)
       invoke_syscall (arch/arm64/kernel/syscall.c:? arch/arm64/kernel/syscall.c:52)
       el0_svc_common (./include/linux/thread_info.h:127 arch/arm64/kernel/syscall.c:147)
       do_el0_svc (arch/arm64/kernel/syscall.c:189)
       el0_svc (./arch/arm64/include/asm/daifflags.h:28 arch/arm64/kernel/entry-common.c:133 arch/arm64/kernel/entry-common.c:144 arch/arm64/kernel/entry-common.c:648)
       el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:?)
       el0t_64_sync (arch/arm64/kernel/entry.S:591)
      
      Allocated by task 168:
       kasan_set_track (mm/kasan/common.c:45 mm/kasan/common.c:52)
       kasan_save_alloc_info (mm/kasan/generic.c:512)
       __kasan_kmalloc (mm/kasan/common.c:383)
       __kmalloc (mm/slab_common.c:? mm/slab_common.c:998)
       unix_bind (net/unix/af_unix.c:257 net/unix/af_unix.c:1213 net/unix/af_unix.c:1324)
       __sys_bind (net/socket.c:1792)
       __arm64_sys_bind (net/socket.c:1801)
       invoke_syscall (arch/arm64/kernel/syscall.c:? arch/arm64/kernel/syscall.c:52)
       el0_svc_common (./include/linux/thread_info.h:127 arch/arm64/kernel/syscall.c:147)
       do_el0_svc (arch/arm64/kernel/syscall.c:189)
       el0_svc (./arch/arm64/include/asm/daifflags.h:28 arch/arm64/kernel/entry-common.c:133 arch/arm64/kernel/entry-common.c:144 arch/arm64/kernel/entry-common.c:648)
       el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:?)
       el0t_64_sync (arch/arm64/kernel/entry.S:591)
      
      The buggy address belongs to the object at ffff000015492700
       which belongs to the cache kmalloc-128 of size 128
      The buggy address is located 0 bytes to the right of
       allocated 119-byte region [ffff000015492700, ffff000015492777)
      
      The buggy address belongs to the physical page:
      page:00000000aeab52ba refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x55492
      anon flags: 0x3fffc0000000200(slab|node=0|zone=0|lastcpupid=0xffff)
      page_type: 0xffffffff()
      raw: 03fffc0000000200 ffff0000084018c0 fffffc00003d0e00 0000000000000005
      raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
      page dumped because: kasan: bad access detected
      
      Memory state around the buggy address:
       ffff000015492600: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
       ffff000015492680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
      >ffff000015492700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 fc
                                                                   ^
       ffff000015492780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
       ffff000015492800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
      
      Fixes: 06d4c8a8 ("af_unix: Fix fortify_panic() in unix_bind_bsd().")
      Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
      Closes: https://lore.kernel.org/netdev/202307262110.659e5e8-oliver.sang@intel.com/Signed-off-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lore.kernel.org/r/20230726190828.47874-1-kuniyu@amazon.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      ecb4534b
    • Yuanjun Gong's avatar
      tipc: check return value of pskb_trim() · e46e06ff
      Yuanjun Gong authored
      goto free_skb if an unexpected result is returned by pskb_tirm()
      in tipc_crypto_rcv_complete().
      
      Fixes: fc1b6d6d ("tipc: introduce TIPC encryption & authentication")
      Signed-off-by: default avatarYuanjun Gong <ruc_gongyuanjun@163.com>
      Reviewed-by: default avatarTung Nguyen <tung.q.nguyen@dektech.com.au>
      Link: https://lore.kernel.org/r/20230725064810.5820-1-ruc_gongyuanjun@163.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      e46e06ff
    • Yuanjun Gong's avatar
      benet: fix return value check in be_lancer_xmit_workarounds() · 5c85f706
      Yuanjun Gong authored
      in be_lancer_xmit_workarounds(), it should go to label 'tx_drop'
      if an unexpected value is returned by pskb_trim().
      
      Fixes: 93040ae5 ("be2net: Fix to trim skb for padded vlan packets to workaround an ASIC Bug")
      Signed-off-by: default avatarYuanjun Gong <ruc_gongyuanjun@163.com>
      Link: https://lore.kernel.org/r/20230725032726.15002-1-ruc_gongyuanjun@163.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      5c85f706
    • Pavel Asyutchenko's avatar
      ALSA: hda/realtek: Support ASUS G713PV laptop · 8019a4ab
      Pavel Asyutchenko authored
      This laptop has CS35L41 amp connected via I2C.
      
      With this patch speakers begin to work if the
      missing _DSD properties are added to ACPI tables.
      Signed-off-by: default avatarPavel Asyutchenko <svenpavel@gmail.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20230726223732.20775-1-svenpavel@gmail.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8019a4ab
    • Demi Marie Obenour's avatar
      xen: speed up grant-table reclaim · c04e9894
      Demi Marie Obenour authored
      When a grant entry is still in use by the remote domain, Linux must put
      it on a deferred list.  Normally, this list is very short, because
      the PV network and block protocols expect the backend to unmap the grant
      first.  However, Qubes OS's GUI protocol is subject to the constraints
      of the X Window System, and as such winds up with the frontend unmapping
      the window first.  As a result, the list can grow very large, resulting
      in a massive memory leak and eventual VM freeze.
      
      To partially solve this problem, make the number of entries that the VM
      will attempt to free at each iteration tunable.  The default is still
      10, but it can be overridden via a module parameter.
      
      This is Cc: stable because (when combined with appropriate userspace
      changes) it fixes a severe performance and stability problem for Qubes
      OS users.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDemi Marie Obenour <demi@invisiblethingslab.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Link: https://lore.kernel.org/r/20230726165354.1252-1-demi@invisiblethingslab.comSigned-off-by: default avatarJuergen Gross <jgross@suse.com>
      c04e9894