1. 28 Apr, 2023 2 commits
  2. 27 Apr, 2023 22 commits
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 888d3c9f
      Linus Torvalds authored
      Pull sysctl updates from Luis Chamberlain:
       "This only does a few sysctl moves from the kernel/sysctl.c file, the
        rest of the work has been put towards deprecating two API calls which
        incur recursion and prevent us from simplifying the registration
        process / saving memory per move. Most of the changes have been
        soaking on linux-next since v6.3-rc3.
      
        I've slowed down the kernel/sysctl.c moves due to Matthew Wilcox's
        feedback that we should see if we could *save* memory with these moves
        instead of incurring more memory. We currently incur more memory since
        when we move a syctl from kernel/sysclt.c out to its own file we end
        up having to add a new empty sysctl used to register it. To achieve
        saving memory we want to allow syctls to be passed without requiring
        the end element being empty, and just have our registration process
        rely on ARRAY_SIZE(). Without this, supporting both styles of sysctls
        would make the sysctl registration pretty brittle, hard to read and
        maintain as can be seen from Meng Tang's efforts to do just this [0].
        Fortunately, in order to use ARRAY_SIZE() for all sysctl registrations
        also implies doing the work to deprecate two API calls which use
        recursion in order to support sysctl declarations with subdirectories.
      
        And so during this development cycle quite a bit of effort went into
        this deprecation effort. I've annotated the following two APIs are
        deprecated and in few kernel releases we should be good to remove
        them:
      
         - register_sysctl_table()
         - register_sysctl_paths()
      
        During this merge window we should be able to deprecate and unexport
        register_sysctl_paths(), we can probably do that towards the end of
        this merge window.
      
        Deprecating register_sysctl_table() will take a bit more time but this
        pull request goes with a few example of how to do this.
      
        As it turns out each of the conversions to move away from either of
        these two API calls *also* saves memory. And so long term, all these
        changes *will* prove to have saved a bit of memory on boot.
      
        The way I see it then is if remove a user of one deprecated call, it
        gives us enough savings to move one kernel/sysctl.c out from the
        generic arrays as we end up with about the same amount of bytes.
      
        Since deprecating register_sysctl_table() and register_sysctl_paths()
        does not require maintainer coordination except the final unexport
        you'll see quite a bit of these changes from other pull requests, I've
        just kept the stragglers after rc3"
      
      Link: https://lkml.kernel.org/r/ZAD+cpbrqlc5vmry@bombadil.infradead.org [0]
      
      * tag 'sysctl-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux: (29 commits)
        fs: fix sysctls.c built
        mm: compaction: remove incorrect #ifdef checks
        mm: compaction: move compaction sysctl to its own file
        mm: memory-failure: Move memory failure sysctls to its own file
        arm: simplify two-level sysctl registration for ctl_isa_vars
        ia64: simplify one-level sysctl registration for kdump_ctl_table
        utsname: simplify one-level sysctl registration for uts_kern_table
        ntfs: simplfy one-level sysctl registration for ntfs_sysctls
        coda: simplify one-level sysctl registration for coda_table
        fs/cachefiles: simplify one-level sysctl registration for cachefiles_sysctls
        xfs: simplify two-level sysctl registration for xfs_table
        nfs: simplify two-level sysctl registration for nfs_cb_sysctls
        nfs: simplify two-level sysctl registration for nfs4_cb_sysctls
        lockd: simplify two-level sysctl registration for nlm_sysctls
        proc_sysctl: enhance documentation
        xen: simplify sysctl registration for balloon
        md: simplify sysctl registration
        hv: simplify sysctl registration
        scsi: simplify sysctl registration with register_sysctl()
        csky: simplify alignment sysctl registration
        ...
      888d3c9f
    • Linus Torvalds's avatar
      Merge tag 'modules-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · b6a78285
      Linus Torvalds authored
      Pull module updates from Luis Chamberlain:
       "The summary of the changes for this pull requests is:
      
         - Song Liu's new struct module_memory replacement
      
         - Nick Alcock's MODULE_LICENSE() removal for non-modules
      
         - My cleanups and enhancements to reduce the areas where we vmalloc
           module memory for duplicates, and the respective debug code which
           proves the remaining vmalloc pressure comes from userspace.
      
        Most of the changes have been in linux-next for quite some time except
        the minor fixes I made to check if a module was already loaded prior
        to allocating the final module memory with vmalloc and the respective
        debug code it introduces to help clarify the issue. Although the
        functional change is small it is rather safe as it can only *help*
        reduce vmalloc space for duplicates and is confirmed to fix a bootup
        issue with over 400 CPUs with KASAN enabled. I don't expect stable
        kernels to pick up that fix as the cleanups would have also had to
        have been picked up. Folks on larger CPU systems with modules will
        want to just upgrade if vmalloc space has been an issue on bootup.
      
        Given the size of this request, here's some more elaborate details:
      
        The functional change change in this pull request is the very first
        patch from Song Liu which replaces the 'struct module_layout' with a
        new 'struct module_memory'. The old data structure tried to put
        together all types of supported module memory types in one data
        structure, the new one abstracts the differences in memory types in a
        module to allow each one to provide their own set of details. This
        paves the way in the future so we can deal with them in a cleaner way.
        If you look at changes they also provide a nice cleanup of how we
        handle these different memory areas in a module. This change has been
        in linux-next since before the merge window opened for v6.3 so to
        provide more than a full kernel cycle of testing. It's a good thing as
        quite a bit of fixes have been found for it.
      
        Jason Baron then made dynamic debug a first class citizen module user
        by using module notifier callbacks to allocate / remove module
        specific dynamic debug information.
      
        Nick Alcock has done quite a bit of work cross-tree to remove module
        license tags from things which cannot possibly be module at my request
        so to:
      
         a) help him with his longer term tooling goals which require a
            deterministic evaluation if a piece a symbol code could ever be
            part of a module or not. But quite recently it is has been made
            clear that tooling is not the only one that would benefit.
            Disambiguating symbols also helps efforts such as live patching,
            kprobes and BPF, but for other reasons and R&D on this area is
            active with no clear solution in sight.
      
         b) help us inch closer to the now generally accepted long term goal
            of automating all the MODULE_LICENSE() tags from SPDX license tags
      
        In so far as a) is concerned, although module license tags are a no-op
        for non-modules, tools which would want create a mapping of possible
        modules can only rely on the module license tag after the commit
        8b41fc44 ("kbuild: create modules.builtin without
        Makefile.modbuiltin or tristate.conf").
      
        Nick has been working on this *for years* and AFAICT I was the only
        one to suggest two alternatives to this approach for tooling. The
        complexity in one of my suggested approaches lies in that we'd need a
        possible-obj-m and a could-be-module which would check if the object
        being built is part of any kconfig build which could ever lead to it
        being part of a module, and if so define a new define
        -DPOSSIBLE_MODULE [0].
      
        A more obvious yet theoretical approach I've suggested would be to
        have a tristate in kconfig imply the same new -DPOSSIBLE_MODULE as
        well but that means getting kconfig symbol names mapping to modules
        always, and I don't think that's the case today. I am not aware of
        Nick or anyone exploring either of these options. Quite recently Josh
        Poimboeuf has pointed out that live patching, kprobes and BPF would
        benefit from resolving some part of the disambiguation as well but for
        other reasons. The function granularity KASLR (fgkaslr) patches were
        mentioned but Joe Lawrence has clarified this effort has been dropped
        with no clear solution in sight [1].
      
        In the meantime removing module license tags from code which could
        never be modules is welcomed for both objectives mentioned above. Some
        developers have also welcomed these changes as it has helped clarify
        when a module was never possible and they forgot to clean this up, and
        so you'll see quite a bit of Nick's patches in other pull requests for
        this merge window. I just picked up the stragglers after rc3. LWN has
        good coverage on the motivation behind this work [2] and the typical
        cross-tree issues he ran into along the way. The only concrete blocker
        issue he ran into was that we should not remove the MODULE_LICENSE()
        tags from files which have no SPDX tags yet, even if they can never be
        modules. Nick ended up giving up on his efforts due to having to do
        this vetting and backlash he ran into from folks who really did *not
        understand* the core of the issue nor were providing any alternative /
        guidance. I've gone through his changes and dropped the patches which
        dropped the module license tags where an SPDX license tag was missing,
        it only consisted of 11 drivers. To see if a pull request deals with a
        file which lacks SPDX tags you can just use:
      
          ./scripts/spdxcheck.py -f \
      	$(git diff --name-only commid-id | xargs echo)
      
        You'll see a core module file in this pull request for the above, but
        that's not related to his changes. WE just need to add the SPDX
        license tag for the kernel/module/kmod.c file in the future but it
        demonstrates the effectiveness of the script.
      
        Most of Nick's changes were spread out through different trees, and I
        just picked up the slack after rc3 for the last kernel was out. Those
        changes have been in linux-next for over two weeks.
      
        The cleanups, debug code I added and final fix I added for modules
        were motivated by David Hildenbrand's report of boot failing on a
        systems with over 400 CPUs when KASAN was enabled due to running out
        of virtual memory space. Although the functional change only consists
        of 3 lines in the patch "module: avoid allocation if module is already
        present and ready", proving that this was the best we can do on the
        modules side took quite a bit of effort and new debug code.
      
        The initial cleanups I did on the modules side of things has been in
        linux-next since around rc3 of the last kernel, the actual final fix
        for and debug code however have only been in linux-next for about a
        week or so but I think it is worth getting that code in for this merge
        window as it does help fix / prove / evaluate the issues reported with
        larger number of CPUs. Userspace is not yet fixed as it is taking a
        bit of time for folks to understand the crux of the issue and find a
        proper resolution. Worst come to worst, I have a kludge-of-concept [3]
        of how to make kernel_read*() calls for modules unique / converge
        them, but I'm currently inclined to just see if userspace can fix this
        instead"
      
      Link: https://lore.kernel.org/all/Y/kXDqW+7d71C4wz@bombadil.infradead.org/ [0]
      Link: https://lkml.kernel.org/r/025f2151-ce7c-5630-9b90-98742c97ac65@redhat.com [1]
      Link: https://lwn.net/Articles/927569/ [2]
      Link: https://lkml.kernel.org/r/20230414052840.1994456-3-mcgrof@kernel.org [3]
      
      * tag 'modules-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux: (121 commits)
        module: add debugging auto-load duplicate module support
        module: stats: fix invalid_mod_bytes typo
        module: remove use of uninitialized variable len
        module: fix building stats for 32-bit targets
        module: stats: include uapi/linux/module.h
        module: avoid allocation if module is already present and ready
        module: add debug stats to help identify memory pressure
        module: extract patient module check into helper
        modules/kmod: replace implementation with a semaphore
        Change DEFINE_SEMAPHORE() to take a number argument
        module: fix kmemleak annotations for non init ELF sections
        module: Ignore L0 and rename is_arm_mapping_symbol()
        module: Move is_arm_mapping_symbol() to module_symbol.h
        module: Sync code of is_arm_mapping_symbol()
        scripts/gdb: use mem instead of core_layout to get the module address
        interconnect: remove module-related code
        interconnect: remove MODULE_LICENSE in non-modules
        zswap: remove MODULE_LICENSE in non-modules
        zpool: remove MODULE_LICENSE in non-modules
        x86/mm/dump_pagetables: remove MODULE_LICENSE in non-modules
        ...
      b6a78285
    • Linus Torvalds's avatar
      cdx: fix build failure due to sysfs 'bus_type' argument needing to be const · d06f5a3f
      Linus Torvalds authored
      Commit 75cff725 ("driver core: bus: mark the struct bus_type for
      sysfs callbacks as constant") missed at least one case - the CDX bus
      driver.  Probably because Greg didn't notice the build failure, because
      it only ends up being enabled on arm64.
      
      And I missed it during the merge, because while I do arm64 builds these
      days, I don't do them in between each pull.  So it took a while for me
      to notice the breakage, rather than me just fixing it in the driver core
      merge that brought this failure case in.
      
      Maybe we should remove the CDX_BUS dependency on arm64 when COMPILE_TEST
      is on?
      
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Nipun Gupta <nipun.gupta@amd.com>
      Cc: Nikhil Agarwal <nikhil.agarwal@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d06f5a3f
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · cec24b8b
      Linus Torvalds authored
      Pull char/misc drivers updates from Greg KH:
       "Here is the "big" set of char/misc and other driver subsystems for
        6.4-rc1.
      
        It's pretty big, but due to the removal of pcmcia drivers, almost
        breaks even for number of lines added vs. removed, a nice change.
      
        Included in here are:
      
         - removal of unused PCMCIA drivers (finally!)
      
         - Interconnect driver updates and additions
      
         - Lots of IIO driver updates and additions
      
         - MHI driver updates
      
         - Coresight driver updates
      
         - NVMEM driver updates, which required some OF updates
      
         - W1 driver updates and a new maintainer to manage the subsystem
      
         - FPGA driver updates
      
         - New driver subsystem, CDX, for AMD systems
      
         - lots of other small driver updates and additions
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (196 commits)
        mcb-lpc: Reallocate memory region to avoid memory overlapping
        mcb-pci: Reallocate memory region to avoid memory overlapping
        mcb: Return actual parsed size when reading chameleon table
        kernel/configs: Drop Android config fragments
        virt: acrn: Replace obsolete memalign() with posix_memalign()
        spmi: Add a check for remove callback when removing a SPMI driver
        spmi: fix W=1 kernel-doc warnings
        spmi: mtk-pmif: Drop of_match_ptr for ID table
        spmi: pmic-arb: Convert to platform remove callback returning void
        spmi: mtk-pmif: Convert to platform remove callback returning void
        spmi: hisi-spmi-controller: Convert to platform remove callback returning void
        w1: gpio: remove unnecessary ENOMEM messages
        w1: omap-hdq: remove unnecessary ENOMEM messages
        w1: omap-hdq: add SPDX tag
        w1: omap-hdq: allow compile testing
        w1: matrox: remove unnecessary ENOMEM messages
        w1: matrox: use inline over __inline__
        w1: matrox: switch from asm to linux header
        w1: ds2482: do not use assignment in if condition
        w1: ds2482: drop unnecessary header
        ...
      cec24b8b
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 556eb8b7
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the large set of driver core changes for 6.4-rc1.
      
        Once again, a busy development cycle, with lots of changes happening
        in the driver core in the quest to be able to move "struct bus" and
        "struct class" into read-only memory, a task now complete with these
        changes.
      
        This will make the future rust interactions with the driver core more
        "provably correct" as well as providing more obvious lifetime rules
        for all busses and classes in the kernel.
      
        The changes required for this did touch many individual classes and
        busses as many callbacks were changed to take const * parameters
        instead. All of these changes have been submitted to the various
        subsystem maintainers, giving them plenty of time to review, and most
        of them actually did so.
      
        Other than those changes, included in here are a small set of other
        things:
      
         - kobject logging improvements
      
         - cacheinfo improvements and updates
      
         - obligatory fw_devlink updates and fixes
      
         - documentation updates
      
         - device property cleanups and const * changes
      
         - firwmare loader dependency fixes.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'driver-core-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (120 commits)
        device property: make device_property functions take const device *
        driver core: update comments in device_rename()
        driver core: Don't require dynamic_debug for initcall_debug probe timing
        firmware_loader: rework crypto dependencies
        firmware_loader: Strip off \n from customized path
        zram: fix up permission for the hot_add sysfs file
        cacheinfo: Add use_arch[|_cache]_info field/function
        arch_topology: Remove early cacheinfo error message if -ENOENT
        cacheinfo: Check cache properties are present in DT
        cacheinfo: Check sib_leaf in cache_leaves_are_shared()
        cacheinfo: Allow early level detection when DT/ACPI info is missing/broken
        cacheinfo: Add arm64 early level initializer implementation
        cacheinfo: Add arch specific early level initializer
        tty: make tty_class a static const structure
        driver core: class: remove struct class_interface * from callbacks
        driver core: class: mark the struct class in struct class_interface constant
        driver core: class: make class_register() take a const *
        driver core: class: mark class_release() as taking a const *
        driver core: remove incorrect comment for device_create*
        MIPS: vpe-cmp: remove module owner pointer from struct class usage.
        ...
      556eb8b7
    • Linus Torvalds's avatar
      Merge tag 'staging-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 97b2ff29
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the large set of staging driver updates for 6.4-rc1. Once
        again, we removed more code than was added, a nice trend.
      
        It was a calm cycle, mostly all just small coding style cleanups,
        included in here are:
      
         - removal of the greybus loopback testing tools, userspace code that
           didn't belong in a driver subdirectory and was causing problems for
           some build systems
      
         - platform remove callback cleanups
      
         - rtl8192e huge cleanups
      
         - other small staging driver cleanups.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (185 commits)
        staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
        staging: rtl8192e: Remove unchanged variables bfsync_processing and more
        staging: rtl8192e: Remove unchanged variable frame_sync_monitor
        staging: rtl8192e: Remove unchanged variable chan_forced
        staging: rtl8192e: Remove set to true while true of bfirst_after_down
        staging: rtl8192e: Remove second initialization of bActuallySet
        staging: rtl8192e: Remove unused macro RT_SET_PS_LEVEL
        staging: rtl8192e: Remove unused function rtl92e_disable_nic
        staging: rtl8192e: Remove unchanged variable RegRfPsLevel
        staging: rtl8172: Add blank lines after declarations
        staging: rtl8192e: Remove unused variable RF_Type
        staging: rtl8192e: Remove one of two checks for hardware RTL8192SE
        staging: rtl8192e: Remove unused function _rtl92e_dm_init_wa_broadcom_iot
        staging: rtl8192e: Remove macro IS_HARDWARE_TYPE_8192SE
        staging: greybus: drop loopback test files
        staging: rtl8192e: Add blank lines after declarations
        staging: rtl8192e: avoid CamelCase <dot11RSNAStatsCCMPDecryptErrors>
        staging: rtl8192e: avoid CamelCase <dot11RSNAStatsCCMPReplays>
        staging: rtl8192e: avoid CamelCase <dot11RSNAStatsCCMPFormatErrors>
        staging: rtl8192e: fix alignment to match open parenthesis
        ...
      97b2ff29
    • Linus Torvalds's avatar
      Merge tag 'tty-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · b39667ab
      Linus Torvalds authored
      Pull tty / serial updates from Greg KH:
       "Here is the big set of tty/serial driver updates for 6.4-rc1.
      
        Nothing major, just lots of tiny, constant, forward development. This
        includes:
      
         - obligatory n_gsm updates and feature additions
      
         - 8250_em driver updates
      
         - sh-sci driver updates
      
         - dts cleanups and updates
      
         - general cleanups and improvements by Ilpo and Jiri
      
         - other small serial driver core fixes and driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (87 commits)
        n_gsm: Use array_index_nospec() with index that comes from userspace
        tty: vt: drop checks for undefined VT_SINGLE_DRIVER
        tty: vt: distribute EXPORT_SYMBOL()
        tty: vt: simplify some cases in tioclinux()
        tty: vt: reformat tioclinux()
        tty: serial: sh-sci: Fix end of transmission on SCI
        tty: serial: sh-sci: Add support for tx end interrupt handling
        tty: serial: sh-sci: Fix TE setting on SCI IP
        tty: serial: sh-sci: Add RZ/G2L SCIFA DMA rx support
        tty: serial: sh-sci: Add RZ/G2L SCIFA DMA tx support
        serial: max310x: fix IO data corruption in batched operations
        serial: core: Disable uart_start() on uart_remove_one_port()
        serial: 8250: Reinit port->pm on port specific driver unbind
        serial: 8250: Add missing wakeup event reporting
        tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform
        tty: serial: fsl_lpuart: adjust buffer length to the intended size
        serial: fix TIOCSRS485 locking
        serial: make SiFive serial drivers depend on ARCH_ symbols
        tty: synclink_gt: don't allocate and pass dummy flags
        tty: serial: simplify qcom_geni_serial_send_chunk_fifo()
        ...
      b39667ab
    • Linus Torvalds's avatar
      Merge tag 'usb-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 4010e62b
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the large set of USB and Thunderbolt changes for 6.4-rc1.
      
        The "biggest" thing in here is the removal of two obsolete drivers,
        u132-hcd and ftdi-elan, making this a net-removal of code overall.
      
        Other than the driver removals, included in here are:
      
         - Thunderbolt updates for new hardware and features
      
         - xhci driver updates and fixes
      
         - dwc3 driver updates and fixes
      
         - gadget core and driver updates and features added
      
         - mtu3 driver updates
      
         - dwc2 driver fixes and updates
      
         - usb-serial driver updates
      
         - typec driver updates and fixes
      
         - platform remove callback changes
      
         - dts updates and conversions
      
         - other small changes
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'usb-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (177 commits)
        usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
        usb: dwc3: gadget: Execute gadget stop after halting the controller
        media: radio-shark: Add endpoint checks
        USB: sisusbvga: Add endpoint checks
        USB: core: Add routines for endpoint checks in old drivers
        usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive
        dt-bindings: usb: snps,dwc3: Add 'snps,parkmode-disable-hs-quirk' quirk
        usb: dwc3: core: add support for disabling High-speed park mode
        dt-bindings: usb: ci-hdrc-usb2: allow multiple PHYs
        usb: mtu3: add optional clock xhci_ck and frmcnt_ck
        dt-bindings: usb: mtu3: add two optional clocks
        usb: mtu3: expose role-switch control to userspace
        usb: mtu3: unlock @mtu->lock just before giving back request
        usb: mtu3: fix kernel panic at qmu transfer done irq handler
        usb: mtu3: use boolean return value
        usb: mtu3: give back request when rx error happens
        usb: chipidea: fix missing goto in `ci_hdrc_probe`
        usb: gadget: udc: core: Prevent redundant calls to pullup
        usb: gadget: udc: core: Invoke usb_gadget_connect only when started
        usb: typec: ucsi: don't print PPM init deferred errors
        ...
      4010e62b
    • Linus Torvalds's avatar
      Merge tag 'firewire-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · b02847fc
      Linus Torvalds authored
      Pull firewire updates from Takashi Sakamoto:
       "The pull request includes a few changes, Its main purpose is to
        prepare for my future work by taking over maintainership from Stefan
        Richter. I have plans to work on several items; e.g. packet processing
        in workqueue context instead of tasklet.
      
        As you may be aware, the IEEE 1394 technology is outdated. However, we
        still have users. It is better to ensure a smooth transition for the
        users to shift to other categories of devices"
      
      * tag 'firewire-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: init_ohci1394_dma: use correct function names in comments
        MAINTAINERS: replace maintainer of FireWire subsystem
      b02847fc
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2023042601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 34da76dc
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - import a bunch of HID selftests from out-of-tree hid-tools project
         (Benjamin Tissoires)
      
       - drastically reducing Bluetooth disconnects on hid-nintendo driven
         devices (Daniel J. Ogorchock)
      
       - lazy initialization of battery interfaces in wacom driver (Jason
         Gerecke)
      
       - generic support for all Kye tablets (David Yang)
      
       - proper rumble queue overrun handling in hid-nintendo (Daniel J.
         Ogorchock)
      
       - support for ADC measurement in logitech-hidpp driver (Bastien Nocera)
      
       - reset GPIO support in i2c-hid (Hans de Goede)
      
       - improved handling of generic "Digitizer" usage (Jason Gerecke)
      
       - support for KEY_CAMERA_FOCUS (Feng Qi)
      
       - quirks for Apple Geyser 3 and Apple Geyser 4 (Alex Henrie)
      
       - assorted functional fixes and device ID additions
      
      * tag 'for-linus-2023042601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (54 commits)
        HID: amd_sfh: Fix max supported HID devices
        HID: wacom: generic: Set battery quirk only when we see battery data
        HID: wacom: Lazy-init batteries
        HID: Ignore battery for ELAN touchscreen on ROG Flow X13 GV301RA
        HID: asus: explicitly include linux/leds.h
        HID: lg-g15: explicitly include linux/leds.h
        HID: steelseries: explicitly include linux/leds.h
        HID: apple: Set the tilde quirk flag on the Geyser 3
        HID: apple: explicitly include linux/leds.h
        HID: mcp2221: fix get and get_direction for gpio
        HID: mcp2221: fix report layout for gpio get
        HID: wacom: Set a default resolution for older tablets
        HID: i2c-hid-of: Add reset GPIO support to i2c-hid-of
        HID: i2c-hid-of: Allow using i2c-hid-of on non OF platforms
        HID: i2c-hid-of: Consistenly use dev local variable in probe()
        HID: kye: Fix rdesc for kye tablets
        HID: amd_sfh: Support for additional light sensor
        HID: amd_sfh: Handle "no sensors" enabled for SFH1.1
        HID: amd_sfh: Increase sensor command timeout for SFH1.1
        HID: amd_sfh: Correct the stop all command
        ...
      34da76dc
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 725a345b
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
       "Nothing really exiting in here.
      
        The majority of lines changed is due to Uwe's preparation patches to
        change the return value of the .remove() callback to void.
      
        Summary:
      
         - vt_buffer.h: Fix build on alpha (Randy Dunlap)
      
         - mmp: Clock handling fix (Christophe JAILLET)
      
         - 68328fb, ps3fb, vfb: Init .owner field of struct fb_ops (Thomas
           Zimmermann)
      
         - fbdev: cg14: Convert to platform remove callback returning void
      
         - Preparation patches to convert drivers to return void in .remove()
           callback (Uwe Kleine-König)
      
         - Drop Paul Mackerras as rage128 maintainer"
      
      * tag 'fbdev-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (51 commits)
        MAINTAINERS: Remove rage128 framebuffer driver maintainer
        fbdev: vfb: Init owner field of struct fb_ops
        fbdev: ps3fb: Init owner field of struct fb_ops
        fbdev: 68328fb: Init owner field of struct fb_ops
        fbdev: mmp: Fix deferred clk handling in mmphw_probe()
        linux/vt_buffer.h: allow either builtin or modular for macros
        fbdev: xilinxfb: Convert to platform remove callback returning void
        fbdev: wmt_ge_rops: Convert to platform remove callback returning void
        fbdev: wm8505fb: Convert to platform remove callback returning void
        fbdev: vt8500lcdfb: Convert to platform remove callback returning void
        fbdev: via: Convert to platform remove callback returning void
        fbdev: vga16fb: Convert to platform remove callback returning void
        fbdev: vfb: Convert to platform remove callback returning void
        fbdev: vesafb: Convert to platform remove callback returning void
        fbdev: uvesafb: Convert to platform remove callback returning void
        fbdev: tcx: Convert to platform remove callback returning void
        fbdev: sm501fb: Convert to platform remove callback returning void
        fbdev: simplefb: Convert to platform remove callback returning void
        fbdev: sh_mobile_lcdcfb: Convert to platform remove callback returning void
        fbdev: sh7760fb: Convert to platform remove callback returning void
        ...
      725a345b
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 89555eeb
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Mostly fixes for DTs or DT handling this time. And a few driver
        bugfixes"
      
      * tag 'i2c-for-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (28 commits)
        i2c: xiic: xiic_xfer(): Fix runtime PM leak on error path
        i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
        i2c: omap: Improve error reporting for problems during .remove()
        i2c: cadence: Add reset controller support
        dt-bindings: i2c: cadence: Document `resets` property
        i2c: mediatek: add support for MT7981 SoC
        dt-bindings: i2c: i2c-mt65xx: add MediaTek MT7981 SoC
        dt-bindings: i2c: Drop unneeded quotes
        i2c: brcmstb: use devm_platform_ioremap_resource_byname()
        i2c: cadence: Detect maximum transfer size
        i2c: cadence: Allow to specify the FIFO depth
        dt-bindings: i2c: cadence: Document `fifo-depth` property
        i2c: xiic: Use devm_platform_get_and_ioremap_resource()
        i2c: mpc: Use i2c-scl-clk-low-timeout-us i2c property
        i2c: mpc: Use of_property_read_u32 instead of of_get_property
        dt-bindings: i2c: mpc: Mark "fsl,timeout" as deprecated
        i2c: xiic: hide OF related data for COMPILE_TEST
        i2c: synquacer: mark OF related data as maybe unused
        dt-bindings: i2c: i2c-mt65xx: Add compatible for MT6795 Helio X10
        i2c: imx: Simplify using devm_clk_get_enabled()
        ...
      89555eeb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.4-1' of https://github.com/cminyard/linux-ipmi · d91f6a73
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Minor bug fixes for the IPMI driver
      
        There was a bug in the SSIF driver where in certain conditions it
        could stop working.
      
        Outside of that: spelling fixes, removing some dead code, re-adding a
        missing statistic increment, and removal of register_sysctl_table()"
      
      * tag 'for-linus-6.4-1' of https://github.com/cminyard/linux-ipmi:
        ipmi:ssif: Drop if blocks with always false condition
        ipmi: fix SSIF not responding under certain cond.
        ipmi:ssif: Add send_retries increment
        char:ipmi:Fix spelling mistake "asychronously" -> "asynchronously"
        ipmi: simplify sysctl registration
        ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
      d91f6a73
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · fc2e58b8
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A fairly standard release for SPI with the exception of a change to
        the API for specifying chip selects done in preparation for supporting
        devices with more than one chip select, this required some mechanical
        changes throughout the tree which have been cooking in -next happily
        for a while.
      
        There's also a new API to allow us to support TPM chips on half duplex
        controllers.
      
        Summary:
      
         - Refactoring in preparation for supporting multiple chip selects for
           a single device, needed by some flash devices, which required a
           change in the SPI device API visible throughout the tree
      
         - Support for hardware assisted interaction with SPI TPMs on half
           duplex controllers, implemented on nVidia Tedra210 QuadSPI
      
         - Optimisation for large transfers on fsl-cpm devices
      
         - Cleanups around device property use which fix some sisues with
           fwnode
      
         - Use of both void remove() and devm_platform_.*ioremap_resource()
      
         - Support for AMD Pensando Elba, Amlogic A1, Cadence device mode,
           Intel MetorLake-S and StarFive J7110 QuadSPI"
      
      * tag 'spi-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (185 commits)
        spi: bcm63xx: use macro DEFINE_SIMPLE_DEV_PM_OPS
        spi: tegra210-quad: Enable TPM wait polling
        spi: Add TPM HW flow flag
        spi: bcm63xx: remove PM_SLEEP based conditional compilation
        spi: cadence-quadspi: use macro DEFINE_SIMPLE_DEV_PM_OPS
        spi: spi-cadence: Add support for Slave mode
        spi: spi-cadence: Switch to spi_controller structure
        spi: cadence-quadspi: fix suspend-resume implementations
        spi: dw: Add support for AMD Pensando Elba SoC
        spi: dw: Add AMD Pensando Elba SoC SPI Controller
        spi: cadence-quadspi: Disable the SPI before reconfiguring
        spi: cadence-quadspi: Update the read timeout based on the length
        spi: spi-loopback-test: Add module param for iteration length
        spi: add support for Amlogic A1 SPI Flash Controller
        dt-bindings: spi: add Amlogic A1 SPI controller
        spi: fsl-spi: No need to check transfer length versus word size
        spi: fsl-spi: Change mspi_apply_cpu_mode_quirks() to void
        spi: fsl-cpm: Use 16 bit mode for large transfers with even size
        spi: fsl-spi: Re-organise transfer bits_per_word adaptation
        spi: fsl-spi: Fix CPM/QE mode Litte Endian
        ...
      fc2e58b8
    • Linus Torvalds's avatar
      Merge tag 'sound-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 1c15ca4e
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "At this time, it's an interesting mixture of changes for both old and
        new stuff. Majority of changes are about ASoC (lots of systematic
        changes for converting remove callbacks to void, and cleanups), while
        we got the fixes and the enhancements of very old PCI cards, too.
      
        Here are some highlights:
      
        ALSA/ASoC Core:
         - Continued effort of more ASoC core cleanups
         - Minor improvements for XRUN handling in indirect PCM helpers
         - Code refactoring of PCM core code
      
        ASoC:
         - Continued feature and simplification work on SOF, including
           addition of a no-DSP mode for bringup, HDA MLink and extensions to
           the IPC4 protocol
         - Hibernation support for CS35L45
         - More DT binding conversions
         - Support for Cirrus Logic CS35L56, Freescale QMC, Maxim MAX98363,
           nVidia systems with MAX9809x and RT5631, Realtek RT712, Renesas
           R-Car Gen4, Rockchip RK3588 and TI TAS5733
      
        ALSA:
         - Lots of works for legacy emu10k1 and ymfpci PCI drivers
         - PCM kselftest fixes and enhancements"
      
      * tag 'sound-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (586 commits)
        ALSA: emu10k1: use high-level I/O in set_filterQ()
        ALSA: emu10k1: use high-level I/O functions also during init
        ALSA: emu10k1: fix error handling in snd_audigy_i2c_volume_put()
        ALSA: emu10k1: don't stop DSP in _snd_emu10k1_{,audigy_}init_efx()
        ALSA: emu10k1: fix SNDRV_EMU10K1_IOCTL_SINGLE_STEP
        ALSA: emu10k1: skip Sound Blaster-specific hacks for E-MU cards
        ALSA: emu10k1: fixup DSP defines
        ALSA: emu10k1: pull in some register definitions from kX-project
        ALSA: emu10k1: remove some bogus defines
        ALSA: emu10k1: eliminate some unused defines
        ALSA: emu10k1: fix lineup of EMU_HANA_* defines
        ALSA: emu10k1: comment updates
        ALSA: emu10k1: fix snd_emu1010_fpga_read() input masking for rev2 cards
        ALSA: emu10k1: remove unused emu->pcm_playback_efx_substream field
        ALSA: emu10k1: remove unused `resume` parameter from snd_emu10k1_init()
        ALSA: emu10k1: minor optimizations
        ALSA: emu10k1: remove remaining cruft from snd_emu10k1_emu1010_init()
        ALSA: emu10k1: remove apparently pointless EMU_HANA_OPTION_CARDS reads
        ALSA: emu10k1: remove apparently pointless FPGA reads
        ALSA: emu10k1: stop doing weird things with HCFG in snd_emu10k1_emu1010_init()
        ...
      1c15ca4e
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 34b62f18
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Resource management:
      
         - Add pci_dev_for_each_resource() and pci_bus_for_each_resource()
           iterators
      
        PCIe native device hotplug:
      
         - Fix AB-BA deadlock between reset_lock and device_lock
      
        Power management:
      
         - Wait longer for devices to become ready after resume (as we do for
           reset) to accommodate Intel Titan Ridge xHCI devices
      
         - Extend D3hot delay for NVIDIA HDA controllers to avoid
           unrecoverable devices after a bus reset
      
        Error handling:
      
         - Clear PCIe Device Status after EDR since generic error recovery now
           only clears it when AER is native
      
        ASPM:
      
         - Work around Chromebook firmware defect that clobbers Capability
           list (including ASPM L1 PM Substates Cap) when returning from
           D3cold to D0
      
        Freescale i.MX6 PCIe controller driver:
      
         - Install imprecise external abort handler only when DT indicates
           PCIe support
      
        Freescale Layerscape PCIe controller driver:
      
         - Add ls1028a endpoint mode support
      
        Qualcomm PCIe controller driver:
      
         - Add SM8550 DT binding and driver support
      
         - Add SDX55 DT binding and driver support
      
         - Use bulk APIs for clocks of IP 1.0.0, 2.3.2, 2.3.3
      
         - Use bulk APIs for reset of IP 2.1.0, 2.3.3, 2.4.0
      
         - Add DT "mhi" register region for supported SoCs
      
         - Expose link transition counts via debugfs to help debug low power
           issues
      
         - Support system suspend and resume; reduce interconnect bandwidth
           and turn off clock and PHY if there are no active devices
      
         - Enable async probe by default to reduce boot time
      
        Miscellaneous:
      
         - Sort controller Kconfig entries by vendor"
      
      * tag 'pci-v6.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (56 commits)
        PCI: xilinx: Drop obsolete dependency on COMPILE_TEST
        PCI: mobiveil: Sort Kconfig entries by vendor
        PCI: dwc: Sort Kconfig entries by vendor
        PCI: Sort controller Kconfig entries by vendor
        PCI: Use consistent controller Kconfig menu entry language
        PCI: xilinx-nwl: Add 'Xilinx' to Kconfig prompt
        PCI: hv: Add 'Microsoft' to Kconfig prompt
        PCI: meson: Add 'Amlogic' to Kconfig prompt
        PCI: Use of_property_present() for testing DT property presence
        PCI/PM: Extend D3hot delay for NVIDIA HDA controllers
        dt-bindings: PCI: qcom: Document msi-map and msi-map-mask properties
        PCI: qcom: Add SM8550 PCIe support
        dt-bindings: PCI: qcom: Add SM8550 compatible
        PCI: qcom: Add support for SDX55 SoC
        dt-bindings: PCI: qcom-ep: Fix the unit address used in example
        dt-bindings: PCI: qcom: Add SDX55 SoC
        dt-bindings: PCI: qcom: Update maintainers entry
        PCI: qcom: Enable async probe by default
        PCI: qcom: Add support for system suspend and resume
        PCI/PM: Drop pci_bridge_wait_for_secondary_bus() timeout parameter
        ...
      34b62f18
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · cb6fe2ce
      Linus Torvalds authored
      Pull more devicetree updates from Rob Herring:
      
       - First part of DT header detangling dropping cpu.h from of_device.h
         and replacing some includes with forward declarations. A handful of
         drivers needed some adjustment to their includes as a result.
      
       - Refactor of_device.h to be used by bus drivers rather than various
         device drivers. This moves non-bus related functions out of
         of_device.h. The end goal is for of_platform.h and of_device.h to
         stop including each other.
      
       - Refactor open coded parsing of "ranges" in some bus drivers to use DT
         address parsing functions
      
       - Add some new address parsing functions of_property_read_reg(),
         of_range_count(), and of_range_to_resource() in preparation to
         convert more open coded parsing of DT addresses to use them.
      
       - Treewide clean-ups to use of_property_read_bool() and
         of_property_present() as appropriate. The ones here are the ones that
         didn't get picked up elsewhere.
      
      * tag 'devicetree-for-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (34 commits)
        bus: tegra-gmi: Replace of_platform.h with explicit includes
        hte: Use of_property_present() for testing DT property presence
        w1: w1-gpio: Use of_property_read_bool() for boolean properties
        virt: fsl: Use of_property_present() for testing DT property presence
        soc: fsl: Use of_property_present() for testing DT property presence
        sbus: display7seg: Use of_property_read_bool() for boolean properties
        sparc: Use of_property_read_bool() for boolean properties
        sparc: Use of_property_present() for testing DT property presence
        bus: mvebu-mbus: Remove open coded "ranges" parsing
        of/address: Add of_property_read_reg() helper
        of/address: Add of_range_count() helper
        of/address: Add support for 3 address cell bus
        of/address: Add of_range_to_resource() helper
        of: unittest: Add bus address range parsing tests
        of: Drop cpu.h include from of_device.h
        OPP: Adjust includes to remove of_device.h
        irqchip: loongson-eiointc: Add explicit include for cpuhotplug.h
        cpuidle: Adjust includes to remove of_device.h
        cpufreq: sun50i: Add explicit include for cpu.h
        cpufreq: Adjust includes to remove of_device.h
        ...
      cb6fe2ce
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · d42b1c47
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "Bindings:
      
         - Convert Qcom IOMMU, Amlogic timer, Freescale sec-v4.0, Toshiba
           TC358764 display bridge, Parade PS8622 display bridge, and Xilinx
           FPGA bindings to DT schema format
      
         - Add qdu1000 and sa8775p SoC support to Qcom PDC interrupt
           controller
      
         - Add MediaTek MT8365 UART and SYSIRQ bindings
      
         - Add Arm Cortex-A78C and X1C core compatibles
      
         - Add vendor prefix for Novatek
      
         - Remove bindings for stih415, sti416, stid127 platforms
      
         - Drop uneeded quotes in schema files. This is preparation for
           yamllint checking quoting for us.
      
         - Add missing (unevaluated|additional)Properties constraints on child
           node schemas
      
         - Clean-up schema comments formatting
      
         - Fix I2C and SPI node bus names in schema examples
      
         - Clean-up some display compatibles schema syntax
      
         - Fix incorrect references to lvds.yaml
      
         - Gather all cache controller bindings in a common directory
      
        DT core:
      
         - Convert unittest to new void .remove platform device hook
      
         - kerneldoc fixes for DT address of_pci_range_to_resource/
           of_address_to_resource functions"
      
      * tag 'devicetree-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (46 commits)
        dt-bindings: rng: Drop unneeded quotes
        dt-bindings: arm/soc: mediatek: Drop unneeded quotes
        dt-bindings: soc: qcom: Drop unneeded quotes
        dt-bindings: i2c: samsung: Fix 'deprecated' value
        dt-bindings: display: Fix lvds.yaml references
        dt-bindings: display: simplify compatibles syntax
        dt-bindings: display: mediatek: simplify compatibles syntax
        dt-bindings: drm/bridge: ti-sn65dsi86: Fix the video-interfaces.yaml references
        dt-bindings: timer: Drop unneeded quotes
        dt-bindings: interrupt-controller: qcom,pdc: document qcom,qdu1000-pdc
        dt-bindings: interrupt-controller: qcom-pdc: add compatible for sa8775p
        dt-bindings: reset: remove stih415/stih416 reset
        dt-bindings: net: dwmac: sti: remove stih415/sti416/stid127
        dt-bindings: irqchip: sti: remove stih415/stih416 and stid127
        dt-bindings: iommu: Convert QCOM IOMMU to YAML
        dt-bindings: irqchip: ti,sci-inta: Add optional power-domains property
        dt-bindings: Add missing (unevaluated|additional)Properties on child node schemas
        of: address: Reshuffle to remove forward declarations
        of: address: Fix documented return value of of_pci_range_to_resource()
        of: address: Document return value of of_address_to_resource()
        ...
      d42b1c47
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 6df969b7
      Linus Torvalds authored
      Pull iommufd updates from Jason Gunthorpe:
       "Two series:
      
         - Reorganize how the hardware page table objects are managed,
           particularly their destruction flow. Increase the selftest test
           coverage in this area by creating a more complete mock iommu
           driver.
      
           This is preparation to add a replace operation for HWPT binding,
           which is done but waiting for the VFIO parts to complete so there
           is a user.
      
         - Split the iommufd support for "access" to make it two step -
           allocate an access then link it to an IOAS. Update VFIO and have
           VFIO always create an access even for the VFIO mdevs that never do
           DMA.
      
           This is also preperation for the replace VFIO series that will
           allow replace to work on access types as well.
      
        Three minor fixes:
      
         - Sykzaller found the selftest code didn't check for overflow when
           processing user VAs
      
         - smatch noted a .data item should have been static
      
         - Add a selftest that reproduces a syzkaller bug for batch carry
           already fixed in rc"
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd: (21 commits)
        iommufd/selftest: Cover domain unmap with huge pages and access
        iommufd/selftest: Set varaiable mock_iommu_device storage-class-specifier to static
        vfio: Check the presence for iommufd callbacks in __vfio_register_dev()
        vfio/mdev: Uses the vfio emulated iommufd ops set in the mdev sample drivers
        vfio-iommufd: Make vfio_iommufd_emulated_bind() return iommufd_access ID
        vfio-iommufd: No need to record iommufd_ctx in vfio_device
        iommufd: Create access in vfio_iommufd_emulated_bind()
        iommu/iommufd: Pass iommufd_ctx pointer in iommufd_get_ioas()
        iommufd/selftest: Catch overflow of uptr and length
        iommufd/selftest: Add a selftest for iommufd_device_attach() with a hwpt argument
        iommufd/selftest: Make selftest create a more complete mock device
        iommufd/selftest: Rename the remaining mock device_id's to stdev_id
        iommufd/selftest: Rename domain_id to hwpt_id for FIXTURE iommufd_mock_domain
        iommufd/selftest: Rename domain_id to stdev_id for FIXTURE iommufd_ioas
        iommufd/selftest: Rename the sefltest 'device_id' to 'stdev_id'
        iommufd: Make iommufd_hw_pagetable_alloc() do iopt_table_add_domain()
        iommufd: Move iommufd_device to iommufd_private.h
        iommufd: Move ioas related HWPT destruction into iommufd_hw_pagetable_destroy()
        iommufd: Consistently manage hwpt_item
        iommufd: Add iommufd_lock_obj() around the auto-domains hwpts
        ...
      6df969b7
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-04-27' of git://anongit.freedesktop.org/drm/drm · 32f7ad0f
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A bit out of routine fixes pull for rc1.
      
        There's a build breakage on some platforms due to ttm, this has that
        fix + qaic uapi removal + minor panel fixes.
      
        ttm:
         - Fix TTM build on archs where PMD_SHIFT is not constant
      
        qaic:
         - Revert uAPI from accel/qaic
      
        panel:
         - Improve error handling in nt35950
         - Fix double unregister in otm8009a when removing the driver"
      
      * tag 'drm-next-2023-04-27' of git://anongit.freedesktop.org/drm/drm:
        drm/panel: novatek-nt35950: Only unregister DSI1 if it exists
        drm/panel: otm8009a: Set backlight parent to panel device
        drm/panel: novatek-nt35950: Improve error handling
        drm/ttm: revert "Reduce the number of used allocation orders for TTM pages"
        Revert "accel/qaic: Add mhi_qaic_cntl"
      32f7ad0f
    • Vlastimil Babka's avatar
      mm/mremap: fix vm_pgoff in vma_merge() case 3 · 7e775787
      Vlastimil Babka authored
      After upgrading build guests to v6.3, rpm started segfaulting for
      specific packages, which was bisected to commit 0503ea8f ("mm/mmap:
      remove __vma_adjust()"). rpm is doing many mremap() operations with file
      mappings of its db. The problem is that in vma_merge() case 3 (we merge
      with the next vma, expanding it downwards) vm_pgoff is not adjusted as
      it should when vm_start changes. As a result the rpm process most likely
      sees data from the wrong offset of the file. Fix the vm_pgoff
      calculation.
      
      For case 8 this is a non-functional change as the resulting vm_pgoff is
      the same.
      Reported-and-bisected-by: default avatarJiri Slaby <jirislaby@kernel.org>
      Reported-and-tested-by: default avatarFabian Vogt <fvogt@suse.com>
      Link: https://bugzilla.suse.com/show_bug.cgi?id=1210903
      Fixes: 0503ea8f ("mm/mmap: remove __vma_adjust()")
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e775787
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-fixes-2023-04-26' of... · cf03e295
      Dave Airlie authored
      Merge tag 'drm-misc-next-fixes-2023-04-26' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
      
      drm-misc-next-fixes for v6.4-rc1:
      - Revert uAPI from accel/qaic.
      - Fix TTM build on archs where PMD_SHIFT is not constant.
      - Improve error handling in nt35950.
      - Fix double unregister in otm8009a when removing the driver.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/45757de9-75d8-5b41-f1f9-562a7c4675b9@linux.intel.com
      cf03e295
  3. 26 Apr, 2023 16 commits
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 6e98b09d
      Linus Torvalds authored
      Pull networking updates from Paolo Abeni:
       "Core:
      
         - Introduce a config option to tweak MAX_SKB_FRAGS. Increasing the
           default value allows for better BIG TCP performances
      
         - Reduce compound page head access for zero-copy data transfers
      
         - RPS/RFS improvements, avoiding unneeded NET_RX_SOFTIRQ when
           possible
      
         - Threaded NAPI improvements, adding defer skb free support and
           unneeded softirq avoidance
      
         - Address dst_entry reference count scalability issues, via false
           sharing avoidance and optimize refcount tracking
      
         - Add lockless accesses annotation to sk_err[_soft]
      
         - Optimize again the skb struct layout
      
         - Extends the skb drop reasons to make it usable by multiple
           subsystems
      
         - Better const qualifier awareness for socket casts
      
        BPF:
      
         - Add skb and XDP typed dynptrs which allow BPF programs for more
           ergonomic and less brittle iteration through data and
           variable-sized accesses
      
         - Add a new BPF netfilter program type and minimal support to hook
           BPF programs to netfilter hooks such as prerouting or forward
      
         - Add more precise memory usage reporting for all BPF map types
      
         - Adds support for using {FOU,GUE} encap with an ipip device
           operating in collect_md mode and add a set of BPF kfuncs for
           controlling encap params
      
         - Allow BPF programs to detect at load time whether a particular
           kfunc exists or not, and also add support for this in light
           skeleton
      
         - Bigger batch of BPF verifier improvements to prepare for upcoming
           BPF open-coded iterators allowing for less restrictive looping
           capabilities
      
         - Rework RCU enforcement in the verifier, add kptr_rcu and enforce
           BPF programs to NULL-check before passing such pointers into kfunc
      
         - Add support for kptrs in percpu hashmaps, percpu LRU hashmaps and
           in local storage maps
      
         - Enable RCU semantics for task BPF kptrs and allow referenced kptr
           tasks to be stored in BPF maps
      
         - Add support for refcounted local kptrs to the verifier for allowing
           shared ownership, useful for adding a node to both the BPF list and
           rbtree
      
         - Add BPF verifier support for ST instructions in
           convert_ctx_access() which will help new -mcpu=v4 clang flag to
           start emitting them
      
         - Add ARM32 USDT support to libbpf
      
         - Improve bpftool's visual program dump which produces the control
           flow graph in a DOT format by adding C source inline annotations
      
        Protocols:
      
         - IPv4: Allow adding to IPv4 address a 'protocol' tag. Such value
           indicates the provenance of the IP address
      
         - IPv6: optimize route lookup, dropping unneeded R/W lock acquisition
      
         - Add the handshake upcall mechanism, allowing the user-space to
           implement generic TLS handshake on kernel's behalf
      
         - Bridge: support per-{Port, VLAN} neighbor suppression, increasing
           resilience to nodes failures
      
         - SCTP: add support for Fair Capacity and Weighted Fair Queueing
           schedulers
      
         - MPTCP: delay first subflow allocation up to its first usage. This
           will allow for later better LSM interaction
      
         - xfrm: Remove inner/outer modes from input/output path. These are
           not needed anymore
      
         - WiFi:
            - reduced neighbor report (RNR) handling for AP mode
            - HW timestamping support
            - support for randomized auth/deauth TA for PASN privacy
            - per-link debugfs for multi-link
            - TC offload support for mac80211 drivers
            - mac80211 mesh fast-xmit and fast-rx support
            - enable Wi-Fi 7 (EHT) mesh support
      
        Netfilter:
      
         - Add nf_tables 'brouting' support, to force a packet to be routed
           instead of being bridged
      
         - Update bridge netfilter and ovs conntrack helpers to handle IPv6
           Jumbo packets properly, i.e. fetch the packet length from
           hop-by-hop extension header. This is needed for BIT TCP support
      
         - The iptables 32bit compat interface isn't compiled in by default
           anymore
      
         - Move ip(6)tables builtin icmp matches to the udptcp one. This has
           the advantage that icmp/icmpv6 match doesn't load the
           iptables/ip6tables modules anymore when iptables-nft is used
      
         - Extended netlink error report for netdevice in flowtables and
           netdev/chains. Allow for incrementally add/delete devices to netdev
           basechain. Allow to create netdev chain without device
      
        Driver API:
      
         - Remove redundant Device Control Error Reporting Enable, as PCI core
           has already error reporting enabled at enumeration time
      
         - Move Multicast DB netlink handlers to core, allowing devices other
           then bridge to use them
      
         - Allow the page_pool to directly recycle the pages from safely
           localized NAPI
      
         - Implement lockless TX queue stop/wake combo macros, allowing for
           further code de-duplication and sanitization
      
         - Add YNL support for user headers and struct attrs
      
         - Add partial YNL specification for devlink
      
         - Add partial YNL specification for ethtool
      
         - Add tc-mqprio and tc-taprio support for preemptible traffic classes
      
         - Add tx push buf len param to ethtool, specifies the maximum number
           of bytes of a transmitted packet a driver can push directly to the
           underlying device
      
         - Add basic LED support for switch/phy
      
         - Add NAPI documentation, stop relaying on external links
      
         - Convert dsa_master_ioctl() to netdev notifier. This is a
           preparatory work to make the hardware timestamping layer selectable
           by user space
      
         - Add transceiver support and improve the error messages for CAN-FD
           controllers
      
        New hardware / drivers:
      
         - Ethernet:
            - AMD/Pensando core device support
            - MediaTek MT7981 SoC
            - MediaTek MT7988 SoC
            - Broadcom BCM53134 embedded switch
            - Texas Instruments CPSW9G ethernet switch
            - Qualcomm EMAC3 DWMAC ethernet
            - StarFive JH7110 SoC
            - NXP CBTX ethernet PHY
      
         - WiFi:
            - Apple M1 Pro/Max devices
            - RealTek rtl8710bu/rtl8188gu
            - RealTek rtl8822bs, rtl8822cs and rtl8821cs SDIO chipset
      
         - Bluetooth:
            - Realtek RTL8821CS, RTL8851B, RTL8852BS
            - Mediatek MT7663, MT7922
            - NXP w8997
            - Actions Semi ATS2851
            - QTI WCN6855
            - Marvell 88W8997
      
         - Can:
            - STMicroelectronics bxcan stm32f429
      
        Drivers:
      
         - Ethernet NICs:
            - Intel (1G, icg):
               - add tracking and reporting of QBV config errors
               - add support for configuring max SDU for each Tx queue
            - Intel (100G, ice):
               - refactor mailbox overflow detection to support Scalable IOV
               - GNSS interface optimization
            - Intel (i40e):
               - support XDP multi-buffer
            - nVidia/Mellanox:
               - add the support for linux bridge multicast offload
               - enable TC offload for egress and engress MACVLAN over bond
               - add support for VxLAN GBP encap/decap flows offload
               - extend packet offload to fully support libreswan
               - support tunnel mode in mlx5 IPsec packet offload
               - extend XDP multi-buffer support
               - support MACsec VLAN offload
               - add support for dynamic msix vectors allocation
               - drop RX page_cache and fully use page_pool
               - implement thermal zone to report NIC temperature
            - Netronome/Corigine:
               - add support for multi-zone conntrack offload
            - Solarflare/Xilinx:
               - support offloading TC VLAN push/pop actions to the MAE
               - support TC decap rules
               - support unicast PTP
      
         - Other NICs:
            - Broadcom (bnxt): enforce software based freq adjustments only on
              shared PHC NIC
            - RealTek (r8169): refactor to addess ASPM issues during NAPI poll
            - Micrel (lan8841): add support for PTP_PF_PEROUT
            - Cadence (macb): enable PTP unicast
            - Engleder (tsnep): add XDP socket zero-copy support
            - virtio-net: implement exact header length guest feature
            - veth: add page_pool support for page recycling
            - vxlan: add MDB data path support
            - gve: add XDP support for GQI-QPL format
            - geneve: accept every ethertype
            - macvlan: allow some packets to bypass broadcast queue
            - mana: add support for jumbo frame
      
         - Ethernet high-speed switches:
            - Microchip (sparx5): Add support for TC flower templates
      
         - Ethernet embedded switches:
            - Broadcom (b54):
               - configure 6318 and 63268 RGMII ports
            - Marvell (mv88e6xxx):
               - faster C45 bus scan
            - Microchip:
               - lan966x:
                  - add support for IS1 VCAP
                  - better TX/RX from/to CPU performances
               - ksz9477: add ETS Qdisc support
               - ksz8: enhance static MAC table operations and error handling
               - sama7g5: add PTP capability
            - NXP (ocelot):
               - add support for external ports
               - add support for preemptible traffic classes
            - Texas Instruments:
               - add CPSWxG SGMII support for J7200 and J721E
      
         - Intel WiFi (iwlwifi):
            - preparation for Wi-Fi 7 EHT and multi-link support
            - EHT (Wi-Fi 7) sniffer support
            - hardware timestamping support for some devices/firwmares
            - TX beacon protection on newer hardware
      
         - Qualcomm 802.11ax WiFi (ath11k):
            - MU-MIMO parameters support
            - ack signal support for management packets
      
         - RealTek WiFi (rtw88):
            - SDIO bus support
            - better support for some SDIO devices (e.g. MAC address from
              efuse)
      
         - RealTek WiFi (rtw89):
            - HW scan support for 8852b
            - better support for 6 GHz scanning
            - support for various newer firmware APIs
            - framework firmware backwards compatibility
      
         - MediaTek WiFi (mt76):
            - P2P support
            - mesh A-MSDU support
            - EHT (Wi-Fi 7) support
            - coredump support"
      
      * tag 'net-next-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2078 commits)
        net: phy: hide the PHYLIB_LEDS knob
        net: phy: marvell-88x2222: remove unnecessary (void*) conversions
        tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
        net: amd: Fix link leak when verifying config failed
        net: phy: marvell: Fix inconsistent indenting in led_blink_set
        lan966x: Don't use xdp_frame when action is XDP_TX
        tsnep: Add XDP socket zero-copy TX support
        tsnep: Add XDP socket zero-copy RX support
        tsnep: Move skb receive action to separate function
        tsnep: Add functions for queue enable/disable
        tsnep: Rework TX/RX queue initialization
        tsnep: Replace modulo operation with mask
        net: phy: dp83867: Add led_brightness_set support
        net: phy: Fix reading LED reg property
        drivers: nfc: nfcsim: remove return value check of `dev_dir`
        net: phy: dp83867: Remove unnecessary (void*) conversions
        net: ethtool: coalesce: try to make user settings stick twice
        net: mana: Check if netdev/napi_alloc_frag returns single page
        net: mana: Rename mana_refill_rxoob and remove some empty lines
        net: veth: add page_pool stats
        ...
      6e98b09d
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · b68ee1c6
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "Updates to the usual drivers (megaraid_sas, scsi_debug, lpfc, target,
        mpi3mr, hisi_sas, arcmsr).
      
        The major core change is the constification of the host templates
        (which touches everything) along with other minor fixups and clean
        ups"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (207 commits)
        scsi: ufs: mcq: Use pointer arithmetic in ufshcd_send_command()
        scsi: ufs: mcq: Annotate ufshcd_inc_sq_tail() appropriately
        scsi: cxlflash: s/semahpore/semaphore/
        scsi: lpfc: Silence an incorrect device output
        scsi: mpi3mr: Use IRQ save variants of spinlock to protect chain frame allocation
        scsi: scsi_debug: Fix missing error code in scsi_debug_init()
        scsi: hisi_sas: Work around build failure in suspend function
        scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
        scsi: mpt3sas: Fix an issue when driver is being removed
        scsi: mpt3sas: Remove HBA BIOS version in the kernel log
        scsi: target: core: Fix invalid memory access
        scsi: scsi_debug: Drop sdebug_queue
        scsi: scsi_debug: Only allow sdebug_max_queue be modified when no shosts
        scsi: scsi_debug: Use scsi_host_busy() in delay_store() and ndelay_store()
        scsi: scsi_debug: Use blk_mq_tagset_busy_iter() in stop_all_queued()
        scsi: scsi_debug: Use blk_mq_tagset_busy_iter() in sdebug_blk_mq_poll()
        scsi: scsi_debug: Dynamically allocate sdebug_queued_cmd
        scsi: scsi_debug: Use scsi_block_requests() to block queues
        scsi: scsi_debug: Protect block_unblock_all_queues() with mutex
        scsi: scsi_debug: Change shost list lock to a mutex
        ...
      b68ee1c6
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/wacom' into for-linus · c3a6ef33
      Jiri Kosina authored
      - improved handling of battery quirk (Jason Gerecke)
      - lazy initialization of battery interfaces (Jason Gerecke)
      c3a6ef33
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/tests' into for-linus · ab396fb2
      Jiri Kosina authored
      - import of bunch of HID selftests from out-of-tree hid-tools project
        (Benjamin Tissoires)
      ab396fb2
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/nintendo' into for-linus · 67471b89
      Jiri Kosina authored
      - drastically reducing Bluetooth disconnects on hid-nintendo
        driven devices (Daniel J. Ogorchock)
      - proper rumble queue overrun handling (Daniel J. Ogorchock)
      67471b89
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/mcp2221' into for-linus · 5fce154a
      Jiri Kosina authored
      - generic code improvements for mcp2221 driver (Louis Morhet)
      5fce154a
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/logitech-hidpp' into for-linus · 0549fbac
      Jiri Kosina authored
      - support for ADC measurement (Bastien Nocera)
      - support for Logitech G935 (Bastien Nocera)
      0549fbac
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/led-includes' into for-linus · d411b5aa
      Jiri Kosina authored
      - explicit include fixes (Thomas Weißschuh)
      d411b5aa
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/kye' into for-linus · b680751b
      Jiri Kosina authored
      - generic support for all Kye tablets (David Yang)
      b680751b
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/i2c-hid' into for-linus · ba984d27
      Jiri Kosina authored
      - reset GPIO support (Hans de Goede)
      ba984d27
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/core' into for-linus · 63f7cf66
      Jiri Kosina authored
      - improve handling of generic "Digitizer" usage (Jason Gerecke)
      - support for KEY_CAMERA_FOCUS (Feng Qi)
      63f7cf66
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/apple' into for-linus · 5f86a084
      Jiri Kosina authored
      - quirks for Apple Geyser 3 and Apple Geyser 4 (Alex Henrie)
      5f86a084
    • Jiri Kosina's avatar
      Merge branch 'for-6.4/amd-sfh' into for-linus · cdc780f0
      Jiri Kosina authored
      - assorted functional fixes for amd-sfh driver (Basavaraj Natikar)
      cdc780f0
    • Linus Torvalds's avatar
      Merge tag 'ata-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 36006b1d
      Linus Torvalds authored
      Pull ata updates from Damien Le Moal:
      
       - Many cleanups of the pata_parport driver and of its protocol modules
         (Ondrej)
      
       - Remove unused code (ata_id_xxx() functions) (Sergey)
      
       - Add Add UniPhier SATA controller DT bindings (Kunihiko)
      
       - Fix dependencies for the Freescale QorIQ AHCI SATA controller driver
         (Geert)
      
       - DT property handling improvements (Rob)
      
      * tag 'ata-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (57 commits)
        ata: pata_parport-bpck6: Declare mode_map as static
        ata: pata_parport-bpck6: Remove dependency on 64BIT
        ata: pata_parport-bpck6: reduce indents in bpck6_open
        ata: pata_parport-bpck6: delete ppc6lnx.c
        ata: pata_parport-bpck6: move defines and mode_map to bpck6.c
        ata: pata_parport-bpck6: move ppc6_wr_data_byte to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_rd_data_byte to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_send_cmd to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_deselect to bpck6.c and rename
        ata: pata_parport-bpck6: merge ppc6_select into bpck6_open
        ata: pata_parport-bpck6: move ppc6_open to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_wr_extout to bpck6.c and rename
        ata: pata_parport-bpck6: move ppc6_wait_for_fifo to bpck6.c and rename
        ata: pata_parport-bpck6: merge ppc6_wr_data_blk into bpck6_write_block
        ata: pata_parport-bpck6: merge ppc6_rd_data_blk into bpck6_read_block
        ata: pata_parport-bpck6: merge ppc6_wr_port16_blk into bpck6_write_block
        ata: pata_parport-bpck6: merge ppc6_rd_port16_blk into bpck6_read_block
        ata: pata_parport-bpck6: merge ppc6_wr_port into bpck6_write_regr
        ata: pata_parport-bpck6: merge ppc6_rd_port into bpck6_read_regr
        ata: pata_parport-bpck6: remove ppc6_close
        ...
      36006b1d
    • Linus Torvalds's avatar
      Merge tag 'for-6.4/dm-changes' of... · 48dc8100
      Linus Torvalds authored
      Merge tag 'for-6.4/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Split dm-bufio's rw_semaphore and rbtree. Offers improvements to
         dm-bufio's locking to allow increased concurrent IO -- particularly
         for read access for buffers already in dm-bufio's cache.
      
       - Also split dm-bio-prison-v1's spinlock and rbtree with comparable aim
         at improving concurrent IO (for the DM thinp target).
      
       - Both the dm-bufio and dm-bio-prison-v1 scaling of the number of locks
         and rbtrees used are managed by dm_num_hash_locks(). And the hash
         function used by both is dm_hash_locks_index().
      
       - Allow DM targets to require DISCARD, WRITE_ZEROES and SECURE_ERASE to
         be split at the target specified boundary (in terms of
         max_discard_sectors, max_write_zeroes_sectors and
         max_secure_erase_sectors respectively).
      
       - DM verity error handling fix for check_at_most_once on FEC.
      
       - Update DM verity target to emit audit events on verification failure
         and more.
      
       - DM core ->io_hints improvements needed in support of new discard
         support that is added to the DM "zero" and "error" targets.
      
       - Fix missing kmem_cache_destroy() call in initialization error path of
         both the DM integrity and DM clone targets.
      
       - A couple fixes for DM flakey, also add "error_reads" feature.
      
       - Fix DM core's resume to not lock FS when the DM map is NULL;
         otherwise initial table load can race with FS mount that takes
         superblock's ->s_umount rw_semaphore.
      
       - Various small improvements to both DM core and DM targets.
      
      * tag 'for-6.4/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (40 commits)
        dm: don't lock fs when the map is NULL in process of resume
        dm flakey: add an "error_reads" option
        dm flakey: remove trailing space in the table line
        dm flakey: fix a crash with invalid table line
        dm ioctl: fix nested locking in table_clear() to remove deadlock concern
        dm: unexport dm_get_queue_limits()
        dm: allow targets to require splitting WRITE_ZEROES and SECURE_ERASE
        dm: add helper macro for simple DM target module init and exit
        dm raid: remove unused d variable
        dm: remove unnecessary (void*) conversions
        dm mirror: add DMERR message if alloc_workqueue fails
        dm: push error reporting down to dm_register_target()
        dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
        dm clone: call kmem_cache_destroy() in dm_clone_init() error path
        dm error: add discard support
        dm zero: add discard support
        dm table: allow targets without devices to set ->io_hints
        dm verity: emit audit events on verification failure and more
        dm verity: fix error handling for check_at_most_once on FEC
        dm: improve hash_locks sizing and hash function
        ...
      48dc8100
    • Linus Torvalds's avatar
      Merge tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linux · 9dd6956b
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - drbd patches, bringing us closer to unifying the out-of-tree version
         and the in tree one (Andreas, Christoph)
      
       - support for auto-quiesce for the s390 dasd driver (Stefan)
      
       - MD pull request via Song:
            - md/bitmap: Optimal last page size (Jon Derrick)
            - Various raid10 fixes (Yu Kuai, Li Nan)
            - md: add error_handlers for raid0 and linear (Mariusz Tkaczyk)
      
       - NVMe pull request via Christoph:
            - Drop redundant pci_enable_pcie_error_reporting (Bjorn Helgaas)
            - Validate nvmet module parameters (Chaitanya Kulkarni)
            - Fence TCP socket on receive error (Chris Leech)
            - Fix async event trace event (Keith Busch)
            - Minor cleanups (Chaitanya Kulkarni, zhenwei pi)
            - Fix and cleanup nvmet Identify handling (Damien Le Moal,
              Christoph Hellwig)
            - Fix double blk_mq_complete_request race in the timeout handler
              (Lei Yin)
            - Fix irq locking in nvme-fcloop (Ming Lei)
            - Remove queue mapping helper for rdma devices (Sagi Grimberg)
      
       - use structured request attribute checks for nbd (Jakub)
      
       - fix blk-crypto race conditions between keyslot management (Eric)
      
       - add sed-opal support for reading read locking range attributes
         (Ondrej)
      
       - make fault injection configurable for null_blk (Akinobu)
      
       - clean up the request insertion API (Christoph)
      
       - clean up the queue running API (Christoph)
      
       - blkg config helper cleanups (Tejun)
      
       - lazy init support for blk-iolatency (Tejun)
      
       - various fixes and tweaks to ublk (Ming)
      
       - remove hybrid polling. It hasn't really been useful since we got
         async polled IO support, and these days we don't support sync polled
         IO at all (Keith)
      
       - misc fixes, cleanups, improvements (Zhong, Ondrej, Colin, Chengming,
         Chaitanya, me)
      
      * tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linux: (118 commits)
        nbd: fix incomplete validation of ioctl arg
        ublk: don't return 0 in case of any failure
        sed-opal: geometry feature reporting command
        null_blk: Always check queue mode setting from configfs
        block: ublk: switch to ioctl command encoding
        blk-mq: fix the blk_mq_add_to_requeue_list call in blk_kick_flush
        block, bfq: Fix division by zero error on zero wsum
        fault-inject: fix build error when FAULT_INJECTION_CONFIGFS=y and CONFIGFS_FS=m
        block: store bdev->bd_disk->fops->submit_bio state in bdev
        block: re-arrange the struct block_device fields for better layout
        md/raid5: remove unused working_disks variable
        md/raid10: don't call bio_start_io_acct twice for bio which experienced read error
        md/raid10: fix memleak of md thread
        md/raid10: fix memleak for 'conf->bio_split'
        md/raid10: fix leak of 'r10bio->remaining' for recovery
        md/raid10: don't BUG_ON() in raise_barrier()
        md: fix soft lockup in status_resync
        md: add error_handlers for raid0 and linear
        md: Use optimal I/O size for last bitmap page
        md: Fix types in sb writer
        ...
      9dd6956b