Skip to content
  1. Nov 13, 2023
    • Dave Chinner's avatar
      xfs: recovery should not clear di_flushiter unconditionally · 7930d9e1
      Dave Chinner authored
      Because on v3 inodes, di_flushiter doesn't exist. It overlaps with
      zero padding in the inode, except when NREXT64=1 configurations are
      in use and the zero padding is no longer padding but holds the 64
      bit extent counter.
      
      This manifests obviously on big endian platforms (e.g. s390) because
      the log dinode is in host order and the overlap is the LSBs of the
      extent count field. It is not noticed on little endian machines
      because the overlap is at the MSB end of the extent count field and
      we need to get more than 2^^48 extents in the inode before it
      manifests. i.e. the heat death of the universe will occur before we
      see the problem in little endian machines.
      
      This is a zero-day issue for NREXT64=1 configuraitons on big endian
      machines. Fix it by only clearing di_flushiter on v2 inodes during
      recovery.
      
      Fixes: 9b7d16e3
      
       ("xfs: Introduce XFS_DIFLAG2_NREXT64 and associated helpers")
      cc: stable@kernel.org # 5.19+
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      7930d9e1
    • Dave Chinner's avatar
      xfs: inode recovery does not validate the recovered inode · 038ca189
      Dave Chinner authored
      
      
      Discovered when trying to track down a weird recovery corruption
      issue that wasn't detected at recovery time.
      
      The specific corruption was a zero extent count field when big
      extent counts are in use, and it turns out the dinode verifier
      doesn't detect that specific corruption case, either. So fix it too.
      
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      038ca189
    • Anthony Iliopoulos's avatar
      xfs: fix again select in kconfig XFS_ONLINE_SCRUB_STATS · a2e4388a
      Anthony Iliopoulos authored
      Commit 57c0f4a8 attempted to fix the select in the kconfig entry
      XFS_ONLINE_SCRUB_STATS by selecting XFS_DEBUG, but the original
      intention was to select DEBUG_FS, since the feature relies on debugfs to
      export the related scrub statistics.
      
      Fixes: 57c0f4a8
      
       ("xfs: fix select in config XFS_ONLINE_SCRUB_STATS")
      
      Reported-by: default avatarHolger Hoffstätte <holger@applied-asynchrony.com>
      Signed-off-by: default avatarAnthony Iliopoulos <ailiop@suse.com>
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      a2e4388a
    • Omar Sandoval's avatar
      xfs: fix internal error from AGFL exhaustion · f63a5b37
      Omar Sandoval authored
      
      
      We've been seeing XFS errors like the following:
      
      XFS: Internal error i != 1 at line 3526 of file fs/xfs/libxfs/xfs_btree.c.  Caller xfs_btree_insert+0x1ec/0x280
      ...
      Call Trace:
       xfs_corruption_error+0x94/0xa0
       xfs_btree_insert+0x221/0x280
       xfs_alloc_fixup_trees+0x104/0x3e0
       xfs_alloc_ag_vextent_size+0x667/0x820
       xfs_alloc_fix_freelist+0x5d9/0x750
       xfs_free_extent_fix_freelist+0x65/0xa0
       __xfs_free_extent+0x57/0x180
      ...
      
      This is the XFS_IS_CORRUPT() check in xfs_btree_insert() when
      xfs_btree_insrec() fails.
      
      After converting this into a panic and dissecting the core dump, I found
      that xfs_btree_insrec() is failing because it's trying to split a leaf
      node in the cntbt when the AG free list is empty. In particular, it's
      failing to get a block from the AGFL _while trying to refill the AGFL_.
      
      If a single operation splits every level of the bnobt and the cntbt (and
      the rmapbt if it is enabled) at once, the free list will be empty. Then,
      when the next operation tries to refill the free list, it allocates
      space. If the allocation does not use a full extent, it will need to
      insert records for the remaining space in the bnobt and cntbt. And if
      those new records go in full leaves, the leaves (and potentially more
      nodes up to the old root) need to be split.
      
      Fix it by accounting for the additional splits that may be required to
      refill the free list in the calculation for the minimum free list size.
      
      P.S. As far as I can tell, this bug has existed for a long time -- maybe
      back to xfs-history commit afdf80ae7405 ("Add XFS_AG_MAXLEVELS macros
      ...") in April 1994! It requires a very unlucky sequence of events, and
      in fact we didn't hit it until a particular sparse mmap workload updated
      from 5.12 to 5.19. But this bug existed in 5.12, so it must've been
      exposed by some other change in allocation or writeback patterns. It's
      also much less likely to be hit with the rmapbt enabled, since that
      increases the minimum free list size and is unlikely to split at the
      same time as the bnobt and cntbt.
      
      Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarOmar Sandoval <osandov@fb.com>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      f63a5b37
    • Leah Rumancik's avatar
      xfs: up(ic_sema) if flushing data device fails · 471de203
      Leah Rumancik authored
      We flush the data device cache before we issue external log IO. If
      the flush fails, we shut down the log immediately and return. However,
      the iclog->ic_sema is left in a decremented state so let's add an up().
      Prior to this patch, xfs/438 would fail consistently when running with
      an external log device:
      
      sync
        -> xfs_log_force
        -> xlog_write_iclog
            -> down(&iclog->ic_sema)
            -> blkdev_issue_flush (fail causes us to intiate shutdown)
                -> xlog_force_shutdown
                -> return
      
      unmount
        -> xfs_log_umount
            -> xlog_wait_iclog_completion
                -> down(&iclog->ic_sema) --------> HANG
      
      There is a second early return / shutdown. Make sure the up() happens
      for it as well. Also make sure we cleanup the iclog state,
      xlog_state_done_syncing, before dropping the iclog lock.
      
      Fixes: b5d721ea ("xfs: external logs need to flush data device")
      Fixes: 842a42d1 ("xfs: shutdown on failure to add page to log bio")
      Fixes: 7d839e32
      
       ("xfs: check return codes when flushing block devices")
      Signed-off-by: default avatarLeah Rumancik <leah.rumancik@gmail.com>
      Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      471de203
    • Christoph Hellwig's avatar
      xfs: only remap the written blocks in xfs_reflink_end_cow_extent · 55f669f3
      Christoph Hellwig authored
      xfs_reflink_end_cow_extent looks up the COW extent and the data fork
      extent at offset_fsb, and then proceeds to remap the common subset
      between the two.
      
      It does however not limit the remapped extent to the passed in
      [*offset_fsbm end_fsb] range and thus potentially remaps more blocks than
      the one handled by the current I/O completion.  This means that with
      sufficiently large data and COW extents we could be remapping COW fork
      mappings that have not been written to, leading to a stale data exposure
      on a powerfail event.
      
      We use to have a xfs_trim_range to make the remap fit the I/O completion
      range, but that got (apparently accidentally) removed in commit
      df2fd88f ("xfs: rewrite xfs_reflink_end_cow to use intents").
      
      Note that I've only found this by code inspection, and a test case would
      probably require very specific delay and error injection.
      
      Fixes: df2fd88f
      
       ("xfs: rewrite xfs_reflink_end_cow to use intents")
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      55f669f3
    • Matthew Wilcox (Oracle)'s avatar
      XFS: Update MAINTAINERS to catch all XFS documentation · 00080503
      Matthew Wilcox (Oracle) authored
      
      
      Assumes that all XFS documentation will be prefixed with xfs-, which
      seems like a good policy anyway.
      
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      00080503
    • Long Li's avatar
      xfs: abort intent items when recovery intents fail · f8f9d952
      Long Li authored
      When recovering intents, we capture newly created intent items as part of
      committing recovered intent items.  If intent recovery fails at a later
      point, we forget to remove those newly created intent items from the AIL
      and hang:
      
          [root@localhost ~]# cat /proc/539/stack
          [<0>] xfs_ail_push_all_sync+0x174/0x230
          [<0>] xfs_unmount_flush_inodes+0x8d/0xd0
          [<0>] xfs_mountfs+0x15f7/0x1e70
          [<0>] xfs_fs_fill_super+0x10ec/0x1b20
          [<0>] get_tree_bdev+0x3c8/0x730
          [<0>] vfs_get_tree+0x89/0x2c0
          [<0>] path_mount+0xecf/0x1800
          [<0>] do_mount+0xf3/0x110
          [<0>] __x64_sys_mount+0x154/0x1f0
          [<0>] do_syscall_64+0x39/0x80
          [<0>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
      
      When newly created intent items fail to commit via transaction, intent
      recovery hasn't created done items for these newly created intent items,
      so the capture structure is the sole owner of the captured intent items.
      We must release them explicitly or else they leak:
      
      unreferenced object 0xffff888016719108 (size 432):
        comm "mount", pid 529, jiffies 4294706839 (age 144.463s)
        hex dump (first 32 bytes):
          08 91 71 16 80 88 ff ff 08 91 71 16 80 88 ff ff  ..q.......q.....
          18 91 71 16 80 88 ff ff 18 91 71 16 80 88 ff ff  ..q.......q.....
        backtrace:
          [<ffffffff8230c68f>] xfs_efi_init+0x18f/0x1d0
          [<ffffffff8230c720>] xfs_extent_free_create_intent+0x50/0x150
          [<ffffffff821b671a>] xfs_defer_create_intents+0x16a/0x340
          [<ffffffff821bac3e>] xfs_defer_ops_capture_and_commit+0x8e/0xad0
          [<ffffffff82322bb9>] xfs_cui_item_recover+0x819/0x980
          [<ffffffff823289b6>] xlog_recover_process_intents+0x246/0xb70
          [<ffffffff8233249a>] xlog_recover_finish+0x8a/0x9a0
          [<ffffffff822eeafb>] xfs_log_mount_finish+0x2bb/0x4a0
          [<ffffffff822c0f4f>] xfs_mountfs+0x14bf/0x1e70
          [<ffffffff822d1f80>] xfs_fs_fill_super+0x10d0/0x1b20
          [<ffffffff81a21fa2>] get_tree_bdev+0x3d2/0x6d0
          [<ffffffff81a1ee09>] vfs_get_tree+0x89/0x2c0
          [<ffffffff81a9f35f>] path_mount+0xecf/0x1800
          [<ffffffff81a9fd83>] do_mount+0xf3/0x110
          [<ffffffff81aa00e4>] __x64_sys_mount+0x154/0x1f0
          [<ffffffff83968739>] do_syscall_64+0x39/0x80
      
      Fix the problem above by abort intent items that don't have a done item
      when recovery intents fail.
      
      Fixes: e6fff81e
      
       ("xfs: proper replay of deferred ops queued during log recovery")
      Signed-off-by: default avatarLong Li <leo.lilong@huawei.com>
      Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      f8f9d952
    • Long Li's avatar
      xfs: factor out xfs_defer_pending_abort · 2a5db859
      Long Li authored
      
      
      Factor out xfs_defer_pending_abort() from xfs_defer_trans_abort(), which
      not use transaction parameter, so it can be used after the transaction
      life cycle.
      
      Signed-off-by: default avatarLong Li <leo.lilong@huawei.com>
      Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
      Signed-off-by: default avatarChandan Babu R <chandanbabu@kernel.org>
      2a5db859
    • Linus Torvalds's avatar
      Linux 6.7-rc1 · b85ea95d
      Linus Torvalds authored
      b85ea95d
    • Miri Korenblit's avatar
      wifi: iwlwifi: fix system commands group ordering · e257da57
      Miri Korenblit authored
      The commands should be sorted inside the group definition.
      Fix the ordering so we won't get following warning:
      WARN_ON(iwl_cmd_groups_verify_sorted(trans_cfg))
      
      Link: https://lore.kernel.org/regressions/2fa930bb-54dd-4942-a88d-05a47c8e9731@gmail.com/
      Link: https://lore.kernel.org/linux-wireless/CAHk-=wix6kqQ5vHZXjOPpZBfM7mMm9bBZxi2Jh7XnaKCqVf94w@mail.gmail.com/
      Fixes: b6e3d1ba
      
       ("wifi: iwlwifi: mvm: implement new firmware API for statistics")
      Tested-by: default avatarNiklāvs Koļesņikovs <pinkflames.linux@gmail.com>
      Tested-by: default avatarDamian Tometzki <damian@riscv-rocks.de>
      Acked-by: default avatarKalle Valo <kvalo@kernel.org>
      Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e257da57
    • Linus Torvalds's avatar
      Merge tag 'parisc-for-6.7-rc1-2' of... · b57b17e8
      Linus Torvalds authored
      Merge tag 'parisc-for-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
      
      Pull parisc architecture fixes from Helge Deller:
      
       - Include the upper 5 address bits when inserting TLB entries on a
         64-bit kernel.
      
         On physical machines those are ignored, but in qemu it's nice to have
         them included and to be correct.
      
       - Stop the 64-bit kernel and show a warning if someone tries to boot on
         a machine with a 32-bit CPU
      
       - Fix a "no previous prototype" warning in parport-gsc
      
      * tag 'parisc-for-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Prevent booting 64-bit kernels on PA1.x machines
        parport: gsc: mark init function static
        parisc/pgtable: Do not drop upper 5 address bits of physical address
      b57b17e8
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.7' of... · 4eeee663
      Linus Torvalds authored
      Merge tag 'loongarch-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - support PREEMPT_DYNAMIC with static keys
      
       - relax memory ordering for atomic operations
      
       - support BPF CPU v4 instructions for LoongArch
      
       - some build and runtime warning fixes
      
      * tag 'loongarch-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        selftests/bpf: Enable cpu v4 tests for LoongArch
        LoongArch: BPF: Support signed mod instructions
        LoongArch: BPF: Support signed div instructions
        LoongArch: BPF: Support 32-bit offset jmp instructions
        LoongArch: BPF: Support unconditional bswap instructions
        LoongArch: BPF: Support sign-extension mov instructions
        LoongArch: BPF: Support sign-extension load instructions
        LoongArch: Add more instruction opcodes and emit_* helpers
        LoongArch/smp: Call rcutree_report_cpu_starting() earlier
        LoongArch: Relax memory ordering for atomic operations
        LoongArch: Mark __percpu functions as always inline
        LoongArch: Disable module from accessing external data directly
        LoongArch: Support PREEMPT_DYNAMIC with static keys
      4eeee663
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 5dd2020f
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Finish a refactor of pgprot_framebuffer() which dependend
         on some changes that were merged via the drm tree
      
       - Fix some kernel-doc warnings to quieten the bots
      
      Thanks to Nathan Lynch and Thomas Zimmermann.
      
      * tag 'powerpc-6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/rtas: Fix ppc_rtas_rmo_buf_show() kernel-doc
        powerpc/pseries/rtas-work-area: Fix rtas_work_area_reserve_arena() kernel-doc
        powerpc/fb: Call internal __phys_mem_access_prot() in fbdev code
        powerpc: Remove file parameter from phys_mem_access_prot()
        powerpc/machdep: Remove trailing whitespaces
      5dd2020f
  2. Nov 12, 2023
    • Linus Torvalds's avatar
      Merge tag '6.7-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · 1b907d05
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - ctime caching fix (for setxattr)
      
       - encryption fix
      
       - DNS resolver mount fix
      
       - debugging improvements
      
       - multichannel fixes including cases where server stops or starts
         supporting multichannel after mount
      
       - reconnect fix
      
       - minor cleanups
      
      * tag '6.7-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update internal module version number for cifs.ko
        cifs: handle when server stops supporting multichannel
        cifs: handle when server starts supporting multichannel
        Missing field not being returned in ioctl CIFS_IOC_GET_MNT_INFO
        smb3: allow dumping session and tcon id to improve stats analysis and debugging
        smb: client: fix mount when dns_resolver key is not available
        smb3: fix caching of ctime on setxattr
        smb3: minor cleanup of session handling code
        cifs: reconnect work should have reference on server struct
        cifs: do not pass cifs_sb when trying to add channels
        cifs: account for primary channel in the interface list
        cifs: distribute channels across interfaces based on speed
        cifs: handle cases where a channel is closed
        smb3: more minor cleanups for session handling routines
        smb3: minor RDMA cleanup
        cifs: Fix encryption of cleared, but unset rq_iter data buffers
      1b907d05
  3. Nov 11, 2023
    • Linus Torvalds's avatar
      Merge tag 'probes-fixes-v6.7-rc1' of... · 3ca112b7
      Linus Torvalds authored
      Merge tag 'probes-fixes-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull probes fixes from Masami Hiramatsu:
      
       - Documentation update: Add a note about argument and return value
         fetching is the best effort because it depends on the type.
      
       - objpool: Fix to make internal global variables static in
         test_objpool.c.
      
       - kprobes: Unify kprobes_exceptions_nofify() prototypes. There are the
         same prototypes in asm/kprobes.h for some architectures, but some of
         them are missing the prototype and it causes a warning. So move the
         prototype into linux/kprobes.h.
      
       - tracing: Fix to check the tracepoint event and return event at
         parsing stage. The tracepoint event doesn't support %return but if
         $retval exists, it will be converted to %return silently. This finds
         that case and rejects it.
      
       - tracing: Fix the order of the descriptions about the parameters of
         __kprobe_event_gen_cmd_start() to be consistent with the argument
         list of the function.
      
      * tag 'probes-fixes-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/kprobes: Fix the order of argument descriptions
        tracing: fprobe-event: Fix to check tracepoint event and return
        kprobes: unify kprobes_exceptions_nofify() prototypes
        lib: test_objpool: make global variables static
        Documentation: tracing: Add a note about argument and retval access
      3ca112b7
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 18553507
      Linus Torvalds authored
      Pull fbdev fixes and cleanups from Helge Deller:
      
       - fix double free and resource leaks in imsttfb
      
       - lots of remove callback cleanups and section mismatch fixes in
         omapfb, amifb and atmel_lcdfb
      
       - error code fix and memparse simplification in omapfb
      
      * tag 'fbdev-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (31 commits)
        fbdev: fsl-diu-fb: mark wr_reg_wa() static
        fbdev: amifb: Convert to platform remove callback returning void
        fbdev: amifb: Mark driver struct with __refdata to prevent section mismatch warning
        fbdev: hyperv_fb: fix uninitialized local variable use
        fbdev: omapfb/tpd12s015: Convert to platform remove callback returning void
        fbdev: omapfb/tfp410: Convert to platform remove callback returning void
        fbdev: omapfb/sharp-ls037v7dw01: Convert to platform remove callback returning void
        fbdev: omapfb/opa362: Convert to platform remove callback returning void
        fbdev: omapfb/hdmi: Convert to platform remove callback returning void
        fbdev: omapfb/dvi: Convert to platform remove callback returning void
        fbdev: omapfb/dsi-cm: Convert to platform remove callback returning void
        fbdev: omapfb/dpi: Convert to platform remove callback returning void
        fbdev: omapfb/analog-tv: Convert to platform remove callback returning void
        fbdev: atmel_lcdfb: Convert to platform remove callback returning void
        fbdev: omapfb/tpd12s015: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/tfp410: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/sharp-ls037v7dw01: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/opa362: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/hdmi: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/dvi: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        ...
      18553507
    • Yujie Liu's avatar
      tracing/kprobes: Fix the order of argument descriptions · f032c53b
      Yujie Liu authored
      The order of descriptions should be consistent with the argument list of
      the function, so "kretprobe" should be the second one.
      
      int __kprobe_event_gen_cmd_start(struct dynevent_cmd *cmd, bool kretprobe,
                                       const char *name, const char *loc, ...)
      
      Link: https://lore.kernel.org/all/20231031041305.3363712-1-yujie.liu@intel.com/
      
      Fixes: 2a588dd1
      
       ("tracing: Add kprobe event command generation functions")
      Suggested-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarYujie Liu <yujie.liu@intel.com>
      Reviewed-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      f032c53b
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-11-10' of git://anongit.freedesktop.org/drm/drm · c0d12d76
      Linus Torvalds authored
      Pull drm fixes from Daniel Vetter:
       "Dave's VPN to the big machine died, so it's on me to do fixes pr this
        and next week while everyone else is at plumbers.
      
         - big pile of amd fixes, but mostly for hw support newly added in 6.7
      
         - i915 fixes, mostly minor things
      
         - qxl memory leak fix
      
         - vc4 uaf fix in mock helpers
      
         - syncobj fix for DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE"
      
      * tag 'drm-next-2023-11-10' of git://anongit.freedesktop.org/drm/drm: (78 commits)
        drm/amdgpu: fix error handling in amdgpu_vm_init
        drm/amdgpu: Fix possible null pointer dereference
        drm/amdgpu: move UVD and VCE sched entity init after sched init
        drm/amdgpu: move kfd_resume before the ip late init
        drm/amd: Explicitly check for GFXOFF to be enabled for s0ix
        drm/amdgpu: Change WREG32_RLC to WREG32_SOC15_RLC where inst != 0 (v2)
        drm/amdgpu: Use correct KIQ MEC engine for gfx9.4.3 (v5)
        drm/amdgpu: add smu v13.0.6 pcs xgmi ras error query support
        drm/amdgpu: fix software pci_unplug on some chips
        drm/amd/display: remove duplicated argument
        drm/amdgpu: correct mca debugfs dump reg list
        drm/amdgpu: correct acclerator check architecutre dump
        drm/amdgpu: add pcs xgmi v6.4.0 ras support
        drm/amdgpu: Change extended-scope MTYPE on GC 9.4.3
        drm/amdgpu: disable smu v13.0.6 mca debug mode by default
        drm/amdgpu: Support multiple error query modes
        drm/amdgpu: refine smu v13.0.6 mca dump driver
        drm/amdgpu: Do not program PF-only regs in hdp_v4_0.c under SRIOV (v2)
        drm/amdgpu: Skip PCTL0_MMHUB_DEEPSLEEP_IB write in jpegv4.0.3 under SRIOV
        drm: amd: Resolve Sphinx unexpected indentation warning
        ...
      c0d12d76
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ac347a06
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       "Mostly PMU fixes and a reworking of the pseudo-NMI disabling on broken
        MediaTek firmware:
      
         - Move the MediaTek GIC quirk handling from irqchip to core. Before
           the merging window commit 44bd78dd ("irqchip/gic-v3: Disable
           pseudo NMIs on MediaTek devices w/ firmware issues") temporarily
           addressed this issue. Fixed now at a deeper level in the arch code
      
         - Reject events meant for other PMUs in the CoreSight PMU driver,
           otherwise some of the core PMU events would disappear
      
         - Fix the Armv8 PMUv3 driver driver to not truncate 64-bit registers,
           causing some events to be invisible
      
         - Remove duplicate declaration of __arm64_sys##name following the
           patch to avoid prototype warning for syscalls
      
         - Typos in the elf_hwcap documentation"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/syscall: Remove duplicate declaration
        Revert "arm64: smp: avoid NMI IPIs with broken MediaTek FW"
        arm64: Move MediaTek GIC quirk handling from irqchip to core
        arm64/arm: arm_pmuv3: perf: Don't truncate 64-bit registers
        perf: arm_cspmu: Reject events meant for other PMUs
        Documentation/arm64: Fix typos in elf_hwcaps
      ac347a06
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · e1d809b3
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes for rc1.
      
        The majority of changes are various ASoC driver-specific small fixes
        and usual HD-audio quirks, while there are a couple of core changes: a
        fix in ALSA core procfs code to avoid deadlocks at disconnection and
        an ASoC core fix for DAPM clock widgets"
      
      * tag 'sound-fix-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        OSS: dmasound/paula: Convert to platform remove callback returning void
        ALSA: hda: ASUS UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus
        ALSA: info: Fix potential deadlock at disconnection
        ASoC: nau8540: Add self recovery to improve capture quility
        ALSA: hda/realtek: Add support dual speaker for Dell
        ALSA: hda: Add ASRock X670E Taichi to denylist
        ALSA: hda/realtek: Add quirk for ASUS UX7602ZM
        ASoC: SOF: sof-client: trivial: fix comment typo
        ASoC: dapm: fix clock get name
        ASoC: hdmi-codec: register hpd callback on component probe
        ASoC: mediatek: mt8186_mt6366_rt1019_rt5682s: trivial: fix error messages
        ASoC: da7219: Improve system suspend and resume handling
        ASoC: codecs: Modify macro value error
        ASoC: codecs: Modify the wrong judgment of re value
        ASoC: codecs: Modify the maximum value of calib
        ASoC: amd: acp: fix for i2s mode register field update
        ASoC: codecs: aw88399: Fix -Wuninitialized in aw_dev_set_vcalb()
        ASoC: rt712-sdca: fix speaker route missing issue
        ASoC: rockchip: Fix unused rockchip_i2s_tdm_match warning for !CONFIG_OF
        ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
      e1d809b3
    • Daniel Vetter's avatar
      Merge tag 'amd-drm-next-6.7-2023-11-10' of https://gitlab.freedesktop.org/agd5f/linux into drm-next · 03df0fc0
      Daniel Vetter authored
      
      
      amd-drm-next-6.7-2023-11-10:
      
      amdgpu:
      - SR-IOV fixes
      - DMCUB fixes
      - DCN3.5 fixes
      - DP2 fixes
      - SubVP fixes
      - SMU14 fixes
      - SDMA4.x fixes
      - Suspend/resume fixes
      - AGP regression fix
      - UAF fixes for some error cases
      - SMU 13.0.6 fixes
      - Documentation fixes
      - RAS fixes
      - Hotplug fixes
      - Scheduling entity ordering fix
      - GPUVM fixes
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20231110190703.4741-1-alexander.deucher@amd.com
      03df0fc0
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.7-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ae4f52a7
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A couple of fixes that came in during the merge window: one Kconfig
        dependency fix and another fix for a long standing issue where a sync
        transfer races with system suspend"
      
      * tag 'spi-fix-v6.7-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: Fix null dereference on suspend
        spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies
      ae4f52a7
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · b456259e
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - Fix broken cache-flush support for Micron eMMCs
         - Revert 'mmc: core: Capture correct oemid-bits for eMMC cards'
      
        MMC host:
         - sdhci_am654: Fix TAP value parsing for legacy speed mode
         - sdhci-pci-gli: Fix support for ASPM mode for GL9755/GL9750
         - vub300: Fix an error path in probe"
      
      * tag 'mmc-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER
        mmc: sdhci-pci-gli: GL9755: Mask the replay timer timeout of AER
        Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
        mmc: vub300: fix an error code
        mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A
        mmc: sdhci_am654: fix start loop index for TAP value parsing
      b456259e
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.7-rc1-fixes' of... · b077b7ee
      Linus Torvalds authored
      Merge tag 'pwm/for-6.7-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm fixes from Thierry Reding:
       "This contains two very small fixes that I failed to include in the
        main pull request"
      
      * tag 'pwm/for-6.7-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: Fix double shift bug
        pwm: samsung: Fix a bit test in pwm_samsung_resume()
      b077b7ee
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.7-2023-11-10' of git://git.kernel.dk/linux · b712075e
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Mostly just a few fixes and cleanups caused by the read multishot
        support.
      
        Outside of that, a stable fix for how a connect retry is done"
      
      * tag 'io_uring-6.7-2023-11-10' of git://git.kernel.dk/linux:
        io_uring: do not clamp read length for multishot read
        io_uring: do not allow multishot read to set addr or len
        io_uring: indicate if io_kbuf_recycle did recycle anything
        io_uring/rw: add separate prep handler for fixed read/write
        io_uring/rw: add separate prep handler for readv/writev
        io_uring/net: ensure socket is marked connected on connect retry
        io_uring/rw: don't attempt to allocate async data if opcode doesn't need it
      b712075e
    • Linus Torvalds's avatar
      Merge tag 'block-6.7-2023-11-10' of git://git.kernel.dk/linux · 4b803784
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
            - nvme keyring config compile fixes (Hannes and Arnd)
            - fabrics keep alive fixes (Hannes)
            - tcp authentication fixes (Mark)
            - io_uring_cmd error handling fix (Anuj)
            - stale firmware attribute fix (Daniel)
            - tcp memory leak (Christophe)
            - crypto library usage simplification (Eric)
      
       - nbd use-after-free fix. May need a followup, but at least it's better
         than what it was before (Li)
      
       - Rate limit write on read-only device warnings (Yu)
      
      * tag 'block-6.7-2023-11-10' of git://git.kernel.dk/linux:
        nvme: keyring: fix conditional compilation
        nvme: common: make keyring and auth separate modules
        blk-core: use pr_warn_ratelimited() in bio_check_ro()
        nbd: fix uaf in nbd_open
        nvme: start keep-alive after admin queue setup
        nvme-loop: always quiesce and cancel commands before destroying admin q
        nvme-tcp: avoid open-coding nvme_tcp_teardown_admin_queue()
        nvme-auth: always set valid seq_num in dhchap reply
        nvme-auth: add flag for bi-directional auth
        nvme-auth: auth success1 msg always includes resp
        nvme: fix error-handling for io_uring nvme-passthrough
        nvme: update firmware version after commit
        nvme-tcp: Fix a memory leak
        nvme-auth: use crypto_shash_tfm_digest()
      4b803784
    • Linus Torvalds's avatar
      Merge tag 'ata-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · d035e4eb
      Linus Torvalds authored
      Pull ata fixes from Damien Le Moal:
      
       - Revert a change in ata_pci_shutdown_one() to suspend disks on
         shutdown as this is now done using the manage_shutdown scsi device
         flag (me)
      
       - Change the pata_falcon and pata_gayle drivers to stop using
         module_platform_driver_probe(). This makes these drivers more inline
         with all other drivers (allowing bind/unbind) and suppress a
         compilation warning (Uwe)
      
       - Convert the pata_falcon and pata_gayle drivers to the new
         .remove_new() void-return callback. These 2 drivers are the last ones
         needing this change (Uwe)
      
      * tag 'ata-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: pata_gayle: Convert to platform remove callback returning void
        ata: pata_falcon: Convert to platform remove callback returning void
        ata: pata_gayle: Stop using module_platform_driver_probe()
        ata: pata_falcon: Stop using module_platform_driver_probe()
        ata: libata-core: Fix ata_pci_shutdown_one()
      d035e4eb
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.7-2023-11-10' of git://git.infradead.org/users/hch/dma-mapping · 391ce5b9
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - don't leave pages decrypted for DMA in encrypted memory setups linger
         around on failure (Petr Tesarik)
      
       - fix an out of bounds access in the new dynamic swiotlb code (Petr
         Tesarik)
      
       - fix dma_addressing_limited for systems with weird physical memory
         layouts (Jia He)
      
      * tag 'dma-mapping-6.7-2023-11-10' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMIC
        dma-mapping: fix dma_addressing_limited() if dma_range_map can't cover all system RAM
        dma-mapping: move dma_addressing_limited() out of line
        swiotlb: do not free decrypted pages if dynamic
      391ce5b9
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20231109' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · ead3b62a
      Linus Torvalds authored
      Pull lsm updates from Paul Moore:
       "We've got two small patches to correct the default return
        value of two LSM hooks: security_vm_enough_memory_mm() and
        security_inode_getsecctx()"
      
      * tag 'lsm-pr-20231109' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: fix default return value for inode_getsecctx
        lsm: fix default return value for vm_enough_memory
      ead3b62a
    • Linus Torvalds's avatar
      Merge tag '6.7-rc-smb3-server-part2' of git://git.samba.org/ksmbd · 826c4841
      Linus Torvalds authored
      Pull smb server fixes from Steve French:
      
       - slab out of bounds fix in ACL handling
      
       - fix malformed request oops
      
       - minor doc fix
      
      * tag '6.7-rc-smb3-server-part2' of git://git.samba.org/ksmbd:
        ksmbd: handle malformed smb1 message
        ksmbd: fix kernel-doc comment of ksmbd_vfs_kern_path_locked()
        ksmbd: fix slab out of bounds write in smb_inherit_dacl()
      826c4841
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.7-rc1' of https://github.com/ceph/ceph-client · e21165bf
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
      
       - support for idmapped mounts in CephFS (Christian Brauner, Alexander
         Mikhalitsyn).
      
         The series was originally developed by Christian and later picked up
         and brought over the finish line by Alexander, who also contributed
         an enabler on the MDS side (separate owner_{u,g}id fields on the
         wire).
      
         The required exports for mnt_idmap_{get,put}() in VFS have been acked
         by Christian and received no objection from Christoph.
      
       - a churny change in CephFS logging to include cluster and client
         identifiers in log and debug messages (Xiubo Li).
      
         This would help in scenarios with dozens of CephFS mounts on the same
         node which are getting increasingly common, especially in the
         Kubernetes world.
      
      * tag 'ceph-for-6.7-rc1' of https://github.com/ceph/ceph-client:
        ceph: allow idmapped mounts
        ceph: allow idmapped atomic_open inode op
        ceph: allow idmapped set_acl inode op
        ceph: allow idmapped setattr inode op
        ceph: pass idmap to __ceph_setattr
        ceph: allow idmapped permission inode op
        ceph: allow idmapped getattr inode op
        ceph: pass an idmapping to mknod/symlink/mkdir
        ceph: add enable_unsafe_idmap module parameter
        ceph: handle idmapped mounts in create_request_message()
        ceph: stash idmapping in mdsc request
        fs: export mnt_idmap_get/mnt_idmap_put
        libceph, ceph: move mdsmap.h to fs/ceph
        ceph: print cluster fsid and client global_id in all debug logs
        ceph: rename _to_client() to _to_fs_client()
        ceph: pass the mdsc to several helpers
        libceph: add doutc and *_client debug macros support
      e21165bf
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.7-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 56d428ae
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
      
       - Support for handling misaligned accesses in S-mode
      
       - Probing for misaligned access support is now properly cached and
         handled in parallel
      
       - PTDUMP now reflects the SW reserved bits, as well as the PBMT and
         NAPOT extensions
      
       - Performance improvements for TLB flushing
      
       - Support for many new relocations in the module loader
      
       - Various bug fixes and cleanups
      
      * tag 'riscv-for-linus-6.7-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (51 commits)
        riscv: Optimize bitops with Zbb extension
        riscv: Rearrange hwcap.h and cpufeature.h
        drivers: perf: Do not broadcast to other cpus when starting a counter
        drivers: perf: Check find_first_bit() return value
        of: property: Add fw_devlink support for msi-parent
        RISC-V: Don't fail in riscv_of_parent_hartid() for disabled HARTs
        riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings
        riscv: Don't use PGD entries for the linear mapping
        RISC-V: Probe misaligned access speed in parallel
        RISC-V: Remove __init on unaligned_emulation_finish()
        RISC-V: Show accurate per-hart isa in /proc/cpuinfo
        RISC-V: Don't rely on positional structure initialization
        riscv: Add tests for riscv module loading
        riscv: Add remaining module relocations
        riscv: Avoid unaligned access when relocating modules
        riscv: split cache ops out of dma-noncoherent.c
        riscv: Improve flush_tlb_kernel_range()
        riscv: Make __flush_tlb_range() loop over pte instead of flushing the whole tlb
        riscv: Improve flush_tlb_range() for hugetlb pages
        riscv: Improve tlb_flush()
        ...
      56d428ae
    • Linus Torvalds's avatar
      Merge tag 'mips_6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 656d88c3
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - removed AR7 platform support
      
       - cleanups and fixes
      
      * tag 'mips_6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: AR7: remove platform
        watchdog: ar7_wdt: remove driver to prepare for platform removal
        vlynq: remove bus driver
        mtd: parsers: ar7: remove support
        serial: 8250: remove AR7 support
        arch: mips: remove ReiserFS from defconfig
        MIPS: lantiq: Remove unnecessary include of <linux/of_irq.h>
        MIPS: lantiq: Fix pcibios_plat_dev_init() "no previous prototype" warning
        MIPS: KVM: Fix a build warning about variable set but not used
        MIPS: Remove dead code in relocate_new_kernel
        mips: dts: ralink: mt7621: rename to GnuBee GB-PC1 and GnuBee GB-PC2
        mips: dts: ralink: mt7621: define each reset as an item
        mips: dts: ingenic: Remove unneeded probe-type properties
        MIPS: loongson32: Remove dma.h and nand.h
      656d88c3
    • Christian König's avatar
      drm/amdgpu: fix error handling in amdgpu_vm_init · 8473bfdc
      Christian König authored
      
      
      When clearing the root PD fails we need to properly release it again.
      
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      8473bfdc
    • Felix Kuehling's avatar
      drm/amdgpu: Fix possible null pointer dereference · 25650307
      Felix Kuehling authored
      mem = bo->tbo.resource may be NULL in amdgpu_vm_bo_update.
      
      Fixes: 18025378
      
       ("drm/ttm: stop allocating dummy resources during BO creation")
      Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      25650307
    • Alex Deucher's avatar
      drm/amdgpu: move UVD and VCE sched entity init after sched init · 037b98a2
      Alex Deucher authored
      We need kernel scheduling entities to deal with handle clean up
      if apps are not cleaned up properly.  With commit 56e44960
      ("drm/sched: Convert the GPU scheduler to variable number of run-queues")
      the scheduler entities have to be created after scheduler init, so
      change the ordering to fix this.
      
      v2: Leave logic in UVD and VCE code
      
      Fixes: 56e44960
      
       ("drm/sched: Convert the GPU scheduler to variable number of run-queues")
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Reviewed-by: default avatarLuben Tuikov <ltuikov89@gmail.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: ltuikov89@gmail.com
      037b98a2
    • Tim Huang's avatar
      drm/amdgpu: move kfd_resume before the ip late init · 8ed79c40
      Tim Huang authored
      
      
      The kfd_resume needs to touch GC registers to enable the interrupts,
      it needs to be done before GFXOFF is enabled to ensure that the GFX is
      not off and GC registers can be touched. So move kfd_resume before the
      amdgpu_device_ip_late_init which enables the CGPG/GFXOFF.
      
      Signed-off-by: default avatarTim Huang <Tim.Huang@amd.com>
      Reviewed-by: default avatarYifan Zhang <yifan1.zhang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      8ed79c40
    • Mario Limonciello's avatar
      drm/amd: Explicitly check for GFXOFF to be enabled for s0ix · e4c44b1a
      Mario Limonciello authored
      
      
      If a user has disabled GFXOFF this may cause problems for the suspend
      sequence.  Ensure that it is enabled in amdgpu_acpi_is_s0ix_active().
      
      The system won't reach the deepest state but it also won't hang.
      
      Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      e4c44b1a
  4. Nov 10, 2023