1. 13 Dec, 2022 40 commits
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3ef3ace4
      Linus Torvalds authored
      Pull x86 cpu updates from Borislav Petkov:
      
       - Split MTRR and PAT init code to accomodate at least Xen PV and TDX
         guests which do not get MTRRs exposed but only PAT. (TDX guests do
         not support the cache disabling dance when setting up MTRRs so they
         fall under the same category)
      
         This is a cleanup work to remove all the ugly workarounds for such
         guests and init things separately (Juergen Gross)
      
       - Add two new Intel CPUs to the list of CPUs with "normal" Energy
         Performance Bias, leading to power savings
      
       - Do not do bus master arbitration in C3 (ARB_DISABLE) on modern
         Centaur CPUs
      
      * tag 'x86_cpu_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
        x86/mtrr: Make message for disabled MTRRs more descriptive
        x86/pat: Handle TDX guest PAT initialization
        x86/cpuid: Carve out all CPUID functionality
        x86/cpu: Switch to cpu_feature_enabled() for X86_FEATURE_XENPV
        x86/cpu: Remove X86_FEATURE_XENPV usage in setup_cpu_entry_area()
        x86/cpu: Drop 32-bit Xen PV guest code in update_task_stack()
        x86/cpu: Remove unneeded 64-bit dependency in arch_enter_from_user_mode()
        x86/cpufeatures: Add X86_FEATURE_XENPV to disabled-features.h
        x86/acpi/cstate: Optimize ARB_DISABLE on Centaur CPUs
        x86/mtrr: Simplify mtrr_ops initialization
        x86/cacheinfo: Switch cache_ap_init() to hotplug callback
        x86: Decouple PAT and MTRR handling
        x86/mtrr: Add a stop_machine() handler calling only cache_cpu_init()
        x86/mtrr: Let cache_aps_delayed_init replace mtrr_aps_delayed_init
        x86/mtrr: Get rid of __mtrr_enabled bool
        x86/mtrr: Simplify mtrr_bp_init()
        x86/mtrr: Remove set_all callback from struct mtrr_ops
        x86/mtrr: Disentangle MTRR init from PAT init
        x86/mtrr: Move cache control code to cacheinfo.c
        x86/mtrr: Split MTRR-specific handling from cache dis/enabling
        ...
      3ef3ace4
    • Linus Torvalds's avatar
      Merge tag 'x86_boot_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4eb77fa1
      Linus Torvalds authored
      Pull x86 boot updates from Borislav Petkov:
       "A  of early boot cleanups and fixes.
      
         - Do some spring cleaning to the compressed boot code by moving the
           EFI mixed-mode code to a separate compilation unit, the AMD memory
           encryption early code where it belongs and fixing up build
           dependencies. Make the deprecated EFI handover protocol optional
           with the goal of removing it at some point (Ard Biesheuvel)
      
         - Skip realmode init code on Xen PV guests as it is not needed there
      
         - Remove an old 32-bit PIC code compiler workaround"
      
      * tag 'x86_boot_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Remove x86_32 PIC using %ebx workaround
        x86/boot: Skip realmode init code when running as Xen PV guest
        x86/efi: Make the deprecated EFI handover protocol optional
        x86/boot/compressed: Only build mem_encrypt.S if AMD_MEM_ENCRYPT=y
        x86/boot/compressed: Adhere to calling convention in get_sev_encryption_bit()
        x86/boot/compressed: Move startup32_check_sev_cbit() out of head_64.S
        x86/boot/compressed: Move startup32_check_sev_cbit() into .text
        x86/boot/compressed: Move startup32_load_idt() out of head_64.S
        x86/boot/compressed: Move startup32_load_idt() into .text section
        x86/boot/compressed: Pull global variable reference into startup32_load_idt()
        x86/boot/compressed: Avoid touching ECX in startup32_set_idt_entry()
        x86/boot/compressed: Simplify IDT/GDT preserve/restore in the EFI thunk
        x86/boot/compressed, efi: Merge multiple definitions of image_offset into one
        x86/boot/compressed: Move efi32_pe_entry() out of head_64.S
        x86/boot/compressed: Move efi32_entry out of head_64.S
        x86/boot/compressed: Move efi32_pe_entry into .text section
        x86/boot/compressed: Move bootargs parsing out of 32-bit startup code
        x86/boot/compressed: Move 32-bit entrypoint code into .text section
        x86/boot/compressed: Rename efi_thunk_64.S to efi-mixed.S
      4eb77fa1
    • Linus Torvalds's avatar
      Merge tag 'x86_asm_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b9ed79c
      Linus Torvalds authored
      Pull x86 asm updates from Borislav Petkov:
      
       - Move the 32-bit memmove() asm implementation out-of-line in order to
         fix a 32-bit full LTO build failure with clang where it would fail at
         register allocation.
      
         Move it to an asm file and clean it up while at it, similar to what
         has been already done on 64-bit
      
      * tag 'x86_asm_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mem: Move memmove to out of line assembler
      8b9ed79c
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · fc4c9f45
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
       "Another fairly sizable pull request, by EFI subsystem standards.
      
        Most of the work was done by me, some of it in collaboration with the
        distro and bootloader folks (GRUB, systemd-boot), where the main focus
        has been on removing pointless per-arch differences in the way EFI
        boots a Linux kernel.
      
         - Refactor the zboot code so that it incorporates all the EFI stub
           logic, rather than calling the decompressed kernel as a EFI app.
      
         - Add support for initrd= command line option to x86 mixed mode.
      
         - Allow initrd= to be used with arbitrary EFI accessible file systems
           instead of just the one the kernel itself was loaded from.
      
         - Move some x86-only handling and manipulation of the EFI memory map
           into arch/x86, as it is not used anywhere else.
      
         - More flexible handling of any random seeds provided by the boot
           environment (i.e., systemd-boot) so that it becomes available much
           earlier during the boot.
      
         - Allow improved arch-agnostic EFI support in loaders, by setting a
           uniform baseline of supported features, and adding a generic magic
           number to the DOS/PE header. This should allow loaders such as GRUB
           or systemd-boot to reduce the amount of arch-specific handling
           substantially.
      
         - (arm64) Run EFI runtime services from a dedicated stack, and use it
           to recover from synchronous exceptions that might occur in the
           firmware code.
      
         - (arm64) Ensure that we don't allocate memory outside of the 48-bit
           addressable physical range.
      
         - Make EFI pstore record size configurable
      
         - Add support for decoding CXL specific CPER records"
      
      * tag 'efi-next-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi: (43 commits)
        arm64: efi: Recover from synchronous exceptions occurring in firmware
        arm64: efi: Execute runtime services from a dedicated stack
        arm64: efi: Limit allocations to 48-bit addressable physical region
        efi: Put Linux specific magic number in the DOS header
        efi: libstub: Always enable initrd command line loader and bump version
        efi: stub: use random seed from EFI variable
        efi: vars: prohibit reading random seed variables
        efi: random: combine bootloader provided RNG seed with RNG protocol output
        efi/cper, cxl: Decode CXL Error Log
        efi/cper, cxl: Decode CXL Protocol Error Section
        efi: libstub: fix efi_load_initrd_dev_path() kernel-doc comment
        efi: x86: Move EFI runtime map sysfs code to arch/x86
        efi: runtime-maps: Clarify purpose and enable by default for kexec
        efi: pstore: Add module parameter for setting the record size
        efi: xen: Set EFI_PARAVIRT for Xen dom0 boot on all architectures
        efi: memmap: Move manipulation routines into x86 arch tree
        efi: memmap: Move EFI fake memmap support into x86 arch tree
        efi: libstub: Undeprecate the command line initrd loader
        efi: libstub: Add mixed mode support to command line initrd loader
        efi: libstub: Permit mixed mode return types other than efi_status_t
        ...
      fc4c9f45
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · 717e6eb4
      Linus Torvalds authored
      Pull integrity updates from Mimi Zohar:
       "Aside from the one cleanup, the other changes are bug fixes:
      
        Cleanup:
      
         - Include missing iMac Pro 2017 in list of Macs with T2 security chip
      
        Bug fixes:
      
         - Improper instantiation of "encrypted" keys with user provided data
      
         - Not handling delay in updating LSM label based IMA policy rules
           (-ESTALE)
      
         - IMA and integrity memory leaks on error paths
      
         - CONFIG_IMA_DEFAULT_HASH_SM3 hash algorithm renamed"
      
      * tag 'integrity-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        ima: Fix hash dependency to correct algorithm
        ima: Fix misuse of dereference of pointer in template_desc_init_fields()
        integrity: Fix memory leakage in keyring allocation error path
        ima: Fix memory leak in __ima_inode_hash()
        ima: Handle -ESTALE returned by ima_filter_rule_match()
        ima: Simplify ima_lsm_copy_rule
        ima: Fix a potential NULL pointer access in ima_restore_measurement_list
        efi: Add iMac Pro 2017 to uefi skip cert quirk
        KEYS: encrypted: fix key instantiation with user-provided data
      717e6eb4
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 8fa37a68
      Linus Torvalds authored
      Pull sysctl updates from Luis Chamberlain:
       "Only a small step forward on the sysctl cleanups for this cycle"
      
      * tag 'sysctl-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        sched: Move numa_balancing sysctls to its own file
      8fa37a68
    • Linus Torvalds's avatar
      Merge tag 'modules-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 3ba2c3ff
      Linus Torvalds authored
      Pull modules updates from Luis Chamberlain:
       "Tux gets for xmas an improvement to the average lookup performance of
        kallsyms_lookup_name() by 715x thanks to the work by Zhen Lei, which
        upgraded our old implementation from being O(n) to O(log(n)), while
        also retaining the old implementation support on /proc/kallsyms.
      
        The only penalty was increasing the memory footprint by 3 *
        kallsyms_num_syms. Folks who want to improve this further now also
        have a dedicated selftest facility through KALLSYMS_SELFTEST.
      
        Stephen Boyd added zstd in-kernel decompression support, but the only
        users of this would be folks using the load-pin LSM because otherwise
        we do module decompression in userspace.
      
        The only other thing with mentioning is a minor boot time optimization
        by Rasmus Villemoes which deferes param_sysfs_init() to late init. The
        rest is cleanups and minor fixes"
      
      * tag 'modules-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        livepatch: Call klp_match_callback() in klp_find_callback() to avoid code duplication
        module/decompress: Support zstd in-kernel decompression
        kallsyms: Remove unneeded semicolon
        kallsyms: Add self-test facility
        livepatch: Use kallsyms_on_each_match_symbol() to improve performance
        kallsyms: Add helper kallsyms_on_each_match_symbol()
        kallsyms: Reduce the memory occupied by kallsyms_seqs_of_names[]
        kallsyms: Correctly sequence symbols when CONFIG_LTO_CLANG=y
        kallsyms: Improve the performance of kallsyms_lookup_name()
        scripts/kallsyms: rename build_initial_tok_table()
        module: Fix NULL vs IS_ERR checking for module_get_next_page
        kernel/params.c: defer most of param_sysfs_init() to late_initcall time
        module: Remove unused macros module_addr_min/max
        module: remove redundant module_sysfs_initialized variable
      3ba2c3ff
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 0015edd6
      Linus Torvalds authored
      Pull clk driver updates from Stephen Boyd:
       "A pile of clk driver updates with a small tracepoint patch to the clk
        core this time around.
      
        The core framework is effectively unchanged, with the majority of the
        diff going to the Qualcomm clk driver directory because they added two
        3k line files that are almost all clk data (Abel Vesa from Linaro
        tried to shrink the number of lines down, but it doesn't seem to be
        possible without sacrificing readability).
      
        The second big driver this time around is the Rockchip rk3588 clk and
        reset unit, at _only_ 2.5k lines.
      
        Ignoring the big clk drivers from the familiar SoC vendors, there's
        just a bunch of little clk driver updates and fixes throughout here.
      
        It's the usual set of clk data fixups to describe proper parents, or
        add frequencies to frequency tables, or plug memory leaks when
        function calls fail. Also, some drivers are converted to use modern
        clk_hw APIs, which is always nice to see. And data is deduplicated,
        leading to a smaller kernel Image.
      
        Overall this batch has a larger collection of cleanups than it
        typically does. Maybe that means there are less new SoCs right now
        that need supporting, and the focus has shifted to quality and
        reliability. I can dream.
      
        New Drivers:
         - Frequency hopping controller hardware on MediaTek MT8186
         - Global clock controller for Qualcomm SM8550
         - Display clock controller for Qualcomm SC8280XP
         - RPMh clock controller for Qualcomm QDU1000 and QRU1000 SoCs
         - CPU PLL on MStar/SigmaStar SoCs
         - Support for the clock and reset unit of the Rockchip rk3588
      
        Updates:
         - Tracepoints for clk_rate_request structures
         - Debugfs support for fractional divider clk
         - Make MxL's CGU driver secure compatible
         - Ingenic JZ4755 SoC clk support
         - Support audio clks on X1000 SoCs
         - Remove flags from univ/main/syspll child fixed factor clocks across
           MediaTek platforms
         - Fix clock dependency for ADC on MediaTek MT7986
         - Fix parent for FlexSPI clock for i.MX93
         - Add USB suspend clock on i.MX8MP
         - Unmap anatop base on error for i.MX93 driver
         - Change enet clock parent to wakeup_axi_root for i.MX93
         - Drop LPIT1, LPIT2, TPM1 and TPM3 clocks for i.MX93
         - Mark HSIO bus clock and SYS_CNT clock as critical on i.MX93
         - Add 320MHz and 640MHz entries to PLL146x
         - Add audio shared gate and SAI clocks for i.MX8MP
         - Fix a possible memory leak in the error path of rockchip PLL
           creation
         - Fix header guard for V3S clocks
         - Add IR module clock for f1c100s
         - Correct the parent clocks for the (High Speed) Serial Communication
           Interfaces with FIFO ((H)SCIF) modules and the mixed-up Ethernet
           Switch clocks on Renesas R-Car S4-8
         - Add timer (TMU, CMT) and Cortex-A76 CPU core (Z0) clocks on Renesas
           R-Car V4H
         - Two PLL driver fixups for the Amlogic clk driver
         - Round SD clock rate to improve parent clock selection
         - Add Ethernet Switch and internal SASYNCPER clocks on Renesas R-Car
           S4-8
         - Add DMA (SYS-DMAC), SPI (MSIOF), external interrupt (INTC-EX)
           serial (SCIF), PWM (PWM and TPU), SDHI, and HyperFLASH/QSPI
           (RPC-IF) clocks on Renesas R-Car V4H
         - Add Multi-Function Timer Pulse Unit (MTU3a) clock and reset on
           Renesas RZ/G2L
         - Fix endless loop on Renesas RZ/N1
         - Correct the parent clocks for the High Speed Serial Communication
           Interfaces with FIFO (HSCIF) modules on the Renesas R-Car V4H SoC
           Note: HSCIF0 is used for the serial console on the White-Hawk
           development board
         - Various clk DT binding improvements and conversions to YAML
         - Qualcomm SM8150/SM8250 display clock controller cleaned up
         - Some missing clocks for Qualcomm SM8350 added
         - Qualcomm MSM8974 Global and Multimedia clock controllers
           transitioned to parent_data and parent_hws
         - Use parent_data and add network resets for Qualcomm IPQ8074
         - Qualcomm Krait clock controller modernized
         - Fix pm_runtime usage in Qualcomm SC7180 and SC7280 LPASS clock
           controllers
         - Enable retention mode on Qualcomm SM8250 USB GDSCs
         - Cleanup Qualcomm RPM and RPMh clock drivers to avoid duplicating
           clocks which definition could be shared between platforms
         - Various NULL pointer checks added for allocations"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (188 commits)
        clk: nomadik: correct struct name kernel-doc warning
        clk: lmk04832: fix kernel-doc warnings
        clk: lmk04832: drop superfluous #include
        clk: lmk04832: drop unnecessary semicolons
        clk: lmk04832: declare variables as const when possible
        clk: socfpga: Fix memory leak in socfpga_gate_init()
        clk: microchip: enable the MPFS clk driver by default if SOC_MICROCHIP_POLARFIRE
        clk: st: Fix memory leak in st_of_quadfs_setup()
        clk: samsung: Fix memory leak in _samsung_clk_register_pll()
        clk: Add trace events for rate requests
        clk: Store clk_core for clk_rate_request
        clk: qcom: rpmh: add support for SM6350 rpmh IPA clock
        clk: qcom: mmcc-msm8974: use parent_hws/_data instead of parent_names
        clk: qcom: mmcc-msm8974: move clock parent tables down
        clk: qcom: mmcc-msm8974: use ARRAY_SIZE instead of specifying num_parents
        clk: qcom: gcc-msm8974: use parent_hws/_data instead of parent_names
        clk: qcom: gcc-msm8974: move clock parent tables down
        clk: qcom: gcc-msm8974: use ARRAY_SIZE instead of specifying num_parents
        dt-bindings: clocks: qcom,mmcc: define clocks/clock-names for MSM8974
        dt-bindings: clock: split qcom,gcc-msm8974,-msm8226 to the separate file
        ...
      0015edd6
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 71946a25
      Linus Torvalds authored
      Pull MMC and MEMSTICK updates from Ulf Hansson:
       "MMC core:
         - A few minor improvements and cleanups
      
        MMC host:
         - Remove some redundant calls to local_irq_{save,restore}()
         - Replace kmap_atomic() with kmap_local_page()
         - Take return values from mmc_add_host() into account
         - dw_mmc-pltfm: Add support to configure clk-phase for socfpga
         - hsq: Minimize latency by using a fifo to dispatch requests
         - litex_mmc: Fixup corner case for polling mode
         - mtk-sd: Add inline crypto engine clock control
         - mtk-sd: Add support for the mediatek MT7986 variant
         - renesas_sdhi: Improve reset from HS400 mode
         - renesas_sdhi: Take DMA end interrupts into account
         - sdhci: Avoid unnecessary update of clock
         - sdhci: Fix an SD tuning issue
         - sdhci-brcmst: Add Kamal Dasu as maintainer for the Broadcom driver
         - sdhci-esdhc-imx: Improve tuning logic
         - sdhci-esdhc-imx: Improve support for the imxrt1050 variant
         - sdhci_f_sdh30: Add support for non-removable media
         - sdhci_f_sdh30: Add support for the Socionext F_SDH30_E51 variant
         - sdhci_f_sdh30: Add reset control support
         - sdhci-msm: Add support for the Qcom SM8550/SM8350/SM6375 variants
         - sdhci-msm: Add support for the Qcom MSM8976 variant
         - sdhci-of-arasan: Add support for dynamic configuration
         - sdhci-of-esdhc: Limit the clock frequency to confirm to spec
         - sdhci-pci: Enable asynchronous probe
         - sdhci-sprd: Improve card detection
         - sdhci-tegra: Improve reset support
         - sdhci-tegra: Add support to program MC stream ID
         - sunplus-mmc: Add new mmc driver for the Sunplus SP7021 controller
         - vub300: Fix warning splat for SDIO irq
      
        MEMSTICK core:
         - memstick: A few minor improvements and cleanups
      
        CLK/IOMMU:
         - clk: socfpga: Drop redundant support for clk-phase for the SD/MMC clk
         - iommu: Add tegra specific helper to get stream_id"
      
      * tag 'mmc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (108 commits)
        mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K
        mmc: sdhci-of-esdhc: Modify mismatched function name
        memstick/mspro_block: Convert to use sysfs_emit()/sysfs_emit_at() APIs
        mmc: sdhci-tegra: Issue CMD and DAT resets together
        mmc: sdhci-tegra: Add support to program MC stream ID
        mmc: sdhci-tegra: Separate Tegra194 and Tegra234 SoC data
        mmc: sdhci-tegra: Sort includes alphabetically
        iommu/tegra: Add tegra_dev_iommu_get_stream_id() helper
        iommu: Add note about struct iommu_fwspec usage
        mmc: sdhci-brcmstb: Resolve "unused" warnings with CONFIG_OF=n
        dt-bindings: mmc: sdhci-msm: allow dma-coherent
        dt-bindings: mmc: sdhci-msm: drop properties mentioned in common MMC
        dt-bindings: mmc: sdhci-msm: cleanup style
        dt-bindings: mmc: sdhci-am654: cleanup style
        dt-bindings: mmc: sdhci: document sdhci-caps and sdhci-caps-mask
        mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
        MAINTAINERS: Update maintainer for SDHCI Broadcom BRCMSTB driver
        mmc: sdhci-of-esdhc: limit the SDHC clock frequency
        mmc: sdhci: Remove unneeded semicolon
        mmc: core: Normalize the error handling branch in sd_read_ext_regs()
        ...
      71946a25
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.2-1' of https://github.com/cminyard/linux-ipmi · 90b12f42
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "This includes a number of small fixes, as usual.
      
        It also includes a new driver for doing the i2c (SSIF) interface
        BMC-side, pretty much completing the BMC side interfaces"
      
      * tag 'for-linus-6.2-1' of https://github.com/cminyard/linux-ipmi:
        ipmi/watchdog: use strscpy() to instead of strncpy()
        ipmi: ssif_bmc: Convert to i2c's .probe_new()
        ipmi: fix use after free in _ipmi_destroy_user()
        ipmi/watchdog: Include <linux/kstrtox.h> when appropriate
        ipmi:ssif: Increase the message retry time
        ipmi: Fix some kernel-doc warnings
        ipmi: ssif_bmc: Use EPOLLIN instead of POLLIN
        ipmi: fix msg stack when IPMI is disconnected
        ipmi: fix memleak when unload ipmi driver
        ipmi: fix long wait in unload when IPMI disconnect
        ipmi: kcs: Poll OBF briefly to reduce OBE latency
        bindings: ipmi: Add binding for SSIF BMC driver
        ipmi: ssif_bmc: Add SSIF BMC driver
      90b12f42
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2022121301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 2043f9a3
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - iio support for the MCP2221 HID driver (Matt Ranostay)
      
       - support for more than one hinge sensor in hid-sensor-custom (Yauhen
         Kharuzhy)
      
       - PS DualShock 4 controller support (Roderick Colenbrander)
      
       - XP-PEN Deco LW support (José Expósito)
      
       - other assorted code cleanups and device ID/quirk addtions
      
      * tag 'for-linus-2022121301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (51 commits)
        HID: logitech HID++: Send SwID in GetProtocolVersion
        HID: hid-elan: use default remove for hid device
        HID: hid-alps: use default remove for hid device
        HID: hid-sensor-custom: set fixed size for custom attributes
        HID: i2c: let RMI devices decide what constitutes wakeup event
        HID: playstation: fix DualShock4 bluetooth CRC endian issue.
        HID: playstation: fix DualShock4 bluetooth memory corruption bug.
        HID: apple: Swap Control and Command keys on Apple keyboards
        HID: intel-ish-hid: ishtp: remove variable rb_count
        HID: uclogic: Standardize test name prefix
        HID: hid-sensor-custom: Allow more than one hinge angle sensor
        HID: ft260: fix 'cast to restricted' kernel CI bot warnings
        HID: ft260: missed NACK from busy device
        HID: ft260: fix a NULL pointer dereference in ft260_i2c_write
        HID: ft260: wake up device from power saving mode
        HID: ft260: missed NACK from big i2c read
        HID: ft260: remove SMBus Quick command support
        HID: ft260: skip unexpected HID input reports
        HID: ft260: do not populate /dev/hidraw device
        HID: ft260: improve i2c large reads performance
        ...
      2043f9a3
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.2-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 86a0b425
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a new driver for Cypress Generation 5 touchscreens
      
       - a new driver for Hynitron cstxxx touchscreens
      
       - a new driver for Himax hx83112b touchscreen
      
       - I2C input devices have been converted to use i2c's probe_new()
      
       - a large number of input devices are now using
         DEFINE_SIMPLE_DEV_PM_OPS and pm_sleep_ptr() and no longer use
         __maybe_unused annotations
      
       - improvements to msg2638 touchscreen driver to also support msg2138
      
       - conversion of several input deevine bindings to yaml/DT schema
      
       - changes to select touch drivers to move handling of wake irqs to the
         PM core
      
       - other assorted fixes and improvements.
      
      * tag 'input-for-v6.2-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (165 commits)
        Input: elants_i2c - delay longer with reset asserted
        dt-bindings: input: Convert ti,drv260x to DT schema
        dt-bindings: input: gpio-beeper: Convert to yaml schema
        Input: pxspad - fix unused data warning when force feedback not enabled
        Input: lpc32xx - allow building with COMPILE_TEST
        Input: nomadik-ske-keypad - allow building with COMPILE_TEST
        Input: pxa27xx-keypad - allow build with COMPILE_TEST
        Input: spear-keyboard - improve build coverage using COMPILE_TEST
        Input: tegra-kbc - allow build with COMPILE_TEST
        Input: tegra-kbc - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: tca6416-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: tc3589x - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: st-keyscan - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: sh-keysc - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: qt1070 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: pxa27x_keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: pmic8xxx-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: nomadik-ske-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: mcs-touchkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        Input: max7359-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
        ...
      86a0b425
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 531d2644
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "DT Bindings:
      
         - Various LED binding conversions and clean-ups. Convert the
           ir-spi-led, pwm-ir-tx, and gpio-ir-tx LED bindings to schemas.
           Consistently reference LED common.yaml or multi-led schemas and
           disallow undefined properties.
      
         - Convert IDT 89HPESx, pwm-clock, st,stmipid02, Xilinx PCIe hosts,
           and fsl,imx-fb bindings to schema
      
         - Add ata-generic, Broadcom u-boot environment, and dynamic MTD
           sub-partitions bindings.
      
         - Make all SPI based displays reference spi-peripheral-props.yaml
      
         - Fix some schema property regex's which should be fixed strings or
           were missing start/end anchors
      
         - Remove 'status' in examples, again...
      
        DT Core:
      
         - Fix a possible NULL dereference in overlay functions
      
         - Fix kexec reading 32-bit "linux,initrd-{start,end}" values (which
           never worked)
      
         - Add of_address_count() helper to count number of 'reg' entries
      
         - Support .dtso extension for DT overlay source files. Rename staging
           and unittest overlay files.
      
         - Update dtc to upstream v1.6.1-63-g55778a03df61"
      
      * tag 'devicetree-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (42 commits)
        dt-bindings: leds: Add missing references to common LED schema
        dt-bindings: leds: intel,lgm: Add missing 'led-gpios' property
        of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop()
        dt-bindings: lcdif: Fix constraints for imx8mp
        media: dt-bindings: atmel,isc: Drop unneeded unevaluatedProperties
        dt-bindings: Drop Jee Heng Sia
        dt-bindings: thermal: cooling-devices: Add missing cache related properties
        dt-bindings: leds: irled: ir-spi-led: convert to DT schema
        dt-bindings: leds: irled: pwm-ir-tx: convert to DT schema
        dt-bindings: leds: irled: gpio-ir-tx: convert to DT schema
        dt-bindings: leds: mt6360: rework to match multi-led
        dt-bindings: leds: lp55xx: rework to match multi-led
        dt-bindings: leds: lp55xx: switch to preferred 'gpios' suffix
        dt-bindings: leds: lp55xx: allow label
        dt-bindings: leds: use unevaluatedProperties for common.yaml
        dt-bindings: thermal: tsens: Add SM6115 compatible
        of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values
        dt-bindings: display: Convert fsl,imx-fb.txt to dt-schema
        dt-bindings: Add missing start and/or end of line regex anchors
        dt-bindings: qcom,pdc: Add missing compatibles
        ...
      531d2644
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.2-rc1' of... · 4d03390b
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "New drivers:
      
         - Driver for OneXPlayer mini AMD sensors
      
         - Ampere's Altra smpro-hwmon driver
      
        New chip and attribute support in existing drivers:
      
         - nct6775: Support for ASUS CROSSHAIR VIII/TUF/ProArt B550M
      
         - pmbus/ltc2978: Support for LTC7132
      
         - aquacomputer_d5next: Support for temperature sensor offsets and
           flow sensor pulses
      
         - coretemp: Support for dynamic ttarget and tjmax
      
        Improvements:
      
         - Use devm_regulator_get_enable() where appropriate
      
         - Use sysfs_emit() instead of scnprintf()
      
         - Remove some useless #include <linux/hwmon-vid.h>
      
         - Include <linux/kstrtox.h> when appropriate
      
         - Use simple i2c probe
      
         - it87: Check for a valid chip before using force_id, and new new
           module parameter to ignore ACPI resource conflicts
      
         - jc42: Use regmap, and restore min/max/critical temperatures on
           resume
      
         - Add reporting power good and status to PMBus based regulators
      
        Last minute fixes:
      
         - emc2305: Fix probing of emc2301/2/3, and fix setting pwm values
           manually if THERMAL is enabled
      
        And various other minor fixes and improvements"
      
      * tag 'hwmon-for-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (37 commits)
        hwmon: (emc2305) fix pwm never being able to set lower
        hwmon: (emc2305) fix unable to probe emc2301/2/3
        hwmon: (dell-smm) Move error message to make probing silent
        hwmon: use sysfs_emit() to instead of scnprintf()
        hwmon: (oxp-sensors) Fix pwm reading
        hwmon: (aquacomputer_d5next) Add support for Quadro flow sensor pulses
        hwmon: (pmbus/core) Implement regulator get_status
        hwmon: (oxp-sensors) Add AOK ZOE and Mini PRO
        hwmon: (gsc-hwmon) Switch to flexible array to simplify code
        hwmon: (pmbus) Add power good support
        hwmon: (nct6775) add ASUS CROSSHAIR VIII/TUF/ProArt B550M
        hwmon: (coretemp) Add support for dynamic ttarget
        hwmon: (coretemp) Add support for dynamic tjmax
        hwmon: (coretemp) rearrange tjmax handing code
        hwmon: Remove some useless #include <linux/hwmon-vid.h>
        hwmon: (coretemp) Remove obsolete temp_data->valid
        hwmon: add OneXPlayer mini AMD sensors driver
        hwmon: (aquacomputer_d5next) Clear up macros and comments
        hwmon: (it87) Add DMI table for future extensions
        hwmon: Include <linux/kstrtox.h> when appropriate
        ...
      4d03390b
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 361c89a0
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "The two large chunks is the header clean-up from Andy and the Qualcomm
        DT bindings clean-up from Krzysztof. Each which could give rise to
        conflicts, but I haven't seen any.
      
        The YAML conversions happening around the device tree is the biggest
        item in the series and is the result of Rob Herrings ambition to
        autovalidate these trees against strict schemas and it is paying off
        in lots of bugs found and ever prettier device trees. Sooner or later
        the transition will be complete, Krzysztof is fixing up all of the
        Qualcomm stuff, which is pretty voluminous.
      
        Core changes:
      
         - minor but nice and important documentation clean-ups
      
        New drivers:
      
         - subdriver for the Qualcomm SDM670 SoC
      
         - subdriver for the Intel Moorefield SoC
      
         - trivial support for the NXP Freescale i.MXRT1170 SoC
      
        Other changes and improvements
      
         - major clean-up of the Qualcomm pin control device tree bindings by
           Krzysztof
      
         - major header clean-up by Andy
      
         - some immutable irqchip clean-up for the Actions Semiconductor and
           Nuvoton drivers
      
         - GPIO helpers for The Cypress cy8c95x0 driver
      
         - bias handling in the Mediatek MT7986 driver
      
         - remove the unused pins-are-numbered concept that never flew"
      
      * tag 'pinctrl-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (231 commits)
        pinctrl: thunderbay: fix possible memory leak in thunderbay_build_functions()
        dt-bindings: pinctrl: st,stm32: Deprecate pins-are-numbered
        dt-bindings: pinctrl: mediatek,mt65xx: Deprecate pins-are-numbered
        pinctrl: stm32: Remove check for pins-are-numbered
        pinctrl: mediatek: common: Remove check for pins-are-numbered
        pinctrl: qcom: remove duplicate included header files
        pinctrl: sunxi: d1: Add CAN bus pinmuxes
        pinctrl: loongson2: Fix some const correctness
        pinctrl: pinconf-generic: add missing of_node_put()
        pinctrl: intel: Enumerate PWM device when community has a capability
        pwm: lpss: Rename pwm_lpss_probe() --> devm_pwm_lpss_probe()
        pwm: lpss: Allow other drivers to enable PWM LPSS
        pwm: lpss: Include headers we are the direct user of
        pwm: lpss: Rename MAX_PWMS --> LPSS_MAX_PWMS
        pwm: Add a stub for devm_pwmchip_add()
        pinctrl: k210: call of_node_put()
        pinctrl: starfive: Use existing variable gpio
        dt-bindings: pinctrl: semtech,sx150xq: fix match patterns for 16 GPIOs matching
        pinconf-generic: fix style issues in pin_config_param doc
        pinctrl: pinctrl-loongson2: fix Kconfig dependency
        ...
      361c89a0
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · d0f3ad23
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A busy enough release, but not for the core which has only seen very
        small updates. The biggest addition is the readdition of support for
        detailed configuration of the timings around chip selects. That had
        been removed for lack of use but there's been applications found for
        it on Atmel systems. Otherwise the updates are mostly feature
        additions and cleanups to existing drivers.
      
        Summary:
      
         - Provide a helper for getting device match data in a way that
           abstracts away which firmware interface is being used.
      
         - Re-add the spi_set_cs_timing() API for detailed configuration of
           the timing around chip select and support it on Atmel.
      
         - Support for MediaTek MT7986, Microchip PCI1xxxx, Nuvoton WPCM450
           FIU and Socionext F_OSPI"
      
      * tag 'spi-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (66 commits)
        spi: dt-bindings: Convert Synquacer SPI to DT schema
        spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode
        spi: spi-mtk-nor: Add recovery mechanism for dma read timeout
        spi: spi-fsl-lpspi: add num-cs binding for lpspi
        spi: spi-fsl-lpspi: support multiple cs for lpspi
        spi: mtk-snfi: Add snfi support for MT7986 IC
        spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE
        spi: cadence-quadspi: Add minimum operable clock rate warning to baudrate divisor calculation
        spi: microchip: pci1xxxx: Add suspend and resume support for PCI1XXXX SPI driver
        spi: dt-bindings: nuvoton,wpcm450-fiu: Fix warning in example (missing reg property)
        spi: dt-bindings: nuvoton,wpcm450-fiu: Fix error in example (bogus include)
        spi: mediatek: Enable irq when pdata is ready
        spi: spi-mtk-nor: Unify write buffer on/off
        spi: intel: Add support for SFDP opcode
        spi: intel: Take possible chip address into account in intel_spi_read/write_reg()
        spi: intel: Implement adjust_op_size()
        spi: intel: Use ->replacement_op in intel_spi_hw_cycle()
        spi: cadence: Drop obsolete dependency on COMPILE_TEST
        spi: Add Nuvoton WPCM450 Flash Interface Unit (FIU) bindings
        spi: wpcm-fiu: Add direct map support
        ...
      d0f3ad23
    • Linus Torvalds's avatar
      Merge tag 'regulator-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · c5589c43
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Quite a quiet release for regulator, the diffstat is dominated by the
        I2C migration to probe_new() and the newly added MT6357 driver. We've
        just one framework addition and the rest is all new device support,
        fixes and cleanups.
      
        The framework addition is an API for requesting all regulators defined
        in DT, this isn't great practice but has reasonable applications when
        there is generic code handling devices on buses where the bus
        specification doesn't include power. The immediate application is MDIO
        but I believe there's others, it's another API that'll need an eye
        keeping on it for undesirable usage.
      
        Summary:
      
          - An API for requesting all regulators defined in DT
      
          - Conversion of lots of drivers to the I2C probe_new() API
      
          - Support for Mediatek MT6357, Qualcomm PM8550, PMR735a and Richtek
            RT6190"
      
      * tag 'regulator-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (56 commits)
        regulator: core: Use different devices for resource allocation and DT lookup
        dt-bindings: Add missing 'unevaluatedProperties' to regulator nodes
        regulator: qcom-labibb: Fix missing of_node_put() in qcom_labibb_regulator_probe()
        regulator: add mt6357 regulator
        regulator: dt-bindings: Add binding schema for mt6357 regulators
        regulator: core: fix resource leak in regulator_register()
        regulator: core: fix module refcount leak in set_supply()
        regulator: core: fix use_count leakage when handling boot-on
        regulator: rk808: Use dev_err_probe
        regulator: rk808: reduce 'struct rk808' usage
        regulator: Drop obsolete dependencies on COMPILE_TEST
        regulator: pv88080-regulator: Convert to i2c's .probe_new()
        regulator: pfuze100-regulator: Convert to i2c's .probe_new()
        regulator: isl6271a-regulator: Convert to i2c's .probe_new()
        regulator: fan53555: Convert to i2c's .probe_new()
        regulator: act8865-regulator: Convert to i2c's .probe_new()
        regulator: qcom-rpmh: Add support for PM8550 regulators
        regulator: dt-bindings: qcom,rpmh: Add compatible for PM8550
        regulator: tps65023-regulator: Convert to i2c's .probe_new()
        regulator: tps62360-regulator: Convert to i2c's .probe_new()
        ...
      c5589c43
    • Linus Torvalds's avatar
      Merge tag 'regmap-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b8cc9174
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A few new APIs here, support for the FSI bus (which is used in some
        PowerPC systems) plus a couple of new APIs, one allowing abstractions
        built on top of regmap to tell if the regmap can be used in an atomic
        context and one providing a callback for an in flight device which
        can't do interrupt masking very well.
      
        There's also a fix that I never got round to sending because it really
        should be fixed better but that's not happened yet and it does avoid
        the problem, the fix was in -next for a long time"
      
      * tag 'regmap-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap-irq: Add handle_mask_sync() callback
        regmap: Add FSI bus support
        regmap: add regmap_might_sleep()
        regmap-irq: Use the new num_config_regs property in regmap_add_irq_chip_fwnode
      b8cc9174
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 1e4fa020
      Linus Torvalds authored
      Pull mtd updates from Miquel Raynal:
       "MTD core changes:
         - Fix refcount error in del_mtd_device()
         - Fix possible resource leak in init_mtd()
         - Set ROOT_DEV for partitions marked as rootfs in DT
         - Describe marking rootfs partitions in the bindings
         - Fix device name leak when register device fails in add_mtd_device()
         - Try to find OF node for every MTD partition
         - simplify (a bit) code find partition-matching dynamic OF node
      
        MTD driver changes:
         - pxa2xx-flash maps: fix memory leak in probe
         - BCM parser: refer to ARCH_BCMBCA instead of ARCH_BCM4908
         - lpddr2_nvm: Fix possible null-ptr-deref
         - inftlcore: fix repeated words in comments
         - lart: remove driver
         - tplink:
            - Add TP-Link SafeLoader partitions table parser and bindings
            - Describe TP-Link SafeLoader parser
            - Describe TP-Link SafeLoader dynamic subpartitions
         - mtdoops:
            - Panic caused mtdoops to call mtdoops_erase function immediately
            - Add mtdoops_erase function and move mtdoops_inc_counter after it
            - Change printk() to counterpart pr_ functions
      
        MTD binding cleanup:
         - Fixed-partitions: Fix 'sercomm,scpart-id' schema
         - Standardize the style in the examples
         - Drop object types when referencing other files
         - Argue in favor of keeping additionalProperties set to true
         - NVMEM-cells:
            - Inherit from MTD partitions
            - Drop range property from example
         - Partitions:
            - Change qcom,smem-part partition type
            - Constrain the list of parsers
         - Physmap: Reuse the generic definitions
         - SPI-NOR: Drop common properties
         - Sunxi-nand: Add an example to validate the bindings
         - Onenand: Mention the expected node name
         - Ingenic: Mark partitions in the controller node as deprecated
         - NAND:
            - Standardize the child node name
            - Drop common properties already defined in generic files
            - nand-chip.yaml should reference mtd.yaml
         - Remove useless file about partitions
         - Clarify all partition subnodes
      
        SPI NOR core changes:
         - Add support for flash reset using the dt reset-gpios property.
         - Update hwcaps.mask to include 8D-8D-8D read and page program ops
           when xSPI profile 1.0 table is defined.
         - Bypass zero erase size in spi_nor_find_best_erase_type().
         - Fix select_uniform_erase to skip 0 erase size
         - Add generic flash driver. If a flash is not found in the flash_info
           array, fall back to the generic flash driver which is described
           solely by the flash's SFDP tables.
         - Fix the number of bytes for the dummy cycles in
           spi_nor_spimem_check_readop().
         - Introduce SPI_NOR_QUAD_PP flag, as PP_1_1_4 is not SFDP
           discoverable.
      
        SPI NOR manufacturer drivers changes:
         - Spansion:
            - use PARSE_SFDP for s28hs512t,
            - add support for s28hl512t, s28hl01gt, and s28hs01gt.
         - Gigadevice: Replace default_init() with post_bfpt() for gd25q256.
         - Micron - ST: Enable locking for mt25qu256a.
         - Winbond: Add support for W25Q512NW-IQ.
         - ISSI: Use PARSE_SFDP and SPI_NOR_QUAD_PP.
      
        Raw NAND core changes:
         - Drop obsolete dependencies on COMPILE_TEST
         - MAINTAINERS: rectify entry for MESON NAND controller bindings
         - Drop EXPORT_SYMBOL_GPL for nanddev_erase()
      
        Raw NAND driver changes:
         - marvell: Enable NFC/DEVBUS arbiter
         - gpmi: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync
         - mpc5121: Replace NO_IRQ by 0
         - lpc32xx_{slc,mlc}:
            - Switch to using pm_ptr()
            - Switch to using gpiod API
         - lpc32xx_mlc: Switch to using pm_ptr()
         - cadence: Support 64-bit slave dma interface
         - rockchip: Describe rk3128-nfc in the bindings
         - brcmnand: Update interrupts description in the bindings
      
        SPI-NAND driver changes:
         - winbond:
            - Add Winbond W25N02KV flash support
            - Fix flash identification"
      
      * tag 'mtd/for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (76 commits)
        mtd: rawnand: Drop obsolete dependencies on COMPILE_TEST
        mtd: maps: pxa2xx-flash: fix memory leak in probe
        mtd: core: Fix refcount error in del_mtd_device()
        mtd: spi-nor: add SFDP fixups for Quad Page Program
        mtd: spi-nor: issi: is25wp256: Init flash based on SFDP
        mtd: spi-nor: winbond: add support for W25Q512NW-IQ
        mtd: spi-nor: micron-st: Enable locking for mt25qu256a
        mtd: spi-nor: Fix the number of bytes for the dummy cycles
        mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with gd25q256_post_bfpt
        mtd: spi-nor: Fix formatting in spi_nor_read_raw() kerneldoc comment
        mtd: spi-nor: sysfs: print JEDEC ID for generic flash driver
        mtd: spi-nor: add generic flash driver
        mtd: spi-nor: fix select_uniform_erase to skip 0 erase size
        mtd: spi-nor: move function declaration out of sfdp.h
        mtd: spi-nor: remember full JEDEC flash ID
        mtd: spi-nor: sysfs: hide manufacturer if it is not set
        mtd: spi-nor: hide jedec_id sysfs attribute if not present
        mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type()
        mtd: rawnand: marvell: Enable NFC/DEVBUS arbiter
        mtd: parsers: refer to ARCH_BCMBCA instead of ARCH_BCM4908
        ...
      1e4fa020
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-12-13' of git://anongit.freedesktop.org/drm/drm · a594533d
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "The biggest highlight is that the accel subsystem framework is merged.
        Hopefully for 6.3 we will be able to line up a driver to use it.
      
        In drivers land, i915 enables DG2 support by default now, and nouveau
        has a big stability refactoring and initial ampere support, AMD
        includes new hw IP support and should build on ARM again. There is
        also an ofdrm driver to take over offb on platforms it's used.
      
        Stuff outside my tree, the dma-buf patches hit a few places, the vc4
        firmware changes also do, and i915 has some interactions with MEI for
        discrete GPUs. I think all of those should have been acked/reviewed by
        relevant parties.
      
        New driver:
         - ofdrm - replacement for offb
      
        fbdev:
         - add support for nomodeset
      
        fourcc:
         - add Vivante tiled modifier
      
        core:
         - atomic-helpers: CRTC primary plane test fixes, fb access hooks
         - connector: TV API consistency, cmdline parser improvements
         - send connector hotplug on cleanup
         - sort makefile objects
      
        tests:
         - sort kunit tests
         - improve DP-MST tests
         - add kunit helpers to create a device
      
        sched:
         - module param for scheduling policy
         - refcounting fix
      
        buddy:
         - add back random seed log
      
        ttm:
         - convert ttm_resource to size_t
         - optimize pool allocations
      
        edid:
         - HFVSDB parsing support fixes
         - logging/debug improvements
         - DSC quirks
      
        dma-buf:
         - Add unlocked vmap and attachment mapping
         - move drivers to common locking convention
         - locking improvements
      
        firmware:
         - new API for rPI firmware and vc4
      
        xilinx:
         - zynqmp: displayport bridge support
         - dpsub fix
      
        bridge:
         - adv7533: Remove dynamic lane switching
         - it6505: Runtime PM support, sync improvements
         - ps8640: Handle AUX defer messages
         - tc358775: Drop soft-reset over I2C
      
        panel:
         - panel-edp: Add INX N116BGE-EA2 C2 and C4 support.
         - Jadard JD9365DA-H3
         - NewVision NV3051D
      
        amdgpu:
         - DCN support on ARM
         - DCN 2.1 secure display
         - Sienna Cichlid mode2 reset fixes
         - new GC 11.x firmware versions
         - drop AMD specific DSC workarounds in favour of drm code
         - clang warning fixes
         - scheduler rework
         - SR-IOV fixes
         - GPUVM locking fixes
         - fix memory leak in CS IOCTL error path
         - flexible array updates
         - enable new GC/PSP/SMU/NBIO IP
         - GFX preemption support for gfx9
      
        amdkfd:
         - cache size fixes
         - userptr fixes
         - enable cooperative launch on gfx 10.3
         - enable GC 11.0.4 KFD support
      
        radeon:
         - replace kmap with kmap_local_page
         - ACPI ref count fix
         - HDA audio notifier support
      
        i915:
         - DG2 enabled by default
         - MTL enablement work
         - hotplug refactoring
         - VBT improvements
         - Display and watermark refactoring
         - ADL-P workaround
         - temp disable runtime_pm for discrete-
         - fix for A380 as a secondary GPU
         - Wa_18017747507 for DG2
         - CS timestamp support fixes for gen5 and earlier
         - never purge busy TTM objects
         - use i915_sg_dma_sizes for all backends
         - demote GuC kernel contexts to normal priority
         - gvt: refactor for new MDEV interface
         - enable DC power states on eDP ports
         - fix gen 2/3 workarounds
      
        nouveau:
         - fix page fault handling
         - Ampere acceleration support
         - driver stability improvements
         - nva3 backlight support
      
        msm:
         - MSM_INFO_GET_FLAGS support
         - DPU: XR30 and P010 image formats
         - Qualcomm SM6115 support
         - DSI PHY support for QCM2290
         - HDMI: refactored dev init path
         - remove exclusive-fence hack
         - fix speed-bin detection
         - enable clamp to idle on 7c3
         - improved hangcheck detection
      
        vmwgfx:
         - fb and cursor refactoring
         - convert to generic hashtable
         - cursor improvements
      
        etnaviv:
         - hw workarounds
         - softpin MMU fixes
      
        ast:
         - atomic gamma LUT support
         - convert to SHMEM
      
        lcdif:
         - support YUV planes
         - Increase DMA burst size
         - FIFO threshold tuning
      
        meson:
         - fix return type of cvbs mode_valid
      
        mgag200:
         - fix PLL setup on some revisions
      
        sun4i:
         - A100 and D1 support
      
        udl:
         - modesetting improvements
         - hot unplug support
      
        vc4:
         - support PAL-M
         - fix regression preventing 4K @ 60Hz
         - fix NULL ptr deref
      
        v3d:
         - switch to drm managed resources
      
        renesas:
         - RZ/G2L DSI support
         - DU Kconfig cleanup
      
        mediatek:
         - fixup dpi and hdmi
         - MT8188 dpi support
         - MT8195 AFBC support
      
        tegra:
         - NVDEC hardware on Tegra234 SoC
      
        hdlcd:
         - switch to drm managed resources
      
        ingenic:
         - fix registration error path
      
        hisilicon:
         - convert to drm_mode_init
      
        maildp:
         - use managed resources
      
        mtk:
         - use drm_mode_init
      
        rockchip:
         - use drm_mode_copy"
      
      * tag 'drm-next-2022-12-13' of git://anongit.freedesktop.org/drm/drm: (1397 commits)
        drm/amdgpu: fix mmhub register base coding error
        drm/amdgpu: add tmz support for GC IP v11.0.4
        drm/amdgpu: enable GFX Clock Gating control for GC IP v11.0.4
        drm/amdgpu: enable GFX Power Gating for GC IP v11.0.4
        drm/amdgpu: enable GFX IP v11.0.4 CG support
        drm/amdgpu: Make amdgpu_ring_mux functions as static
        drm/amdgpu: generally allow over-commit during BO allocation
        drm/amd/display: fix array index out of bound error in DCN32 DML
        drm/amd/display: 3.2.215
        drm/amd/display: set optimized required for comp buf changes
        drm/amd/display: Add debug option to skip PSR CRTC disable
        drm/amd/display: correct DML calc error of UrgentLatency
        drm/amd/display: correct static_screen_event_mask
        drm/amd/display: Ensure commit_streams returns the DC return code
        drm/amd/display: read invalid ddc pin status cause engine busy
        drm/amd/display: Bypass DET swath fill check for max clocks
        drm/amd/display: Disable uclk pstate for subvp pipes
        drm/amd/display: Fix DCN2.1 default DSC clocks
        drm/amd/display: Enable dp_hdmi21_pcon support
        drm/amd/display: prevent seamless boot on displays that don't have the preferred dig
        ...
      a594533d
    • Linus Torvalds's avatar
      Merge tag 'media/v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · cdb9d353
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - DVB core changes to avoid refcount troubles and UAF
      
       - DVB API/core has gained support for DVB-C2 and DVB-S2X
      
       - New sensor drivers: ov08x40, ov4689.c, st-vgxy61 and tc358746.c
      
       - Removal of an unused sensor driver: s5k4ecgx
      
       - Move microchip_csi2dc to a new directory, named after the
         manufacturer
      
       - Add media controller support to Microship drivers
      
       - Old Atmel/Microship drivers that don't use media controler got moved
         to staging
      
       - New drivers added for Renesas RZ/G2L CRU and MIPI CSI-2 support
      
       - Allwinner A31 camera sensor driver code was now split into a bridge
         and a separate processor driver
      
       - Added a virtual stateless decoder driver in order to test core
         support for stateless drivers and test userspace apps using it
      
       - removed platform-based support for ov9650, as this is not used
         anymore
      
       - atomisp now uses videobuf2 and supports normal mmap mode
      
       - the imx7-media-csi driver got promoted from staging
      
       - rcar-vin driver has gained support for gen3 UDS (Up Down Scaler)
      
       - most i2c drivers now use I2C .probe_new() kAPI
      
       - lots of drivers fixes, cleanups and improvements
      
      * tag 'media/v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (544 commits)
        media: s5c73m3: Switch to GPIO descriptors
        media: i2c: s5k5baf: switch to using gpiod API
        media: i2c: s5k6a3: switch to using gpiod API
        media: imx: remove code for non-existing config IMX_GPT_ICAP
        media: si470x: Fix use-after-free in si470x_int_in_callback()
        media: staging: stkwebcam: Restore MEDIA_{USB,CAMERA}_SUPPORT dependencies
        media: coda: Add check for kmalloc
        media: coda: Add check for dcoda_iram_alloc
        dt-bindings: media: s5c73m3: Fix reset-gpio descriptor
        media: dt-bindings: allwinner: h6-vpu-g2: Add IOMMU reference property
        media: s5k4ecgx: Delete driver
        media: s5k4ecgx: Switch to GPIO descriptors
        media: Switch to use dev_err_probe() helper
        headers: Remove some left-over license text in include/uapi/linux/v4l2-*
        headers: Remove some left-over license text in include/uapi/linux/dvb/
        media: usb: pwc-uncompress: Use flex array destination for memcpy()
        media: s5p-mfc: Fix to handle reference queue during finishing
        media: s5p-mfc: Clear workbit to handle error condition
        media: s5p-mfc: Fix in register read and write for H264
        media: imx: Use get_mbus_config instead of parsing upstream DT endpoints
        ...
      cdb9d353
    • Linus Torvalds's avatar
      Merge tag 'sound-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 102f9d3d
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "This looks like a relatively calm development cycle; there have been
        only few changes in ALSA and ASoC core sides while we get lots of
        device-specific fixes and updates as usual. Most of commits are about
        ASoC, including Intel SOF/AVS and many device tree updates.
      
        Below are some highlights:
      
        Core:
         - Improvement in memalloc helper for fallback allocations
         - More cleanups of ASoC DAPM code
      
        ASoC:
         - Factoring out of mapping hw_params onto SoundWire configuration
         - The ever ongoing overhauls of the Intel DSP code continue,
           including support for loading libraries and probes with IPC4 on
           SOF.
         - Support for more sample formats on JZ4740
         - Lots of device tree conversions and fixups
         - Support for Allwinner D1, a range of AMD and Intel systems,
           Mediatek systems with multiple DMICs, Nuvoton NAU8318, NXP
           fsl_rpmsg and i.MX93, Qualcomm AudioReach Enable, MFC and SAL,
           RealTek RT1318 and Rockchip RK3588
      
        ALSA:
         - Addition of PCM kselftest; still minimalistic but can be extended
           in future
         - Fixes for corner-case XRUNs with USB-audio implicit feedback mode
         - Usual device-specific quirk updates for USB- and HD-audio
         - FireWire DICE updates
      
        This also contains a few cross-tree updates:
         - Some OMAP board file updates for removal of relevant OMAP platforms
         - A new I2C API update for I2C probe API adaption
         - A DRM update for the further hdmi-codec updates"
      
      * tag 'sound-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (417 commits)
        ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
        ALSA: patch_realtek: Fix Dell Inspiron Plus 16
        ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock.
        ASoC: dt-bindings: Correct Alexandre Belloni email
        ASoC: dt-bindings: maxim,max98504: Convert to DT schema
        ASoC: dt-bindings: maxim,max98357a: Convert to DT schema
        ASoC: dt-bindings: Reference common DAI properties
        ASoC: dt-bindings: Extend name-prefix.yaml into common DAI properties
        ASoC: rt715: Make read-only arrays capture_reg_H and capture_reg_L static const
        ASoC: uniphier: aio-core: Make some read-only arrays static const
        ASoC: wcd938x: Make read-only array minCode_param static const
        ASoC: qcom: lpass-sc7280: Add maybe_unused tag for system PM ops
        ASoC : SOF: amd: Add support for IPC and DSP dumps
        ASoC: SOF: amd: Use poll function instead to read ACP_SHA_DSP_FW_QUALIFIER
        ALSA: usb-audio: Workaround for XRUN at prepare
        ALSA: pcm: Handle XRUN at trigger START
        ALSA: pcm: Set missing stop_operating flag at undoing trigger start
        drm: tda99x: Don't advertise non-existent capture support
        ASoC: hdmi-codec: Allow playback and capture to be disabled
        kselftest/alsa: Add more coverage of sample rates and channel counts
        ...
      102f9d3d
    • Linus Torvalds's avatar
      Merge tag 'for-6.2/dm-changes' of... · 8715c6d3
      Linus Torvalds authored
      Merge tag 'for-6.2/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Fix use-after-free races due to missing resource cleanup during DM
         target destruction in DM targets: thin-pool, cache, integrity and
         clone.
      
       - Fix ABBA deadlocks in DM thin-pool and cache targets due to their use
         of a bufio client (that has a shrinker whose locking can cause the
         incorrect locking order).
      
       - Fix DM cache target to set its needs_check flag after first aborting
         the metadata (whereby using reset persistent-data objects to update
         the superblock with, otherwise the superblock update could be dropped
         due to aborting metadata). This was found with code-inspection when
         comparing with the equivalent in DM thinp code.
      
       - Fix DM thin-pool's presume to continue resuming the device even if
         the pool in is fail mode -- otherwise bios may never be failed up the
         IO stack (which will prevent resetting the thin-pool target via table
         reload)
      
       - Fix DM thin-pool's metadata to use proper btree root (from previous
         transaction) if metadata commit failed.
      
       - Add 'waitfor' module param to DM module (dm_mod) to allow dm-init to
         wait for the specified device before continuing with its DM target
         initialization.
      
      * tag 'for-6.2/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm thin: Use last transaction's pmd->root when commit failed
        dm init: add dm-mod.waitfor to wait for asynchronously probed block devices
        dm ioctl: fix a couple ioctl codes
        dm ioctl: a small code cleanup in list_version_get_info
        dm thin: resume even if in FAIL mode
        dm cache: set needs_check flag after aborting metadata
        dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort
        dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata
        dm integrity: Fix UAF in dm_integrity_dtr()
        dm cache: Fix UAF in destroy()
        dm clone: Fix UAF in clone_dtr()
        dm thin: Fix UAF in run_timer_softirq()
      8715c6d3
    • Linus Torvalds's avatar
      Merge tag 'ata-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 8ecd28b7
      Linus Torvalds authored
      Pull ata updates from Damien Le Moal:
       "The ususal set of driver fixes and improvements as well as several
        patches improving libata core in preparation of the introduction of
        the support for the command duration limits feature. In more details:
      
         - Define the missing COMPLETED sense key in scsi header (me)
      
         - Several patches to improve libata handling of the status of
           completed commands and the retry and sense data reported to the
           scsi layer for failed commands. In particular, this widen the
           support for NCQ autosense to all drives that support this feature
           instead of restricting this feature use to ZAC drives only (Niklas)
      
         - Cleanup of the pata_mpc52xx and sata_dwc_460ex drivers to remove
           the use of the deprecated NO_IRQ macro (Christophe)
      
         - Fix build dedependency on OF vs use of the of_match_ptr() macro to
           avoid build errors with the sata_gemini and pata_ftide010 drivers
           (me)
      
         - Some libata cleanups using the new helper function
           ata_port_is_frozen() (Niklas)
      
         - Improve internal command handling by not retrying commands that
           failed with a timeout (Niklas)
      
         - Remove code for several unused libata helper functions (from
           Niklas)
      
         - Remove the palmchip pata_bk3710 driver. A couple of other driver
           removal should come in through the arm tree pull request (from
           Arnd)
      
         - Remove unused variable and function in the sata_dwc_460ex driver
           and libata-sff code (Colin and Sergey)
      
         - Minor cleanup of the pata_ep93xx driver platform code (from
           Minghao)
      
         - Remove the unnecessary linux/msi.h include from the ahci driver
           (Thomas)
      
         - Changes to libata enum constants definitions to avoid warnings with
           gcc-13 (Arnd)"
      
      * tag 'ata-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (24 commits)
        ata: ahci: fix enum constants for gcc-13
        ata: libata: fix commands incorrectly not getting retried during NCQ error
        ata: ahci: Remove linux/msi.h include
        ata: sata_dwc_460ex: Check !irq instead of irq == NO_IRQ
        ata: pata_ep93xx: use devm_platform_get_and_ioremap_resource()
        ata: libata-sff: kill unused ata_sff_busy_sleep()
        ata: sata_dwc_460ex: remove variable num_processed
        ata: remove palmchip pata_bk3710 driver
        ata: remove unused helper ata_id_flush_ext_enabled()
        ata: remove unused helper ata_id_flush_enabled()
        ata: remove unused helper ata_id_lba48_enabled()
        ata: libata-core: do not retry reading the log on timeout
        scsi: libsas: make use of ata_port_is_frozen() helper
        ata: make use of ata_port_is_frozen() helper
        ata: add ata_port_is_frozen() helper
        ata: pata_ftide010: Remove build dependency on OF
        ata: sata_gemini: Remove dependency on OF for compile tests
        ata: pata_mpc52xx: Replace NO_IRQ with 0
        ata: libahci: read correct status and error field for NCQ commands
        ata: libata: fetch sense data for ATA devices supporting sense reporting
        ...
      8ecd28b7
    • Linus Torvalds's avatar
      Merge tag 'for-6.2/block-2022-12-08' of git://git.kernel.dk/linux · ce8a79d5
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - NVMe pull requests via Christoph:
            - Support some passthrough commands without CAP_SYS_ADMIN (Kanchan
              Joshi)
            - Refactor PCIe probing and reset (Christoph Hellwig)
            - Various fabrics authentication fixes and improvements (Sagi
              Grimberg)
            - Avoid fallback to sequential scan due to transient issues (Uday
              Shankar)
            - Implement support for the DEAC bit in Write Zeroes (Christoph
              Hellwig)
            - Allow overriding the IEEE OUI and firmware revision in configfs
              for nvmet (Aleksandr Miloserdov)
            - Force reconnect when number of queue changes in nvmet (Daniel
              Wagner)
            - Minor fixes and improvements (Uros Bizjak, Joel Granados, Sagi
              Grimberg, Christoph Hellwig, Christophe JAILLET)
            - Fix and cleanup nvme-fc req allocation (Chaitanya Kulkarni)
            - Use the common tagset helpers in nvme-pci driver (Christoph
              Hellwig)
            - Cleanup the nvme-pci removal path (Christoph Hellwig)
            - Use kstrtobool() instead of strtobool (Christophe JAILLET)
            - Allow unprivileged passthrough of Identify Controller (Joel
              Granados)
            - Support io stats on the mpath device (Sagi Grimberg)
            - Minor nvmet cleanup (Sagi Grimberg)
      
       - MD pull requests via Song:
            - Code cleanups (Christoph)
            - Various fixes
      
       - Floppy pull request from Denis:
            - Fix a memory leak in the init error path (Yuan)
      
       - Series fixing some batch wakeup issues with sbitmap (Gabriel)
      
       - Removal of the pktcdvd driver that was deprecated more than 5 years
         ago, and subsequent removal of the devnode callback in struct
         block_device_operations as no users are now left (Greg)
      
       - Fix for partition read on an exclusively opened bdev (Jan)
      
       - Series of elevator API cleanups (Jinlong, Christoph)
      
       - Series of fixes and cleanups for blk-iocost (Kemeng)
      
       - Series of fixes and cleanups for blk-throttle (Kemeng)
      
       - Series adding concurrent support for sync queues in BFQ (Yu)
      
       - Series bringing drbd a bit closer to the out-of-tree maintained
         version (Christian, Joel, Lars, Philipp)
      
       - Misc drbd fixes (Wang)
      
       - blk-wbt fixes and tweaks for enable/disable (Yu)
      
       - Fixes for mq-deadline for zoned devices (Damien)
      
       - Add support for read-only and offline zones for null_blk
         (Shin'ichiro)
      
       - Series fixing the delayed holder tracking, as used by DM (Yu,
         Christoph)
      
       - Series enabling bio alloc caching for IRQ based IO (Pavel)
      
       - Series enabling userspace peer-to-peer DMA (Logan)
      
       - BFQ waker fixes (Khazhismel)
      
       - Series fixing elevator refcount issues (Christoph, Jinlong)
      
       - Series cleaning up references around queue destruction (Christoph)
      
       - Series doing quiesce by tagset, enabling cleanups in drivers
         (Christoph, Chao)
      
       - Series untangling the queue kobject and queue references (Christoph)
      
       - Misc fixes and cleanups (Bart, David, Dawei, Jinlong, Kemeng, Ye,
         Yang, Waiman, Shin'ichiro, Randy, Pankaj, Christoph)
      
      * tag 'for-6.2/block-2022-12-08' of git://git.kernel.dk/linux: (247 commits)
        blktrace: Fix output non-blktrace event when blk_classic option enabled
        block: sed-opal: Don't include <linux/kernel.h>
        sed-opal: allow using IOC_OPAL_SAVE for locking too
        blk-cgroup: Fix typo in comment
        block: remove bio_set_op_attrs
        nvmet: don't open-code NVME_NS_ATTR_RO enumeration
        nvme-pci: use the tagset alloc/free helpers
        nvme: add the Apple shared tag workaround to nvme_alloc_io_tag_set
        nvme: only set reserved_tags in nvme_alloc_io_tag_set for fabrics controllers
        nvme: consolidate setting the tagset flags
        nvme: pass nr_maps explicitly to nvme_alloc_io_tag_set
        block: bio_copy_data_iter
        nvme-pci: split out a nvme_pci_ctrl_is_dead helper
        nvme-pci: return early on ctrl state mismatch in nvme_reset_work
        nvme-pci: rename nvme_disable_io_queues
        nvme-pci: cleanup nvme_suspend_queue
        nvme-pci: remove nvme_pci_disable
        nvme-pci: remove nvme_disable_admin_queue
        nvme: merge nvme_shutdown_ctrl into nvme_disable_ctrl
        nvme: use nvme_wait_ready in nvme_shutdown_ctrl
        ...
      ce8a79d5
    • Linus Torvalds's avatar
      Merge tag 'for-6.2/io_uring-next-2022-12-08' of git://git.kernel.dk/linux · 96f7e448
      Linus Torvalds authored
      Pull io_uring updates part two from Jens Axboe:
      
       - Misc fixes (me, Lin)
      
       - Series from Pavel extending the single task exclusive ring mode,
         yielding nice improvements for the common case of having a single
         ring per thread (Pavel)
      
       - Cleanup for MSG_RING, removing our IOPOLL hack (Pavel)
      
       - Further poll cleanups and fixes (Pavel)
      
       - Misc cleanups and fixes (Pavel)
      
      * tag 'for-6.2/io_uring-next-2022-12-08' of git://git.kernel.dk/linux: (22 commits)
        io_uring/msg_ring: flag target ring as having task_work, if needed
        io_uring: skip spinlocking for ->task_complete
        io_uring: do msg_ring in target task via tw
        io_uring: extract a io_msg_install_complete helper
        io_uring: get rid of double locking
        io_uring: never run tw and fallback in parallel
        io_uring: use tw for putting rsrc
        io_uring: force multishot CQEs into task context
        io_uring: complete all requests in task context
        io_uring: don't check overflow flush failures
        io_uring: skip overflow CQE posting for dying ring
        io_uring: improve io_double_lock_ctx fail handling
        io_uring: dont remove file from msg_ring reqs
        io_uring: reshuffle issue_flags
        io_uring: don't reinstall quiesce node for each tw
        io_uring: improve rsrc quiesce refs checks
        io_uring: don't raw spin unlock to match cq_lock
        io_uring: combine poll tw handlers
        io_uring: improve poll warning handling
        io_uring: remove ctx variable in io_poll_check_events
        ...
      96f7e448
    • Linus Torvalds's avatar
      Merge tag 'for-6.2/io_uring-2022-12-08' of git://git.kernel.dk/linux · 54e60e50
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
      
       - Always ensure proper ordering in case of CQ ring overflow, which then
         means we can remove some work-arounds for that (Dylan)
      
       - Support completion batching for multishot, greatly increasing the
         efficiency for those (Dylan)
      
       - Flag epoll/eventfd wakeups done from io_uring, so that we can easily
         tell if we're recursing into io_uring again.
      
         Previously, this would have resulted in repeated multishot
         notifications if we had a dependency there. That could happen if an
         eventfd was registered as the ring eventfd, and we multishot polled
         for events on it. Or if an io_uring fd was added to epoll, and
         io_uring had a multishot request for the epoll fd.
      
         Test cases here:
      	https://git.kernel.dk/cgit/liburing/commit/?id=919755a7d0096fda08fb6d65ac54ad8d0fe027cd
      
         Previously these got terminated when the CQ ring eventually
         overflowed, now it's handled gracefully (me).
      
       - Tightening of the IOPOLL based completions (Pavel)
      
       - Optimizations of the networking zero-copy paths (Pavel)
      
       - Various tweaks and fixes (Dylan, Pavel)
      
      * tag 'for-6.2/io_uring-2022-12-08' of git://git.kernel.dk/linux: (41 commits)
        io_uring: keep unlock_post inlined in hot path
        io_uring: don't use complete_post in kbuf
        io_uring: spelling fix
        io_uring: remove io_req_complete_post_tw
        io_uring: allow multishot polled reqs to defer completion
        io_uring: remove overflow param from io_post_aux_cqe
        io_uring: add lockdep assertion in io_fill_cqe_aux
        io_uring: make io_fill_cqe_aux static
        io_uring: add io_aux_cqe which allows deferred completion
        io_uring: allow defer completion for aux posted cqes
        io_uring: defer all io_req_complete_failed
        io_uring: always lock in io_apoll_task_func
        io_uring: remove iopoll spinlock
        io_uring: iopoll protect complete_post
        io_uring: inline __io_req_complete_put()
        io_uring: remove io_req_tw_post_queue
        io_uring: use io_req_task_complete() in timeout
        io_uring: hold locks for io_req_complete_failed
        io_uring: add completion locking for iopoll
        io_uring: kill io_cqring_ev_posted() and __io_cq_unlock_post()
        ...
      54e60e50
    • Linus Torvalds's avatar
      Merge tag 'iomap-6.2-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · d523ec4c
      Linus Torvalds authored
      Pull iomap update from Darrick Wong:
      
       - Minor code cleanup to eliminate unnecessary bit shifting
      
      * tag 'iomap-6.2-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: directly use logical block size
      d523ec4c
    • Linus Torvalds's avatar
      Merge tag 'vfs-6.2-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · a45a7db9
      Linus Torvalds authored
      Pull vfs remap_range update from Darrick Wong:
      
       - Make some minor adjustments to the remap range preparation function
         to skip file updates when the request length is adjusted downwards to
         zero.
      
      * tag 'vfs-6.2-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        fs/remap_range: avoid spurious writeback on zero length request
      a45a7db9
    • Linus Torvalds's avatar
      Merge tag 'fs.xattr.simple.rework.rbtree.rwlock.v6.2' of... · 02bf43c7
      Linus Torvalds authored
      Merge tag 'fs.xattr.simple.rework.rbtree.rwlock.v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping
      
      Pull simple-xattr updates from Christian Brauner:
       "This ports the simple xattr infrastucture to rely on a simple rbtree
        protected by a read-write lock instead of a linked list protected by a
        spinlock.
      
        A while ago we received reports about scaling issues for filesystems
        using the simple xattr infrastructure that also support setting a
        larger number of xattrs. Specifically, cgroups and tmpfs.
      
        Both cgroupfs and tmpfs can be mounted by unprivileged users in
        unprivileged containers and root in an unprivileged container can set
        an unrestricted number of security.* xattrs and privileged users can
        also set unlimited trusted.* xattrs. A few more words on further that
        below. Other xattrs such as user.* are restricted for kernfs-based
        instances to a fairly limited number.
      
        As there are apparently users that have a fairly large number of
        xattrs we should scale a bit better. Using a simple linked list
        protected by a spinlock used for set, get, and list operations doesn't
        scale well if users use a lot of xattrs even if it's not a crazy
        number.
      
        Let's switch to a simple rbtree protected by a rwlock. It scales way
        better and gets rid of the perf issues some people reported. We
        originally had fancier solutions even using an rcu+seqlock protected
        rbtree but we had concerns about being to clever and also that
        deletion from an rbtree with rcu+seqlock isn't entirely safe.
      
        The rbtree plus rwlock is perfectly fine. By far the most common
        operation is getting an xattr. While setting an xattr is not and
        should be comparatively rare. And listxattr() often only happens when
        copying xattrs between files or together with the contents to a new
        file.
      
        Holding a lock across listxattr() is unproblematic because it doesn't
        list the values of xattrs. It can only be used to list the names of
        all xattrs set on a file. And the number of xattr names that can be
        listed with listxattr() is limited to XATTR_LIST_MAX aka 65536 bytes.
        If a larger buffer is passed then vfs_listxattr() caps it to
        XATTR_LIST_MAX and if more xattr names are found it will return
        -E2BIG. In short, the maximum amount of memory that can be retrieved
        via listxattr() is limited and thus listxattr() bounded.
      
        Of course, the API is broken as documented on xattr(7) already. While
        I have no idea how the xattr api ended up in this state we should
        probably try to come up with something here at some point. An iterator
        pattern similar to readdir() as an alternative to listxattr() or
        something else.
      
        Right now it is extremly strange that users can set millions of xattrs
        but then can't use listxattr() to know which xattrs are actually set.
        And it's really trivial to do:
      
      	for i in {1..1000000}; do setfattr -n security.$i -v $i ./file1; done
      
        And around 5000 xattrs it's impossible to use listxattr() to figure
        out which xattrs are actually set. So I have suggested that we try to
        limit the number of xattrs for simple xattrs at least. But that's a
        future patch and I don't consider it very urgent.
      
        A bonus of this port to rbtree+rwlock is that we shrink the memory
        consumption for users of the simple xattr infrastructure.
      
        This also adds kernel documentation to all the functions"
      
      * tag 'fs.xattr.simple.rework.rbtree.rwlock.v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping:
        xattr: use rbtree for simple_xattrs
      02bf43c7
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20221212' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · c76ff350
      Linus Torvalds authored
      Pull lsm updates from Paul Moore:
      
       - Improve the error handling in the device cgroup such that memory
         allocation failures when updating the access policy do not
         potentially alter the policy.
      
       - Some minor fixes to reiserfs to ensure that it properly releases
         LSM-related xattr values.
      
       - Update the security_socket_getpeersec_stream() LSM hook to take
         sockptr_t values.
      
         Previously the net/BPF folks updated the getsockopt code in the
         network stack to leverage the sockptr_t type to make it easier to
         pass both kernel and __user pointers, but unfortunately when they did
         so they didn't convert the LSM hook.
      
         While there was/is no immediate risk by not converting the LSM hook,
         it seems like this is a mistake waiting to happen so this patch
         proactively does the LSM hook conversion.
      
       - Convert vfs_getxattr_alloc() to return an int instead of a ssize_t
         and cleanup the callers. Internally the function was never going to
         return anything larger than an int and the callers were doing some
         very odd things casting the return value; this patch fixes all that
         and helps bring a bit of sanity to vfs_getxattr_alloc() and its
         callers.
      
       - More verbose, and helpful, LSM debug output when the system is booted
         with "lsm.debug" on the command line. There are examples in the
         commit description, but the quick summary is that this patch provides
         better information about which LSMs are enabled and the ordering in
         which they are processed.
      
       - General comment and kernel-doc fixes and cleanups.
      
      * tag 'lsm-pr-20221212' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: Fix description of fs_context_parse_param
        lsm: Add/fix return values in lsm_hooks.h and fix formatting
        lsm: Clarify documentation of vm_enough_memory hook
        reiserfs: Add missing calls to reiserfs_security_free()
        lsm,fs: fix vfs_getxattr_alloc() return type and caller error paths
        device_cgroup: Roll back to original exceptions after copy failure
        LSM: Better reporting of actual LSMs at boot
        lsm: make security_socket_getpeersec_stream() sockptr_t safe
        audit: Fix some kernel-doc warnings
        lsm: remove obsoleted comments for security hooks
        fs: edit a comment made in bad taste
      c76ff350
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20221212' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 57888f7b
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "Two SELinux patches: one increases the sleep time on deprecated
        functionality, and one removes the indirect calls in the sidtab
        context conversion code"
      
      * tag 'selinux-pr-20221212' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: remove the sidtab context conversion indirect calls
        selinux: increase the deprecation sleep for checkreqprot and runtime disable
      57888f7b
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20221212' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · bbdf4d54
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Two performance oriented patches for the audit subsystem: one
        consolidates similar code to gain some caching advantages, while the
        other stores a value in a stack variable to avoid repeated lookups in
        a loop.
      
        The commit descriptions have more information, including some
        before/after performance measurements"
      
      * tag 'audit-pr-20221212' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: unify audit_filter_{uring(), inode_name(), syscall()}
        audit: cache ctx->major in audit_filter_syscall()
      bbdf4d54
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 299e2b19
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "This adds file truncation support to Landlock, contributed by Günther
        Noack. As described by Günther [1], the goal of these patches is to
        work towards a more complete coverage of file system operations that
        are restrictable with Landlock.
      
        The known set of currently unsupported file system operations in
        Landlock is described at [2]. Out of the operations listed there,
        truncate is the only one that modifies file contents, so these patches
        should make it possible to prevent the direct modification of file
        contents with Landlock.
      
        The new LANDLOCK_ACCESS_FS_TRUNCATE access right covers both the
        truncate(2) and ftruncate(2) families of syscalls, as well as open(2)
        with the O_TRUNC flag. This includes usages of creat() in the case
        where existing regular files are overwritten.
      
        Additionally, this introduces a new Landlock security blob associated
        with opened files, to track the available Landlock access rights at
        the time of opening the file. This is in line with Unix's general
        approach of checking the read and write permissions during open(), and
        associating this previously checked authorization with the opened
        file. An ongoing patch documents this use case [3].
      
        In order to treat truncate(2) and ftruncate(2) calls differently in an
        LSM hook, we split apart the existing security_path_truncate hook into
        security_path_truncate (for truncation by path) and
        security_file_truncate (for truncation of previously opened files)"
      
      Link: https://lore.kernel.org/r/20221018182216.301684-1-gnoack3000@gmail.com [1]
      Link: https://www.kernel.org/doc/html/v6.1/userspace-api/landlock.html#filesystem-flags [2]
      Link: https://lore.kernel.org/r/20221209193813.972012-1-mic@digikod.net [3]
      
      * tag 'landlock-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        samples/landlock: Document best-effort approach for LANDLOCK_ACCESS_FS_REFER
        landlock: Document Landlock's file truncation support
        samples/landlock: Extend sample tool to support LANDLOCK_ACCESS_FS_TRUNCATE
        selftests/landlock: Test ftruncate on FDs created by memfd_create(2)
        selftests/landlock: Test FD passing from restricted to unrestricted processes
        selftests/landlock: Locally define __maybe_unused
        selftests/landlock: Test open() and ftruncate() in multiple scenarios
        selftests/landlock: Test file truncation support
        landlock: Support file truncation
        landlock: Document init_layer_masks() helper
        landlock: Refactor check_access_path_dual() into is_access_to_paths_allowed()
        security: Create file_truncate hook from path_truncate hook
      299e2b19
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.2-2022-12-13' of git://git.infradead.org/users/hch/dma-mapping · e529d350
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - reduce the swiotlb buffer size on allocation failure (Alexey
         Kardashevskiy)
      
       - clean up passing of bogus GFP flags to the dma-coherent allocator
         (Christoph Hellwig)
      
      * tag 'dma-mapping-6.2-2022-12-13' of git://git.infradead.org/users/hch/dma-mapping:
        dma-mapping: reject __GFP_COMP in dma_alloc_attrs
        ALSA: memalloc: don't pass bogus GFP_ flags to dma_alloc_*
        s390/ism: don't pass bogus GFP_ flags to dma_alloc_coherent
        cnic: don't pass bogus GFP_ flags to dma_alloc_coherent
        RDMA/qib: don't pass bogus GFP_ flags to dma_alloc_coherent
        RDMA/hfi1: don't pass bogus GFP_ flags to dma_alloc_coherent
        media: videobuf-dma-contig: use dma_mmap_coherent
        swiotlb: reduce the swiotlb buffer size on allocation failure
      e529d350
    • Linus Torvalds's avatar
      Merge tag 'configfs-6.2-2022-12-13' of git://git.infradead.org/users/hch/configfs · 6a24711d
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
      
       - fix a memory leak in configfs_create_dir (Chen Zhongjin)
      
       - remove mentions of committable items that were implemented (Bartosz
         Golaszewski)
      
      * tag 'configfs-6.2-2022-12-13' of git://git.infradead.org/users/hch/configfs:
        configfs: remove mentions of committable items
        configfs: fix possible memory leak in configfs_create_dir()
      6a24711d
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-6.2-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · a044dab5
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust
       "Bugfixes:
         - Fix NULL pointer dereference in the mount parser
         - Fix memory stomp in decode_attr_security_label
         - Fix credential leak in _nfs4_discover_trunking()
         - Fix buffer leak in rpcrdma_req_create()
         - Fix leaked socket in rpc_sockname()
         - Fix deadlock between nfs4_open_recover_helper() and delegreturn
         - Fix an Oops in nfs_d_automount()
         - Fix potential race in nfs_call_unlink()
         - Multiple fixes for the open context mode
         - NFSv4.2 READ_PLUS fixes
         - Fix a regression in which small rsize/wsize values are being
           forbidden
         - Fail client initialisation if the NFSv4.x state manager thread
           can't run
         - Avoid spurious warning of lost lock that is being unlocked.
         - Ensure the initialisation of struct nfs4_label
      
        Features and cleanups:
         - Trigger the "ls -l" readdir heuristic sooner
         - Clear the file access cache upon login to ensure supplementary
           group info is in sync between the client and server
         - pnfs: Fix up the logging of layout stateids
         - NFSv4.2: Change the default KConfig value for READ_PLUS
         - Use sysfs_emit() instead of scnprintf() where appropriate"
      
      * tag 'nfs-for-6.2-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (24 commits)
        NFSv4.2: Change the default KConfig value for READ_PLUS
        NFSv4.x: Fail client initialisation if state manager thread can't run
        fs: nfs: sysfs: use sysfs_emit() to instead of scnprintf()
        NFS: use sysfs_emit() to instead of scnprintf()
        NFS: Allow very small rsize & wsize again
        NFSv4.2: Fix up READ_PLUS alignment
        NFSv4.2: Set the correct size scratch buffer for decoding READ_PLUS
        SUNRPC: Fix missing release socket in rpc_sockname()
        xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()
        NFS: avoid spurious warning of lost lock that is being unlocked.
        nfs: fix possible null-ptr-deref when parsing param
        NFSv4: check FMODE_EXEC from open context mode in nfs4_opendata_access()
        NFS: make sure open context mode have FMODE_EXEC when file open for exec
        NFS4.x/pnfs: Fix up logging of layout stateids
        NFS: Fix a race in nfs_call_unlink()
        NFS: Fix an Oops in nfs_d_automount()
        NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
        NFSv4: Fix a credential leak in _nfs4_discover_trunking()
        NFS: Trigger the "ls -l" readdir heuristic sooner
        NFSv4.2: Fix initialisation of struct nfs4_label
        ...
      a044dab5
    • Jiri Kosina's avatar
      Merge branch 'for-6.2/wiimote' into for-linus · f722052c
      Jiri Kosina authored
      - support for DJ Hero turntable (Joshua Jun)
      f722052c
    • Jiri Kosina's avatar
      Merge branch 'for-6.2/uclogic' into for-linus · ab6847b9
      Jiri Kosina authored
      - XP-PEN Deco LW support (José Expósito)
      ab6847b9
    • Jiri Kosina's avatar
      Merge branch 'for-6.2/sony' into for-linus · 4e6ff447
      Jiri Kosina authored
      - PS DualShock 4 controller support (Roderick Colenbrander)
      4e6ff447