1. 06 Nov, 2022 4 commits
    • Theodore Ts'o's avatar
      ext4: fix fortify warning in fs/ext4/fast_commit.c:1551 · 0d043351
      Theodore Ts'o authored
      With the new fortify string system, rework the memcpy to avoid this
      warning:
      
      memcpy: detected field-spanning write (size 60) of single field "&raw_inode->i_generation" at fs/ext4/fast_commit.c:1551 (size 4)
      
      Cc: stable@kernel.org
      Fixes: 54d9469b ("fortify: Add run-time WARN for cross-field memcpy()")
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      0d043351
    • Jason Yan's avatar
      ext4: fix wrong return err in ext4_load_and_init_journal() · 9f2a1d9f
      Jason Yan authored
      The return value is wrong in ext4_load_and_init_journal(). The local
      variable 'err' need to be initialized before goto out. The original code
      in __ext4_fill_super() is fine because it has two return values 'ret'
      and 'err' and 'ret' is initialized as -EINVAL. After we factor out
      ext4_load_and_init_journal(), this code is broken. So fix it by directly
      returning -EINVAL in the error handler path.
      
      Cc: stable@kernel.org
      Fixes: 9c1dd22d ("ext4: factor out ext4_load_and_init_journal()")
      Signed-off-by: default avatarJason Yan <yanaijie@huawei.com>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Link: https://lore.kernel.org/r/20221025040206.3134773-1-yanaijie@huawei.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      9f2a1d9f
    • Ye Bin's avatar
      ext4: fix warning in 'ext4_da_release_space' · 1b8f787e
      Ye Bin authored
      Syzkaller report issue as follows:
      EXT4-fs (loop0): Free/Dirty block details
      EXT4-fs (loop0): free_blocks=0
      EXT4-fs (loop0): dirty_blocks=0
      EXT4-fs (loop0): Block reservation details
      EXT4-fs (loop0): i_reserved_data_blocks=0
      EXT4-fs warning (device loop0): ext4_da_release_space:1527: ext4_da_release_space: ino 18, to_free 1 with only 0 reserved data blocks
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 92 at fs/ext4/inode.c:1528 ext4_da_release_space+0x25e/0x370 fs/ext4/inode.c:1524
      Modules linked in:
      CPU: 0 PID: 92 Comm: kworker/u4:4 Not tainted 6.0.0-syzkaller-09423-g493ffd66 #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022
      Workqueue: writeback wb_workfn (flush-7:0)
      RIP: 0010:ext4_da_release_space+0x25e/0x370 fs/ext4/inode.c:1528
      RSP: 0018:ffffc900015f6c90 EFLAGS: 00010296
      RAX: 42215896cd52ea00 RBX: 0000000000000000 RCX: 42215896cd52ea00
      RDX: 0000000000000000 RSI: 0000000080000001 RDI: 0000000000000000
      RBP: 1ffff1100e907d96 R08: ffffffff816aa79d R09: fffff520002bece5
      R10: fffff520002bece5 R11: 1ffff920002bece4 R12: ffff888021fd2000
      R13: ffff88807483ecb0 R14: 0000000000000001 R15: ffff88807483e740
      FS:  0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00005555569ba628 CR3: 000000000c88e000 CR4: 00000000003506f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       <TASK>
       ext4_es_remove_extent+0x1ab/0x260 fs/ext4/extents_status.c:1461
       mpage_release_unused_pages+0x24d/0xef0 fs/ext4/inode.c:1589
       ext4_writepages+0x12eb/0x3be0 fs/ext4/inode.c:2852
       do_writepages+0x3c3/0x680 mm/page-writeback.c:2469
       __writeback_single_inode+0xd1/0x670 fs/fs-writeback.c:1587
       writeback_sb_inodes+0xb3b/0x18f0 fs/fs-writeback.c:1870
       wb_writeback+0x41f/0x7b0 fs/fs-writeback.c:2044
       wb_do_writeback fs/fs-writeback.c:2187 [inline]
       wb_workfn+0x3cb/0xef0 fs/fs-writeback.c:2227
       process_one_work+0x877/0xdb0 kernel/workqueue.c:2289
       worker_thread+0xb14/0x1330 kernel/workqueue.c:2436
       kthread+0x266/0x300 kernel/kthread.c:376
       ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
       </TASK>
      
      Above issue may happens as follows:
      ext4_da_write_begin
        ext4_create_inline_data
          ext4_clear_inode_flag(inode, EXT4_INODE_EXTENTS);
          ext4_set_inode_flag(inode, EXT4_INODE_INLINE_DATA);
      __ext4_ioctl
        ext4_ext_migrate -> will lead to eh->eh_entries not zero, and set extent flag
      ext4_da_write_begin
        ext4_da_convert_inline_data_to_extent
          ext4_da_write_inline_data_begin
            ext4_da_map_blocks
              ext4_insert_delayed_block
      	  if (!ext4_es_scan_clu(inode, &ext4_es_is_delonly, lblk))
      	    if (!ext4_es_scan_clu(inode, &ext4_es_is_mapped, lblk))
      	      ext4_clu_mapped(inode, EXT4_B2C(sbi, lblk)); -> will return 1
      	       allocated = true;
                ext4_es_insert_delayed_block(inode, lblk, allocated);
      ext4_writepages
        mpage_map_and_submit_extent(handle, &mpd, &give_up_on_write); -> return -ENOSPC
        mpage_release_unused_pages(&mpd, give_up_on_write); -> give_up_on_write == 1
          ext4_es_remove_extent
            ext4_da_release_space(inode, reserved);
              if (unlikely(to_free > ei->i_reserved_data_blocks))
      	  -> to_free == 1  but ei->i_reserved_data_blocks == 0
      	  -> then trigger warning as above
      
      To solve above issue, forbid inode do migrate which has inline data.
      
      Cc: stable@kernel.org
      Reported-by: syzbot+c740bb18df70ad00952e@syzkaller.appspotmail.com
      Signed-off-by: default avatarYe Bin <yebin10@huawei.com>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Link: https://lore.kernel.org/r/20221018022701.683489-1-yebin10@huawei.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      1b8f787e
    • Luís Henriques's avatar
      ext4: fix BUG_ON() when directory entry has invalid rec_len · 17a0bc9b
      Luís Henriques authored
      The rec_len field in the directory entry has to be a multiple of 4.  A
      corrupted filesystem image can be used to hit a BUG() in
      ext4_rec_len_to_disk(), called from make_indexed_dir().
      
       ------------[ cut here ]------------
       kernel BUG at fs/ext4/ext4.h:2413!
       ...
       RIP: 0010:make_indexed_dir+0x53f/0x5f0
       ...
       Call Trace:
        <TASK>
        ? add_dirent_to_buf+0x1b2/0x200
        ext4_add_entry+0x36e/0x480
        ext4_add_nondir+0x2b/0xc0
        ext4_create+0x163/0x200
        path_openat+0x635/0xe90
        do_filp_open+0xb4/0x160
        ? __create_object.isra.0+0x1de/0x3b0
        ? _raw_spin_unlock+0x12/0x30
        do_sys_openat2+0x91/0x150
        __x64_sys_open+0x6c/0xa0
        do_syscall_64+0x3c/0x80
        entry_SYSCALL_64_after_hwframe+0x46/0xb0
      
      The fix simply adds a call to ext4_check_dir_entry() to validate the
      directory entry, returning -EFSCORRUPTED if the entry is invalid.
      
      CC: stable@kernel.org
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=216540Signed-off-by: default avatarLuís Henriques <lhenriques@suse.de>
      Link: https://lore.kernel.org/r/20221012131330.32456-1-lhenriques@suse.deSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      17a0bc9b
  2. 28 Oct, 2022 1 commit
    • Theodore Ts'o's avatar
      ext4: update the backup superblock's at the end of the online resize · 9a8c5b0d
      Theodore Ts'o authored
      When expanding a file system using online resize, various fields in
      the superblock (e.g., s_blocks_count, s_inodes_count, etc.) change.
      To update the backup superblocks, the online resize uses the function
      update_backups() in fs/ext4/resize.c.  This function was not updating
      the checksum field in the backup superblocks.  This wasn't a big deal
      previously, because e2fsck didn't care about the checksum field in the
      backup superblock.  (And indeed, update_backups() goes all the way
      back to the ext3 days, well before we had support for metadata
      checksums.)
      
      However, there is an alternate, more general way of updating
      superblock fields, ext4_update_primary_sb() in fs/ext4/ioctl.c.  This
      function does check the checksum of the backup superblock, and if it
      doesn't match will mark the file system as corrupted.  That was
      clearly not the intent, so avoid to aborting the resize when a bad
      superblock is found.
      
      In addition, teach update_backups() to properly update the checksum in
      the backup superblocks.  We will eventually want to unify
      updapte_backups() with the infrasture in ext4_update_primary_sb(), but
      that's for another day.
      
      Note: The problem has been around for a while; it just didn't really
      matter until ext4_update_primary_sb() was added by commit bbc605cd
      ("ext4: implement support for get/set fs label").  And it became
      trivially easy to reproduce after commit 827891a3 ("ext4: update
      the s_overhead_clusters in the backup sb's when resizing") in v6.0.
      
      Cc: stable@kernel.org # 5.17+
      Fixes: bbc605cd ("ext4: implement support for get/set fs label")
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      9a8c5b0d
  3. 07 Oct, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'iomap-6.1-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 4c861141
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "It's pretty quiet this time around -- a UAF bugfix and a new
        tracepoint so we can watch file writeback:
      
         - Fix a UAF bug when recording writeback mapping errors
      
         - Add a tracepoint so that we can monitor writeback mappings"
      
      * tag 'iomap-6.1-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: add a tracepoint for mappings returned by map_blocks
        iomap: iomap: fix memory corruption when recording errors during writeback
      4c861141
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · bc32a633
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "The first two changes involve files outside of fs/ext4:
      
         - submit_bh() can never return an error, so change it to return void,
           and remove the unused checks from its callers
      
         - fix I_DIRTY_TIME handling so it will be set even if the inode
           already has I_DIRTY_INODE
      
        Performance:
      
         - Always enable i_version counter (as btrfs and xfs already do).
           Remove some uneeded i_version bumps to avoid unnecessary nfs cache
           invalidations
      
         - Wake up journal waiters in FIFO order, to avoid some journal users
           from not getting a journal handle for an unfairly long time
      
         - In ext4_write_begin() allocate any necessary buffer heads before
           starting the journal handle
      
         - Don't try to prefetch the block allocation bitmaps for a read-only
           file system
      
        Bug Fixes:
      
         - Fix a number of fast commit bugs, including resources leaks and out
           of bound references in various error handling paths and/or if the
           fast commit log is corrupted
      
         - Avoid stopping the online resize early when expanding a file system
           which is less than 16TiB to a size greater than 16TiB
      
         - Fix apparent metadata corruption caused by a race with a metadata
           buffer head getting migrated while it was trying to be read
      
         - Mark the lazy initialization thread freezable to prevent suspend
           failures
      
         - Other miscellaneous bug fixes
      
        Cleanups:
      
         - Break up the incredibly long ext4_full_super() function by
           refactoring to move code into more understandable, smaller
           functions
      
         - Remove the deprecated (and ignored) noacl and nouser_attr mount
           option
      
         - Factor out some common code in fast commit handling
      
         - Other miscellaneous cleanups"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (53 commits)
        ext4: fix potential out of bound read in ext4_fc_replay_scan()
        ext4: factor out ext4_fc_get_tl()
        ext4: introduce EXT4_FC_TAG_BASE_LEN helper
        ext4: factor out ext4_free_ext_path()
        ext4: remove unnecessary drop path references in mext_check_coverage()
        ext4: update 'state->fc_regions_size' after successful memory allocation
        ext4: fix potential memory leak in ext4_fc_record_regions()
        ext4: fix potential memory leak in ext4_fc_record_modified_inode()
        ext4: remove redundant checking in ext4_ioctl_checkpoint
        jbd2: add miss release buffer head in fc_do_one_pass()
        ext4: move DIOREAD_NOLOCK setting to ext4_set_def_opts()
        ext4: remove useless local variable 'blocksize'
        ext4: unify the ext4 super block loading operation
        ext4: factor out ext4_journal_data_mode_check()
        ext4: factor out ext4_load_and_init_journal()
        ext4: factor out ext4_group_desc_init() and ext4_group_desc_free()
        ext4: factor out ext4_geometry_check()
        ext4: factor out ext4_check_feature_compatibility()
        ext4: factor out ext4_init_metadata_csum()
        ext4: factor out ext4_encoding_init()
        ...
      bc32a633
    • Linus Torvalds's avatar
      Merge tag 'affs-for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 7f198ba7
      Linus Torvalds authored
      Pull affs update from David Sterba:
       "One minor update for AFFS, switching away from strlcpy"
      
      * tag 'affs-for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        affs: move from strlcpy with unused retval to strscpy
      7f198ba7
    • Linus Torvalds's avatar
      Merge tag 'for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 76e45035
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "There's a bunch of performance improvements, most notably the FIEMAP
        speedup, the new block group tree to speed up mount on large
        filesystems, more io_uring integration, some sysfs exports and the
        usual fixes and core updates.
      
        Summary:
      
        Performance:
      
         - outstanding FIEMAP speed improvement
            - algorithmic change how extents are enumerated leads to orders of
              magnitude speed boost (uncached and cached)
            - extent sharing check speedup (2.2x uncached, 3x cached)
            - add more cancellation points, allowing to interrupt seeking in
              files with large number of extents
            - more efficient hole and data seeking (4x uncached, 1.3x cached)
            - sample results:
      	    256M, 32K extents:   4s ->  29ms  (~150x)
      	    512M, 64K extents:  30s ->  59ms  (~550x)
      	    1G,  128K extents: 225s -> 120ms (~1800x)
      
         - improved inode logging, especially for directories (on dbench
           workload throughput +25%, max latency -21%)
      
         - improved buffered IO, remove redundant extent state tracking,
           lowering memory consumption and avoiding rb tree traversal
      
         - add sysfs tunable to let qgroup temporarily skip exact accounting
           when deleting snapshot, leading to a speedup but requiring a rescan
           after that, will be used by snapper
      
         - support io_uring and buffered writes, until now it was just for
           direct IO, with the no-wait semantics implemented in the buffered
           write path it now works and leads to speed improvement in IOPS
           (2x), throughput (2.2x), latency (depends, 2x to 150x)
      
         - small performance improvements when dropping and searching for
           extent maps as well as when flushing delalloc in COW mode
           (throughput +5MB/s)
      
        User visible changes:
      
         - new incompatible feature block-group-tree adding a dedicated tree
           for tracking block groups, this allows a much faster load during
           mount and avoids seeking unlike when it's scattered in the extent
           tree items
            - this reduces mount time for many-terabyte sized filesystems
            - conversion tool will be provided so existing filesystem can also
              be updated in place
            - to reduce test matrix and feature combinations requires no-holes
              and free-space-tree (mkfs defaults since 5.15)
      
         - improved reporting of super block corruption detected by scrub
      
         - scrub also tries to repair super block and does not wait until next
           commit
      
         - discard stats and tunables are exported in sysfs
           (/sys/fs/btrfs/FSID/discard)
      
         - qgroup status is exported in sysfs
           (/sys/sys/fs/btrfs/FSID/qgroups/)
      
         - verify that super block was not modified when thawing filesystem
      
        Fixes:
      
         - FIEMAP fixes
            - fix extent sharing status, does not depend on the cached status
              where merged
            - flush delalloc so compressed extents are reported correctly
      
         - fix alignment of VMA for memory mapped files on THP
      
         - send: fix failures when processing inodes with no links (orphan
           files and directories)
      
         - fix race between quota enable and quota rescan ioctl
      
         - handle more corner cases for read-only compat feature verification
      
         - fix missed extent on fsync after dropping extent maps
      
        Core:
      
         - lockdep annotations to validate various transactions states and
           state transitions
      
         - preliminary support for fs-verity in send
      
         - more effective memory use in scrub for subpage where sector is
           smaller than page
      
         - block group caching progress logic has been removed, load is now
           synchronous
      
         - simplify end IO callbacks and bio handling, use chained bios
           instead of own tracking
      
         - add no-wait semantics to several functions (tree search, nocow,
           flushing, buffered write
      
         - cleanups and refactoring
      
        MM changes:
      
         - export balance_dirty_pages_ratelimited_flags"
      
      * tag 'for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (177 commits)
        btrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer
        btrfs: drop extent map range more efficiently
        btrfs: avoid pointless extent map tree search when flushing delalloc
        btrfs: remove unnecessary next extent map search
        btrfs: remove unnecessary NULL pointer checks when searching extent maps
        btrfs: assert tree is locked when clearing extent map from logging
        btrfs: remove unnecessary extent map initializations
        btrfs: remove the refcount warning/check at free_extent_map()
        btrfs: add helper to replace extent map range with a new extent map
        btrfs: move open coded extent map tree deletion out of inode eviction
        btrfs: use cond_resched_rwlock_write() during inode eviction
        btrfs: use extent_map_end() at btrfs_drop_extent_map_range()
        btrfs: move btrfs_drop_extent_cache() to extent_map.c
        btrfs: fix missed extent on fsync after dropping extent maps
        btrfs: remove stale prototype of btrfs_write_inode
        btrfs: enable nowait async buffered writes
        btrfs: assert nowait mode is not used for some btree search functions
        btrfs: make btrfs_buffered_write nowait compatible
        btrfs: plumb NOWAIT through the write path
        btrfs: make lock_and_cleanup_extent_if_need nowait compatible
        ...
      76e45035
    • Linus Torvalds's avatar
      Merge tag 'pull-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4c0ed7d8
      Linus Torvalds authored
      Pull vfs constification updates from Al Viro:
       "whack-a-mole: constifying struct path *"
      
      * tag 'pull-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ecryptfs: constify path
        spufs: constify path
        nd_jump_link(): constify path
        audit_init_parent(): constify path
        __io_setxattr(): constify path
        do_proc_readlink(): constify path
        overlayfs: constify path
        fs/notify: constify path
        may_linkat(): constify path
        do_sys_name_to_handle(): constify path
        ->getprocattr(): attribute name is const char *, TYVM...
      4c0ed7d8
    • Linus Torvalds's avatar
      Merge tag 'pull-tomoyo' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 1586a703
      Linus Torvalds authored
      Pull misc tomoyo changes from Al Viro:
       "A couple of assorted tomoyo patches"
      
      * tag 'pull-tomoyo' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        tomoyo: struct path it might get from LSM callers won't have NULL dentry or mnt
        tomoyo: use vsnprintf() properly
      1586a703
    • Linus Torvalds's avatar
      Merge tag 'pull-file_inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ab296221
      Linus Torvalds authored
      Pull file_inode() updates from Al Vrio:
       "whack-a-mole: cropped up open-coded file_inode() uses..."
      
      * tag 'pull-file_inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        orangefs: use ->f_mapping
        _nfs42_proc_copy(): use ->f_mapping instead of file_inode()->i_mapping
        dma_buf: no need to bother with file_inode()->i_mapping
        nfs_finish_open(): don't open-code file_inode()
        bprm_fill_uid(): don't open-code file_inode()
        sgx: use ->f_mapping...
        exfat_iterate(): don't open-code file_inode(file)
        ibmvmc: don't open-code file_inode()
      ab296221
    • Linus Torvalds's avatar
      Merge tag 'pull-file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7a3353c5
      Linus Torvalds authored
      Pull vfs file updates from Al Viro:
       "struct file-related stuff"
      
      * tag 'pull-file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        dma_buf_getfile(): don't bother with ->f_flags reassignments
        Change calling conventions for filldir_t
        locks: fix TOCTOU race when granting write lease
      7a3353c5
  4. 06 Oct, 2022 11 commits
    • Linus Torvalds's avatar
      Merge tag 'pull-d_path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 70df64d6
      Linus Torvalds authored
      Pull vfs d_path updates from Al Viro.
      
      * tag 'pull-d_path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        d_path.c: typo fix...
        dynamic_dname(): drop unused dentry argument
      70df64d6
    • Linus Torvalds's avatar
      Merge tag 'pull-inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 46811b5c
      Linus Torvalds authored
      Pull vfs inode update from Al Viro:
       "Saner inode_init_always(), also fixing a nilfs problem"
      
      * tag 'pull-inode' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: fix UAF/GPF bug in nilfs_mdt_destroy
      46811b5c
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-6.1-rc1' of... · ffb39098
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
       "Several documentation fixes, UML related cleanups, and a feature to
        enable/disable KUnit tests
      
        This includes the change to rename all_test_uml.config, and use it for
        '--alltests'. Note: if anyone was using all_tests_uml.config, this
        change breaks them.
      
        This change simplifies the usage and eliminates the need to type:
      
           --kunitconfig=tools/testing/kunit/configs/all_tests_uml.config
      
        A simple workaround to create a symlink to the new name can solve the
        problem for anyone using all_tests_uml.config.
      
        all_tests_uml.config should work across ~all architectures"
      
      * tag 'linux-kselftest-kunit-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        Documentation: Kunit: Use full path to .kunitconfig
        kunit: tool: rename all_test_uml.config, use it for --alltests
        kunit: tool: remove UML specific options from all_tests_uml.config
        lib: stackinit: update reference to kunit-tool
        lib: overflow: update reference to kunit-tool
        Documentation: KUnit: update links in the index page
        Documentation: KUnit: add intro to the getting-started page
        Documentation: KUnit: Reword start guide for selecting tests
        Documentation: KUnit: add note about mrproper in start.rst
        Documentation: KUnit: avoid repeating "kunit.py run" in start.rst
        Documentation: KUnit: remove duplicated docs for kunit_tool
        Documentation: Kunit: Add ref for other kinds of tests
        Documentation: KUnit: Fix non-uml anchor
        Documentation: Kunit: Fix inconsistent titles
        Documentation: kunit: fix trivial typo
        kunit: no longer call module_info(test, "Y") for kunit modules
        kunit: add kunit.enable to enable/disable KUnit test
        kunit: tool: make --raw_output=kunit (aka --raw_output) preserve leading spaces
      ffb39098
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-6.1-rc1' of... · dd42d9c3
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest updates from Shuah Khan:
       "Fixes and new tests:
      
         - Add an amd-pstate-ut test module, used by kselftest to unit test
           amd-pstate functionality
      
         - Fixes and cleanups to to cpu-hotplug to delete the fault injection
           test code
      
         - Improvements to vm test to use top_srcdir for builds"
      
      * tag 'linux-kselftest-next-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        docs:kselftest: fix kselftest_module.h path of example module
        cpufreq: amd-pstate: Add explanation for X86_AMD_PSTATE_UT
        selftests/cpu-hotplug: Add log info when test success
        selftests/cpu-hotplug: Reserve one cpu online at least
        selftests/cpu-hotplug: Delete fault injection related code
        selftests/cpu-hotplug: Use return instead of exit
        selftests/cpu-hotplug: Correct log info
        cpufreq: amd-pstate: modify type in argument 2 for filp_open
        Documentation: amd-pstate: Add unit test introduction
        selftests: amd-pstate: Add test trigger for amd-pstate driver
        cpufreq: amd-pstate: Add test module for amd-pstate driver
        cpufreq: amd-pstate: Expose struct amd_cpudata
        selftests/vm: use top_srcdir instead of recomputing relative paths
      dd42d9c3
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 93ed07a2
      Linus Torvalds authored
      Pull asm-generic updates from Arnd Bergmann:
       "This contains a series from Linus Walleij to unify the linux/io.h
        interface by making the ia64, alpha, parisc and sparc include
        asm-generic/io.h.
      
        All functions provided by the generic header are now available to all
        drivers, but the architectures can still override this.
      
        For the moment, mips and sh still don't include asm-generic/io.h but
        provide a full set of functions themselves.
      
        There are also a few minor cleanups unrelated to this"
      
      * tag 'asm-generic-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        alpha: add full ioread64/iowrite64 implementation
        parisc: Drop homebrewn io[read|write]64_[lo_hi|hi_lo]
        parisc: hide ioread64 declaration on 32-bit
        ia64: export memory_add_physaddr_to_nid to fix cxl build error
        asm-generic: Remove empty #ifdef SA_RESTORER
        parisc: Use the generic IO helpers
        parisc: Remove 64bit access on 32bit machines
        sparc: Fix the generic IO helpers
        alpha: Use generic <asm-generic/io.h>
      93ed07a2
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 18fd0497
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
      
       - arm64 perf: DDR PMU driver for Alibaba's T-Head Yitian 710 SoC, SVE
         vector granule register added to the user regs together with SVE perf
         extensions documentation.
      
       - SVE updates: add HWCAP for SVE EBF16, update the SVE ABI
         documentation to match the actual kernel behaviour (zeroing the
         registers on syscall rather than "zeroed or preserved" previously).
      
       - More conversions to automatic system registers generation.
      
       - vDSO: use self-synchronising virtual counter access in gettimeofday()
         if the architecture supports it.
      
       - arm64 stacktrace cleanups and improvements.
      
       - arm64 atomics improvements: always inline assembly, remove LL/SC
         trampolines.
      
       - Improve the reporting of EL1 exceptions: rework BTI and FPAC
         exception handling, better EL1 undefs reporting.
      
       - Cortex-A510 erratum 2658417: remove BF16 support due to incorrect
         result.
      
       - arm64 defconfig updates: build CoreSight as a module, enable options
         necessary for docker, memory hotplug/hotremove, enable all PMUs
         provided by Arm.
      
       - arm64 ptrace() support for TPIDR2_EL0 (register provided with the SME
         extensions).
      
       - arm64 ftraces updates/fixes: fix module PLTs with mcount, remove
         unused function.
      
       - kselftest updates for arm64: simple HWCAP validation, FP stress test
         improvements, validation of ZA regs in signal handlers, include
         larger SVE and SME vector lengths in signal tests, various cleanups.
      
       - arm64 alternatives (code patching) improvements to robustness and
         consistency: replace cpucap static branches with equivalent
         alternatives, associate callback alternatives with a cpucap.
      
       - Miscellaneous updates: optimise kprobe performance of patching
         single-step slots, simplify uaccess_mask_ptr(), move MTE registers
         initialisation to C, support huge vmalloc() mappings, run softirqs on
         the per-CPU IRQ stack, compat (arm32) misalignment fixups for
         multiword accesses.
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (126 commits)
        arm64: alternatives: Use vdso/bits.h instead of linux/bits.h
        arm64/kprobe: Optimize the performance of patching single-step slot
        arm64: defconfig: Add Coresight as module
        kselftest/arm64: Handle EINTR while reading data from children
        kselftest/arm64: Flag fp-stress as exiting when we begin finishing up
        kselftest/arm64: Don't repeat termination handler for fp-stress
        ARM64: reloc_test: add __init/__exit annotations to module init/exit funcs
        arm64/mm: fold check for KFENCE into can_set_direct_map()
        arm64: ftrace: fix module PLTs with mcount
        arm64: module: Remove unused plt_entry_is_initialized()
        arm64: module: Make plt_equals_entry() static
        arm64: fix the build with binutils 2.27
        kselftest/arm64: Don't enable v8.5 for MTE selftest builds
        arm64: uaccess: simplify uaccess_mask_ptr()
        arm64: asm/perf_regs.h: Avoid C++-style comment in UAPI header
        kselftest/arm64: Fix typo in hwcap check
        arm64: mte: move register initialization to C
        arm64: mm: handle ARM64_KERNEL_USES_PMD_MAPS in vmemmap_populate()
        arm64: dma: Drop cache invalidation from arch_dma_prep_coherent()
        arm64/sve: Add Perf extensions documentation
        ...
      18fd0497
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 41fc64a0
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "The main changes this time are for the organization of the Kconfig
        files, introducing per-vendor top-level options on arm64 to match
        those on arm32, and making the platform selection on arm32 more
        uniform, in particular for the remaining StrongARM platforms that
        still have a couple of special cases compared to the more recent ones.
      
        I also did a cleanup of the old Footbridge platform, which was the
        last holdout for the phys_to_dma()/dma_to_phys() interface that is now
        completely gone from arm32, completing work started by Christoph
        Hellwig"
      
      * tag 'arm-soc-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (21 commits)
        ARM: aspeed: Kconfig: Fix indentation
        ARM: Drop CMDLINE_* dependency on ATAGS
        ARM: Drop CMDLINE_FORCE dependency on !ARCH_MULTIPLATFORM
        ARM: s3c: remove orphan declarations from arch/arm/mach-s3c/devs.h
        pxa: Drop if with an always false condition
        ARM: orion: fix include path
        ARM: shmobile: Drop selecting SOC_BUS
        arm64: renesas: Drop selecting SOC_BUS
        ARM: disallow PCI with MMU=n again
        ARM: footbridge: remove custom DMA address handling
        MAINTAINERS: Add BCM4908 maintainer to BCMBCA entry
        ARM: footbridge: move isa-dma support into footbridge
        ARM: footbridge: remove leftover from personal-server
        ARM: footbridge: remove addin mode
        arm64: Kconfig.platforms: Group NXP platforms together
        arm64: Kconfig.platforms: Re-organized Broadcom menu
        ARM: make ARCH_MULTIPLATFORM user-visible
        ARM: fix XIP_KERNEL dependencies
        ARM: Kconfig: clean up platform selection
        ARM: simplify machdirs/platdirs handling
        ...
      41fc64a0
    • Linus Torvalds's avatar
      Merge tag 'arm-dt-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 7171a8da
      Linus Torvalds authored
      Pull ARM devicetree updates from Arnd Bergmann:
       "Most of the changes fall into one of three categories: adding support
        for additional devices on existing machines, cleaning up issues found
        by the ongoing conversion to machine-readable bindings, and addressing
        minor mistakes in the existing DT data.
      
        Across SoC vendors, Qualcomm and Freescale stick out as getting the
        most updates, which corresponds to their dominance in the mobile phone
        and embedded industrial markets, respectively.
      
        There are 636 non-merge changeset in this branch, which is a little
        lower than most times, but more importantly we only add 36 machine
        files, which is about half of what we had the past few releases.
      
        Eight new SoCs are added, but all of them are variations of already
        supported SoC families, and most of them come with one reference board
        design from the SoC vendor:
      
         - Mediatek MT8186 is a Chromebook/Tablet type SoC, similar to the
           MT65xx series of phone SoCs, with two Cortex-A76 and six Cortex-A55
           cores.
      
         - TI AM62A is another member of the K3 family with Cortex-A53 cores,
           this one is targetted at Video/Vision processing for industrial and
           automotive applications.
      
         - NXP i.MX8DXL is another chip for this market in the ever-growing
           i.MX8 family, this one again with two Cortex-A35 cores.
      
         - Renesas R-Car H3Ne-1.7G (R8A779MB) and R-Car V3H2 (R8A77980A) are
           minor updates of R8A77951 and R8A77980, respectively.
      
         - Qualcomm IPQ8064-v2.0, IPQ8062 and IPQ8065 are all variants of the
           IPQ8064 chip, with minimally different features.
      
        The AMD Pensando Elba and Apple M1 Ultra SoC support was getting close
        this time, but in the end did not make the cut.
      
        The new machines based on existing SoC support are fairly uneventful:
      
         - Sony Xperia 1 IV is a fairly recent phone based on Qualcomm
           Snapdragon 8 Gen 1.
      
         - Three Samsung phones based on Snapdragon 410: Galaxy E5, E7 and
           Grand Max. These are added for both 32-bit and 64-bit kernels, as
           they originally shipped running 32-bit code.
      
         - Two new servers using AST2600 BMCs: AMD DaytonaX and Ampere Mt.
           Mitchell
      
         - Three new machines based on Rockchips RK3399 and RK3566: Anberic
           RG353P and RG503, Pine64 Pinephone Pro, Open AI Lab
      
         - Multiple NXP i.MX6/i.MX8 based boards: Kontron SL/BL i.MX8MM OSM-S,
           i.MX8MM Gateworks GW7904, MSC SM2S-IMX8PLUS SoM and carrier board
      
         - Two development boards in the Microchip AT91 family: SAMA5D3-EDS
           and lan966x-pcb8290.
      
         - Minor variants of existing boards using Amlogic, Broadcom, Marvell,
           Rockchips, Freescale Layerscape and Socionext Uniphier SoCs"
      
      * tag 'arm-dt-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (617 commits)
        Revert "ARM: dts: BCM5301X: Add basic PCI controller properties"
        ARM: dts: s5pv210: correct double "pins" in pinmux node
        ARM: dts: exynos: fix polarity of VBUS GPIO of Origen
        arm64: dts: exynos: fix polarity of "enable" line of NFC chip in TM2
        arm64: dts: uniphier: Add L2 cache node
        arm64: dts: uniphier: Remove compatible "snps,dw-pcie" from pcie node
        arm64: dts: uniphier: Fix opp-table node name for LD20
        arm64: dts: uniphier: Add USB-device support for PXs3 reference board
        arm64: dts: uniphier: Add ahci controller nodes for PXs3
        arm64: dts: uniphier: Use GIC interrupt definitions
        arm64: dts: uniphier: Rename gpio-hog nodes
        arm64: dts: uniphier: Rename usb-glue node for USB3 to usb-controller
        arm64: dts: uniphier: Rename usb-phy node for USB2 to usb-controller
        arm64: dts: uniphier: Rename pvtctl node to thermal-sensor
        ARM: dts: uniphier: Remove compatible "snps,dw-pcie-ep" from pcie-ep node
        ARM: dts: uniphier: Move interrupt-parent property to each child node in uniphier-support-card
        ARM: dts: uniphier: Add ahci controller nodes for PXs2
        ARM: dts: uniphier: Add ahci controller nodes for Pro4
        ARM: dts: uniphier: Use GIC interrupt definitions
        ARM: dts: uniphier: Rename gpio-hog node
        ...
      7171a8da
    • Linus Torvalds's avatar
      Merge tag 'arm-drivers-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ff6862c2
      Linus Torvalds authored
      Pull ARM driver updates from Arnd Bergmann:
       "The drivers branch for 6.1 is a bit larger than for most releases.
      
        Most of the changes come from SoC maintainers for the drivers/soc
        subsystem:
      
         - A new driver for error handling on the NVIDIA Tegra 'control
           backbone' bus.
      
         - A new driver for Qualcomm LLCC/DDR bandwidth measurement
      
         - New Rockchip rv1126 and rk3588 power domain drivers
      
         - DT binding updates for memory controllers, older Rockchip SoCs,
           various Mediatek devices, Qualcomm SCM firmware
      
         - Minor updates to Hisilicon LPC bus, the Allwinner SRAM driver, the
           Apple rtkit firmware driver, Tegra firmware
      
         - Minor updates for SoC drivers (Samsung, Mediatek, Renesas, Tegra,
           Qualcomm, Broadcom, NXP, ...)
      
        There are also some separate subsystem with downstream maintainers
        that merge updates this way:
      
         - Various updates and new drivers in the memory controller subsystem
           for Mediatek and Broadcom SoCs
      
         - Small set of changes in preparation to add support for FF-A v1.1
           specification later, in the Arm FF-A firmware subsystem
      
         - debugfs support in the PSCI firmware subsystem"
      
      * tag 'arm-drivers-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (149 commits)
        ARM: remove check for CONFIG_DEBUG_LL_SER3
        firmware/psci: Add debugfs support to ease debugging
        firmware/psci: Print a warning if PSCI doesn't accept PC mode
        dt-bindings: memory: snps,dw-umctl2-ddrc: Extend schema with IRQs/resets/clocks props
        dt-bindings: memory: snps,dw-umctl2-ddrc: Replace opencoded numbers with macros
        dt-bindings: memory: snps,dw-umctl2-ddrc: Use more descriptive device name
        dt-bindings: memory: synopsys,ddrc-ecc: Detach Zynq DDRC controller support
        soc: sunxi: sram: Add support for the D1 system control
        soc: sunxi: sram: Export the LDO control register
        soc: sunxi: sram: Save a pointer to the OF match data
        soc: sunxi: sram: Return void from the release function
        soc: apple: rtkit: Add apple_rtkit_poll
        soc: imx: add i.MX93 media blk ctrl driver
        soc: imx: add i.MX93 SRC power domain driver
        soc: imx: imx8m-blk-ctrl: Use genpd_xlate_onecell
        soc: imx: imx8mp-blk-ctrl: handle PCIe PHY resets
        soc: imx: imx8m-blk-ctrl: add i.MX8MP VPU blk ctrl
        soc: imx: add i.MX8MP HDMI blk ctrl HDCP/HRV_MWR
        soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
        soc: imx: add icc paths for i.MX8MP media blk ctrl
        ...
      ff6862c2
    • Linus Torvalds's avatar
      Merge tag 'arm-defconfig-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 40285e64
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "As usual, we enable newly added device drivers in the various
        defconfig files.
      
        This time, there is also a larger cleanup series that just reorders
        symbols according to what 'make savedefconfig' outputs and then tracks
        down the most common removed or renamed symbols on top"
      
      * tag 'arm-defconfig-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (43 commits)
        ARM: config: aspeed_g5: Enable PECI
        ARM: configs: aspeed_g4: Remove appended DTB and ATAG
        ARM: configs: aspeed: Refresh defconfigs
        ARM: config: aspeed: Enable namespaces
        ARM: configs: aspeed_g4: Enable IPV6 options
        ARM: configs: aspeed_g4: Enable OCC and NBD drivers
        ARM: configs: aspeed_g5: Enable MCTP stack
        ARM: configs: aspeed_g5: Add PL2303 USB serial driver
        ARM: configs: aspeed_g5: Add TPM TIS I2C driver
        ARM: configs: aspeed_g5: Add mp5023 driver
        ARM: configs: aspeed: Add support for USB flash drives
        arm64: configs: Enable all PMUs provided by Arm
        arm64: defconfig: Enable Synopsys DWC MSHC driver
        arm64: defconfig: Enabled SC8180x configs
        arm64: defconfig: Make TEGRA186_GPC_DMA built-in
        arm64: tegra: Enable Tegra SPI & QSPI in deconfig
        arm64: defconfig: enable newer Qualcomm SoC sound drivers
        ARM: config: ixp4xx: Disable legacy EEPROM driver
        arm64: defconfig: Enable devfreq cooling device
        arm64: defconfig: enable ARCH_NXP
        ...
      40285e64
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 7782aae4
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - Print an un-hashed userspace PC on undefined instruction exception
      
       - Disable FDPIC ABI
      
       - Remove redundant vfp_flush/release_thread functions
      
       - Use raw_cpu_* rather than this_cpu_* in handle_bad_stack()
      
       - Avoid needlessly long backtraces when show_regs() is called
      
       - Fix an issue with stack traces through call_with_stack()
      
       - Avoid stack traces saving a duplicate exception PC value
      
       - Pass a void pointer to virt_to_page() in DMA mapping code
      
       - Fix kasan maps for modules when CONFIG_KASAN_VMALLOC=n
      
       - Show FDT region and page table level names in kernel page tables dump
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9246/1: dump: show page table level name
        ARM: 9245/1: dump: show FDT region
        ARM: 9242/1: kasan: Only map modules if CONFIG_KASAN_VMALLOC=n
        ARM: 9240/1: dma-mapping: Pass (void *) to virt_to_page()
        ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value
        ARM: 9233/1: stacktrace: Skip frame pointer boundary check for call_with_stack()
        ARM: 9224/1: Dump the stack traces based on the parameter 'regs' of show_regs()
        ARM: 9232/1: Replace this_cpu_* with raw_cpu_* in handle_bad_stack()
        ARM: 9228/1: vfp: kill vfp_flush/release_thread()
        ARM: 9226/1: disable FDPIC ABI
        ARM: 9221/1: traps: print un-hashed user pc on undefined instruction
      7782aae4
  5. 05 Oct, 2022 16 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 833477fc
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "The majority of changes are ASoC drivers (SOF, Intel, AMD, Mediatek,
        Qualcomm, TI, Apple Silicon, etc), while we see a few small fixes in
        ALSA / ASoC core side, too.
      
        Here are highlights:
      
        Core:
         - A new string helper parse_int_array_user() and cleanups with it
         - Continued cleanup of memory allocation helpers
         - PCM core optimization and hardening
         - Continued ASoC core code cleanups
      
        ASoC:
         - Improvements to the SOF IPC4 code, especially around trace
         - Support for AMD Rembrant DSPs, AMD Pink Sardine ACP 6.2, Apple
           Silicon systems, Everest ES8326, Intel Sky Lake and Kaby Lake,
           Mediatek MT8186 support, NXP i.MX8ULP DSPs, Qualcomm SC8280XP,
           SM8250 and SM8450 and Texas Instruments SRC4392
      
        HD- and USB-audio:
         - Cleanups for unification of hda-ext bus
         - HD-audio HDMI codec driver cleanups
         - Continued endpoint management fixes for USB-audio
         - New quirks as usual"
      
      * tag 'sound-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (422 commits)
        ALSA: hda: Fix position reporting on Poulsbo
        ALSA: hda/hdmi: Don't skip notification handling during PM operation
        ASoC: rockchip: i2s: use regmap_read_poll_timeout_atomic to poll I2S_CLR
        ASoC: dt-bindings: Document audio OF graph dai-tdm-slot-num dai-tdm-slot-width props
        ASoC: qcom: fix unmet direct dependencies for SND_SOC_QDSP6
        ALSA: usb-audio: Fix potential memory leaks
        ALSA: usb-audio: Fix NULL dererence at error path
        ASoC: mediatek: mt8192-mt6359: Set the driver name for the card
        ALSA: hda/realtek: More robust component matching for CS35L41
        ASoC: Intel: sof_rt5682: remove SOF_RT1015_SPEAKER_AMP_100FS flag
        ASoC: nau8825: Add TDM support
        ASoC: core: clarify the driver name initialization
        ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe
        ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe
        ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe
        ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe
        ASoC: wcd-mbhc-v2: Revert "ASoC: wcd-mbhc-v2: use pm_runtime_resume_and_get()"
        ASoC: mediatek: mt8186: Fix spelling mistake "slect" -> "select"
        ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model
        ALSA: asihpi - Remove unused struct hpi_subsys_response
        ...
      833477fc
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-10-05' of git://anongit.freedesktop.org/drm/drm · 7e6739b9
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Lots of stuff all over, some new AMD IP support and gang submit
        support. i915 has further DG2 and Meteorlake pieces, and a bunch of
        i915 display refactoring. msm has a shrinker rework. There are also a
        bunch of conversions to use kunit.
      
        This has two external pieces, some MEI changes needed for future Intel
        discrete GPUs. These should be acked by Greg. There is also a cross
        maintainer shared tree with some backlight rework from Hans in here.
      
        Core:
         - convert selftests to kunit
         - managed init for more objects
         - move to idr_init_base
         - rename fb and gem cma helpers to dma
         - hide unregistered connectors from getconnector ioctl
         - DSC passthrough aux support
         - backlight handling improvements
         - add dma_resv_assert_held to vmap/vunmap
      
        edid:
         - move luminance calculation to core
      
        fbdev:
         - fix aperture helper usage
      
        fourcc:
         - add more format helpers
         - add DRM_FORMAT_Cxx, DRM_FORMAT_Rxx, DRM_FORMAT_Dxx
         - add packed AYUV8888, XYUV8888
         - add some kunit tests
      
        ttm:
         - allow bos without backing store
         - rewrite placement to use intersect/compatible functions
      
        dma-buf:
         - docs update
         - improve signalling when debugging
      
        udmabuf:
         - fix failure path GPF
      
        dp:
         - drop dp/mst legacy code
         - atomic mst state support
         - audio infoframe packing
      
        panel:
         - Samsung LTL101AL01
         - B120XAN01.0
         - R140NWF5 RH
         - DMT028VGHMCMI-1A T
         - AUO B133UAN02.1
         - IVO M133NW4J-R3
         - Innolux N120ACA-EA1
      
        amdgpu:
         - Gang submit support
         - Mode2 reset for RDNA2
         - New IP support:
              DCN 3.1.4, 3.2
              SMU 13.x
              NBIO 7.7
              GC 11.x
              PSP 13.x
              SDMA 6.x
              GMC 11.x
         - DSC passthrough support
         - PSP fixes for TA support
         - vangogh GFXOFF stats
         - clang fixes
         - gang submit CS cleanup prep work
         - fix VRAM eviction issues
      
        amdkfd:
         - GC 10.3 IP ISA fixes
         - fix CRIU regression
         - CPU fault on COW mapping fixes
      
        i915:
         - align fw versioning with kernel practices
         - add display substruct to i915 private
         - add initial runtime info to driver info
         - split out HDCP and backlight registers
         - MEI XeHP SDV GSC support
         - add per-gt sysfs defaults
         - TLB invalidation improvements
         - Disable PCI BAR resize on 32-bit
         - GuC firmware updates and compat changes
         - GuC log timestamp translation
         - DG2 preemption workaround changes
         - DG2 improved HDMI pixel clocks support
         - PCI BAR sanity checks
         - Enable DC5 on DG2
         - DG2 DMC fw bumped
         - ADL-S PCI ID added
         - Meteorlake enablement
         - Rename ggtt_view to gtt_view
         - host RPS fixes
         - release mmaps on rpm suspend on discrete
         - clocking and dpll refactoring
         - VBT definitions and parsing updates
         - SKL watermark code extracted to separate file
         - allow seamless M/N changes on eDP panels
         - BUG_ON removal and cleanups
      
        msm:
         - DPU:
             simplified VBIF configuration
             cleanup CTL interfaces
         - DSI:
             removed unused msm_display_dsc_config struct
             switch regulator calls to new API
             switched to PANEL_BRIDGE for direct attached panels
         - DSI_PHY: convert drivers to parent_hws
         - DP: cleanup pixel_rate handling
         - HDMI: turned hdmi-phy-8996 into OF clk provider
         - misc dt-bindings fixes
         - choose eDP as primary display if it's available
         - support getting interconnects from either the mdss or the mdp5/dpu
           device nodes
         - gem: Shrinker + LRU re-work:
         - adds a shared GEM LRU+shrinker helper and moves msm over to that
         - reduce lock contention between retire and submit by avoiding the
           need to acquire obj lock in retire path (and instead using resv
           seeing obj's busyness in the shrinker
         - fix reclaim vs submit issues
         - GEM fault injection for triggering userspace error paths
         - Map/unmap optimization
         - Improved robustness for a6xx GPU recovery
      
        virtio:
         - improve error and edge conditions handling
         - convert to use managed helpers
         - stop exposing LINEAR modifier
      
        mgag200:
         - split modeset handling per model
      
        udl:
         - suspend/disconnect handling improvements
      
        vc4:
         - rework HDMI power up
         - depend on PM
         - better unplugging support
      
        ast:
         - resolution handling improvements
      
        ingenic:
         - add JZ4760(B) support
         - avoid a modeset when sharpness property is unchanged
         - use the new PM ops
      
        it6505:
         - power seq and clock updates
      
        ssd130x:
         - regmap bulk write
         - use atomic helpers instead of simple helpers
      
        via:
         - rename via_drv to via_dri1, consolidate all code.
      
        radeon:
         - drop DP MST experimental support
         - delayed work flush fix
         - use time_after
      
        ti-sn65dsi86:
         - DP support
      
        mediatek:
         - MT8195 DP support
         - drop of_gpio header
         - remove unneeded result
         - small DP code improvements
      
        vkms:
         - RGB565, XRGB64 and ARGB64 support
      
        sun4i:
         - tv: convert to atomic
      
        rcar-du:
         - Synopsys DW HDMI bridge DT bindings update
      
        exynos:
         - use drm_display_info.is_hdmi
         - correct return of mixer_mode_valid and hdmi_mode_valid
      
        omap:
         - refcounting fix
      
        rockchip:
         - RK3568 support
         - RK3399 gamma support"
      
      * tag 'drm-next-2022-10-05' of git://anongit.freedesktop.org/drm/drm: (1374 commits)
        drm/amdkfd: Fix UBSAN shift-out-of-bounds warning
        drm/amdkfd: Track unified memory when switching xnack mode
        drm/amdgpu: Enable sram on vcn_4_0_2
        drm/amdgpu: Enable VCN DPG for GC11_0_1
        drm/msm: Fix build break with recent mm tree
        drm/panel: simple: Use dev_err_probe() to simplify code
        drm/panel: panel-edp: Use dev_err_probe() to simplify code
        drm/panel: simple: Add Multi-Inno Technology MI0800FT-9
        dt-bindings: display: simple: Add Multi-Inno Technology MI0800FT-9 panel
        drm/amdgpu: correct the memcpy size for ip discovery firmware
        drm/amdgpu: Skip put_reset_domain if it doesn't exist
        drm/amdgpu: remove switch from amdgpu_gmc_noretry_set
        drm/amdgpu: Fix mc_umc_status used uninitialized warning
        drm/amd/display: Prevent OTG shutdown during PSR SU
        drm/amdgpu: add page retirement handling for CPU RAS
        drm/amdgpu: use RAS error address convert api in mca notifier
        drm/amdgpu: support to convert dedicated umc mca address
        drm/amdgpu: export umc error address convert interface
        drm/amdgpu: fix sdma v4 init microcode error
        drm/amd/display: fix array-bounds error in dc_stream_remove_writeback()
        ...
      7e6739b9
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · a47e6072
      Linus Torvalds authored
      Pull backlight update from Lee Jones:
      
       - Add support for MediaTek MT6370 Backlight
      
      * tag 'backlight-next-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        video: backlight: mt6370: Add MediaTek MT6370 support
        dt-bindings: backlight: Add MediaTek MT6370 backlight
      a47e6072
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.1-1' of... · 7fb68b6c
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
      
       - AMD Platform Management Framework (PMF) driver with AMT and QnQF
         support
      
       - AMD PMC: Improved logging for debugging s2idle issues
      
       - Big refactor of the ACPI/x86 backlight handling, ensuring that we
         only register 1 /sys/class/backlight device per LCD panel
      
       - Microsoft Surface:
          - Surface Laptop Go 2 support
          - Surface Pro 8 HID sensor support
      
       - Asus WMI:
          - Lots of cleanups
          - Support for TUF RGB keyboard backlight control
          - Add support for ROG X13 tablet mode
      
       - Siemens Simatic: IPC227G and IPC427G support
      
       - Toshiba ACPI laptop driver: Fan hwmon and battery ECO mode support
      
       - tools/power/x86/intel-speed-select: Various improvements
      
       - Various cleanups
      
       - Various small bugfixes
      
      * tag 'platform-drivers-x86-v6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (153 commits)
        platform/x86: use PLATFORM_DEVID_NONE instead of -1
        platform/x86/amd: pmc: Dump idle mask during "check" stage instead
        platform/x86/intel/wmi: thunderbolt: Use dev_groups callback
        platform/x86/amd: pmc: remove CONFIG_DEBUG_FS checks
        platform/surface: Split memcpy() of struct ssam_event flexible array
        platform/x86: compal-laptop: Get rid of a few forward declarations
        platform/x86: intel-uncore-freq: Use sysfs_emit() to instead of scnprintf()
        platform/x86: dell-smbios-base: Use sysfs_emit()
        platform/x86/amd/pmf: Remove unused power_delta instances
        platform/x86/amd/pmf: install notify handler after acpi init
        Documentation/ABI/testing/sysfs-amd-pmf: Add ABI doc for AMD PMF
        platform/x86/amd/pmf: Add sysfs to toggle CnQF
        platform/x86/amd/pmf: Add support for CnQF
        platform/x86/amd: pmc: Fix build without debugfs
        platform/x86: hp-wmi: Support touchpad on/off
        platform/x86: int3472/discrete: Drop a forward declaration
        platform/x86: toshiba_acpi: change turn_on_panel_on_resume to static
        platform/x86: wmi: Drop forward declaration of static functions
        platform/x86: toshiba_acpi: Remove duplicate include
        platform/x86: msi-laptop: Change DMI match / alias strings to fix module autoloading
        ...
      7fb68b6c
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v6.1' of... · 1c2daf52
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Tzung-Bi Shih:
       "cros_ec_proto:
         - Fix protocol failure if EC firmware jumps to RO part
      
        cros_typec_switch:
         - Add USB Type-C switch driver for mode switches and retimers
         - Integrate to EC for retimers, status update, and mode switches
         - Clean-ups
      
        cros_ec_typec:
         - Clean-ups
         - Use partner PDOs to register USB PD capabilities
      
        chromeos_laptop:
         - Fix a double-free
      
        cros_ec_chardev:
         - Check data length from userland to avoid a memory corruption
      
        cros_ec:
         - Expose suspend_timeout_ms in debugfs
         - Notify the PM about wake events during resume"
      
      * tag 'tag-chrome-platform-for-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        platform/chrome: cros_ec: Notify the PM of wake events during resume
        platform/chrome: cros_ec_typec: Register partner PDOs
        platform/chrome: cros_typec_switch: Inline DRV_NAME
        platform/chrome: cros_typec_switch: Use PTR_ERR_OR_ZERO() to simplify
        platform/chrome: cros_typec_switch: Remove impossible condition
        platform/chrome: cros_typec_switch: Add missing newline on printk
        platform/chrome: cros_ec_typec: Correct alt mode index
        platform/chrome: cros_ec_typec: Add bit offset for DP VDO
        platform/chrome: cros_ec: Expose suspend_timeout_ms in debugfs
        platform/chrome: fix memory corruption in ioctl
        platform/chrome: fix double-free in chromeos_laptop_prepare()
        platform/chrome: cros_ec_typec: Get retimer handle
        platform/chrome: cros_ec_typec: Cleanup switch handle return paths
        platform/chrome: cros_typec_switch: Register mode switches
        platform/chrome: cros_typec_switch: Add event check
        platform/chrome: cros_typec_switch: Set EC retimer
        platform/chrome: cros_typec_switch: Add switch driver
        platform/chrome: Add Type-C mux set command definitions
        platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure
      1c2daf52
    • Hoi Pok Wu's avatar
      docs:kselftest: fix kselftest_module.h path of example module · 83e14a57
      Hoi Pok Wu authored
      "module.h" does not exist in kselftest, it should be "kselftest_module.h".
      Signed-off-by: default avatarHoi Pok Wu <wuhoipok@gmail.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      83e14a57
    • Meng Li's avatar
      cpufreq: amd-pstate: Add explanation for X86_AMD_PSTATE_UT · bf6430f8
      Meng Li authored
      This kernel module is used for testing. It's safe to say M here.
      It can also be built-in without X86_AMD_PSTATE enabled.
      Currently, only tests for amd-pstate are supported. If X86_AMD_PSTATE
      is set disabled, it can tell the users test can only run on amd-pstate
      driver, please set X86_AMD_PSTATE enabled.
      In the future, comparison tests will be added. It can set amd-pstate
      disabled and set acpi-cpufreq enabled to run test cases, then compare
      the test results.
      Suggested-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarMeng Li <li.meng@amd.com>
      Acked-by: default avatarHuang Rui <ray.huang@amd.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      bf6430f8
    • Zhao Gongyi's avatar
      selftests/cpu-hotplug: Add log info when test success · 96788ac5
      Zhao Gongyi authored
      Add log information when run full test successfully.
      Signed-off-by: default avatarZhao Gongyi <zhaogongyi@huawei.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      96788ac5
    • Zhao Gongyi's avatar
      selftests/cpu-hotplug: Reserve one cpu online at least · 51d4c851
      Zhao Gongyi authored
      Considering that we can not offline all cpus in any cases,
      we need to reserve one cpu online when the test offline all
      hotpluggable online cpus, otherwise the test will fail forever.
      
      Fixes: d89dffa9 ("fault-injection: add selftests for cpu and memory hotplug")
      Signed-off-by: default avatarZhao Gongyi <zhaogongyi@huawei.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      51d4c851
    • Zhao Gongyi's avatar
      selftests/cpu-hotplug: Delete fault injection related code · 195d74be
      Zhao Gongyi authored
      Delete fault injection related code since the module has been deleted.
      Signed-off-by: default avatarZhao Gongyi <zhaogongyi@huawei.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      195d74be
    • Zhao Gongyi's avatar
      selftests/cpu-hotplug: Use return instead of exit · 972cf4ce
      Zhao Gongyi authored
      Some cpus will be left in offline state when online
      function exits in some error conditions. Use return
      instead of exit to fix it.
      Signed-off-by: default avatarZhao Gongyi <zhaogongyi@huawei.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      972cf4ce
    • Zhao Gongyi's avatar
      selftests/cpu-hotplug: Correct log info · 2354edd0
      Zhao Gongyi authored
      Correct the log info to match the test.
      Signed-off-by: default avatarZhao Gongyi <zhaogongyi@huawei.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      2354edd0
    • Meng Li's avatar
      cpufreq: amd-pstate: modify type in argument 2 for filp_open · ce29a148
      Meng Li authored
      Modify restricted FMODE_PREAD to experted int O_RDONLY to
      fix the sparse warnings below:
      sparse warnings: (new ones prefixed by >>)
      >> drivers/cpufreq/amd-pstate-ut.c:74:40: sparse: sparse: incorrect type
      >> in argument 2 (different base types) @@     expected int @@     got
      >> restricted fmode_t [usertype] @@
         drivers/cpufreq/amd-pstate-ut.c:74:40: sparse:     expected int
         drivers/cpufreq/amd-pstate-ut.c:74:40: sparse:     got restricted
      fmode_t [usertype]
      Signed-off-by: default avatarMeng Li <li.meng@amd.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Acked-by: default avatarHuang Rui <ray.huang@amd.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      ce29a148
    • Meng Li's avatar
      Documentation: amd-pstate: Add unit test introduction · 7fe36297
      Meng Li authored
      Introduce the AMD P-State unit test module design and implementation.
      It also talks about kselftest and how to use.
      Signed-off-by: default avatarMeng Li <li.meng@amd.com>
      Acked-by: default avatarHuang Rui <ray.huang@amd.com>
      Reviewed-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      7fe36297
    • Meng Li's avatar
      selftests: amd-pstate: Add test trigger for amd-pstate driver · e1083a03
      Meng Li authored
      Add amd-pstate test trigger in kselftest, it will load/unload
      amd-pstate-ut module to test some cases etc.
      Signed-off-by: default avatarMeng Li <li.meng@amd.com>
      Acked-by: default avatarHuang Rui <ray.huang@amd.com>
      Reviewed-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      e1083a03
    • Meng Li's avatar
      cpufreq: amd-pstate: Add test module for amd-pstate driver · 14eb1c96
      Meng Li authored
      Add amd-pstate-ut test module, this module is used by kselftest
      to unit test amd-pstate functionality. This module will be
      expected by some of selftests to be present and loaded.
      Signed-off-by: default avatarMeng Li <li.meng@amd.com>
      Acked-by: default avatarHuang Rui <ray.huang@amd.com>
      Reviewed-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      14eb1c96