1. 10 Mar, 2023 1 commit
  2. 03 Mar, 2023 2 commits
  3. 23 Feb, 2023 4 commits
  4. 22 Feb, 2023 27 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2023022201' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 6c71297e
      Linus Torvalds authored
      Pull HID updates from Benjamin Tissoires:
      
       - HID-BPF infrastructure: this allows to start using HID-BPF. Note that
         the mechanism to ship HID-BPF program through the kernel tree is
         still not implemented yet (but is planned).
      
         This should be a no-op for 99% of users. Also we are gaining
         kselftests for the HID tree (Benjamin Tissoires)
      
       - Some UAF fixes in workers when using uhid (Pietro Borrello & Benjamin
         Tissoires)
      
       - Constify hid_ll_driver (Thomas Weißschuh)
      
       - Allow more custom IIO sensors through HID (Philipp Jungkamp)
      
       - Logitech HID++ fixes for scroll wheel, protocol and debug (Bastien
         Nocera)
      
       - Some new device support: Steam Deck (Vicki Pfau), UClogic (José
         Expósito), Logitech G923 Xbox Edition steering wheel (Walt Holman),
         EVision keyboards (Philippe Valembois)
      
       - other assorted code cleanups and fixes
      
      * tag 'for-linus-2023022201' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (99 commits)
        HID: mcp-2221: prevent UAF in delayed work
        hid: bigben_probe(): validate report count
        HID: asus: use spinlock to safely schedule workers
        HID: asus: use spinlock to protect concurrent accesses
        HID: bigben: use spinlock to safely schedule workers
        HID: bigben_worker() remove unneeded check on report_field
        HID: bigben: use spinlock to protect concurrent accesses
        HID: logitech-hidpp: Add myself to authors
        HID: logitech-hidpp: Retry commands when device is busy
        HID: logitech-hidpp: Add more debug statements
        HID: Add support for Logitech G923 Xbox Edition steering wheel
        HID: logitech-hidpp: Add Signature M650
        HID: logitech-hidpp: Remove HIDPP_QUIRK_NO_HIDINPUT quirk
        HID: logitech-hidpp: Don't restart communication if not necessary
        HID: logitech-hidpp: Add constants for HID++ 2.0 error codes
        Revert "HID: logitech-hidpp: add a module parameter to keep firmware gestures"
        HID: logitech-hidpp: Hard-code HID++ 1.0 fast scroll support
        HID: i2c-hid: goodix: Add mainboard-vddio-supply
        dt-bindings: HID: i2c-hid: goodix: Add mainboard-vddio-supply
        HID: i2c-hid: goodix: Stop tying the reset line to the regulator
        ...
      6c71297e
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · d5176cdb
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "Nothing special, notably a lot of new Qualcomm hardware is supported,
        a RISC-V reference SoC and then some cleanups both in code and device
        tree bindings.
      
        Core changes:
      
         - Add PINCTRL_PINFUNCTION() macro and use it in several drivers
      
        New drivers:
      
         - New driver for the StarFive JH7110 SoC "sys" and "aon" (always-on)
           pin controllers. (RISC-V.)
      
         - New subdriver for the Qualcomm QDU1000/QRU1000 SoC pin controller
      
         - New subdrivers for the Qualcomm SM8550 SoC and LPASS pin
           controllers
      
         - New subdriver for the Qualcomm SA8775P SoC pin controller
      
         - New subdriver for the Qualcomm IPQ5332 SoC pin controller
      
         - New (trivial) support for Qualcomm PM8550 and PMR735D PMIC pin
           control
      
         - New subdriver for the Mediatek MT7981 SoC pin controller
      
        Improvements:
      
         - Several cleanups and refactorings to the Intel drivers
      
         - Add 4KOhm bias support to the Intel driver
      
         - Use the NOIRQ_SYSTEM_SLEEP_PM_OPS for the AT91 driver
      
         - Support general purpose clocks in the Qualcomm MSM8226 SoC
      
         - Several conversions to use the new I2C .probe_new() call
      
         - Massive clean-up of the Qualcomm Device Tree YAML schemas
      
         - Add VIN[45] pins, groups and functions to the Renesas r8a77950 SoC
           driver"
      
      * tag 'pinctrl-v6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (118 commits)
        pinctrl: qcom: Add support for i2c specific pull feature
        pinctrl: starfive: Add StarFive JH7110 aon controller driver
        pinctrl: starfive: Add StarFive JH7110 sys controller driver
        dt-bindings: pinctrl: Add StarFive JH7110 aon pinctrl
        dt-bindings: pinctrl: Add StarFive JH7110 sys pinctrl
        pinctrl: add mt7981 pinctrl driver
        dt-bindings: pinctrl: add bindings for MT7981 SoC
        dt-bindings: pinctrl: rockchip,pinctrl: mark gpio sub nodes of pinctrl as deprecated
        pinctrl: qcom: Introduce IPQ5332 TLMM driver
        dt-bindings: pinctrl: qcom: add IPQ5332 pinctrl
        dt-bindings: pinctrl: qcom: lpass-lpi: correct GPIO name pattern
        pinctrl: qcom: pinctrl-sm8550-lpass-lpi: add SM8550 LPASS
        dt-bindings: pinctrl: qcom,sm8550-lpass-lpi-pinctrl: add SM8550 LPASS
        pinctrl: at91: use devm_kasprintf() to avoid potential leaks
        dt-bindings: pinctrl: qcom: correct gpio-ranges in examples
        dt-bindings: pinctrl: qcom,msm8994: correct number of GPIOs
        dt-bindings: pinctrl: qcom,sdx55: correct GPIO name pattern
        dt-bindings: pinctrl: qcom,msm8953: correct GPIO name pattern
        dt-bindings: pinctrl: qcom,sm6375: correct GPIO name pattern and example
        dt-bindings: pinctrl: qcom,msm8909: correct GPIO name pattern and example
        ...
      d5176cdb
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 17bbc46f
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "A rather small update, there are no new drivers, just improvements and
        refactoring in existing ones.
      
        Thanks to migrating of several drivers to using generalized APIs and
        dropping of OF interfaces in favor of using software nodes we're
        actually removing more code than we're adding.
      
        Core GPIOLIB:
         - drop several OF interfaces after moving a significant part of the
           code to using software nodes
         - remove more interfaces referring to the global GPIO numberspace
           that we're getting rid of
         - improvements in the gpio-regmap library
         - add helper for GPIO device reference counting
         - remove unused APIs
         - minor tweaks like sorting headers alphabetically
      
        Extended support in existing drivers:
         - add support for Tegra 234 PMC to gpio-tegra186
      
        Driver improvements:
         - migrate the 104-dio/idi family of drivers to using the regmap-irq
           API
         - migrate gpio-i8255 and gpio-mm to the GPIO regmap API
         - clean-ups in gpio-pca953x
         - remove duplicate assignments of of_gpio_n_cells in gpio-davinci,
           gpio-ge, gpio-xilinx, gpio-zevio and gpio-wcd934x
         - improvements to gpio-pcf857x: implement get/set_multiple callbacks,
           use generic device properties instead of OF + minor tweaks
         - fix OF-related header includes and Kconfig dependencies in
           gpio-zevio
         - dynamically allocate the GPIO base in gpio-omap
         - use a dedicated printf specifier for printing fwnode info in
           gpio-sim
         - use dev_name() for the GPIO chip label in gpio-vf610
         - other minor tweaks and fixes
      
        Documentation:
         - remove mentions of legacy API from comments in various places
         - convert the DT binding documents to YAML schema for Fujitsu
           MB86S7x, Unisoc GPIO and Unisoc EIC
         - document the Unisoc UMS512 controller in DT bindings"
      
      * tag 'gpio-updates-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (54 commits)
        gpio: sim: Use %pfwP specifier instead of calling fwnode API directly
        gpio: tegra186: remove unneeded loop in tegra186_gpio_init_route_mapping()
        gpiolib: of: Move enum of_gpio_flags to its only user
        gpio: mvebu: Use IS_REACHABLE instead of IS_ENABLED for CONFIG_PWM
        gpio: zevio: Add missing header
        gpio: Get rid of gpio_to_chip()
        gpio: pcf857x: Drop unneeded explicit casting
        gpio: pcf857x: Make use of device properties
        gpio: pcf857x: Get rid of legacy platform data
        gpio: rockchip: Do not mention legacy API in the code
        gpio: wcd934x: Remove duplicate assignment of of_gpio_n_cells
        gpio: zevio: Use proper headers and drop OF_GPIO dependency
        gpio: zevio: Remove duplicate assignment of of_gpio_n_cells
        gpio: xilinx: Remove duplicate assignment of of_gpio_n_cells
        dt-bindings: gpio: Add compatible string for Unisoc UMS512
        dt-bindings: gpio: Convert Unisoc EIC controller binding to yaml
        dt-bindings: gpio: Convert Unisoc GPIO controller binding to yaml
        gpio: ge: Remove duplicate assignment of of_gpio_n_cells
        gpio: davinci: Remove duplicate assignment of of_gpio_n_cells
        gpio: omap: use dynamic allocation of base
        ...
      17bbc46f
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 13e574b4
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "This has been a fairly quiet release for SPI, though it is likely that
        the next release will have some big changes as there's some
        preparatory work for multiple chip select support gone in - the rest
        of the code is on the list but will need to be rebased onto -rc1.
        Otherwise there's a couple of new tunables for chip select timings,
        some new devices and smaller device specific updates and fixes.
      
         - Support for configuring the hold and minimum inactive times for
           chip selects.
      
         - Beginnings of support for supporting devices which have multiple
           chip selects on a single device.
      
         - Support for newer Broadcom HSSPI and Intel controllers, Silicon
           Labs EM3581 and SI3210"
      
      * tag 'spi-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (67 commits)
        spi: dt-bindings: qcom,spi-qcom-qspi: document OPP and power-domains
        spi: spidev: drop the incorrect notice from Kconfig
        spi: bcm63xx-hsspi: fix error code in probe
        spi: bcmbca-hsspi: Fix error code in probe() function
        spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one()
        spi: intel: Check number of chip selects after reading the descriptor
        spi: xilinx: add force_irq for QSPI mode
        spi: spi-st-ssc: convert to DT schema
        spi: Reorder fields in 'struct spi_transfer'
        spi: cadence-quadspi: use STIG mode for small reads
        spi: cadence-quadspi: setup ADDR Bits in cmd reads
        spi: cadence-quadspi: Add flag for direct mode writes
        spi: cadence-quadspi: Reset CMD_CTRL Reg on cmd r/w completion
        MAINTAINERS: Remove file reference for Broadcom Broadband SoC HS SPI driver entry
        spi: bcm63xx-hsspi: bcmbca-hsspi: fix _be16 type usage
        MAINTAINERS: Add entry for Broadcom Broadband SoC HS SPI drivers
        spi: bcmbca-hsspi: Add driver for newer HSSPI controller
        spi: bcm63xx-hsspi: Disable spi mem dual io read op support
        spi: spi-mem: Allow controller supporting mem_ops without exec_op
        spi: bcm63xx-hsspi: Add prepend mode support
        ...
      13e574b4
    • Linus Torvalds's avatar
      Merge tag 'regulator-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 0175ec3a
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This has been a very quiet release for the regulator API: there's one
        new driver for the Maxim MAX20411, some DT schema conversions and some
        small tweaks and improvements but really nothing major at all"
      
      * tag 'regulator-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (22 commits)
        regulator: max597x: Align for simple_mfd_i2c driver
        regulator: max20411: Fix off-by-one for n_voltages setting
        regulator: max597x: Remove unused variable
        regulator: tps65219: use generic set_bypass()
        regulator: s5m8767: Bounds check id indexing into arrays
        regulator: max77802: Bounds check regulator id against opmode
        regulator: max20411: Convert to i2c's .probe_new()
        regulator: scmi: Allow for zero voltage domains
        regulator: max20411: Directly include bitfield.h
        regulator: Introduce Maxim MAX20411 Step-Down converter
        regulator: dt-bindings: Describe Maxim MAX20411
        regulator: dt-bindings: qcom-labibb: Allow regulator-common properties
        regulator: dt-bindings: fixed-regulator: allow gpios property
        regulator: tps65219: use IS_ERR() to detect an error pointer
        regulator: mcp16502: add enum MCP16502_REG_HPM description
        regulator: fixed-helper: use the correct function name in comment
        regulator: act8945a: fix non-kernel-doc comments
        dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema
        regulator: dt-bindings: Convert Fairchild FAN53555 to DT schema
        regulator: dt-bindings: qcom,usb-vbus-regulator: change node name
        ...
      0175ec3a
    • Linus Torvalds's avatar
      Merge tag 'regmap-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 603ac530
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A quiet release for regmap: we've seen several cleanups, an update for
        a change in the MDIO APIs and one small fix"
      
      * tag 'regmap-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap-irq: Remove unused mask_invert flag
        regmap-irq: Remove unused type_invert flag
        regmap: Reorder fields in 'struct regmap_bus' to save some memory
        regmap: apply reg_base and reg_downshift for single register ops
      603ac530
    • Linus Torvalds's avatar
      Merge tag 'sound-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 064d7dcf
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "The majority of works in this cycle are about ASoC spread over trees.
        Most of them are for new devices and cleanups / refactoring works, and
        not much significant changes are seen in the core side.
      
        Below are some highlights:
      
        ASoC:
      
         - Continued refactoring to move into common helper functions
      
         - Lots of DT schema conversons and stylistic nits
      
         - Continued work on building out the new SOF IPC4 scheme
      
         - Continued work for Intel AVS
      
         - New drivers for Awinc AT88395, Infineon PEB2466, Iron Device
           SMA1303, Mediatek MT8188, Realtek RT712, Renesas IDT821034,
           Samsung/Tesla FSD SoC I2S, and TI TAS5720A-Q1
      
        ALSA:
      
         - A few cleanups to make the remove callbacks to void returns
      
         - FireWire refactoring and enhancements
      
         - PCM kselftest enhancements"
      
      * tag 'sound-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (398 commits)
        ALSA: hda/hdmi: Register with vga_switcheroo on Dual GPU Macbooks
        ASoC: soc-ac97: Return correct error codes
        ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
        ASoC: cs35l45: Remove separate namespace for tables
        ASoC: cs35l45: Remove separate tables module
        ASoC: soc-ac97: Convert to agnostic GPIO API
        ASoC: dt-bindings: renesas,rsnd.yaml: drop "dmas/dma-names" from "rcar_sound,ssi"
        ALSA: hda: cs35l41: Enable Amp High Pass Filter
        ALSA: hda: cs35l41: Ensure firmware/tuning pairs are always loaded
        ALSA: hda: cs35l41: Correct error condition handling
        ASoC: codecs: wcd934x: Use min macro for comparison and assignment
        ASoC: Intel: Skylake: Fix struct definition
        ASoC: tlv320adcx140: extend list of supported samplerates
        ASoC: imx-pcm-rpmsg: Remove unused variable
        SoC: rt5682s: Disable jack detection interrupt during suspend
        ASoC: SOF: Intel: hda-dsp: Set streaming flag for d0i3
        ASoC: SOF: Intel: Enable d0i3 work for ipc4
        ASoC: SOF: ipc4: Wake up dsp core before sending ipc msg
        ASoC: SOF: Intel: hda-dsp: use set_pm_gate according to ipc version
        ASoC: SOF: Introduce a new set_pm_gate() IPC PM op
        ...
      064d7dcf
    • Linus Torvalds's avatar
      bpf: add missing header file include · f3dd0c53
      Linus Torvalds authored
      Commit 74e19ef0 ("uaccess: Add speculation barrier to
      copy_from_user()") built fine on x86-64 and arm64, and that's the extent
      of my local build testing.
      
      It turns out those got the <linux/nospec.h> include incidentally through
      other header files (<linux/kvm_host.h> in particular), but that was not
      true of other architectures, resulting in build errors
      
        kernel/bpf/core.c: In function ‘___bpf_prog_run’:
        kernel/bpf/core.c:1913:3: error: implicit declaration of function ‘barrier_nospec’
      
      so just make sure to explicitly include the proper <linux/nospec.h>
      header file to make everybody see it.
      
      Fixes: 74e19ef0 ("uaccess: Add speculation barrier to copy_from_user()")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Reported-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Reported-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Tested-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Acked-by: default avatarAlexei Starovoitov <alexei.starovoitov@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f3dd0c53
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/hid-bpf' into for-linus · 904e28c6
      Benjamin Tissoires authored
      Initial support of HID-BPF (Benjamin Tissoires)
      
      The history is a little long for this series, as it was intended to be
      sent for v6.2. However some last minute issues forced us to postpone it
      to v6.3.
      
      Conflicts:
      * drivers/hid/i2c-hid/Kconfig:
        commit bf7660da ("HID: stop drivers from selecting CONFIG_HID")
        conflicts with commit 2afac81d ("HID: fix I2C_HID not selected
        when I2C_HID_OF_ELAN is")
        the resolution is simple enough: just drop the "default" and "select"
        lines as the new commit from Arnd is doing
      904e28c6
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/uclogic' into for-linus · a7386881
      Benjamin Tissoires authored
      UClogic assorted fixes and new devices support (José Expósito)
      a7386881
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/steam' into for-linus · b838d36f
      Benjamin Tissoires authored
      Add Steam Deck support (Vicki Pfau)
      b838d36f
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/sony' into for-linus · 52bb0598
      Benjamin Tissoires authored
      - enforce DS4 controllers to use hid-playstation (Roderick Colenbrander)
      - various hid-playstation gyro fixes (Roderick Colenbrander)
      52bb0598
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/multitouch' into for-linus · c21c9fee
      Benjamin Tissoires authored
      Allow to pass quirks from i2c-hid to hid-multitouch (Allen Ballway &
      Dmitry Torokhov)
      c21c9fee
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/mcp2221' into for-linus · 3ba2824c
      Benjamin Tissoires authored
      prevent UAF in delayed work (Benjamin Tissoires)
      3ba2824c
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/logitech' into for-linus · a74749ef
      Benjamin Tissoires authored
      - HID++ fixes for scroll wheel, protocol and debug (Bastien Nocera)
      - add support of Logitech G923 Xbox Edition steering wheel (Walt Holman)
      a74749ef
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/i2c-hid' into for-linus · 0f7566c7
      Benjamin Tissoires authored
      - dev_dbg cleanup (Thomas Weißschuh)
      - cleanup i2c-hid-acpi (Andy Shevchenko)
      - goodix: revert/fixes for an actual production device compared to the
        manufacturer sample (Douglas Anderson)
      0f7566c7
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/hid-sensor' into for-linus · 2818ccb4
      Benjamin Tissoires authored
      Allow more custom IIO sensors through HID (Philipp Jungkamp)
      2818ccb4
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/evision' into for-linus · 1f3a9573
      Benjamin Tissoires authored
      New hid-evision driver for EVision keyboards (Philippe Valembois)
      1f3a9573
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/bigben' into for-linus · 33238632
      Benjamin Tissoires authored
      UAF protection in work struct (Pietro Borrello)
      33238632
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/asus' into for-linus · 94109c9f
      Benjamin Tissoires authored
      UAF protection in work struct (Pietro Borrello)
      94109c9f
    • Benjamin Tissoires's avatar
      Merge branch 'for-6.3/hid-core' into for-linus · 06db2af3
      Benjamin Tissoires authored
      - constify hid_ll_driver (Thomas Weißschuh)
      - map standard Battery System Charging to upower (José Expósito)
      - couple of assorted fixes and new handling of HID usages (Jingyuan
        Liang & Ronald Tschalär)
      06db2af3
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 5b7c4cab
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core:
      
         - Add dedicated kmem_cache for typical/small skb->head, avoid having
           to access struct page at kfree time, and improve memory use.
      
         - Introduce sysctl to set default RPS configuration for new netdevs.
      
         - Define Netlink protocol specification format which can be used to
           describe messages used by each family and auto-generate parsers.
           Add tools for generating kernel data structures and uAPI headers.
      
         - Expose all net/core sysctls inside netns.
      
         - Remove 4s sleep in netpoll if carrier is instantly detected on
           boot.
      
         - Add configurable limit of MDB entries per port, and port-vlan.
      
         - Continue populating drop reasons throughout the stack.
      
         - Retire a handful of legacy Qdiscs and classifiers.
      
        Protocols:
      
         - Support IPv4 big TCP (TSO frames larger than 64kB).
      
         - Add IP_LOCAL_PORT_RANGE socket option, to control local port range
           on socket by socket basis.
      
         - Track and report in procfs number of MPTCP sockets used.
      
         - Support mixing IPv4 and IPv6 flows in the in-kernel MPTCP path
           manager.
      
         - IPv6: don't check net.ipv6.route.max_size and rely on garbage
           collection to free memory (similarly to IPv4).
      
         - Support Penultimate Segment Pop (PSP) flavor in SRv6 (RFC8986).
      
         - ICMP: add per-rate limit counters.
      
         - Add support for user scanning requests in ieee802154.
      
         - Remove static WEP support.
      
         - Support minimal Wi-Fi 7 Extremely High Throughput (EHT) rate
           reporting.
      
         - WiFi 7 EHT channel puncturing support (client & AP).
      
        BPF:
      
         - Add a rbtree data structure following the "next-gen data structure"
           precedent set by recently added linked list, that is, by using
           kfunc + kptr instead of adding a new BPF map type.
      
         - Expose XDP hints via kfuncs with initial support for RX hash and
           timestamp metadata.
      
         - Add BPF_F_NO_TUNNEL_KEY extension to bpf_skb_set_tunnel_key to
           better support decap on GRE tunnel devices not operating in collect
           metadata.
      
         - Improve x86 JIT's codegen for PROBE_MEM runtime error checks.
      
         - Remove the need for trace_printk_lock for bpf_trace_printk and
           bpf_trace_vprintk helpers.
      
         - Extend libbpf's bpf_tracing.h support for tracing arguments of
           kprobes/uprobes and syscall as a special case.
      
         - Significantly reduce the search time for module symbols by
           livepatch and BPF.
      
         - Enable cpumasks to be used as kptrs, which is useful for tracing
           programs tracking which tasks end up running on which CPUs in
           different time intervals.
      
         - Add support for BPF trampoline on s390x and riscv64.
      
         - Add capability to export the XDP features supported by the NIC.
      
         - Add __bpf_kfunc tag for marking kernel functions as kfuncs.
      
         - Add cgroup.memory=nobpf kernel parameter option to disable BPF
           memory accounting for container environments.
      
        Netfilter:
      
         - Remove the CLUSTERIP target. It has been marked as obsolete for
           years, and we still have WARN splats wrt races of the out-of-band
           /proc interface installed by this target.
      
         - Add 'destroy' commands to nf_tables. They are identical to the
           existing 'delete' commands, but do not return an error if the
           referenced object (set, chain, rule...) did not exist.
      
        Driver API:
      
         - Improve cpumask_local_spread() locality to help NICs set the right
           IRQ affinity on AMD platforms.
      
         - Separate C22 and C45 MDIO bus transactions more clearly.
      
         - Introduce new DCB table to control DSCP rewrite on egress.
      
         - Support configuration of Physical Layer Collision Avoidance (PLCA)
           Reconciliation Sublayer (RS) (802.3cg-2019). Modern version of
           shared medium Ethernet.
      
         - Support for MAC Merge layer (IEEE 802.3-2018 clause 99). Allowing
           preemption of low priority frames by high priority frames.
      
         - Add support for controlling MACSec offload using netlink SET.
      
         - Rework devlink instance refcounts to allow registration and
           de-registration under the instance lock. Split the code into
           multiple files, drop some of the unnecessarily granular locks and
           factor out common parts of netlink operation handling.
      
         - Add TX frame aggregation parameters (for USB drivers).
      
         - Add a new attr TCA_EXT_WARN_MSG to report TC (offload) warning
           messages with notifications for debug.
      
         - Allow offloading of UDP NEW connections via act_ct.
      
         - Add support for per action HW stats in TC.
      
         - Support hardware miss to TC action (continue processing in SW from
           a specific point in the action chain).
      
         - Warn if old Wireless Extension user space interface is used with
           modern cfg80211/mac80211 drivers. Do not support Wireless
           Extensions for Wi-Fi 7 devices at all. Everyone should switch to
           using nl80211 interface instead.
      
         - Improve the CAN bit timing configuration. Use extack to return
           error messages directly to user space, update the SJW handling,
           including the definition of a new default value that will benefit
           CAN-FD controllers, by increasing their oscillator tolerance.
      
        New hardware / drivers:
      
         - Ethernet:
            - nVidia BlueField-3 support (control traffic driver)
            - Ethernet support for imx93 SoCs
            - Motorcomm yt8531 gigabit Ethernet PHY
            - onsemi NCN26000 10BASE-T1S PHY (with support for PLCA)
            - Microchip LAN8841 PHY (incl. cable diagnostics and PTP)
            - Amlogic gxl MDIO mux
      
         - WiFi:
            - RealTek RTL8188EU (rtl8xxxu)
            - Qualcomm Wi-Fi 7 devices (ath12k)
      
         - CAN:
            - Renesas R-Car V4H
      
        Drivers:
      
         - Bluetooth:
            - Set Per Platform Antenna Gain (PPAG) for Intel controllers.
      
         - Ethernet NICs:
            - Intel (1G, igc):
               - support TSN / Qbv / packet scheduling features of i226 model
            - Intel (100G, ice):
               - use GNSS subsystem instead of TTY
               - multi-buffer XDP support
               - extend support for GPIO pins to E823 devices
            - nVidia/Mellanox:
               - update the shared buffer configuration on PFC commands
               - implement PTP adjphase function for HW offset control
               - TC support for Geneve and GRE with VF tunnel offload
               - more efficient crypto key management method
               - multi-port eswitch support
            - Netronome/Corigine:
               - add DCB IEEE support
               - support IPsec offloading for NFP3800
            - Freescale/NXP (enetc):
               - support XDP_REDIRECT for XDP non-linear buffers
               - improve reconfig, avoid link flap and waiting for idle
               - support MAC Merge layer
            - Other NICs:
               - sfc/ef100: add basic devlink support for ef100
               - ionic: rx_push mode operation (writing descriptors via MMIO)
               - bnxt: use the auxiliary bus abstraction for RDMA
               - r8169: disable ASPM and reset bus in case of tx timeout
               - cpsw: support QSGMII mode for J721e CPSW9G
               - cpts: support pulse-per-second output
               - ngbe: add an mdio bus driver
               - usbnet: optimize usbnet_bh() by avoiding unnecessary queuing
               - r8152: handle devices with FW with NCM support
               - amd-xgbe: support 10Mbps, 2.5GbE speeds and rx-adaptation
               - virtio-net: support multi buffer XDP
               - virtio/vsock: replace virtio_vsock_pkt with sk_buff
               - tsnep: XDP support
      
         - Ethernet high-speed switches:
            - nVidia/Mellanox (mlxsw):
               - add support for latency TLV (in FW control messages)
            - Microchip (sparx5):
               - separate explicit and implicit traffic forwarding rules, make
                 the implicit rules always active
               - add support for egress DSCP rewrite
               - IS0 VCAP support (Ingress Classification)
               - IS2 VCAP filters (protos, L3 addrs, L4 ports, flags, ToS
                 etc.)
               - ES2 VCAP support (Egress Access Control)
               - support for Per-Stream Filtering and Policing (802.1Q,
                 8.6.5.1)
      
         - Ethernet embedded switches:
            - Marvell (mv88e6xxx):
               - add MAB (port auth) offload support
               - enable PTP receive for mv88e6390
            - NXP (ocelot):
               - support MAC Merge layer
               - support for the the vsc7512 internal copper phys
            - Microchip:
               - lan9303: convert to PHYLINK
               - lan966x: support TC flower filter statistics
               - lan937x: PTP support for KSZ9563/KSZ8563 and LAN937x
               - lan937x: support Credit Based Shaper configuration
               - ksz9477: support Energy Efficient Ethernet
            - other:
               - qca8k: convert to regmap read/write API, use bulk operations
               - rswitch: Improve TX timestamp accuracy
      
         - Intel WiFi (iwlwifi):
            - EHT (Wi-Fi 7) rate reporting
            - STEP equalizer support: transfer some STEP (connection to radio
              on platforms with integrated wifi) related parameters from the
              BIOS to the firmware.
      
         - Qualcomm 802.11ax WiFi (ath11k):
            - IPQ5018 support
            - Fine Timing Measurement (FTM) responder role support
            - channel 177 support
      
         - MediaTek WiFi (mt76):
            - per-PHY LED support
            - mt7996: EHT (Wi-Fi 7) support
            - Wireless Ethernet Dispatch (WED) reset support
            - switch to using page pool allocator
      
         - RealTek WiFi (rtw89):
            - support new version of Bluetooth co-existance
      
         - Mobile:
            - rmnet: support TX aggregation"
      
      * tag 'net-next-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1872 commits)
        page_pool: add a comment explaining the fragment counter usage
        net: ethtool: fix __ethtool_dev_mm_supported() implementation
        ethtool: pse-pd: Fix double word in comments
        xsk: add linux/vmalloc.h to xsk.c
        sefltests: netdevsim: wait for devlink instance after netns removal
        selftest: fib_tests: Always cleanup before exit
        net/mlx5e: Align IPsec ASO result memory to be as required by hardware
        net/mlx5e: TC, Set CT miss to the specific ct action instance
        net/mlx5e: Rename CHAIN_TO_REG to MAPPED_OBJ_TO_REG
        net/mlx5: Refactor tc miss handling to a single function
        net/mlx5: Kconfig: Make tc offload depend on tc skb extension
        net/sched: flower: Support hardware miss to tc action
        net/sched: flower: Move filter handle initialization earlier
        net/sched: cls_api: Support hardware miss to tc action
        net/sched: Rename user cookie and act cookie
        sfc: fix builds without CONFIG_RTC_LIB
        sfc: clean up some inconsistent indentings
        net/mlx4_en: Introduce flexible array to silence overflow warning
        net: lan966x: Fix possible deadlock inside PTP
        net/ulp: Remove redundant ->clone() test in inet_clone_ulp().
        ...
      5b7c4cab
    • Linus Torvalds's avatar
      Merge tag 'v6.3-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 36289a03
      Linus Torvalds authored
      Pull crypto update from Herbert Xu:
       "API:
         - Use kmap_local instead of kmap_atomic
         - Change request callback to take void pointer
         - Print FIPS status in /proc/crypto (when enabled)
      
        Algorithms:
         - Add rfc4106/gcm support on arm64
         - Add ARIA AVX2/512 support on x86
      
        Drivers:
         - Add TRNG driver for StarFive SoC
         - Delete ux500/hash driver (subsumed by stm32/hash)
         - Add zlib support in qat
         - Add RSA support in aspeed"
      
      * tag 'v6.3-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (156 commits)
        crypto: x86/aria-avx - Do not use avx2 instructions
        crypto: aspeed - Fix modular aspeed-acry
        crypto: hisilicon/qm - fix coding style issues
        crypto: hisilicon/qm - update comments to match function
        crypto: hisilicon/qm - change function names
        crypto: hisilicon/qm - use min() instead of min_t()
        crypto: hisilicon/qm - remove some unused defines
        crypto: proc - Print fips status
        crypto: crypto4xx - Call dma_unmap_page when done
        crypto: octeontx2 - Fix objects shared between several modules
        crypto: nx - Fix sparse warnings
        crypto: ecc - Silence sparse warning
        tls: Pass rec instead of aead_req into tls_encrypt_done
        crypto: api - Remove completion function scaffolding
        tls: Remove completion function scaffolding
        tipc: Remove completion function scaffolding
        net: ipv6: Remove completion function scaffolding
        net: ipv4: Remove completion function scaffolding
        net: macsec: Remove completion function scaffolding
        dm: Remove completion function scaffolding
        ...
      36289a03
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.3-1' of... · 69308402
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
      
       - AMD PMC: Improvements to aid s2idle debugging
      
       - Dell WMI-DDV: hwmon support
      
       - INT3472 camera sensor power-management: Improve privacy LED support
      
       - Intel VSEC: Base TPMI (Topology Aware Register and PM Capsule
         Interface) support
      
       - Mellanox: SN5600 and Nvidia L1 switch support
      
       - Microsoft Surface Support: Various cleanups + code improvements
      
       - tools/intel-speed-select: Various improvements
      
       - Miscellaneous other cleanups / fixes
      
      * tag 'platform-drivers-x86-v6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (80 commits)
        platform/x86: nvidia-wmi-ec-backlight: Add force module parameter
        platform/x86/amd/pmf: Add depends on CONFIG_POWER_SUPPLY
        platform/x86: dell-ddv: Prefer asynchronous probing
        platform/x86: dell-ddv: Add hwmon support
        Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces
        platform: mellanox: mlx-platform: Move bus shift assignment out of the loop
        platform: mellanox: mlx-platform: Add mux selection register to regmap
        platform_data/mlxreg: Add field with mapped resource address
        platform/mellanox: mlxreg-hotplug: Allow more flexible hotplug events configuration
        platform: mellanox: Extend all systems with I2C notification callback
        platform: mellanox: Split logic in init and exit flow
        platform: mellanox: Split initialization procedure
        platform: mellanox: Introduce support of new Nvidia L1 switch
        platform: mellanox: Introduce support for next-generation 800GB/s switch
        platform: mellanox: Cosmetic changes - rename to more common name
        platform: mellanox: Change "reset_pwr_converter_fail" attribute
        platform: mellanox: Introduce support for rack manager switch
        MAINTAINERS: dell-wmi-sysman: drop Divya Bharathi
        x86/platform/uv: Make kobj_type structure constant
        platform/x86: think-lmi: Make kobj_type structure constant
        ...
      69308402
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v6.3' of... · 5f5ce6bc
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Tzung-Bi Shih:
       "New drivers:
         - cros_ec_uart for ChromeOS EC protocol over UART
         - cros_typec_vdm for USB PD Vendor Defined Message
      
        Improvements:
         - Preserve logs as much as possible when EC panics
         - Shutdown to refrain from potential HW damages when EC panics
      
        Fixes:
         - Fix DP_PORT_VDO to include DP_CAP_RECEPTACLE
         - Fix a lockdep false positive
      
        Cleanups:
         - Use sysfs_emit*() instead of scnprintf()
         - Use asm instead of asm-generic for unaligned.h
      
        Misc:
         - Rename module name from cros_ec_typec to cros-ec-typec
         - Minor fixes"
      
      * tag 'tag-chrome-platform-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: (34 commits)
        platform/chrome: cros_ec_typec: Fix spelling mistake
        platform/chrome: cros_typec_vdm: Add Attention support
        platform/chrome: cros_ec: Add VDM attention headers
        platform/chrome: cros_typec_vdm: Fix VDO copy
        platform/chrome: cros_ec_typec: allow deferred probe of switch handles
        platform/chrome: cros_ec_proto: remove big stub objects from stack
        platform/chrome: cros_ec_uart: fix negative type promoted to high
        platform/chrome: cros_ec: Use per-device lockdep key
        platform/chrome: fix kernel-doc warnings for cros_ec_command
        platform/chrome: fix kernel-doc warning for last_resume_result
        platform/chrome: fix kernel-doc warning for suspend_timeout_ms
        platform/chrome: fix kernel-doc warnings for panic notifier
        platform/chrome: cros_ec_lpc: initialize the buf variable
        platform/chrome: cros_ec: Fix panic notifier registration
        platform/chrome: cros_typec_switch: Check for retimer flag
        platform/chrome: cros_typec_switch: Use fwnode* prop check
        platform/chrome: cros_typec_vdm: Add VDM send support
        platform/chrome: cros_typec_vdm: Add VDM reply support
        platform/chrome: cros_ec_typec: Add initial VDM support
        platform/chrome: cros_ec_typec: Alter module name with hyphens
        ...
      5f5ce6bc
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.3-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 239451e9
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - help deprecate the /proc/xen files by making the related information
         available via sysfs
      
       - mark the Xen variants of play_dead "noreturn"
      
       - support a shared Xen platform interrupt
      
       - several small cleanups and fixes
      
      * tag 'for-linus-6.3-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: sysfs: make kobj_type structure constant
        x86/Xen: drop leftover VM-assist uses
        xen: Replace one-element array with flexible-array member
        xen/grant-dma-iommu: Implement a dummy probe_device() callback
        xen/pvcalls-back: fix permanently masked event channel
        xen: Allow platform PCI interrupt to be shared
        x86/xen/time: prefer tsc as clocksource when it is invariant
        x86/xen: mark xen_pv_play_dead() as __noreturn
        x86/xen: don't let xen_pv_play_dead() return
        drivers/xen/hypervisor: Expose Xen SIF flags to userspace
      239451e9
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20230220' of... · b8878e5a
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20230220' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv updates from Wei Liu:
      
       - allow Linux to run as the nested root partition for Microsoft
         Hypervisor (Jinank Jain and Nuno Das Neves)
      
       - clean up the return type of callback functions (Dawei Li)
      
      * tag 'hyperv-next-signed-20230220' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        x86/hyperv: Fix hv_get/set_register for nested bringup
        Drivers: hv: Make remove callback of hyperv driver void returned
        Drivers: hv: Enable vmbus driver for nested root partition
        x86/hyperv: Add an interface to do nested hypercalls
        Drivers: hv: Setup synic registers in case of nested root partition
        x86/hyperv: Add support for detecting nested hypervisor
      b8878e5a
  5. 21 Feb, 2023 6 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 8bf1a529
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
      
       - Support for arm64 SME 2 and 2.1. SME2 introduces a new 512-bit
         architectural register (ZT0, for the look-up table feature) that
         Linux needs to save/restore
      
       - Include TPIDR2 in the signal context and add the corresponding
         kselftests
      
       - Perf updates: Arm SPEv1.2 support, HiSilicon uncore PMU updates, ACPI
         support to the Marvell DDR and TAD PMU drivers, reset DTM_PMU_CONFIG
         (ARM CMN) at probe time
      
       - Support for DYNAMIC_FTRACE_WITH_CALL_OPS on arm64
      
       - Permit EFI boot with MMU and caches on. Instead of cleaning the
         entire loaded kernel image to the PoC and disabling the MMU and
         caches before branching to the kernel bare metal entry point, leave
         the MMU and caches enabled and rely on EFI's cacheable 1:1 mapping of
         all of system RAM to populate the initial page tables
      
       - Expose the AArch32 (compat) ELF_HWCAP features to user in an arm64
         kernel (the arm32 kernel only defines the values)
      
       - Harden the arm64 shadow call stack pointer handling: stash the shadow
         stack pointer in the task struct on interrupt, load it directly from
         this structure
      
       - Signal handling cleanups to remove redundant validation of size
         information and avoid reading the same data from userspace twice
      
       - Refactor the hwcap macros to make use of the automatically generated
         ID registers. It should make new hwcaps writing less error prone
      
       - Further arm64 sysreg conversion and some fixes
      
       - arm64 kselftest fixes and improvements
      
       - Pointer authentication cleanups: don't sign leaf functions, unify
         asm-arch manipulation
      
       - Pseudo-NMI code generation optimisations
      
       - Minor fixes for SME and TPIDR2 handling
      
       - Miscellaneous updates: ARCH_FORCE_MAX_ORDER is now selectable,
         replace strtobool() to kstrtobool() in the cpufeature.c code, apply
         dynamic shadow call stack in two passes, intercept pfn changes in
         set_pte_at() without the required break-before-make sequence, attempt
         to dump all instructions on unhandled kernel faults
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (130 commits)
        arm64: fix .idmap.text assertion for large kernels
        kselftest/arm64: Don't require FA64 for streaming SVE+ZA tests
        kselftest/arm64: Copy whole EXTRA context
        arm64: kprobes: Drop ID map text from kprobes blacklist
        perf: arm_spe: Print the version of SPE detected
        perf: arm_spe: Add support for SPEv1.2 inverted event filtering
        perf: Add perf_event_attr::config3
        arm64/sme: Fix __finalise_el2 SMEver check
        drivers/perf: fsl_imx8_ddr_perf: Remove set-but-not-used variable
        arm64/signal: Only read new data when parsing the ZT context
        arm64/signal: Only read new data when parsing the ZA context
        arm64/signal: Only read new data when parsing the SVE context
        arm64/signal: Avoid rereading context frame sizes
        arm64/signal: Make interface for restore_fpsimd_context() consistent
        arm64/signal: Remove redundant size validation from parse_user_sigframe()
        arm64/signal: Don't redundantly verify FPSIMD magic
        arm64/cpufeature: Use helper macros to specify hwcaps
        arm64/cpufeature: Always use symbolic name for feature value in hwcaps
        arm64/sysreg: Initial unsigned annotations for ID registers
        arm64/sysreg: Initial annotation of signed ID registers
        ...
      8bf1a529
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · b327dfe0
      Linus Torvalds authored
      Pull ARM udpates from Russell King:
      
       - Improve Kconfig help text for Cortex A8 and Cortex A9 errata
      
       - Kconfig spelling and grammar fixes
      
       - Allow kernel-mode VFP/Neon in softirq context
      
       - Use Neon in softirq context
      
       - Implement AES-CTR/GHASH version of GCM
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9289/1: Allow pre-ARMv5 builds with ld.lld 16.0.0 and newer
        ARM: 9288/1: Kconfigs: fix spelling & grammar
        ARM: 9286/1: crypto: Implement fused AES-CTR/GHASH version of GCM
        ARM: 9285/1: remove meaningless arch/arm/mach-rda/Makefile
        ARM: 9283/1: permit non-nested kernel mode NEON in softirq context
        ARM: 9282/1: vfp: Manipulate task VFP state with softirqs disabled
        ARM: 9281/1: improve Cortex A8/A9 errata help text
      b327dfe0
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · eb6d5bbe
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Add seccomp support
      
       - defconfig updates
      
       - Miscellaneous fixes and improvements
      
      * tag 'm68k-for-v6.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: /proc/hardware should depend on PROC_FS
        selftests/seccomp: Add m68k support
        m68k: Add kernel seccomp support
        m68k: Check syscall_trace_enter() return code
        m68k: defconfig: Update defconfigs for v6.2-rc3
        m68k: q40: Do not initialise statics to 0
      eb6d5bbe
    • Linus Torvalds's avatar
      Merge tag 's390-6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · bcf5470e
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
      
       - Large cleanup of the con3270/tty3270 driver. Among others this fixes:
           - Background Color Support
           - ASCII Line Character Support
           - VT100 Support
           - Geometries other than 80x24
      
       - Cleanup and improve cmpxchg() code. Also add cmpxchg_user_key() to
         uaccess functions, which will be used by KVM to access KVM guest
         memory with a specific storage key
      
       - Add support for user space events counting to CPUMF
      
       - Cleanup the vfio/ccw code, which also allows now to properly support
         2K Format-2 IDALs
      
       - Move kernel page table allocation and initialization to decompressor,
         which finally allows to enter the kernel with dynamic address
         translation enabled. This in turn allows to get rid of code with
         special handling in the kernel, which has to distinguish if DAT is on
         or off
      
       - Replace kretprobe with rethook
      
       - Various improvements to vfio/ap queue resets:
           - Use TAPQ to verify completion of a reset in progress rather than
             multiple invocations of ZAPQ.
           - Check TAPQ response codes when verifying successful completion of
             ZAPQ.
           - Fix erroneous handling of some error response codes.
           - Increase the maximum amount of time to wait for successful
             completion of ZAPQ
      
       - Rework system call wrappers to get rid of alias functions, which were
         only left on s390
      
       - Cleanup diag288_wdt watchdog driver. It has been agreed on with
         Guenter Roeck that this goes upstream via the s390 tree
      
       - Add missing loadparm parameter handling for list-directed ECKD
         ipl/reipl
      
       - Various improvements to memory detection code
      
       - Remove arch_cpu_idle_time() since the current implementation is
         broken, and allows user space observable accounted idle times which
         can temporarily decrease
      
       - Add Reset DAT-Protection support: (only) allow to change PTEs from RO
         to RW with a new RDP instruction. Unlike the currently used IPTE
         instruction, this does not necessarily guarantee that TLBs of all
         CPUs are synchronously flushed; and that remote CPUs can see spurious
         protection faults. The overall improvement for not requiring an all
         CPU synchronization, like it is required with IPTE, should be
         beneficial
      
       - Fix KFENCE page fault reporting
      
       - Smaller cleanups and improvement all over the place
      
      * tag 's390-6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (182 commits)
        s390/irq,idle: simplify idle check
        s390/processor: add test_and_set_cpu_flag() and test_and_clear_cpu_flag()
        s390/processor: let cpu helper functions return boolean values
        s390/kfence: fix page fault reporting
        s390/zcrypt: introduce ctfm field in struct CPRBX
        s390: remove confusing comment from uapi types header file
        vfio/ccw: remove WARN_ON during shutdown
        s390/entry: remove toolchain dependent micro-optimization
        s390/mem_detect: do not truncate online memory ranges info
        s390/vx: remove __uint128_t type from __vector128 struct again
        s390/mm: add support for RDP (Reset DAT-Protection)
        s390/mm: define private VM_FAULT_* reasons from top bits
        Documentation: s390: correct spelling
        s390/ap: fix status returned by ap_qact()
        s390/ap: fix status returned by ap_aqic()
        s390: vfio-ap: tighten the NIB validity check
        Revert "s390/mem_detect: do not update output parameters on failure"
        s390/idle: remove arch_cpu_idle_time() and corresponding code
        s390/vx: use simple assignments to access __vector128 members
        s390/vx: add 64 and 128 bit members to __vector128 struct
        ...
      bcf5470e
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v6.3_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 87793476
      Linus Torvalds authored
      Pull x86 cpuid updates from Borislav Petkov:
      
       - Cache the AMD debug registers in per-CPU variables to avoid MSR
         writes where possible, when supporting a debug registers swap feature
         for SEV-ES guests
      
       - Add support for AMD's version of eIBRS called Automatic IBRS which is
         a set-and-forget control of indirect branch restriction speculation
         resources on privilege change
      
       - Add support for a new x86 instruction - LKGS - Load kernel GS which
         is part of the FRED infrastructure
      
       - Reset SPEC_CTRL upon init to accomodate use cases like kexec which
         rediscover
      
       - Other smaller fixes and cleanups
      
      * tag 'x86_cpu_for_v6.3_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/amd: Cache debug register values in percpu variables
        KVM: x86: Propagate the AMD Automatic IBRS feature to the guest
        x86/cpu: Support AMD Automatic IBRS
        x86/cpu, kvm: Add the SMM_CTL MSR not present feature
        x86/cpu, kvm: Add the Null Selector Clears Base feature
        x86/cpu, kvm: Move X86_FEATURE_LFENCE_RDTSC to its native leaf
        x86/cpu, kvm: Add the NO_NESTED_DATA_BP feature
        KVM: x86: Move open-coded CPUID leaf 0x80000021 EAX bit propagation code
        x86/cpu, kvm: Add support for CPUID_80000021_EAX
        x86/gsseg: Add the new <asm/gsseg.h> header to <asm/asm-prototypes.h>
        x86/gsseg: Use the LKGS instruction if available for load_gs_index()
        x86/gsseg: Move load_gs_index() to its own new header file
        x86/gsseg: Make asm_load_gs_index() take an u16
        x86/opcode: Add the LKGS instruction to x86-opcode-map
        x86/cpufeature: Add the CPU feature bit for LKGS
        x86/bugs: Reset speculation control settings on init
        x86/cpu: Remove redundant extern x86_read_arch_cap_msr()
      87793476
    • Dave Hansen's avatar
      uaccess: Add speculation barrier to copy_from_user() · 74e19ef0
      Dave Hansen authored
      The results of "access_ok()" can be mis-speculated.  The result is that
      you can end speculatively:
      
      	if (access_ok(from, size))
      		// Right here
      
      even for bad from/size combinations.  On first glance, it would be ideal
      to just add a speculation barrier to "access_ok()" so that its results
      can never be mis-speculated.
      
      But there are lots of system calls just doing access_ok() via
      "copy_to_user()" and friends (example: fstat() and friends).  Those are
      generally not problematic because they do not _consume_ data from
      userspace other than the pointer.  They are also very quick and common
      system calls that should not be needlessly slowed down.
      
      "copy_from_user()" on the other hand uses a user-controller pointer and
      is frequently followed up with code that might affect caches.  Take
      something like this:
      
      	if (!copy_from_user(&kernelvar, uptr, size))
      		do_something_with(kernelvar);
      
      If userspace passes in an evil 'uptr' that *actually* points to a kernel
      addresses, and then do_something_with() has cache (or other)
      side-effects, it could allow userspace to infer kernel data values.
      
      Add a barrier to the common copy_from_user() code to prevent
      mis-speculated values which happen after the copy.
      
      Also add a stub for architectures that do not define barrier_nospec().
      This makes the macro usable in generic code.
      
      Since the barrier is now usable in generic code, the x86 #ifdef in the
      BPF code can also go away.
      Reported-by: default avatarJordy Zomer <jordyzomer@google.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linuxfoundation.org>
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: Daniel Borkmann <daniel@iogearbox.net>   # BPF bits
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      74e19ef0