1. 11 Jan, 2022 37 commits
    • Linus Torvalds's avatar
      Merge tag 'fs.idmapped.v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 5dfbfe71
      Linus Torvalds authored
      Pull fs idmapping updates from Christian Brauner:
       "This contains the work to enable the idmapping infrastructure to
        support idmapped mounts of filesystems mounted with an idmapping.
      
        In addition this contains various cleanups that avoid repeated
        open-coding of the same functionality and simplify the code in quite a
        few places.
      
        We also finish the renaming of the mapping helpers we started a few
        kernel releases back and move them to a dedicated header to not
        continue polluting the fs header needlessly with low-level idmapping
        helpers. With this series the fs header only contains idmapping
        helpers that interact with fs objects.
      
        Currently we only support idmapped mounts for filesystems mounted
        without an idmapping themselves. This was a conscious decision
        mentioned in multiple places (cf. [1]).
      
        As explained at length in [3] it is perfectly fine to extend support
        for idmapped mounts to filesystem's mounted with an idmapping should
        the need arise. The need has been there for some time now (cf. [2]).
      
        Before we can port any filesystem that is mountable with an idmapping
        to support idmapped mounts in the coming cycles, we need to first
        extend the mapping helpers to account for the filesystem's idmapping.
        This again, is explained at length in our documentation at [3] and
        also in the individual commit messages so here's an overview.
      
        Currently, the low-level mapping helpers implement the remapping
        algorithms described in [3] in a simplified manner as we could rely on
        the fact that all filesystems supporting idmapped mounts are mounted
        without an idmapping.
      
        In contrast, filesystems mounted with an idmapping are very likely to
        not use an identity mapping and will instead use a non-identity
        mapping. So the translation step from or into the filesystem's
        idmapping in the remapping algorithm cannot be skipped for such
        filesystems.
      
        Non-idmapped filesystems and filesystems not supporting idmapped
        mounts are unaffected by this change as the remapping algorithms can
        take the same shortcut as before. If the low-level helpers detect that
        they are dealing with an idmapped mount but the underlying filesystem
        is mounted without an idmapping we can rely on the previous shortcut
        and can continue to skip the translation step from or into the
        filesystem's idmapping. And of course, if the low-level helpers detect
        that they are not dealing with an idmapped mount they can simply
        return the relevant id unchanged; no remapping needs to be performed
        at all.
      
        These checks guarantee that only the minimal amount of work is
        performed. As before, if idmapped mounts aren't used the low-level
        helpers are idempotent and no work is performed at all"
      
      Link: 2ca4dcc4 ("fs/mount_setattr: tighten permission checks") [1]
      Link: https://github.com/containers/podman/issues/10374 [2]
      Link: Documentations/filesystems/idmappings.rst [3]
      Link: a65e58e7 ("fs: document and rename fsid helpers") [4]
      
      * tag 'fs.idmapped.v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        fs: support mapped mounts of mapped filesystems
        fs: add i_user_ns() helper
        fs: port higher-level mapping helpers
        fs: remove unused low-level mapping helpers
        fs: use low-level mapping helpers
        docs: update mapping documentation
        fs: account for filesystem mappings
        fs: tweak fsuidgid_has_mapping()
        fs: move mapping helpers
        fs: add is_idmapped_mnt() helper
      5dfbfe71
    • Linus Torvalds's avatar
      Merge tag 'integrity-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · 84bfcc0b
      Linus Torvalds authored
      Pull integrity subsystem updates from Mimi Zohar:
       "The few changes are all kexec related:
      
         - The MOK keys are loaded onto the .platform keyring in order to
           verify the kexec kernel image signature.
      
           However, the MOK keys should only be trusted when secure boot is
           enabled. Before loading the MOK keys onto the .platform keyring,
           make sure the system is booted in secure boot mode.
      
         - When carrying the IMA measurement list across kexec, limit dumping
           the measurement list to when dynamic debug or CONFIG_DEBUG is
           enabled.
      
         - kselftest: add kexec_file_load selftest support for PowerNV and
           other cleanup"
      
      * tag 'integrity-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        selftests/kexec: Enable secureboot tests for PowerPC
        ima: silence measurement list hexdump during kexec
        selftests/kexec: update searching for the Kconfig
        selftest/kexec: fix "ignored null byte in input" warning
        integrity: Do not load MOK and MOKx when secure boot be disabled
        ima: Fix undefined arch_ima_get_secureboot() and co
      84bfcc0b
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20220110' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 5d7e5223
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Four audit patches for v5.17:
      
         - Harden the code through additional use of the struct_size() macro
           and zero-length arrays to flexible-array conversions.
      
         - Ensure that processes which generate userspace audit records are
           not exempt from the kernel's audit throttling when the audit queues
           are being overrun"
      
      * tag 'audit-pr-20220110' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: replace zero-length array with flexible-array member
        audit: use struct_size() helper in audit_[send|make]_reply()
        audit: ensure userspace is penalized the same as the kernel when under pressure
        audit: use struct_size() helper in kmalloc()
      5d7e5223
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20220110' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · a135ce44
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "Nothing too significant, but five SELinux patches for v5.17 that do
        the following:
      
         - Harden the code through additional use of the struct_size() macro
      
         - Plug some memory leaks
      
         - Clean up the code via removal of the security_add_mnt_opt() LSM
           hook and minor tweaks to selinux_add_opt()
      
         - Rename security_task_getsecid_subj() to better reflect its actual
           behavior/use - now called security_current_getsecid_subj()"
      
      * tag 'selinux-pr-20220110' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: minor tweaks to selinux_add_opt()
        selinux: fix potential memleak in selinux_add_opt()
        security,selinux: remove security_add_mnt_opt()
        selinux: Use struct_size() helper in kmalloc()
        lsm: security_task_getsecid_subj() -> security_current_getsecid_subj()
      a135ce44
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-v5.17-fixed' of... · dabd40ec
      Linus Torvalds authored
      Merge tag 'tpmdd-next-v5.17-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
      
      Pull TPM updates from Jarkko Sakkinen:
       "Other than bug fixes for TPM, this includes a patch for asymmetric
        keys to allow to look up and verify with self-signed certificates
        (keys without so called AKID - Authority Key Identifier) using a new
        "dn:" prefix in the query"
      
      * tag 'tpmdd-next-v5.17-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        lib: remove redundant assignment to variable ret
        tpm: fix NPE on probe for missing device
        tpm: fix potential NULL pointer access in tpm_del_char_device
        tpm: Add Upgrade/Reduced mode support for TPM2 modules
        char: tpm: cr50: Set TPM_FIRMWARE_POWER_MANAGED based on device property
        keys: X.509 public key issuer lookup without AKID
        tpm_tis: Fix an error handling path in 'tpm_tis_core_init()'
        tpm: tpm_tis_spi_cr50: Add default RNG quality
        tpm/st33zp24: drop unneeded over-commenting
        tpm: add request_locality before write TPM_INT_ENABLE
      dabd40ec
    • Linus Torvalds's avatar
      Merge branch 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux · 4aa1b825
      Linus Torvalds authored
      Pull pcmcia updates from Dominik Brodowski:
       "A number of odd cleanups and fixes, including one for a small race in
        the handling of the pccardd kernel thread"
      
      * 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux:
        pcmcia: fix setting of kthread task states
        MAINTAINERS: update PCMCIA tree
        pcmcia: use sysfs_emit{,_at} for sysfs output
        pcmcia: make pcmcia_release_io() void, as no-one is interested in return value
        pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in nonstatic_find_mem_region()
        pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in __nonstatic_find_io_region()
        pcmcia: comment out unused exca_readw() function
        pcmcia: Make use of the helper macro SET_NOIRQ_SYSTEM_SLEEP_PM_OPS()
        pcmcia: clean up dead drivers for CompuLab CM-X255/CM-X270 boards
      4aa1b825
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · c288ea67
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "The gpio-sim module is back, this time without any changes to
        configfs. This results in a less elegant user-space interface but I
        never got any follow-up on the committable items and didn't want to
        delay this module for several more months.
      
        Other than that we have support for several new models and some
        support going away. We started working on converting GPIO drivers to
        using fwnode exclusively in order to limit references to OF symbols to
        gpiolib-of.c exclusively. We also have regular tweaks and improvements
        all over the place.
      
        Summary:
      
         - new testing module: gpio-sim that is scheduled to replace
           gpio-mockup
      
         - initial changes aiming at converting all GPIO drivers to using the
           fwnode interface and limiting any references to OF symbols to
           gpiolib-of.c
      
         - add support for Tegra234 and Tegra241 to gpio-tegra186
      
         - add support for new models (SSD201 and SSD202D) to gpio-msc313
      
         - add basic support for interrupts to gpio-aggregator
      
         - add support for AMDIF031 HID device to gpio-amdpt
      
         - drop support for unused platforms in gpio-xlp
      
         - cleanup leftovers from the removal of the legacy Samsung Exynos
           GPIO driver
      
         - use raw spinlocks in gpio-aspeed and gpio-aspeed-sgpio to make
           PREEMPT_RT happy
      
         - generalize the common 'ngpios' device property by reading it in the
           core gpiolib code so that we can remove duplicate reads from
           drivers
      
         - allow line names from device properties to override names set by
           drivers
      
         - code shrink in gpiod_add_lookup_table()
      
         - add new model to the DT bindings for gpio-vf610
      
         - convert DT bindings for tegra devices to YAML
      
         - improvements to interrupt handling in gpio-rcar and gpio-rockchip
      
         - updates to intel drivers from Andy (details in the merge commit)
      
         - some minor tweaks, improvements and coding-style fixes all around
           the subsystem"
      
      * tag 'gpio-updates-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (59 commits)
        gpio: rcar: Propagate errors from devm_request_irq()
        gpio: rcar: Use platform_get_irq() to get the interrupt
        gpio: ts5500: Use platform_get_irq() to get the interrupt
        gpio: dwapb: Switch to use fwnode instead of of_node
        gpiolib: acpi: make fwnode take precedence in struct gpio_chip
        dt-bindings: gpio: samsung: drop unused bindings
        gpio: max3191x: Use bitmap_free() to free bitmap
        gpio: regmap: Switch to use fwnode instead of of_node
        gpio: tegra186: Add support for Tegra241
        dt-bindings: gpio: Add Tegra241 support
        gpio: brcmstb: Use local variable to access OF node
        gpio: Remove unused local OF node pointers
        gpio: sim: add missing fwnode_handle_put() in gpio_sim_probe()
        gpio: msc313: Add support for SSD201 and SSD202D
        gpio: msc313: Code clean ups
        dt-bindings: gpio: msc313: Add offsets for ssd20xd
        dt-bindings: gpio: msc313: Add compatible for ssd20xd
        gpio: sim: fix uninitialized ret variable
        gpio: Propagate firmware node from a parent device
        gpio: Setup parent device and get rid of unnecessary of_node assignment
        ...
      c288ea67
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 1151e3cd
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Use common polling loop for CMD1
         - Add support for DT compatibles for card quirks and use it for ti,wl1251
         - Fixup storing of the OCR mask for MMC_QUIRK_NONSTD_SDIO
      
        MMC host:
         - dw_mmc: Add support for MMC_GEN_CMDs
         - dw_mmc: Fixup calculation of the data timeout
         - dw_mmc-exynos: Add support for the ARTPEC-8 variant
         - jz4740: Add support for bi-directional DMA channels
         - mmci: Add support for eMMC HS200 mode for the stm32 sdmmc variant
         - mmci: Add support for stm32 sdmmc variant revision v2.2
         - mtk-sd: A couple of various minor improvements
         - omap_hsmmc: Drop redundant initialization for the ti,wl1251 chip
         - sdhci-esdhc-imx: Add support for the i.MXRT series variant
         - sdhci-esdhc-imx: Add Haibo Chen as maintainer
         - sdhci-pci: Add support for the Intel ADL variant
         - sdhci-pci-gli: GL975[50]: Add support for the Apple ARM64 variant
         - sdhci-pci-o2micro: Improve support for SDR104/HS200"
      
      * tag 'mmc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (54 commits)
        dt-bindings: mmc: synopsys-dw-mshc: integrate Altera and Imagination
        mmc: pwrseq: Use bitmap_free() to free bitmap
        dt-bindings: mmc: PL18x stop relying on order of dma-names
        dt-bindings: mmc: sdhci-msm: Add compatible string for msm8994
        mmc: au1xmmc: propagate errors from platform_get_irq()
        mmc: sdhci-pci-o2micro: Restore the SD clock's base clock frequency
        mmc: sdhci-pci-o2micro: Improve card input timing at SDR104/HS200 mode
        mmc: mtk-sd: Assign src_clk parent to src_clk_cg for legacy DTs
        mmc: mtk-sd: Fix usage of devm_clk_get_optional()
        mmc: mtk-sd: Take action for no-sdio device-tree parameter
        mmc: mtk-sd: Use BIT() and GENMASK() macros to describe fields
        mmc: mtk-sd: Use readl_poll_timeout instead of open-coded polling
        MAINTAINERS: Add i.MX sdhci maintainer
        mmc: jz4740: Support using a bi-directional DMA channel
        dt-bindings: mmc: ingenic: Support using bi-directional DMA channel
        mmc: dw_mmc: Do not wait for DTO in case of error
        mmc: dw_mmc: Add driver callbacks for data read timeout
        mmc: dw_mmc-exynos: Add support for ARTPEC-8
        dt-bindings: mmc: exynos-dw-mshc: Add support for ARTPEC-8
        mmc: meson-mx-sdio: add IRQ check
        ...
      1151e3cd
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 1cc8d14c
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Functionality:
         - Prepare and add support for ACPI enumeration; lp855x_bl
      
        Fix-ups:
         - Use Regmap API to conduct endianess conversions; qcom-wled
         - Remove superfluous code; qcom-wled
         - Fix formatting issues; qcom-wled
      
        Bug Fixes:
         - Provide error checking/validation of DT supplied strings; qcom-wled
         - Request dynamic amount of values when reading from DT; qcom-wled
         - Fix off-by-one issue when reading from DT; qcom-wled"
      
      * tag 'backlight-next-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: qcom-wled: Respect enabled-strings in set_brightness
        backlight: qcom-wled: Remove unnecessary double whitespace
        backlight: qcom-wled: Provide enabled_strings default for WLED 4 and 5
        backlight: qcom-wled: Remove unnecessary 4th default string in WLED3
        backlight: qcom-wled: Override default length with qcom,enabled-strings
        backlight: qcom-wled: Fix off-by-one maximum with default num_strings
        backlight: qcom-wled: Use cpu_to_le16 macro to perform conversion
        backlight: qcom-wled: Pass number of elements to read to read_u32_array
        backlight: qcom-wled: Validate enabled string indices in DT
        backlight: lp855x: Add support ACPI enumeration
        backlight: lp855x: Add dev helper variable to lp855x_probe()
        backlight: lp855x: Move device_config setting out of lp855x_configure()
      1cc8d14c
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · fa722ecb
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Device Support:
         - Add support for Lakefield PCH to Intel LPSS PCI
      
        Remove Device Support:
         - Remove support for ROHM BD70528 Power Management IC
      
        New Functionality:
         - Add support for SMBus and I2C mode to Dialog DA9062/61 PMIC
         - Enable I2C4 on Microsoft Surface Go & Go 2
      
        Fix-ups:
         - Device Tree changes (inc. YAML conversion); maxim,max77686,
           rohm,bd9571mwv, syscon, brcm,twd, google,cros-ec
         - Use __maybe_unused instead of #ifery; atmel-flexcom
         - Allow the Regmap API to handle endianess internally; ntxec
         - Utilise I2C's .resume_noirq call-back; atmel-flexcom
         - Remove unused code; ti_am335x_tscadc
         - Use CPU-id instead of ACPI _HRV to ID variants; intel_soc_pmic_core
         - Allow device to power-off right from .probe(); tps65910
         - Trivial (whitespace, typos, etc); da9063
      
        Bug Fixes:
         - Fix ordering issues during probe; intel-lpss-acpi
         - Fix correct clock speed; intel-lpss-pci"
      
      * tag 'mfd-next-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (25 commits)
        mfd: google,cros-ec: Fix property name for MediaTek rpmsg
        dt-bindings: mfd: Fix typo "DA9093" -> "DA9063"
        mfd: ntxec: Change return type of ntxec_reg8 from __be16 to u16
        mfd: tps65910: Set PWR_OFF bit during driver probe
        mfd: intel_soc_pmic: Use CPU-id check instead of _HRV check to differentiate variants
        mfd: intel-lpss: Fix I2C4 not being available on the Microsoft Surface Go & Go 2
        dt-bindings: mfd: Add Broadcom's Timer-Watchdog block
        dt-bindings: mfd: Add Freecom system controller
        mfd: Kconfig: Change INTEL_SOC_PMIC_CHTDC_TI to bool
        dt-bindings: mfd: syscon: Add samsung,exynos850-sysreg
        mfd: da9062: Support SMBus and I2C mode
        mfd: intel-lpss-pci: Fix clock speed for 38a8 UART
        mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe()
        mfd: ti_am335x_tscadc: Drop the CNTRLREG_TSC_8WIRE macro
        mfd: stmpe: Support disabling sub-functions
        mfd: atmel-flexcom: Use .resume_noirq
        mfd: atmel-flexcom: Remove #ifdef CONFIG_PM_SLEEP
        dt-bindings: mfd: bd9571mwv: Convert to json-schema
        mfd: intel-lpss: Add Intel Lakefield PCH PCI IDs
        dt-bindings: mfd: maxim,max77686: Convert to dtschema
        ...
      fa722ecb
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 282aa44c
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "This has mostly been a quiet release for the SPI subsystem, almost all
        cleanups and fixes to existing drivers.
      
        A couple of changes that stand out:
      
         - Cleanups and support for version specific features in the
           DesignWare controller.
      
         - Removal of support for Netlogic devices from the XLP driver, the
           platform had previously been removed by MIPS so the support
           couldn't be used.
      
         - Conversion of several DT bindings to YAML format"
      
      * tag 'spi-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (53 commits)
        spi: don't include ptp_clock_kernel.h in spi.h
        spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe
        spi: atmel: Fix typo
        spi: dt-bindings: mediatek,spi-mtk-nor: Fix example 'interrupts' property
        spi: qcom: geni: handle timeout for gpi mode
        spi: qcom: geni: set the error code for gpi transfer
        spi: spi-mux: Add reference to spi-peripheral-props.yaml schema
        spi: ar934x: fix transfer size
        spi: pxa2xx: Propagate firmware node
        spi: dw: Propagate firmware node
        spi: dln2: Propagate firmware node
        spi: ar934x: fix transfer and word delays
        spi: uniphier: Fix a bug that doesn't point to private data correctly
        spi: spi-mtk-nor: add new clock name 'axi' for spi nor
        spi: atmel,quadspi: Define sama7g5 QSPI
        spi: atmel,quadspi: Convert to json-schema
        spi: Fix incorrect cs_setup delay handling
        dt-bindings: mtd: spi-nor: Add a reference to spi-peripheral-props.yaml
        spi: dt-bindings: cdns,qspi-nor: Move peripheral-specific properties out
        spi: dt-bindings: add schema listing peripheral-specific properties
        ...
      282aa44c
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · fef8dfae
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This has been a fairly quiet release for the regulator API, the main
        thing has been the addition of helpers for interrupt handling from
        Matti Vaittinen.
      
        We do also have support for quite a few new devices.
      
        Summary:
      
         - Helpers for trivial interrupt notifications, making it easier for
           drivers to handle error interrupts.
      
         - Support for Dialog DA914x, Maxim MAX2008x, Qualcomm PM8826,
           PMG1100, and PM8450 and TI TPS68470"
      
      * tag 'regulator-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (30 commits)
        regulator: Add MAX20086-MAX20089 driver
        dt-bindings: regulators: Add bindings for Maxim MAX20086-MAX20089
        regulator: qcom_smd: Align probe function with rpmh-regulator
        regulator: remove redundant ret variable
        regulator: qcom-labibb: OCP interrupts are not a failure while disabled
        regulator: dt-bindings: samsung,s5m8767: Move fixed string BUCK9 to 'properties'
        regulator: Introduce tps68470-regulator driver
        drivers/regulator: remove redundant ret variable
        regulator: fix bullet lists of regulator_ops comment
        regulator: Fix type of regulator-coupled-max-spread property
        regulator: maxim,max8973: Document interrupts property
        regulator: qcom-rpmh: Add support for PM8450 regulators
        regulator: qcom,rpmh: Add compatible for PM8450
        regulator: da9121: Add DA914x binding info
        regulator: da9121: Remove erroneous compatible from binding
        regulator: da9121: Add DA914x support
        regulator: da9121: Prevent current limit change when enabled
        regulator: qcom-rpmh: Add PMG1110 regulators
        dt-bindings: regulator: Add compatible for pmg1110
        regulator: qcom_spmi: Add pm8226 regulators
        ...
      fef8dfae
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 2d7852c3
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A very quiet release for regmap:
      
         - Allow a custom _update_bits() operation for devices with no bus.
      
         - Fix an issue with creation of the debugfs directory when attaching
           a device to an existing no device regmap.
      
         - A trivial formatting fix"
      
      [ The custom _update_bits comit came in earlier through the networking
        tree that had merged it for its own needs ]
      
      * tag 'regmap-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: debugfs: Fix indentation
        regmap: Call regmap_debugfs_exit() prior to _init()
      2d7852c3
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · c01d85c2
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "MTD core changes:
      
         - mtdchar: Prevent unbounded allocation in MEMWRITE ioctl
      
         - gen_probe: Use bitmap_zalloc() when applicable
      
         - Introduce an expert mode for forensics and debugging purposes
      
         - Clear out unregistered devices a bit more
      
         - Provide unique name for nvmem device
      
         - Remove unused header file <linux/mtd/latch-addr-flash.h>
      
         - Fixed breaking list in __mtd_del_partition.
      
        MTD device changes:
      
         - Warn about failure to unregister mtd device in sst25l, mchp48l640,
           mchp23k256, and dataflash drivers.
      
        Raw NAND core changes:
      
         - Export nand_read_page_hwecc_oob_first()
      
        GPMC memory controller for OMAP2 NAND controller changes:
      
         - Add support for AM64 SoC and allow build on K3 platforms
      
         - Use a compatible match table when checking for NAND controller
      
         - Use platform_get_irq() to get the interrupt
      
        Raw NAND controller changes:
      
         - OMAP2 NAND controller:
            - Document the missing 'rb-gpios' DT property
            - Drop unused variable
            - Fix force_8bit flag behaviour for DMA mode
            - Move to exec_op interface
            - Use platform_get_irq() to get the interrupt
      
         - Renesas:
            - Add new NAND controller driver with its bindings and MAINTAINERS entry
      
         - Onenand:
            - Remove redundant variable ooblen
      
         - MPC5121:
            - Remove unused variable in ads5121_select_chip()
      
         - GPMI:
            - Add ERR007117 protection for nfc_apply_timings
            - Remove explicit default gpmi clock setting for i.MX6
            - Use platform_get_irq_byname() to get the interrupt
            - Remove unneeded variable
      
         - Ingenic:
            - JZ4740 needs 'oob_first' read page function
      
         - Davinci:
            - Rewrite function description
            - Avoid duplicated page read
            - Don't calculate ECC when reading page
      
        SPI NOR core changes:
      
         - Add Pratyush as SPI NOR co-maintainer.
      
         - Flash parameters initialization was done in a spaghetti way. Clean
           flash parameters initialization.
      
         - Rework the flash_info flags and clarify where one should be used.
      
         - Initialize all flash parameters based on JESD216 SFDP where
           possible. Flash parameters and settings that are SFDP discoverable
           should not be duplicated via flash_info flags at flash declaration.
      
         - Remove debugfs entries that duplicate sysfs entries.
      
        SPI NOR manufacturer driver changes:
      
         - Use late_init() hook in various drivers to make it clear that those
           flash parameters are either not declared in the JESD216 SFDP
           standard, or the SFDP tables which define those flash parameters
           are not defined by the flash.
      
         - Fix mtd size for s3an flashes.
      
         - Write 2 bytes when disabling Octal DTR mode: 1 byte long
           transactions are not allowed in 8D-8D-8D mode.
      
        Hyperbus changes:
      
         - Couple of fixes in Renesas hyperbus rpc-if driver to avoid crash on
           module remove and for missing check for error value in probe"
      
      * tag 'mtd/for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (71 commits)
        mtd: spi-nor: Remove debugfs entries that duplicate sysfs entries
        mtd: spi-nor: micron-st: write 2 bytes when disabling Octal DTR mode
        mtd: spi-nor: spansion: write 2 bytes when disabling Octal DTR mode
        mtd: spi-nor: core: use 2 data bytes for template ops
        mtd: spi-nor: Constify part specific fixup hooks
        mtd: spi-nor: core: Remove reference to spi-nor.c
        mtd: rawnand: gpmi: Use platform_get_irq_byname() to get the interrupt
        mtd: rawnand: omap_elm: Use platform_get_irq() to get the interrupt
        mtd: rawnand: omap2: Select GPMC device driver for ARCH_K3
        memory: omap-gpmc: Use a compatible match table when checking for NAND controller
        memory: omap-gpmc: Add support for GPMC on AM64 SoC
        dt-bindings: memory-controllers: ti,gpmc: Add compatible for AM64
        memory: omap-gpmc: Use platform_get_irq() to get the interrupt
        MAINTAINERS: Add an entry for Renesas NAND controller
        mtd: rawnand: renesas: Add new NAND controller driver
        dt-bindings: mtd: renesas: Describe Renesas R-Car Gen3 & RZ/N1 NAND controller
        mtd: rawnand: gpmi: remove unneeded variable
        mtd: rawnand: omap2: drop unused variable
        mtd: rawnand: omap2: fix force_8bit flag behaviour for DMA mode
        mtd: rawnand: omap2: Add compatible for AM64 SoC
        ...
      c01d85c2
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.17-1' of... · 34770887
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
       "Highlights:
      
        New drivers:
         - asus-tf103c-dock
         - intel_crystal_cove_charger
         - lenovo-yogabook-wmi
         - simatic-ipc platform-code + led driver + watchdog driver
         - x86-android-tablets (kernel module to workaround DSDT bugs on
           these)
      
        amd-pmc:
         - bug-fixes
         - smar trace buffer support
      
        asus-wmi:
         - support for custom fan curves
      
        int3472 (camera info ACPI object for Intel IPU3/SkyCam cameras):
         - ACPI core + int3472 changes to delay enumeration of camera sensor
           I2C clients until the PMIC for the sensor has been fully probed
         - Add support for board data (DSDT info is incomplete) for setting up
           the tps68470 PMIC used on some boards with these cameras
         - Add board data for the Microsoft Surface Go (original, v2 and v3)
      
        thinkpad_acpi:
         - various cleanups
         - support for forced battery discharging (for battery calibration)
         - support to inhibit battery charging
         - this includes power_supply core changes to add new APIs for this
      
        think_lmi:
         - enhanced BIOS password support
      
        various other small fixes and hardware-id additions"
      
      * tag 'platform-drivers-x86-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (78 commits)
        power: supply: Provide stubs for charge_behaviour helpers
        platform/x86: x86-android-tablets: Fix GPIO lookup leak on error-exit
        platform/x86: int3472: Add board data for Surface Go 3
        platform/x86: Add Asus TF103C dock driver
        platform/x86: x86-android-tablets: Add TM800A550L data
        platform/x86: x86-android-tablets: Add Asus MeMO Pad 7 ME176C data
        platform/x86: x86-android-tablets: Add Asus TF103C data
        platform/x86: x86-android-tablets: Add support for preloading modules
        platform/x86: x86-android-tablets: Add support for registering GPIO lookup tables
        platform/x86: x86-android-tablets: Add support for instantiating serdevs
        platform/x86: x86-android-tablets: Add support for instantiating platform-devs
        platform/x86: x86-android-tablets: Add support for PMIC interrupts
        platform/x86: x86-android-tablets: Don't return -EPROBE_DEFER from a non probe() function
        platform/x86: touchscreen_dmi: Remove the Glavey TM800A550L entry
        platform/x86: touchscreen_dmi: Enable pen support on the Chuwi Hi10 Plus and Pro
        platform/x86: touchscreen_dmi: Correct min/max values for Chuwi Hi10 Pro (CWI529) tablet
        platform/x86: Add intel_crystal_cove_charger driver
        power: supply: fix charge_behaviour attribute initialization
        platform/x86: intel-uncore-frequency: use default_groups in kobj_type
        x86/platform/uv: use default_groups in kobj_type
        ...
      34770887
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 46a67e76
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
      
       - avoid returning free'd object in hsi_new_client error path
      
      * tag 'hsi-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: core: Fix return freed object in hsi_new_client
      46a67e76
    • Linus Torvalds's avatar
      Merge tag 'for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 039053c1
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Power-supply core:
      
         - introduce "No Battery" health status
      
         - use library interpolation
      
         - add power_supply_battery_info documentation
      
         - migrate power_supply_battery_info to be fully heap allocated making
           it more obvious that it needs to be free'd manually
      
        Drivers:
      
         - max77976-charger: new driver
      
         - qcom-smbb: add pm8226 charger support
      
         - bq25890-charger: support battery temperature readings
      
         - ab8500: continue migrating towards using standard core APIs"
      
      * tag 'for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (28 commits)
        power: supply_core: Pass pointer to battery info
        power: supply: ab8500: Fix the error handling path of ab8500_charger_probe()
        power: reset: mt6397: Check for null res pointer
        power: bq25890: add POWER_SUPPLY_PROP_TEMP
        power: supply: qcom_smbb: support pm8226
        dt-bindings: power: supply: pm8941-charger: add pm8226
        power: supply: ab8500: Standardize capacity lookup
        power: supply: ab8500: Standardize temp res lookup
        power: supply: ab8500: Standardize CV voltage
        power: supply: ab8500: Standardize CC current
        power: supply: ab8500: Make recharge capacity a constant
        power: supply: ab8500: Standardize termination current
        power: supply: ab8500: Standardize internal resistance
        power: supply: ab8500_fg: Init battery data in bind()
        power: supply: ab8500: Standardize voltages
        power: supply: ab8500: Standardize technology
        power: supply: ab8500: Standardize design capacity
        power: supply: ab8500: Use only one battery type
        power: supply: ab8500: Drop unused battery types
        power: supply: ab8500: Standardize operating temperature
        ...
      039053c1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 7db48b6b
      Linus Torvalds authored
      Pull trivial tree removal from Jiri Kosina:
       "Remove any mentions of trivial tree from the documentation and
        MAINTAINERS.
      
        This has been discussed on ksummit-discuss@ some time ago (link is
        provided in the commit message, together with the reasoning). It's a
        general agreement that reason for such a tree to exist is currently
        pretty much non-existent"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
        Documentation: remove trivial tree
      7db48b6b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 26b88fba
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       "Highlights:
      
         - support for USI style pens (Tero Kristo, Mika Westerberg)
      
         - quirk for devices that need inverted X/Y axes (Alistair Francis)
      
         - small core code cleanups and deduplication (Benjamin Tissoires)
      
         - Apple Magic Keyboard support improvements (José Expósito, Alex
           Henrie, Benjamin Berg)
      
         - locking performance improvement for hidraw code (André Almeida)
      
         - PM wakeup support for i2c-hid driver (Matthias Kaehlcke
      
         - new driver to support for LetSketch device (Hans de Goede)
      
         - proper batter reporting for hid-magicmouse USB-connected devices
           (José Expósito)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (32 commits)
        HID: magicmouse: Fix an error handling path in magicmouse_probe()
        HID: address kernel-doc warnings
        HID: intel-ish-hid: ishtp-fw-loader: Fix a kernel-doc formatting issue
        HID: intel-ish-hid: ipc: Specify no cache snooping on TGL and ADL
        HID: hid-uclogic-params: Invalid parameter check in uclogic_params_frame_init_v1_buttonpad
        HID: hid-uclogic-params: Invalid parameter check in uclogic_params_huion_init
        HID: hid-uclogic-params: Invalid parameter check in uclogic_params_get_str_desc
        HID: hid-uclogic-params: Invalid parameter check in uclogic_params_init
        HID: Add new Letsketch tablet driver
        HID: apple: Add Magic Keyboard 2021 with fingerprint reader FN key mapping
        HID: apple: Add 2021 magic keyboard FN key mapping
        HID: magicmouse: set Magic Trackpad 2021 name
        HID: magicmouse: set device name when it has been personalized
        HID: apple: Add 2021 Magic Keyboard with number pad
        HID: apple: Add 2021 Magic Keyboard with fingerprint reader
        HID: i2c-hid-of: Expose the touchscreen-inverted properties
        HID: quirks: Allow inverting the absolute X/Y values
        HID: hidraw: Replace hidraw device table mutex with a rwsem
        HID: thrustmaster use swap() to make code cleaner
        HID: debug: Add USI usages
        ...
      26b88fba
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 4a110907
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "New drivers:
      
         - PMBus driver for MPS Multi-phase mp5023
      
         - PMBus driver for Delta AHE-50DC fan control module
      
         - Driver for NZXT RGB&Fan Controller/Smart Device v2
      
         - Driver for Texas Instruments INA238
      
         - Driver to support X370 Asus WMI
      
         - Driver to support B550 Asus WMI
      
        Other notable changes:
      
         - Cleanup of ntc_thermistor driver, and added support for Samsung
           1404-001221 NTC
      
         - Improve detection of LM84, MAX1617, and MAX1617A in adm1021 driver
      
         - Clean up tmp401 driver, and convert to with_info API
      
         - Add support for regulators and IR38060, IR38164 IR38263 to ir38064
           PMBus driver
      
         - Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh to
           k10temp driver
      
         - Add support for F81966 to f71882fg driver
      
         - Add support for ONSEMI N34TS04 to jc42 driver
      
         - Clean up and simplify dell-smm driver
      
         - Add support for ROG STRIX B550-A/X570-I GAMING to nct6775 driver
      
        And various other minor improvements and fixes"
      
      * tag 'hwmon-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (49 commits)
        hwmon: (nzxt-smart2) make array detect_fans_report static const
        hwmon: (xgene-hwmon) Add free before exiting xgene_hwmon_probe
        hwmon: (nzxt-smart2) Fix "unused function" warning
        hwmon: (dell-smm) Pack the whole smm_regs struct
        hwmon: (nct6775) Additional check for ChipID before ASUS WMI usage
        hwmon: (mr75203) fix wrong power-up delay value
        hwmon/pmbus: (ir38064) Fix spelling mistake "comaptible" -> "compatible"
        hwmon/pmbus: (ir38064) Expose a regulator
        hwmon/pmbus: (ir38064) Add of_match_table
        hwmon/pmbus: (ir38064) Add support for IR38060, IR38164 IR38263
        hwmon: add driver for NZXT RGB&Fan Controller/Smart Device v2.
        hwmon: (nct6775) add ROG STRIX B550-A/X570-I GAMING
        hwmon: (pmbus) Add support for MPS Multi-phase mp5023
        dt-bindings: add Delta AHE-50DC fan control module
        hwmon: (pmbus) Add Delta AHE-50DC fan control module driver
        hwmon: prefix kernel-doc comments for structs with struct
        hwmon: (ntc_thermistor) Add Samsung 1404-001221 NTC
        hwmon: (ntc_thermistor) Drop OF dependency
        hwmon: (dell-smm) Unify i8k_ioctl() and i8k_ioctl_unlocked()
        hwmon: (dell-smm) Simplify ioctl handler
        ...
      4a110907
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 5c947d0d
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Algorithms:
      
         - Drop alignment requirement for data in aesni
      
         - Use synchronous seeding from the /dev/random in DRBG
      
         - Reseed nopr DRBGs every 5 minutes from /dev/random
      
         - Add KDF algorithms currently used by security/DH
      
         - Fix lack of entropy on some AMD CPUs with jitter RNG
      
        Drivers:
      
         - Add support for the D1 variant in sun8i-ce
      
         - Add SEV_INIT_EX support in ccp
      
         - PFVF support for GEN4 host driver in qat
      
         - Compression support for GEN4 devices in qat
      
         - Add cn10k random number generator support"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (145 commits)
        crypto: af_alg - rewrite NULL pointer check
        lib/mpi: Add the return value check of kcalloc()
        crypto: qat - fix definition of ring reset results
        crypto: hisilicon - cleanup warning in qm_get_qos_value()
        crypto: kdf - select SHA-256 required for self-test
        crypto: x86/aesni - don't require alignment of data
        crypto: ccp - remove unneeded semicolon
        crypto: stm32/crc32 - Fix kernel BUG triggered in probe()
        crypto: s390/sha512 - Use macros instead of direct IV numbers
        crypto: sparc/sha - remove duplicate hash init function
        crypto: powerpc/sha - remove duplicate hash init function
        crypto: mips/sha - remove duplicate hash init function
        crypto: sha256 - remove duplicate generic hash init function
        crypto: jitter - add oversampling of noise source
        MAINTAINERS: update SEC2 driver maintainers list
        crypto: ux500 - Use platform_get_irq() to get the interrupt
        crypto: hisilicon/qm - disable qm clock-gating
        crypto: omap-aes - Fix broken pm_runtime_and_get() usage
        MAINTAINERS: update caam crypto driver maintainers list
        crypto: octeontx2 - prevent underflow in get_cores_bmap()
        ...
      5c947d0d
    • Linus Torvalds's avatar
      Merge tag 'docs-5.17' of git://git.lwn.net/linux · 6f38be8f
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "This isn't a hugely busy cycle for documentation, but a few
        significant things still showed up:
      
         - A documentation section for ARC processors
      
         - Reworked and enhanced KUnit documentation
      
         - The ability to pick your own theme for HTML builds; if the default
           "Read the Docs" theme isn't ugly enough for you, you can now pick
           an uglier one.
      
         - More Chinese translation work
      
        Plus the usual assortment of fixes and cleanups"
      
      * tag 'docs-5.17' of git://git.lwn.net/linux: (53 commits)
        scripts: sphinx-pre-install: Fix ctex support on Debian
        docs: discourage use of list tables
        docs: 5.Posting.rst: describe Fixes: and Link: tags
        Documentation: kgdb: Replace deprecated remotebaud
        docs: automarkup.py: Fix invalid HTML link output and broken URI fragments
        Documentation: refer to config RANDOMIZE_BASE for kernel address-space randomization
        Documentation: kgdb: properly capitalize the MAGIC_SYSRQ config
        docs/zh_CN: Update and fix a couple of typos
        scripts: sphinx-pre-install: add required ctex dependency
        Documentation: KUnit: Restyled Frequently Asked Questions
        Documentation: KUnit: Restyle Test Style and Nomenclature page
        Documentation: KUnit: Rework writing page to focus on writing tests
        Documentation: kunit: Reorganize documentation related to running tests
        Documentation: KUnit: Added KUnit Architecture
        Documentation: KUnit: Rewrite getting started
        Documentation: KUnit: Rewrite main page
        docs/zh_CN: Add zh_CN/accounting/delay-accounting.rst
        Documentation/sphinx: fix typos of "its"
        docs/zh_CN: Add sched-domains translation
        doc: fs: remove bdev_try_to_free_page related doc
        ...
      6f38be8f
    • Linus Torvalds's avatar
      Merge tag 'kcsan.2022.01.09a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 1be5bdf8
      Linus Torvalds authored
      Pull KCSAN updates from Paul McKenney:
       "This provides KCSAN fixes and also the ability to take memory barriers
        into account for weakly-ordered systems. This last can increase the
        probability of detecting certain types of data races"
      
      * tag 'kcsan.2022.01.09a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (29 commits)
        kcsan: Only test clear_bit_unlock_is_negative_byte if arch defines it
        kcsan: Avoid nested contexts reading inconsistent reorder_access
        kcsan: Turn barrier instrumentation into macros
        kcsan: Make barrier tests compatible with lockdep
        kcsan: Support WEAK_MEMORY with Clang where no objtool support exists
        compiler_attributes.h: Add __disable_sanitizer_instrumentation
        objtool, kcsan: Remove memory barrier instrumentation from noinstr
        objtool, kcsan: Add memory barrier instrumentation to whitelist
        sched, kcsan: Enable memory barrier instrumentation
        mm, kcsan: Enable barrier instrumentation
        x86/qspinlock, kcsan: Instrument barrier of pv_queued_spin_unlock()
        x86/barriers, kcsan: Use generic instrumentation for non-smp barriers
        asm-generic/bitops, kcsan: Add instrumentation for barriers
        locking/atomics, kcsan: Add instrumentation for barriers
        locking/barriers, kcsan: Support generic instrumentation
        locking/barriers, kcsan: Add instrumentation for barriers
        kcsan: selftest: Add test case to check memory barrier instrumentation
        kcsan: Ignore GCC 11+ warnings about TSan runtime support
        kcsan: test: Add test cases for memory barrier instrumentation
        kcsan: test: Match reordered or normal accesses
        ...
      1be5bdf8
    • Linus Torvalds's avatar
      Merge tag 'lkmm.2022.01.09a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 1c824bf7
      Linus Torvalds authored
      Pull memory model documentation updates from Paul McKenney:
       "This series contains documentation and litmus tests for locking,
        courtesy of Boqun Feng"
      
      * tag 'lkmm.2022.01.09a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        tools/memory-model: litmus: Add two tests for unlock(A)+lock(B) ordering
        tools/memory-model: doc: Describe the requirement of the litmus-tests directory
        tools/memory-model: Provide extra ordering for unlock+lock pair on the same CPU
      1c824bf7
    • Linus Torvalds's avatar
      Merge tag 'rcu.2022.01.09a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · e7d38f16
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Documentation updates, perhaps most notably Neil Brown's writeup of
         the reference-counting analogy to RCU.
      
       - Expedited grace-period cleanups.
      
       - Remove CONFIG_RCU_FAST_NO_HZ due to lack of valid users. I have asked
         around, posted a blog entry, and sent this series to LKML without
         result.
      
       - Miscellaneous fixes.
      
       - RCU callback offloading updates, perhaps most notably Frederic
         Weisbecker's updates allowing CPUs booted in the de-offloaded state
         to be offloaded at runtime.
      
       - nolibc fixes from Willy Tarreau and Anmar Faizi, but also including
         Mark Brown's addition of gettid().
      
       - RCU Tasks Trace fixes, including changes that increase the
         scalability of call_rcu_tasks_trace() for the BPF folks (Martin Lau
         and KP Singh).
      
       - Various fixes including those from Wander Lairson Costa and Li
         Zhijian.
      
       - Fixes plus addition of tests for the increased call_rcu_tasks_trace()
         scalability.
      
      * tag 'rcu.2022.01.09a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (87 commits)
        rcu/nocb: Merge rcu_spawn_cpu_nocb_kthread() and rcu_spawn_one_nocb_kthread()
        rcu/nocb: Allow empty "rcu_nocbs" kernel parameter
        rcu/nocb: Create kthreads on all CPUs if "rcu_nocbs=" or "nohz_full=" are passed
        rcu/nocb: Optimize kthreads and rdp initialization
        rcu/nocb: Prepare nocb_cb_wait() to start with a non-offloaded rdp
        rcu/nocb: Remove rcu_node structure from nocb list when de-offloaded
        rcu-tasks: Use fewer callbacks queues if callback flood ends
        rcu-tasks: Use separate ->percpu_dequeue_lim for callback dequeueing
        rcu-tasks: Use more callback queues if contention encountered
        rcu-tasks: Avoid raw-spinlocked wakeups from call_rcu_tasks_generic()
        rcu-tasks: Count trylocks to estimate call_rcu_tasks() contention
        rcu-tasks: Add rcupdate.rcu_task_enqueue_lim to set initial queueing
        rcu-tasks: Make rcu_barrier_tasks*() handle multiple callback queues
        rcu-tasks: Use workqueues for multiple rcu_tasks_invoke_cbs() invocations
        rcu-tasks: Abstract invocations of callbacks
        rcu-tasks: Abstract checking of callback lists
        rcu-tasks: Add a ->percpu_enqueue_lim to the rcu_tasks structure
        rcu-tasks: Inspect stalled task's trc state in locked state
        rcu-tasks: Use spin_lock_rcu_node() and friends
        rcutorture: Combine n_max_cbs from all kthreads in a callback flood
        ...
      e7d38f16
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · a2293277
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Remove some twists in the console registration code. It does not
         change the existing behavior except for one corner case. The proper
         default console (with tty binding) will be registered again even when
         it has been removed in the meantime. It is actually a bug fix.
         Anyway, this modified behavior requires some manual interaction.
      
       - Optimize gdb extension for huge ring buffers.
      
       - Do not use atomic operations for a local bitmap variable.
      
       - Update git links in MAINTAINERS.
      
      * tag 'printk-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        MAINTAIERS/printk: Add link to printk git
        MAINTAINERS/vsprintf: Update link to printk git tree
        scripts/gdb: lx-dmesg: read records individually
        printk/console: Clean up boot console handling in register_console()
        printk/console: Remove need_default_console variable
        printk/console: Remove unnecessary need_default_console manipulation
        printk/console: Rename has_preferred_console to need_default_console
        printk/console: Split out code that enables default console
        vsprintf: Use non-atomic bitmap API when applicable
      a2293277
    • Linus Torvalds's avatar
      Merge branch 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · e9e64f85
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
      
       - The code around workqueue scheduler hooks got reorganized early 2019
         which unfortuately introdued a couple subtle and rare race conditions
         where preemption can mangle internal workqueue state triggering a
         WARN and possibly causing a stall or at least delay in execution.
      
         Frederic fixed both early December and the fixes were sitting in
         for-5.16-fixes which I forgot to push. They are here now. I'll
         forward them to stable after they land.
      
       - The scheduler hook reorganization has more implicatoins for workqueue
         code in that the hooks are now more strictly synchronized and thus
         the interacting operations can become more straight-forward.
      
         Lai is in the process of simplifying workqueue code and this pull
         request contains some of the patches.
      
      * 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Remove the cacheline_aligned for nr_running
        workqueue: Move the code of waking a worker up in unbind_workers()
        workqueue: Remove schedule() in unbind_workers()
        workqueue: Remove outdated comment about exceptional workers in unbind_workers()
        workqueue: Remove the advanced kicking of the idle workers in rebind_workers()
        workqueue: Remove the outdated comment before wq_worker_sleeping()
        workqueue: Fix unbind_workers() VS wq_worker_sleeping() race
        workqueue: Fix unbind_workers() VS wq_worker_running() race
        workqueue: Upgrade queue_work_on() comment
      e9e64f85
    • Linus Torvalds's avatar
      Merge branch 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · ea1ca66d
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "Nothing too interesting. The only two noticeable changes are a subtle
        cpuset behavior fix and trace event id field being expanded to u64
        from int. Most others are code cleanups"
      
      * 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset: convert 'allowed' in __cpuset_node_allowed() to be boolean
        cgroup/rstat: check updated_next only for root
        cgroup: rstat: explicitly put loop variant in while
        cgroup: return early if it is already on preloaded list
        cgroup/cpuset: Don't let child cpusets restrict parent in default hierarchy
        cgroup: Trace event cgroup id fields should be u64
        cgroup: fix a typo in comment
        cgroup: get the wrong css for css_alloc() during cgroup_init_subsys()
        cgroup: rstat: Mark benign data race to silence KCSAN
      ea1ca66d
    • Jan Kara's avatar
      select: Fix indefinitely sleeping task in poll_schedule_timeout() · 68514dac
      Jan Kara authored
      A task can end up indefinitely sleeping in do_select() ->
      poll_schedule_timeout() when the following race happens:
      
        TASK1 (thread1)             TASK2                   TASK1 (thread2)
        do_select()
          setup poll_wqueues table
          with 'fd'
                                    write data to 'fd'
                                      pollwake()
                                        table->triggered = 1
                                                            closes 'fd' thread1 is
                                                              waiting for
          poll_schedule_timeout()
            - sees table->triggered
            table->triggered = 0
            return -EINTR
          loop back in do_select()
      
      But at this point when TASK1 loops back, the fdget() in the setup of
      poll_wqueues fails.  So now so we never find 'fd' is ready for reading
      and sleep in poll_schedule_timeout() indefinitely.
      
      Treat an fd that got closed as a fd on which some event happened.  This
      makes sure cannot block indefinitely in do_select().
      
      Another option would be to return -EBADF in this case but that has a
      potential of subtly breaking applications that excercise this behavior
      and it happens to work for them.  So returning fd as active seems like a
      safer choice.
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      68514dac
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fe8152b3
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These update the handling of software nodes and graph properties, and
        the MAINTAINERS entry for the former.
      
        Specifics:
      
         - Remove device_add_properties() which does not work correctly if
           software nodes holding additional device properties are shared or
           reused (Heikki Krogerus).
      
         - Fix nargs_prop property handling for software nodes (Clément
           Léger).
      
         - Update documentation of ACPI device properties (Sakari Ailus).
      
         - Update the handling of graph properties in the generic framework to
           match the DT case (Sakari Ailus).
      
         - Update software nodes entry in MAINTAINERS (Andy Shevchenko)"
      
      * tag 'devprop-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        software node: Update MAINTAINERS data base
        software node: fix wrong node passed to find nargs_prop
        device property: Drop fwnode_graph_get_remote_node()
        device property: Use fwnode_graph_for_each_endpoint() macro
        device property: Implement fwnode_graph_get_endpoint_count()
        Documentation: ACPI: Update references
        Documentation: ACPI: Fix data node reference documentation
        device property: Fix documentation for FWNODE_GRAPH_DEVICE_DISABLED
        device property: Fix fwnode_graph_devcon_match() fwnode leak
        device property: Remove device_add_properties() API
        driver core: Don't call device_remove_properties() from device_del()
        PCI: Convert to device_create_managed_software_node()
      fe8152b3
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fe2437cc
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "These add a new driver for Renesas RZ/G2L TSU, update a few existing
        thermal control drivers and clean up the tmon utility.
      
        Specifics:
      
         - Add new TSU driver and DT bindings for the Renesas RZ/G2L platform
           (Biju Das).
      
         - Fix missing check when calling reset_control_deassert() in the
           rz2gl thermal driver (Biju Das).
      
         - In preparation for FORTIFY_SOURCE performing compile-time and
           run-time field bounds checking for memcpy(), avoid intentionally
           writing across neighboring fields in the int340x thermal control
           driver (Kees Cook).
      
         - Fix RFIM mailbox write commands handling in the int340x thermal
           control driver (Sumeet Pawnikar).
      
         - Fix PM issue occurring in the iMX thermal control driver during
           suspend/resume by implementing PM runtime support in it (Oleksij
           Rempel).
      
         - Add 'const' annotation to thermal_cooling_ops in the Intel
           powerclamp driver (Rikard Falkeborn).
      
         - Fix missing ADC bit set in the iMX8MP thermal driver to enable the
           sensor (Paul Gerber).
      
         - Drop unused local variable definition from tmon (ran jianping)"
      
      * tag 'thermal-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal/drivers/int340x: Fix RFIM mailbox write commands
        thermal/drivers/rz2gl: Add error check for reset_control_deassert()
        thermal/drivers/imx8mm: Enable ADC when enabling monitor
        thermal/drivers: Add TSU driver for RZ/G2L
        dt-bindings: thermal: Document Renesas RZ/G2L TSU
        thermal/drivers/intel_powerclamp: Constify static thermal_cooling_device_ops
        thermal/drivers/imx: Implement runtime PM support
        thermal: tools: tmon: remove unneeded local variable
        thermal: int340x: Use struct_group() for memcpy() region
      fe2437cc
    • Linus Torvalds's avatar
      Merge tag 'pm-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b35b6d4d
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "The most signigicant change here is the addition of a new cpufreq
        'P-state' driver for AMD processors as a better replacement for the
        venerable acpi-cpufreq driver.
      
        There are also other cpufreq updates (in the core, intel_pstate, ARM
        drivers), PM core updates (mostly related to adding new macros for
        declaring PM operations which should make the lives of driver
        developers somewhat easier), and a bunch of assorted fixes and
        cleanups.
      
        Summary:
      
         - Add new P-state driver for AMD processors (Huang Rui).
      
         - Fix initialization of min and max frequency QoS requests in the
           cpufreq core (Rafael Wysocki).
      
         - Fix EPP handling on Alder Lake in intel_pstate (Srinivas
           Pandruvada).
      
         - Make intel_pstate update cpuinfo.max_freq when notified of HWP
           capabilities changes and drop a redundant function call from that
           driver (Rafael Wysocki).
      
         - Improve IRQ support in the Qcom cpufreq driver (Ard Biesheuvel,
           Stephen Boyd, Vladimir Zapolskiy).
      
         - Fix double devm_remap() in the Mediatek cpufreq driver (Hector
           Yuan).
      
         - Introduce thermal pressure helpers for cpufreq CPU cooling (Lukasz
           Luba).
      
         - Make cpufreq use default_groups in kobj_type (Greg Kroah-Hartman).
      
         - Make cpuidle use default_groups in kobj_type (Greg Kroah-Hartman).
      
         - Fix two comments in cpuidle code (Jason Wang, Yang Li).
      
         - Allow model-specific normal EPB value to be used in the intel_epb
           sysfs attribute handling code (Srinivas Pandruvada).
      
         - Simplify locking in pm_runtime_put_suppliers() (Rafael Wysocki).
      
         - Add safety net to supplier device release in the runtime PM core
           code (Rafael Wysocki).
      
         - Capture device status before disabling runtime PM for it (Rafael
           Wysocki).
      
         - Add new macros for declaring PM operations to allow drivers to
           avoid guarding them with CONFIG_PM #ifdefs or __maybe_unused and
           update some drivers to use these macros (Paul Cercueil).
      
         - Allow ACPI hardware signature to be honoured during restore from
           hibernation (David Woodhouse).
      
         - Update outdated operating performance points (OPP) documentation
           (Tang Yizhou).
      
         - Reduce log severity for informative message regarding frequency
           transition failures in devfreq (Tzung-Bi Shih).
      
         - Add DRAM frequency controller devfreq driver for Allwinner sunXi
           SoCs (Samuel Holland).
      
         - Add missing COMMON_CLK dependency to sun8i devfreq driver (Arnd
           Bergmann).
      
         - Add support for new layout of Psys PowerLimit Register on SPR to
           the Intel RAPL power capping driver (Zhang Rui).
      
         - Fix typo in a comment in idle_inject.c (Jason Wang).
      
         - Remove unused function definition from the DTPM (Dynamit Thermal
           Power Management) power capping framework (Daniel Lezcano).
      
         - Reduce DTPM trace verbosity (Daniel Lezcano)"
      
      * tag 'pm-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (53 commits)
        x86, sched: Fix undefined reference to init_freq_invariance_cppc() build error
        cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State
        cpufreq: amd-pstate: Fix struct amd_cpudata kernel-doc comment
        cpuidle: use default_groups in kobj_type
        x86: intel_epb: Allow model specific normal EPB value
        MAINTAINERS: Add AMD P-State driver maintainer entry
        Documentation: amd-pstate: Add AMD P-State driver introduction
        cpufreq: amd-pstate: Add AMD P-State performance attributes
        cpufreq: amd-pstate: Add AMD P-State frequencies attributes
        cpufreq: amd-pstate: Add boost mode support for AMD P-State
        cpufreq: amd-pstate: Add trace for AMD P-State module
        cpufreq: amd-pstate: Introduce the support for the processors with shared memory solution
        cpufreq: amd-pstate: Add fast switch function for AMD P-State
        cpufreq: amd-pstate: Introduce a new AMD P-State driver to support future processors
        ACPI: CPPC: Add CPPC enable register function
        ACPI: CPPC: Check present CPUs for determining _CPC is valid
        ACPI: CPPC: Implement support for SystemIO registers
        x86/msr: Add AMD CPPC MSR definitions
        x86/cpufeatures: Add AMD Collaborative Processor Performance Control feature flag
        cpufreq: use default_groups in kobj_type
        ...
      b35b6d4d
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · bca21755
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These are usual ACPICA code updates (although there are more of them
        than in the last few releases), a noticeable EC driver update (which
        mostly consists of cleanups, though), the device enumeration quirks
        handling rework from Hans, some updates eliminating unnecessary CPU
        cache flushing in some places (processor idle and system-wide PM code)
        and a bunch of assorted cleanups and fixes.
      
        Specifics:
      
         - Update ACPICA code in the kernel to the 20211217 upstream release
           including the following changes:
      
            - iASL/Disassembler: Additional support for NHLT table (Bob
              Moore).
            - Change a return_ACPI_STATUS (AE_BAD_PARAMETER) (Bob Moore).
            - Fix a couple of warnings under MSVC (Bob Moore).
            - iASL: Add TDEL table to both compiler/disassembler (Bob Moore).
            - iASL/NHLT table: "Specific Data" field support (Bob Moore).
            - Use original data_table_region pointer for accesses (Jessica
              Clarke).
            - Use original pointer for virtual origin tables (Jessica Clarke).
            - Macros: Remove ACPI_PHYSADDR_TO_PTR (Jessica Clarke).
            - Avoid subobject buffer overflow when validating RSDP signature
              (Jessica Clarke).
            - iASL: Add suppport for AGDI table (Ilkka Koskinen).
            - Hardware: Do not flush CPU cache when entering S4 and S5 (Kirill
              A. Shutemov).
            - Expand the ACPI_ACCESS_ definitions (Mark Langsdorf).
            - Utilities: Avoid deleting the same object twice in a row (Rafael
              Wysocki).
            - Executer: Fix REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R()
              (Rafael Wysocki).
            - Fix AEST Processor generic resource substructure data field byte
              length (Shuuichirou Ishii).
            - Fix wrong interpretation of PCC address (Sudeep Holla).
            - Add support for PCC Opregion special context data (Sudeep
              Holla).
      
         - Implement OperationRegion handler for PCC Type 3 subtype (Sudeep
           Holla).
      
         - Introduce acpi_fetch_acpi_dev() as a replacement for
           acpi_bus_get_device() and use it in the ACPI subsystem (Rafael
           Wysocki).
      
         - Avoid using _CID for device enumaration if _HID is missing or
           invalid (Rafael Wysocki).
      
         - Rework quirk handling during ACPI device enumeration and add some
           new quirks for known broken platforms (Hans de Goede).
      
         - Avoid unnecessary or redundant CPU cache flushing during system PM
           transitions (Kirill A. Shutemov).
      
         - Add PM debug messages related to power resources (Rafael Wysocki).
      
         - Fix kernel-doc comment in the PCI host bridge ACPI driver (Yang
           Li).
      
         - Rework flushing of EC work while suspended to idle and clean up the
           handling of events in the ACPI EC driver (Rafael Wysocki).
      
         - Prohibit ec_sys module parameter write_support from being used when
           the system is locked down (Hans de Goede).
      
         - Make the ACPI processor thermal driver use cpufreq_cpu_get() to
           check for presence of cpufreq policy (Manfred Spraul).
      
         - Avoid unnecessary CPU cache flushing in the ACPI processor idle
           driver (Kirill A. Shutemov).
      
         - Replace kernel.h with the necessary inclusions in the ACPI
           processor driver (Andy Shevchenko).
      
         - Use swap() instead of open coding it in the ACPI processor idle
           driver (Guo Zhengkui).
      
         - Fix the handling of defective LPAT in the ACPI xpower PMIC driver
           and clean up some definitions of PMIC data structures (Hans de
           Goede).
      
         - Fix outdated comment in the ACPI DPTF driver (Sumeet Pawnikar).
      
         - Add AEST to the list of known ACPI table signatures (Shuuichirou
           Ishii).
      
         - Make ACPI NUMA code take hotpluggable memblocks into account when
           CONFIG_MEMORY_HOTPLUG is not set (Vitaly Kuznetsov).
      
         - Use default_groups in kobj_type in the ACPI sysfs code (Greg
           Kroah-Hartman).
      
         - Rearrange _CPC structure documentation (Andy Shevchenko).
      
         - Drop an always true check from the ACPI thermal driver (Adam
           Borowski).
      
         - Add new "not charging" quirk for Lenovo ThinkPads to the ACPI
           battery driver (Thomas Weißschuh)"
      
      * tag 'acpi-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (64 commits)
        ACPI: PCC: Implement OperationRegion handler for the PCC Type 3 subtype
        ACPI / x86: Skip AC and battery devices on x86 Android tablets with broken DSDTs
        ACPI / x86: Introduce an acpi_quirk_skip_acpi_ac_and_battery() helper
        ACPI: processor: thermal: avoid cpufreq_get_policy()
        serdev: Do not instantiate serdevs on boards with known bogus DSDT entries
        i2c: acpi: Do not instantiate I2C-clients on boards with known bogus DSDT entries
        ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers
        ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes
        PCI/ACPI: Fix acpi_pci_osc_control_set() kernel-doc comment
        ACPI: battery: Add the ThinkPad "Not Charging" quirk
        ACPI: sysfs: use default_groups in kobj_type
        ACPICA: Update version to 20211217
        ACPICA: iASL/NHLT table: "Specific Data" field support
        ACPICA: iASL: Add suppport for AGDI table
        ACPICA: iASL: Add TDEL table to both compiler/disassembler
        ACPICA: Fixed a couple of warnings under MSVC
        ACPICA: Change a return_ACPI_STATUS (AE_BAD_PARAMETER)
        ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5
        ACPICA: Add support for PCC Opregion special context data
        ACPICA: Fix wrong interpretation of PCC address
        ...
      bca21755
    • Linus Torvalds's avatar
      netfilter: nf_tables: don't use 'data_size' uninitialized · 63045bfd
      Linus Torvalds authored
      Commit 2c865a8a ("netfilter: nf_tables: add rule blob layout") never
      initialized the new 'data_size' variable.
      
      I'm not sure how it ever worked, but it might have worked almost by
      accident - gcc seems to occasionally miss these kinds of 'variable used
      uninitialized' situations, but I've seen it do so because it ended up
      zero-initializing them due to some other simplification.
      
      But clang is very unhappy about it all, and correctly reports
      
          net/netfilter/nf_tables_api.c:8278:4: error: variable 'data_size' is uninitialized when used here [-Werror,-Wuninitialized]
                                  data_size += sizeof(*prule) + rule->dlen;
                                  ^~~~~~~~~
          net/netfilter/nf_tables_api.c:8263:30: note: initialize the variable 'data_size' to silence this warning
                  unsigned int size, data_size;
                                              ^
                                               = 0
          1 error generated.
      
      and this fix just initializes 'data_size' to zero before the loop.
      
      Fixes: 2c865a8a ("netfilter: nf_tables: add rule blob layout")
      Cc: Pablo Neira Ayuso <pablo@netfilter.org>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      63045bfd
    • Linus Torvalds's avatar
      Merge tag '5.17-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 8efd0d9c
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core
        ----
      
         - Defer freeing TCP skbs to the BH handler, whenever possible, or at
           least perform the freeing outside of the socket lock section to
           decrease cross-CPU allocator work and improve latency.
      
         - Add netdevice refcount tracking to locate sources of netdevice and
           net namespace refcount leaks.
      
         - Make Tx watchdog less intrusive - avoid pausing Tx and restarting
           all queues from a single CPU removing latency spikes.
      
         - Various small optimizations throughout the stack from Eric Dumazet.
      
         - Make netdev->dev_addr[] constant, force modifications to go via
           appropriate helpers to allow us to keep addresses in ordered data
           structures.
      
         - Replace unix_table_lock with per-hash locks, improving performance
           of bind() calls.
      
         - Extend skb drop tracepoint with a drop reason.
      
         - Allow SO_MARK and SO_PRIORITY setsockopt under CAP_NET_RAW.
      
        BPF
        ---
      
         - New helpers:
            - bpf_find_vma(), find and inspect VMAs for profiling use cases
            - bpf_loop(), runtime-bounded loop helper trading some execution
              time for much faster (if at all converging) verification
            - bpf_strncmp(), improve performance, avoid compiler flakiness
            - bpf_get_func_arg(), bpf_get_func_ret(), bpf_get_func_arg_cnt()
              for tracing programs, all inlined by the verifier
      
         - Support BPF relocations (CO-RE) in the kernel loader.
      
         - Further the support for BTF_TYPE_TAG annotations.
      
         - Allow access to local storage in sleepable helpers.
      
         - Convert verifier argument types to a composable form with different
           attributes which can be shared across types (ro, maybe-null).
      
         - Prepare libbpf for upcoming v1.0 release by cleaning up APIs,
           creating new, extensible ones where missing and deprecating those
           to be removed.
      
        Protocols
        ---------
      
         - WiFi (mac80211/cfg80211):
            - notify user space about long "come back in N" AP responses,
              allow it to react to such temporary rejections
            - allow non-standard VHT MCS 10/11 rates
            - use coarse time in airtime fairness code to save CPU cycles
      
         - Bluetooth:
            - rework of HCI command execution serialization to use a common
              queue and work struct, and improve handling errors reported in
              the middle of a batch of commands
            - rework HCI event handling to use skb_pull_data, avoiding packet
              parsing pitfalls
            - support AOSP Bluetooth Quality Report
      
         - SMC:
            - support net namespaces, following the RDMA model
            - improve connection establishment latency by pre-clearing buffers
            - introduce TCP ULP for automatic redirection to SMC
      
         - Multi-Path TCP:
            - support ioctls: SIOCINQ, OUTQ, and OUTQNSD
            - support socket options: IP_TOS, IP_FREEBIND, IP_TRANSPARENT,
              IPV6_FREEBIND, and IPV6_TRANSPARENT, TCP_CORK and TCP_NODELAY
            - support cmsgs: TCP_INQ
            - improvements in the data scheduler (assigning data to subflows)
            - support fastclose option (quick shutdown of the full MPTCP
              connection, similar to TCP RST in regular TCP)
      
         - MCTP (Management Component Transport) over serial, as defined by
           DMTF spec DSP0253 - "MCTP Serial Transport Binding".
      
        Driver API
        ----------
      
         - Support timestamping on bond interfaces in active/passive mode.
      
         - Introduce generic phylink link mode validation for drivers which
           don't have any quirks and where MAC capability bits fully express
           what's supported. Allow PCS layer to participate in the validation.
           Convert a number of drivers.
      
         - Add support to set/get size of buffers on the Rx rings and size of
           the tx copybreak buffer via ethtool.
      
         - Support offloading TC actions as first-class citizens rather than
           only as attributes of filters, improve sharing and device resource
           utilization.
      
         - WiFi (mac80211/cfg80211):
            - support forwarding offload (ndo_fill_forward_path)
            - support for background radar detection hardware
            - SA Query Procedures offload on the AP side
      
        New hardware / drivers
        ----------------------
      
         - tsnep - FPGA based TSN endpoint Ethernet MAC used in PLCs with
           real-time requirements for isochronous communication with protocols
           like OPC UA Pub/Sub.
      
         - Qualcomm BAM-DMUX WWAN - driver for data channels of modems
           integrated into many older Qualcomm SoCs, e.g. MSM8916 or MSM8974
           (qcom_bam_dmux).
      
         - Microchip LAN966x multi-port Gigabit AVB/TSN Ethernet Switch driver
           with support for bridging, VLANs and multicast forwarding
           (lan966x).
      
         - iwlmei driver for co-operating between Intel's WiFi driver and
           Intel's Active Management Technology (AMT) devices.
      
         - mse102x - Vertexcom MSE102x Homeplug GreenPHY chips
      
         - Bluetooth:
            - MediaTek MT7921 SDIO devices
            - Foxconn MT7922A
            - Realtek RTL8852AE
      
        Drivers
        -------
      
         - Significantly improve performance in the datapaths of: lan78xx,
           ax88179_178a, lantiq_xrx200, bnxt.
      
         - Intel Ethernet NICs:
            - igb: support PTP/time PEROUT and EXTTS SDP functions on
              82580/i354/i350 adapters
            - ixgbevf: new PF -> VF mailbox API which avoids the risk of
              mailbox corruption with ESXi
            - iavf: support configuration of VLAN features of finer
              granularity, stacked tags and filtering
            - ice: PTP support for new E822 devices with sub-ns precision
            - ice: support firmware activation without reboot
      
         - Mellanox Ethernet NICs (mlx5):
            - expose control over IRQ coalescing mode (CQE vs EQE) via ethtool
            - support TC forwarding when tunnel encap and decap happen between
              two ports of the same NIC
            - dynamically size and allow disabling various features to save
              resources for running in embedded / SmartNIC scenarios
      
         - Broadcom Ethernet NICs (bnxt):
            - use page frag allocator to improve Rx performance
            - expose control over IRQ coalescing mode (CQE vs EQE) via ethtool
      
         - Other Ethernet NICs:
            - amd-xgbe: add Ryzen 6000 (Yellow Carp) Ethernet support
      
         - Microsoft cloud/virtual NIC (mana):
            - add XDP support (PASS, DROP, TX)
      
         - Mellanox Ethernet switches (mlxsw):
            - initial support for Spectrum-4 ASICs
            - VxLAN with IPv6 underlay
      
         - Marvell Ethernet switches (prestera):
            - support flower flow templates
            - add basic IP forwarding support
      
         - NXP embedded Ethernet switches (ocelot & felix):
            - support Per-Stream Filtering and Policing (PSFP)
            - enable cut-through forwarding between ports by default
            - support FDMA to improve packet Rx/Tx to CPU
      
         - Other embedded switches:
            - hellcreek: improve trapping management (STP and PTP) packets
            - qca8k: support link aggregation and port mirroring
      
         - Qualcomm 802.11ax WiFi (ath11k):
            - qca6390, wcn6855: enable 802.11 power save mode in station mode
            - BSS color change support
            - WCN6855 hw2.1 support
            - 11d scan offload support
            - scan MAC address randomization support
            - full monitor mode, only supported on QCN9074
            - qca6390/wcn6855: report signal and tx bitrate
            - qca6390: rfkill support
            - qca6390/wcn6855: regdb.bin support
      
         - Intel WiFi (iwlwifi):
            - support SAR GEO Offset Mapping (SGOM) and Time-Aware-SAR (TAS)
              in cooperation with the BIOS
            - support for Optimized Connectivity Experience (OCE) scan
            - support firmware API version 68
            - lots of preparatory work for the upcoming Bz device family
      
         - MediaTek WiFi (mt76):
            - Specific Absorption Rate (SAR) support
            - mt7921: 160 MHz channel support
      
         - RealTek WiFi (rtw88):
            - Specific Absorption Rate (SAR) support
            - scan offload
      
         - Other WiFi NICs
            - ath10k: support fetching (pre-)calibration data from nvmem
            - brcmfmac: configure keep-alive packet on suspend
            - wcn36xx: beacon filter support"
      
      * tag '5.17-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2048 commits)
        tcp: tcp_send_challenge_ack delete useless param `skb`
        net/qla3xxx: Remove useless DMA-32 fallback configuration
        rocker: Remove useless DMA-32 fallback configuration
        hinic: Remove useless DMA-32 fallback configuration
        lan743x: Remove useless DMA-32 fallback configuration
        net: enetc: Remove useless DMA-32 fallback configuration
        cxgb4vf: Remove useless DMA-32 fallback configuration
        cxgb4: Remove useless DMA-32 fallback configuration
        cxgb3: Remove useless DMA-32 fallback configuration
        bnx2x: Remove useless DMA-32 fallback configuration
        et131x: Remove useless DMA-32 fallback configuration
        be2net: Remove useless DMA-32 fallback configuration
        vmxnet3: Remove useless DMA-32 fallback configuration
        bna: Simplify DMA setting
        net: alteon: Simplify DMA setting
        myri10ge: Simplify DMA setting
        qlcnic: Simplify DMA setting
        net: allwinner: Fix print format
        page_pool: remove spinlock in page_pool_refill_alloc_cache()
        amt: fix wrong return type of amt_send_membership_update()
        ...
      8efd0d9c
    • Linus Torvalds's avatar
      Merge tag 'media/v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 9bcbf894
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - New sensor driver: ov5693
      
       - A new driver for STM32 Chrom-ART Accelerator
      
       - Added V4L2 core helper functions for VP9 codec
      
       - Hantro driver has gained support for VP9 codecs
      
       - Added support for Maxim MAX96712 Quad GMSL2 Deserializer
      
       - The staging atomisp driver has gained lots of improvements, fixes and
         cleanups. It now works with userptr
      
       - Lots of random driver improvements as usual
      
      * tag 'media/v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (397 commits)
        media: ipu3-cio2: Add support for instantiating i2c-clients for VCMs
        media: ipu3-cio2: Call cio2_bridge_init() before anything else
        media: ipu3-cio2: Defer probing until the PMIC is fully setup
        media: hantro: Add support for Allwinner H6
        media: dt-bindings: allwinner: document H6 Hantro G2 binding
        media: hantro: Convert imx8m_vpu_g2_irq to helper
        media: hantro: move postproc enablement for old cores
        media: hantro: vp9: add support for legacy register set
        media: hantro: vp9: use double buffering if needed
        media: hantro: add support for reset lines
        media: hantro: Fix probe func error path
        media: i2c: hi846: use pm_runtime_force_suspend/resume for system suspend
        media: i2c: hi846: check return value of regulator_bulk_disable()
        media: hi556: Support device probe in non-zero ACPI D state
        media: ov5675: Support device probe in non-zero ACPI D state
        media: imx208: Support device probe in non-zero ACPI D state
        media: ov2740: support device probe in non-zero ACPI D state
        media: ov5670: Support device probe in non-zero ACPI D state
        media: ov8856: support device probe in non-zero ACPI D state
        media: ov8865: Disable only enabled regulators on error path
        ...
      9bcbf894
    • Linus Torvalds's avatar
      Revert "drm/amd/display: Fix for otg synchronization logic" · 75b950ef
      Linus Torvalds authored
      This reverts commit a896f870.
      
      It causes odd flickering on my Radeon RX580 (PCI ID 1002:67df rev e7,
      subsystem ID 1da2:e353).
      
      Bisected right to this commit, and reverting it fixes things.
      
      Link: https://lore.kernel.org/all/CAHk-=wg9hDde_L3bK9tAfdJ4N=TJJ+SjO3ZDONqH5=bVoy_Mzg@mail.gmail.com/
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Harry Wentland <harry.wentland@amd.com>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Christian Koenig <christian.koenig@amd.com>
      Cc: Jun Lei <Jun.Lei@amd.com>
      Cc: Mustapha Ghaddar <mustapha.ghaddar@amd.com>
      Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
      Cc: meenakshikumar somasundaram <meenakshikumar.somasundaram@amd.com>
      Cc: Daniel Wheeler <daniel.wheeler@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      75b950ef
  2. 10 Jan, 2022 3 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-01-07' of git://anongit.freedesktop.org/drm/drm · 8d0749b4
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Highlights are support for privacy screens found in new laptops, a
        bunch of nomodeset refactoring, and i915 enables ADL-P systems by
        default, while starting to add RPL-S support.
      
        vmwgfx adds GEM and support for OpenGL 4.3 features in userspace.
      
        Lots of internal refactorings around dma reservations, and lots of
        driver refactoring as well.
      
        Summary:
      
        core:
         - add privacy screen support
         - move nomodeset option into drm subsystem
         - clean up nomodeset handling in drivers
         - make drm_irq.c legacy
         - fix stack_depot name conflicts
         - remove DMA_BUF_SET_NAME ioctl restrictions
         - sysfs: send hotplug event
         - replace several DRM_* logging macros with drm_*
         - move hashtable to legacy code
         - add error return from gem_create_object
         - cma-helper: improve interfaces, drop CONFIG_DRM_KMS_CMA_HELPER
         - kernel.h related include cleanups
         - support XRGB2101010 source buffers
      
        ttm:
         - don't include drm hashtable
         - stop pruning fences after wait
         - documentation updates
      
        dma-buf:
         - add dma_resv selftest
         - add debugfs helpers
         - remove dma_resv_get_excl_unlocked
         - documentation
         - make fences mandatory in dma_resv_add_excl_fence
      
        dp:
         - add link training delay helpers
      
        gem:
         - link shmem/cma helpers into separate modules
         - use dma_resv iteratior
         - import dma-buf namespace into gem helper modules
      
        scheduler:
         - fence grab fix
         - lockdep fixes
      
        bridge:
         - switch to managed MIPI DSI helpers
         - register and attach during probe fixes
         - convert to YAML in several places.
      
        panel:
         - add bunch of new panesl
      
        simpledrm:
         - support FB_DAMAGE_CLIPS
         - support virtual screen sizes
         - add Apple M1 support
      
        amdgpu:
         - enable seamless boot for DCN 3.01
         - runtime PM fixes
         - use drm_kms_helper_connector_hotplug_event
         - get all fences at once
         - use generic drm fb helpers
         - PSR/DPCD/LTTPR/DSC/PM/RAS/OLED/SRIOV fixes
         - add smart trace buffer (STB) for supported GPUs
         - display debugfs entries
         - new SMU debug option
         - Documentation update
      
        amdkfd:
         - IP discovery enumeration refactor
         - interface between driver fixes
         - SVM fixes
         - kfd uapi header to define some sysfs bitfields.
      
        i915:
         - support VESA panel backlights
         - enable ADL-P by default
         - add eDP privacy screen support
         - add Raptor Lake S (RPL-S) support
         - DG2 page table support
         - lots of GuC/HuC fw refactoring
         - refactored i915->gt interfaces
         - CD clock squashing support
         - enable 10-bit gamma support
         - update ADL-P DMC fw to v2.14
         - enable runtime PM autosuspend by default
         - ADL-P DSI support
         - per-lane DP drive settings for ICL+
         - add support for pipe C/D DMC firmware
         - Atomic gamma LUT updates
         - remove CCS FB stride restrictions on ADL-P
         - VRR platform support for display 11
         - add support for display audio codec keepalive
         - lots of display refactoring
         - fix runtime PM handling during PXP suspend
         - improved eviction performance with async TTM moves
         - async VMA unbinding improvements
         - VMA locking refactoring
         - improved error capture robustness
         - use per device iommu checks
         - drop bits stealing from i915_sw_fence function ptr
         - remove dma_resv_prune
         - add IC cache invalidation on DG2
      
        nouveau:
         - crc fixes
         - validate LUTs in atomic check
         - set HDMI AVI RGB quant to full
      
        tegra:
         - buffer objects reworks for dma-buf compat
         - NVDEC driver uAPI support
         - power management improvements
      
        etnaviv:
         - IOMMU enabled system support
         - fix > 4GB command buffer mapping
         - close a DoS vector
         - fix spurious GPU resets
      
        ast:
         - fix i2c initialization
      
        rcar-du:
         - DSI output support
      
        exynos:
         - replace legacy gpio interface
         - implement generic GEM object mmap
      
        msm:
         - dpu plane state cleanup in prep for multirect
         - dpu debugfs cleanups
         - dp support for sc7280
         - a506 support
         - removal of struct_mutex
         - remove old eDP sub-driver
      
        anx7625:
         - support MIPI DSI input
         - support HDMI audio
         - fix reading EDID
      
        lvds:
         - fix bridge DT bindings
      
        megachips:
         - probe both bridges before registering
      
        dw-hdmi:
         - allow interlace on bridge
      
        ps8640:
         - enable runtime PM
         - support aux-bus
      
        tx358768:
         - enable reference clock
         - add pulse mode support
      
        ti-sn65dsi86:
         - use regmap bulk write
         - add PWM support
      
        etnaviv:
         - get all fences at once
      
        gma500:
         - gem object cleanups
      
        kmb:
         - enable fb console
      
        radeon:
         - use dma_resv_wait_timeout
      
        rockchip:
         - add DSP hold timeout
         - suspend/resume fixes
         - PLL clock fixes
         - implement mmap in GEM object functions
         - use generic fbdev emulation
      
        sun4i:
         - use CMA helpers without vmap support
      
        vc4:
         - fix HDMI-CEC hang with display is off
         - power on HDMI controller while disabling
         - support 4K@60Hz modes
         - support 10-bit YUV 4:2:0 output
      
        vmwgfx:
         - fix leak on probe errors
         - fail probing on broken hosts
         - new placement for MOB page tables
         - hide internal BOs from userspace
         - implement GEM support
         - implement GL 4.3 support
      
        virtio:
         - overflow fixes
      
        xen:
         - implement mmap as GEM object function
      
        omapdrm:
         - fix scatterlist export
         - support virtual planes
      
        mediatek:
         - MT8192 support
         - CMDQ refinement"
      
      * tag 'drm-next-2022-01-07' of git://anongit.freedesktop.org/drm/drm: (1241 commits)
        drm/amdgpu: no DC support for headless chips
        drm/amd/display: fix dereference before NULL check
        drm/amdgpu: always reset the asic in suspend (v2)
        drm/amdgpu: put SMU into proper state on runpm suspending for BOCO capable platform
        drm/amd/display: Fix the uninitialized variable in enable_stream_features()
        drm/amdgpu: fix runpm documentation
        amdgpu/pm: Make sysfs pm attributes as read-only for VFs
        drm/amdgpu: save error count in RAS poison handler
        drm/amdgpu: drop redundant semicolon
        drm/amd/display: get and restore link res map
        drm/amd/display: support dynamic HPO DP link encoder allocation
        drm/amd/display: access hpo dp link encoder only through link resource
        drm/amd/display: populate link res in both detection and validation
        drm/amd/display: define link res and make it accessible to all link interfaces
        drm/amd/display: 3.2.167
        drm/amd/display: [FW Promotion] Release 0.0.98
        drm/amd/display: Undo ODM combine
        drm/amd/display: Add reg defs for DCN303
        drm/amd/display: Changed pipe split policy to allow for multi-display pipe split
        drm/amd/display: Set optimize_pwr_state for DCN31
        ...
      8d0749b4
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-5.17-rc1' of... · bf4eebf8
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
       "This consists of several fixes and enhancements. A few highlights:
      
         - Option --kconfig_add option allows easily tweaking kunitconfigs
      
         - make build subcommand can reconfigure if needed
      
         - doesn't error on tests without test plans
      
         - doesn't crash if no parameters are generated
      
         - defaults --jobs to # of cups
      
         - reports test parameter results as (K)TAP subtests"
      
      * tag 'linux-kselftest-kunit-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kunit: tool: Default --jobs to number of CPUs
        kunit: tool: fix newly introduced typechecker errors
        kunit: tool: make `build` subcommand also reconfigure if needed
        kunit: tool: delete kunit_parser.TestResult type
        kunit: tool: use dataclass instead of collections.namedtuple
        kunit: tool: suggest using decode_stacktrace.sh on kernel crash
        kunit: tool: reconfigure when the used kunitconfig changes
        kunit: tool: revamp message for invalid kunitconfig
        kunit: tool: add --kconfig_add to allow easily tweaking kunitconfigs
        kunit: tool: move Kconfig read_from_file/parse_from_string to package-level
        kunit: tool: print parsed test results fully incrementally
        kunit: Report test parameter results as (K)TAP subtests
        kunit: Don't crash if no parameters are generated
        kunit: tool: Report an error if any test has no subtests
        kunit: tool: Do not error on tests without test plans
        kunit: add run_checks.py script to validate kunit changes
        Documentation: kunit: remove claims that kunit is a mocking framework
        kunit: tool: fix --json output for skipped tests
      bf4eebf8
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-5.17-rc1' of... · 4369b3ce
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest update from Shuah Khan:
       "Fixes to build errors, false negatives, and several code cleanups,
        including the ARRAY_SIZE cleanup that removes 25+ duplicates
        ARRAY_SIZE defines from individual tests"
      
      * tag 'linux-kselftest-next-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/vm: remove ARRAY_SIZE define from individual tests
        selftests/timens: remove ARRAY_SIZE define from individual tests
        selftests/sparc64: remove ARRAY_SIZE define from adi-test
        selftests/seccomp: remove ARRAY_SIZE define from seccomp_benchmark
        selftests/rseq: remove ARRAY_SIZE define from individual tests
        selftests/net: remove ARRAY_SIZE define from individual tests
        selftests/landlock: remove ARRAY_SIZE define from common.h
        selftests/ir: remove ARRAY_SIZE define from ir_loopback.c
        selftests/core: remove ARRAY_SIZE define from close_range_test.c
        selftests/cgroup: remove ARRAY_SIZE define from cgroup_util.h
        selftests/arm64: remove ARRAY_SIZE define from vec-syscfg.c
        tools: fix ARRAY_SIZE defines in tools and selftests hdrs
        selftests: cgroup: build error multiple outpt files
        selftests/move_mount_set_group remove unneeded conversion to bool
        selftests/mount: remove unneeded conversion to bool
        selftests: harness: avoid false negatives if test has no ASSERTs
        selftests/ftrace: make kprobe profile testcase description unique
        selftests: clone3: clone3: add case CLONE3_ARGS_NO_TEST
        selftests: timers: Remove unneeded semicolon
        kselftests: timers:Remove unneeded semicolon
      4369b3ce