1. 13 Jan, 2022 2 commits
    • Maxim Mikityanskiy's avatar
      sch_api: Don't skip qdisc attach on ingress · de2d807b
      Maxim Mikityanskiy authored
      The attach callback of struct Qdisc_ops is used by only a few qdiscs:
      mq, mqprio and htb. qdisc_graft() contains the following logic
      (pseudocode):
      
          if (!qdisc->ops->attach) {
              if (ingress)
                  do ingress stuff;
              else
                  do egress stuff;
          }
          if (!ingress) {
              ...
              if (qdisc->ops->attach)
                  qdisc->ops->attach(qdisc);
          } else {
              ...
          }
      
      As we see, the attach callback is not called if the qdisc is being
      attached to ingress (TC_H_INGRESS). That wasn't a problem for mq and
      mqprio, since they contain a check that they are attached to TC_H_ROOT,
      and they can't be attached to TC_H_INGRESS anyway.
      
      However, the commit cited below added the attach callback to htb. It is
      needed for the hardware offload, but in the non-offload mode it
      simulates the "do egress stuff" part of the pseudocode above. The
      problem is that when htb is attached to ingress, neither "do ingress
      stuff" nor attach() is called. It results in an inconsistency, and the
      following message is printed to dmesg:
      
      unregister_netdevice: waiting for lo to become free. Usage count = 2
      
      This commit addresses the issue by running "do ingress stuff" in the
      ingress flow even in the attach callback is present, which is fine,
      because attach isn't going to be called afterwards.
      
      The bug was found by syzbot and reported by Eric.
      
      Fixes: d03b195b ("sch_htb: Hierarchical QoS hardware offload")
      Signed-off-by: default avatarMaxim Mikityanskiy <maximmi@nvidia.com>
      Reported-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de2d807b
    • Pawel Dembicki's avatar
      net: qmi_wwan: add ZTE MF286D modem 19d2:1485 · 078c6a1c
      Pawel Dembicki authored
      Modem from ZTE MF286D is an Qualcomm MDM9250 based 3G/4G modem.
      
      T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
      D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
      P:  Vendor=19d2 ProdID=1485 Rev=52.87
      S:  Manufacturer=ZTE,Incorporated
      S:  Product=ZTE Technologies MSM
      S:  SerialNumber=MF286DZTED000000
      C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=896mA
      A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
      I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=ff Driver=rndis_host
      E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
      E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
      E:  Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
      E:  Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
      E:  Ad=88(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
      E:  Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      E:  Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=usbfs
      E:  Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      E:  Ad=89(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
      Signed-off-by: default avatarPawel Dembicki <paweldembicki@gmail.com>
      Acked-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      078c6a1c
  2. 12 Jan, 2022 29 commits
  3. 11 Jan, 2022 9 commits
    • Saeed Mahameed's avatar
      Revert "net: vertexcom: default to disabled on kbuild" · 7d6019b6
      Saeed Mahameed authored
      This reverts commit 6bf950a8.
      
      To align with other vendors, NET_VENDOR configs are supposed to be ON by
      default, while their drivers should default to OFF.
      Suggested-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
      Link: https://lore.kernel.org/r/20220110205246.66298-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7d6019b6
    • Pablo Neira Ayuso's avatar
      netfilter: nf_tables: typo NULL check in _clone() function · 51edb2ff
      Pablo Neira Ayuso authored
      This should check for NULL in case memory allocation fails.
      Reported-by: default avatarJulian Wiedmann <jwiedmann.dev@gmail.com>
      Fixes: 3b9e2ea6 ("netfilter: nft_limit: move stateful fields out of expression data")
      Fixes: 37f319f3 ("netfilter: nft_connlimit: move stateful fields out of expression data")
      Fixes: 33a24de3 ("netfilter: nft_last: move stateful fields out of expression data")
      Fixes: ed0a0c60 ("netfilter: nft_quota: move stateful fields out of expression data")
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      Link: https://lore.kernel.org/r/20220110194817.53481-1-pablo@netfilter.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      51edb2ff
    • 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