1. 12 Oct, 2022 1 commit
  2. 07 Oct, 2022 19 commits
    • Pavel Begunkov's avatar
      io_uring: limit registration w/ SINGLE_ISSUER · d7cce96c
      Pavel Begunkov authored
      IORING_SETUP_SINGLE_ISSUER restricts what tasks can submit requests.
      Extend it to registration as well, so non-owning task can't do
      registrations. It's not necessary at the moment but might be useful in
      the future.
      
      Cc: <stable@vger.kernel.org> # 6.0
      Fixes: 97bbdc06 ("io_uring: add IORING_SETUP_SINGLE_ISSUER")
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Link: https://lore.kernel.org/r/f52a6a9c8a8990d4a831f73c0571e7406aac2bba.1664237592.git.asml.silence@gmail.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d7cce96c
    • Dylan Yudaken's avatar
      io_uring: remove io_register_submitter · 4add705e
      Dylan Yudaken authored
      this is no longer needed, as submitter_task is set at creation time.
      Signed-off-by: default avatarDylan Yudaken <dylany@fb.com>
      Fixes: 97bbdc06 ("io_uring: add IORING_SETUP_SINGLE_ISSUER")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4add705e
    • Dylan Yudaken's avatar
      io_uring: simplify __io_uring_add_tctx_node · 97c96e9f
      Dylan Yudaken authored
      Remove submitter parameter from __io_uring_add_tctx_node.
      
      It was only called from one place, and we can do that logic in that one
      place.
      Signed-off-by: default avatarDylan Yudaken <dylany@fb.com>
      Fixes: 97bbdc06 ("io_uring: add IORING_SETUP_SINGLE_ISSUER")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      97c96e9f
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-10-07-1' of git://anongit.freedesktop.org/drm/drm · 9d84bb40
      Linus Torvalds authored
      Pull drm fix from Dave Airlie:
       "This reverts the patch I found with rough bisection to instability
        around fences and the oops I got from netconsole.
      
        sched:
         - revert patch causing oopses"
      
      * tag 'drm-next-2022-10-07-1' of git://anongit.freedesktop.org/drm/drm:
        Revert "drm/sched: Use parent fence instead of finished"
      9d84bb40
    • Linus Torvalds's avatar
      Merge tag 'for-6.1/passthrough-2022-10-04' of git://git.kernel.dk/linux · 7c989b1d
      Linus Torvalds authored
      Pull passthrough updates from Jens Axboe:
       "With these changes, passthrough NVMe support over io_uring now
        performs at the same level as block device O_DIRECT, and in many cases
        6-8% better.
      
        This contains:
      
         - Add support for fixed buffers for passthrough (Anuj, Kanchan)
      
         - Enable batched allocations and freeing on passthrough, similarly to
           what we support on the normal storage path (me)
      
         - Fix from Geert fixing an issue with !CONFIG_IO_URING"
      
      * tag 'for-6.1/passthrough-2022-10-04' of git://git.kernel.dk/linux:
        io_uring: Add missing inline to io_uring_cmd_import_fixed() dummy
        nvme: wire up fixed buffer support for nvme passthrough
        nvme: pass ubuffer as an integer
        block: extend functionality to map bvec iterator
        block: factor out blk_rq_map_bio_alloc helper
        block: rename bio_map_put to blk_mq_map_bio_put
        nvme: refactor nvme_alloc_request
        nvme: refactor nvme_add_user_metadata
        nvme: Use blk_rq_map_user_io helper
        scsi: Use blk_rq_map_user_io helper
        block: add blk_rq_map_user_io
        io_uring: introduce fixed buffer support for io_uring_cmd
        io_uring: add io_uring_cmd_import_fixed
        nvme: enable batched completions of passthrough IO
        nvme: split out metadata vs non metadata end_io uring_cmd completions
        block: allow end_io based requests in the completion batch handling
        block: change request end_io handler to pass back a return value
        block: enable batched allocation for blk_mq_alloc_request()
        block: kill deprecated BUG_ON() in the flush handling
      7c989b1d
    • Linus Torvalds's avatar
      Merge tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linux · 51338980
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - NVMe pull requests via Christoph:
            - handle number of queue changes in the TCP and RDMA drivers
              (Daniel Wagner)
            - allow changing the number of queues in nvmet (Daniel Wagner)
            - also consider host_iface when checking ip options (Daniel
              Wagner)
            - don't map pages which can't come from HIGHMEM (Fabio M. De
              Francesco)
            - avoid unnecessary flush bios in nvmet (Guixin Liu)
            - shrink and better pack the nvme_iod structure (Keith Busch)
            - add comment for unaligned "fake" nqn (Linjun Bao)
            - print actual source IP address through sysfs "address" attr
              (Martin Belanger)
            - various cleanups (Jackie Liu, Wolfram Sang, Genjian Zhang)
            - handle effects after freeing the request (Keith Busch)
            - copy firmware_rev on each init (Keith Busch)
            - restrict management ioctls to admin (Keith Busch)
            - ensure subsystem reset is single threaded (Keith Busch)
            - report the actual number of tagset maps in nvme-pci (Keith
              Busch)
            - small fabrics authentication fixups (Christoph Hellwig)
            - add common code for tagset allocation and freeing (Christoph
              Hellwig)
            - stop using the request_queue in nvmet (Christoph Hellwig)
            - set min_align_mask before calculating max_hw_sectors (Rishabh
              Bhatnagar)
            - send a rediscover uevent when a persistent discovery controller
              reconnects (Sagi Grimberg)
            - misc nvmet-tcp fixes (Varun Prakash, zhenwei pi)
      
       - MD pull request via Song:
            - Various raid5 fix and clean up, by Logan Gunthorpe and David
              Sloan.
            - Raid10 performance optimization, by Yu Kuai.
      
       - sbitmap wakeup hang fixes (Hugh, Keith, Jan, Yu)
      
       - IO scheduler switching quisce fix (Keith)
      
       - s390/dasd block driver updates (Stefan)
      
       - support for recovery for the ublk driver (ZiyangZhang)
      
       - rnbd drivers fixes and updates (Guoqing, Santosh, ye, Christoph)
      
       - blk-mq and null_blk map fixes (Bart)
      
       - various bcache fixes (Coly, Jilin, Jules)
      
       - nbd signal hang fix (Shigeru)
      
       - block writeback throttling fix (Yu)
      
       - optimize the passthrough mapping handling (me)
      
       - prepare block cgroups to being gendisk based (Christoph)
      
       - get rid of an old PSI hack in the block layer, moving it to the
         callers instead where it belongs (Christoph)
      
       - blk-throttle fixes and cleanups (Yu)
      
       - misc fixes and cleanups (Liu Shixin, Liu Song, Miaohe, Pankaj,
         Ping-Xiang, Wolfram, Saurabh, Li Jinlin, Li Lei, Lin, Li zeming,
         Miaohe, Bart, Coly, Gaosheng
      
      * tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linux: (162 commits)
        sbitmap: fix lockup while swapping
        block: add rationale for not using blk_mq_plug() when applicable
        block: adapt blk_mq_plug() to not plug for writes that require a zone lock
        s390/dasd: use blk_mq_alloc_disk
        blk-cgroup: don't update the blkg lookup hint in blkg_conf_prep
        nvmet: don't look at the request_queue in nvmet_bdev_set_limits
        nvmet: don't look at the request_queue in nvmet_bdev_zone_mgmt_emulate_all
        blk-mq: use quiesced elevator switch when reinitializing queues
        block: replace blk_queue_nowait with bdev_nowait
        nvme: remove nvme_ctrl_init_connect_q
        nvme-loop: use the tagset alloc/free helpers
        nvme-loop: store the generic nvme_ctrl in set->driver_data
        nvme-loop: initialize sqsize later
        nvme-fc: use the tagset alloc/free helpers
        nvme-fc: store the generic nvme_ctrl in set->driver_data
        nvme-fc: keep ctrl->sqsize in sync with opts->queue_size
        nvme-rdma: use the tagset alloc/free helpers
        nvme-rdma: store the generic nvme_ctrl in set->driver_data
        nvme-tcp: use the tagset alloc/free helpers
        nvme-tcp: store the generic nvme_ctrl in set->driver_data
        ...
      51338980
    • Linus Torvalds's avatar
      Merge tag 'for-6.1/io_uring-2022-10-03' of git://git.kernel.dk/linux · 0a78a376
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
      
       - Add supported for more directly managed task_work running.
      
         This is beneficial for real world applications that end up issuing
         lots of system calls as part of handling work. Normal task_work will
         always execute as we transition in and out of the kernel, even for
         "unrelated" system calls. It's more efficient to defer the handling
         of io_uring's deferred work until the application wants it to be run,
         generally in batches.
      
         As part of ongoing work to write an io_uring network backend for
         Thrift, this has been shown to greatly improve performance. (Dylan)
      
       - Add IOPOLL support for passthrough (Kanchan)
      
       - Improvements and fixes to the send zero-copy support (Pavel)
      
       - Partial IO handling fixes (Pavel)
      
       - CQE ordering fixes around CQ ring overflow (Pavel)
      
       - Support sendto() for non-zc as well (Pavel)
      
       - Support sendmsg for zerocopy (Pavel)
      
       - Networking iov_iter fix (Stefan)
      
       - Misc fixes and cleanups (Pavel, me)
      
      * tag 'for-6.1/io_uring-2022-10-03' of git://git.kernel.dk/linux: (56 commits)
        io_uring/net: fix notif cqe reordering
        io_uring/net: don't update msg_name if not provided
        io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL
        io_uring/rw: defer fsnotify calls to task context
        io_uring/net: fix fast_iov assignment in io_setup_async_msg()
        io_uring/net: fix non-zc send with address
        io_uring/net: don't skip notifs for failed requests
        io_uring/rw: don't lose short results on io_setup_async_rw()
        io_uring/rw: fix unexpected link breakage
        io_uring/net: fix cleanup double free free_iov init
        io_uring: fix CQE reordering
        io_uring/net: fix UAF in io_sendrecv_fail()
        selftest/net: adjust io_uring sendzc notif handling
        io_uring: ensure local task_work marks task as running
        io_uring/net: zerocopy sendmsg
        io_uring/net: combine fail handlers
        io_uring/net: rename io_sendzc()
        io_uring/net: support non-zerocopy sendto
        io_uring/net: refactor io_setup_async_addr
        io_uring/net: don't lose partial send_zc on fail
        ...
      0a78a376
    • Linus Torvalds's avatar
      Merge tag 'fs-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 188943a1
      Linus Torvalds authored
      Pull ext2, udf, reiserfs, and quota updates from Jan Kara:
      
       - Fix for udf to make splicing work again
      
       - More disk format sanity checks for ext2 to avoid crashes found by
         syzbot
      
       - More quota disk format checks to avoid crashes found by fuzzing
      
       - Reiserfs & isofs cleanups
      
      * tag 'fs-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        quota: Add more checking after reading from quota file
        quota: Replace all block number checking with helper function
        quota: Check next/prev free block number after reading from quota file
        ext2: Use kvmalloc() for group descriptor array
        ext2: Add sanity checks for group and filesystem size
        udf: Support splicing to file
        isofs: delete unnecessary checks before brelse()
        fs/reiserfs: replace ternary operator with min() and min_t()
      188943a1
    • Linus Torvalds's avatar
      Merge tag 'fsnotify-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · abf625dc
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "Two cleanups for fsnotify code"
      
      * tag 'fsnotify-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: Remove obsoleted fanotify_event_has_path()
        fsnotify: remove unused declaration
      abf625dc
    • Linus Torvalds's avatar
      Merge tag '6.1-rc-ksmbd-fixes' of git://git.samba.org/ksmbd · 9f4b9bee
      Linus Torvalds authored
      Pull ksmbd updates from Steve French:
      
       - RDMA (smbdirect) fixes
      
       - fixes for SMB3.1.1 POSIX Extensions (especially for id mapping)
      
       - various casemapping fixes for mount and lookup
      
       - UID mapping fixes
      
       - fix confusing error message
      
       - protocol negotiation fixes, including NTLMSSP fix
      
       - two encryption fixes
      
       - directory listing fix
      
       - some cleanup fixes
      
      * tag '6.1-rc-ksmbd-fixes' of git://git.samba.org/ksmbd: (24 commits)
        ksmbd: validate share name from share config response
        ksmbd: call ib_drain_qp when disconnected
        ksmbd: make utf-8 file name comparison work in __caseless_lookup()
        ksmbd: Fix user namespace mapping
        ksmbd: hide socket error message when ipv6 config is disable
        ksmbd: reduce server smbdirect max send/receive segment sizes
        ksmbd: decrease the number of SMB3 smbdirect server SGEs
        ksmbd: Fix wrong return value and message length check in smb2_ioctl()
        ksmbd: set NTLMSSP_NEGOTIATE_SEAL flag to challenge blob
        ksmbd: fix encryption failure issue for session logoff response
        ksmbd: fix endless loop when encryption for response fails
        ksmbd: fill sids in SMB_FIND_FILE_POSIX_INFO response
        ksmbd: set file permission mode to match Samba server posix extension behavior
        ksmbd: change security id to the one samba used for posix extension
        ksmbd: update documentation
        ksmbd: casefold utf-8 share names and fix ascii lowercase conversion
        ksmbd: port to vfs{g,u}id_t and associated helpers
        ksmbd: fix incorrect handling of iterate_dir
        MAINTAINERS: remove Hyunchul Lee from ksmbd maintainers
        MAINTAINERS: Add Tom Talpey as ksmbd reviewer
        ...
      9f4b9bee
    • Dave Airlie's avatar
      Revert "drm/sched: Use parent fence instead of finished" · bafaf67c
      Dave Airlie authored
      This reverts commit e4dc45b1.
      
      This is causing instability on Linus' desktop, and I'm seeing
      oops with VK CTS runs.
      
      netconsole got me the following oops:
      [ 1234.778760] BUG: kernel NULL pointer dereference, address: 0000000000000088
      [ 1234.778782] #PF: supervisor read access in kernel mode
      [ 1234.778787] #PF: error_code(0x0000) - not-present page
      [ 1234.778791] PGD 0 P4D 0
      [ 1234.778798] Oops: 0000 [#1] PREEMPT SMP NOPTI
      [ 1234.778803] CPU: 7 PID: 805 Comm: systemd-journal Not tainted 6.0.0+ #2
      [ 1234.778809] Hardware name: System manufacturer System Product
      Name/PRIME X370-PRO, BIOS 5603 07/28/2020
      [ 1234.778813] RIP: 0010:drm_sched_job_done.isra.0+0xc/0x140 [gpu_sched]
      [ 1234.778828] Code: aa 0f 1d ce e9 57 ff ff ff 48 89 d7 e8 9d 8f 3f
      ce e9 4a ff ff ff 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 41 54 55 53
      48 89 fb <48> 8b af 88 00 00 00 f0 ff 8d f0 00 00 00 48 8b 85 80 01 00
      00 f0
      [ 1234.778834] RSP: 0000:ffffabe680380de0 EFLAGS: 00010087
      [ 1234.778839] RAX: ffffffffc04e9230 RBX: 0000000000000000 RCX: 0000000000000018
      [ 1234.778897] RDX: 00000ba278e8977a RSI: ffff953fb288b460 RDI: 0000000000000000
      [ 1234.778901] RBP: ffff953fb288b598 R08: 00000000000000e0 R09: ffff953fbd98b808
      [ 1234.778905] R10: 0000000000000000 R11: ffffabe680380ff8 R12: ffffabe680380e00
      [ 1234.778908] R13: 0000000000000001 R14: 00000000ffffffff R15: ffff953fbd9ec458
      [ 1234.778912] FS:  00007f35e7008580(0000) GS:ffff95428ebc0000(0000)
      knlGS:0000000000000000
      [ 1234.778916] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 1234.778919] CR2: 0000000000000088 CR3: 000000010147c000 CR4: 00000000003506e0
      [ 1234.778924] Call Trace:
      [ 1234.778981]  <IRQ>
      [ 1234.778989]  dma_fence_signal_timestamp_locked+0x6a/0xe0
      [ 1234.778999]  dma_fence_signal+0x2c/0x50
      [ 1234.779005]  amdgpu_fence_process+0xc8/0x140 [amdgpu]
      [ 1234.779234]  sdma_v3_0_process_trap_irq+0x70/0x80 [amdgpu]
      [ 1234.779395]  amdgpu_irq_dispatch+0xa9/0x1d0 [amdgpu]
      [ 1234.779609]  amdgpu_ih_process+0x80/0x100 [amdgpu]
      [ 1234.779783]  amdgpu_irq_handler+0x1f/0x60 [amdgpu]
      [ 1234.779940]  __handle_irq_event_percpu+0x46/0x190
      [ 1234.779946]  handle_irq_event+0x34/0x70
      [ 1234.779949]  handle_edge_irq+0x9f/0x240
      [ 1234.779954]  __common_interrupt+0x66/0x100
      [ 1234.779960]  common_interrupt+0xa0/0xc0
      [ 1234.779965]  </IRQ>
      [ 1234.779968]  <TASK>
      [ 1234.779971]  asm_common_interrupt+0x22/0x40
      [ 1234.779976] RIP: 0010:finish_mkwrite_fault+0x22/0x110
      [ 1234.779981] Code: 1f 84 00 00 00 00 00 90 0f 1f 44 00 00 41 55 41
      54 55 48 89 fd 53 48 8b 07 f6 40 50 08 0f 84 eb 00 00 00 48 8b 45 30
      48 8b 18 <48> 89 df e8 66 bd ff ff 48 85 c0 74 0d 48 89 c2 83 e2 01 48
      83 ea
      [ 1234.779985] RSP: 0000:ffffabe680bcfd78 EFLAGS: 00000202
      
      Revert it for now and figure it out later.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bafaf67c
    • 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
  3. 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
  4. 05 Oct, 2022 9 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