diff -u linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/hw-vuln/index.rst linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/hw-vuln/index.rst --- linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/hw-vuln/index.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/hw-vuln/index.rst @@ -22,0 +23 @@ + srso diff -u linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/kernel-parameters.txt linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/kernel-parameters.txt --- linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/kernel-parameters.txt +++ linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/kernel-parameters.txt @@ -923,10 +923,6 @@ debugpat [X86] Enable PAT debugging - decnet.addr= [HW,NET] - Format: [,] - See also Documentation/networking/decnet.rst. - default_hugepagesz= [HW] The size of the default HugeTLB page. This is the size represented by the legacy /proc/ hugepages @@ -5478,6 +5474,17 @@ Not specifying this option is equivalent to spectre_v2_user=auto. + spec_rstack_overflow= + [X86] Control RAS overflow mitigation on AMD Zen CPUs + + off - Disable mitigation + microcode - Enable microcode mitigation only + safe-ret - Enable sw-only safe RET mitigation (default) + ibpb - Enable mitigation by issuing IBPB on + kernel entry + ibpb-vmexit - Issue IBPB only on VMEXIT + (cloud-specific mitigation) + spec_store_bypass_disable= [HW] Control Speculative Store Bypass (SSB) Disable mitigation (Speculative Store Bypass vulnerability) diff -u linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/sysctl/net.rst linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/sysctl/net.rst --- linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/sysctl/net.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/sysctl/net.rst @@ -34,13 +34,14 @@ ========= =================== = ========== ================== Directory Content Directory Content ========= =================== = ========== ================== - core General parameter appletalk Appletalk protocol - unix Unix domain sockets netrom NET/ROM - 802 E802 protocol ax25 AX25 - ethernet Ethernet protocol rose X.25 PLP layer - ipv4 IP version 4 x25 X.25 protocol - bridge Bridging decnet DEC net - ipv6 IP version 6 tipc TIPC + 802 E802 protocol mptcp Multipath TCP + appletalk Appletalk protocol netfilter Network Filter + ax25 AX25 netrom NET/ROM + bridge Bridging rose X.25 PLP layer + core General parameter tipc TIPC + ethernet Ethernet protocol unix Unix domain sockets + ipv4 IP version 4 x25 X.25 protocol + ipv6 IP version 6 ========= =================== = ========== ================== 1. /proc/sys/net/core - Network core options diff -u linux-intel-iotg-5.15-5.15.0/Documentation/arm64/silicon-errata.rst linux-intel-iotg-5.15-5.15.0/Documentation/arm64/silicon-errata.rst --- linux-intel-iotg-5.15-5.15.0/Documentation/arm64/silicon-errata.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/arm64/silicon-errata.rst @@ -102,12 +102,16 @@ +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A510 | #2457168 | ARM64_ERRATUM_2457168 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1349291 | N/A | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | MMU-500 | #841119,826419 | N/A | +----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+ diff -u linux-intel-iotg-5.15-5.15.0/MAINTAINERS linux-intel-iotg-5.15-5.15.0/MAINTAINERS --- linux-intel-iotg-5.15-5.15.0/MAINTAINERS +++ linux-intel-iotg-5.15-5.15.0/MAINTAINERS @@ -5241,13 +5241,6 @@ F: include/uapi/linux/dccp.h F: net/dccp/ -DECnet NETWORK LAYER -L: linux-decnet-user@lists.sourceforge.net -S: Orphan -W: http://linux-decnet.sourceforge.net -F: Documentation/networking/decnet.rst -F: net/decnet/ - DECSTATION PLATFORM SUPPORT M: "Maciej W. Rozycki" L: linux-mips@vger.kernel.org diff -u linux-intel-iotg-5.15-5.15.0/Makefile linux-intel-iotg-5.15-5.15.0/Makefile --- linux-intel-iotg-5.15-5.15.0/Makefile +++ linux-intel-iotg-5.15-5.15.0/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 15 -SUBLEVEL = 116 +SUBLEVEL = 122 EXTRAVERSION = NAME = Trick or Treat diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/at91-sama7g5ek.dts linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/at91-sama7g5ek.dts --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/at91-sama7g5ek.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/at91-sama7g5ek.dts @@ -659,7 +659,7 @@ }; &shdwc { - atmel,shdwc-debouncer = <976>; + debounce-delay-us = <976>; status = "okay"; input@0 { diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53015-meraki-mr26.dts linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53015-meraki-mr26.dts --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53015-meraki-mr26.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53015-meraki-mr26.dts @@ -128,7 +128,7 @@ fixed-link { speed = <1000>; - duplex-full; + full-duplex; }; }; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53016-meraki-mr32.dts linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53016-meraki-mr32.dts --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53016-meraki-mr32.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm53016-meraki-mr32.dts @@ -212,7 +212,7 @@ fixed-link { speed = <1000>; - duplex-full; + full-duplex; }; }; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm5301x.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm5301x.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm5301x.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/bcm5301x.dtsi @@ -542,7 +542,6 @@ "spi_lr_session_done", "spi_lr_overread"; clocks = <&iprocmed>; - clock-names = "iprocmed"; num-cs = <2>; #address-cells = <1>; #size-cells = <0>; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-pico-hobbit.dts linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-pico-hobbit.dts --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-pico-hobbit.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-pico-hobbit.dts @@ -64,7 +64,7 @@ interrupt-parent = <&gpio2>; interrupts = <7 0>; spi-max-frequency = <1000000>; - pendown-gpio = <&gpio2 7 0>; + pendown-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>; vcc-supply = <®_3p3v>; ti,x-min = /bits/ 16 <0>; ti,x-max = /bits/ 16 <4095>; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-sdb.dts linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-sdb.dts --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-sdb.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/imx7d-sdb.dts @@ -205,7 +205,7 @@ pinctrl-0 = <&pinctrl_tsc2046_pendown>; interrupt-parent = <&gpio2>; interrupts = <29 0>; - pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio2 29 GPIO_ACTIVE_LOW>; touchscreen-max-pressure = <255>; wakeup-source; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8.dtsi @@ -749,13 +749,13 @@ &uart_B { compatible = "amlogic,meson8-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; }; &uart_C { compatible = "amlogic,meson8-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8b.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8b.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8b.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/meson8b.dtsi @@ -737,13 +737,13 @@ &uart_B { compatible = "amlogic,meson8b-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; }; &uart_C { compatible = "amlogic,meson8b-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi @@ -88,7 +88,7 @@ sound { compatible = "audio-graph-card"; - label = "STM32MP1-AV96-HDMI"; + label = "STM32-AV96-HDMI"; dais = <&sai2a_port>; status = "okay"; }; @@ -267,6 +267,12 @@ }; }; }; + + dh_mac_eeprom: eeprom@53 { + compatible = "atmel,24c02"; + reg = <0x53>; + pagesize = <16>; + }; }; <dc { diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi @@ -171,12 +171,6 @@ status = "disabled"; }; }; - - eeprom@53 { - compatible = "atmel,24c02"; - reg = <0x53>; - pagesize = <16>; - }; }; &iwdg2 { diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi @@ -438,7 +438,7 @@ i2s2_port: port { i2s2_endpoint: endpoint { remote-endpoint = <&sii9022_tx_endpoint>; - format = "i2s"; + dai-format = "i2s"; mclk-fs = <256>; }; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/include/asm/assembler.h linux-intel-iotg-5.15-5.15.0/arch/arm/include/asm/assembler.h --- linux-intel-iotg-5.15-5.15.0/arch/arm/include/asm/assembler.h +++ linux-intel-iotg-5.15-5.15.0/arch/arm/include/asm/assembler.h @@ -326,6 +326,23 @@ #endif .endm +/* + * Raw SMP data memory barrier + */ + .macro __smp_dmb mode +#if __LINUX_ARM_ARCH__ >= 7 + .ifeqs "\mode","arm" + dmb ish + .else + W(dmb) ish + .endif +#elif __LINUX_ARM_ARCH__ == 6 + mcr p15, 0, r0, c7, c10, 5 @ dmb +#else + .error "Incompatible SMP platform" +#endif + .endm + #if defined(CONFIG_CPU_V7M) /* * setmode is used to assert to be in svc mode during boot. For v7-M diff -u linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/core.c linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/core.c --- linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/core.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/core.c @@ -233,7 +233,7 @@ * kprobe, and that level is reserved for user kprobe handlers, so we can't * risk encountering a new kprobe in an interrupt handler. */ -void __kprobes kprobe_handler(struct pt_regs *regs) +static void __kprobes kprobe_handler(struct pt_regs *regs) { struct kprobe *p, *cur; struct kprobe_ctlblk *kcb; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/Kconfig linux-intel-iotg-5.15-5.15.0/arch/arm64/Kconfig --- linux-intel-iotg-5.15-5.15.0/arch/arm64/Kconfig +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/Kconfig @@ -733,6 +733,47 @@ If unsure, say Y. +config ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE + bool + +config ARM64_ERRATUM_2119858 + bool "Cortex-A710: 2119858: workaround TRBE overwriting trace data in FILL mode" + default y + depends on COMPILE_TEST # Until the CoreSight TRBE driver changes are in + depends on CORESIGHT_TRBE + select ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE + help + This option adds the workaround for ARM Cortex-A710 erratum 2119858. + + Affected Cortex-A710 cores could overwrite up to 3 cache lines of trace + data at the base of the buffer (pointed to by TRBASER_EL1) in FILL mode in + the event of a WRAP event. + + Work around the issue by always making sure we move the TRBPTR_EL1 by + 256 bytes before enabling the buffer and filling the first 256 bytes of + the buffer with ETM ignore packets upon disabling. + + If unsure, say Y. + +config ARM64_ERRATUM_2139208 + bool "Neoverse-N2: 2139208: workaround TRBE overwriting trace data in FILL mode" + default y + depends on COMPILE_TEST # Until the CoreSight TRBE driver changes are in + depends on CORESIGHT_TRBE + select ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE + help + This option adds the workaround for ARM Neoverse-N2 erratum 2139208. + + Affected Neoverse-N2 cores could overwrite up to 3 cache lines of trace + data at the base of the buffer (pointed to by TRBASER_EL1) in FILL mode in + the event of a WRAP event. + + Work around the issue by always making sure we move the TRBPTR_EL1 by + 256 bytes before enabling the buffer and filling the first 256 bytes of + the buffer with ETM ignore packets upon disabling. + + If unsure, say Y. + config CAVIUM_ERRATUM_22375 bool "Cavium erratum 22375, 24313" default y diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/freescale/imx8mn-beacon-baseboard.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/freescale/imx8mn-beacon-baseboard.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/freescale/imx8mn-beacon-baseboard.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/freescale/imx8mn-beacon-baseboard.dtsi @@ -81,7 +81,7 @@ &ecspi2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_espi2>; - cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; + cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; status = "okay"; eeprom@0 { @@ -203,7 +203,7 @@ MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 - MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x41 + MX8MN_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x41 >; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/mediatek/mt8192.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/mediatek/mt8192.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/mediatek/mt8192.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/mediatek/mt8192.dtsi @@ -41,7 +41,8 @@ clock-frequency = <1701000000>; cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; - capacity-dmips-mhz = <530>; + performance-domains = <&performance 0>; + capacity-dmips-mhz = <427>; }; cpu1: cpu@100 { @@ -52,7 +53,8 @@ clock-frequency = <1701000000>; cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; - capacity-dmips-mhz = <530>; + performance-domains = <&performance 0>; + capacity-dmips-mhz = <427>; }; cpu2: cpu@200 { @@ -63,7 +65,8 @@ clock-frequency = <1701000000>; cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; - capacity-dmips-mhz = <530>; + performance-domains = <&performance 0>; + capacity-dmips-mhz = <427>; }; cpu3: cpu@300 { @@ -74,7 +77,8 @@ clock-frequency = <1701000000>; cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; - capacity-dmips-mhz = <530>; + performance-domains = <&performance 0>; + capacity-dmips-mhz = <427>; }; cpu4: cpu@400 { @@ -85,6 +89,7 @@ clock-frequency = <2171000000>; cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; + performance-domains = <&performance 1>; capacity-dmips-mhz = <1024>; }; @@ -96,6 +101,7 @@ clock-frequency = <2171000000>; cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; + performance-domains = <&performance 1>; capacity-dmips-mhz = <1024>; }; @@ -107,6 +113,7 @@ clock-frequency = <2171000000>; cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; + performance-domains = <&performance 1>; capacity-dmips-mhz = <1024>; }; @@ -118,6 +125,7 @@ clock-frequency = <2171000000>; cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; + performance-domains = <&performance 1>; capacity-dmips-mhz = <1024>; }; @@ -234,6 +242,12 @@ compatible = "simple-bus"; ranges; + performance: performance-controller@11bc10 { + compatible = "mediatek,cpufreq-hw"; + reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>; + #performance-domain-cells = <1>; + }; + gic: interrupt-controller@c000000 { compatible = "arm,gic-v3"; #interrupt-cells = <4>; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8916.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8916.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -1064,7 +1064,7 @@ }; }; - camss: camss@1b00000 { + camss: camss@1b0ac00 { compatible = "qcom,msm8916-camss"; reg = <0x01b0ac00 0x200>, <0x01b00030 0x4>, @@ -1771,7 +1771,7 @@ label = "pronto"; - wcnss { + wcnss_ctrl: wcnss { compatible = "qcom,wcnss"; qcom,smd-channels = "WCNSS_CTRL"; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8994.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8994.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8994.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8994.dtsi @@ -725,7 +725,7 @@ reg = <0xfc4ab000 0x4>; }; - spmi_bus: spmi@fc4c0000 { + spmi_bus: spmi@fc4cf000 { compatible = "qcom,spmi-pmic-arb"; reg = <0xfc4cf000 0x1000>, <0xfc4cb000 0x1000>, diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8996.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8996.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8996.dtsi @@ -1228,6 +1228,20 @@ }; }; + blsp1_uart2_default: blsp1-uart2-default { + pins = "gpio41", "gpio42", "gpio43", "gpio44"; + function = "blsp_uart2"; + drive-strength = <16>; + bias-disable; + }; + + blsp1_uart2_sleep: blsp1-uart2-sleep { + pins = "gpio41", "gpio42", "gpio43", "gpio44"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + blsp1_i2c3_default: blsp1-i2c2-default { pins = "gpio47", "gpio48"; function = "blsp_i2c3"; @@ -1771,7 +1785,7 @@ }; }; - camss: camss@a00000 { + camss: camss@a34000 { compatible = "qcom,msm8996-camss"; reg = <0x00a34000 0x1000>, <0x00a00030 0x4>, @@ -2724,6 +2738,9 @@ clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; clock-names = "core", "iface"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&blsp1_uart2_default>; + pinctrl-1 = <&blsp1_uart2_sleep>; dmas = <&blsp1_dma 2>, <&blsp1_dma 3>; dma-names = "tx", "rx"; status = "disabled"; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm630.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm630.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm630.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm630.dtsi @@ -1834,7 +1834,7 @@ }; }; - camss: camss@ca00000 { + camss: camss@ca00020 { compatible = "qcom,sdm660-camss"; reg = <0x0c824000 0x1000>, <0x0ca00120 0x4>, diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm845.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm845.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -3921,7 +3921,7 @@ #reset-cells = <1>; }; - camss: camss@a00000 { + camss: camss@acb3000 { compatible = "qcom,sdm845-camss"; reg = <0 0xacb3000 0 0x1000>, diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi @@ -26,9 +26,10 @@ framebuffer: framebuffer@9c000000 { compatible = "simple-framebuffer"; reg = <0 0x9c000000 0 0x2300000>; - width = <1644>; - height = <3840>; - stride = <(1644 * 4)>; + /* pdx203 BL initializes in 2.5k mode, not 4k */ + width = <1096>; + height = <2560>; + stride = <(1096 * 4)>; format = "a8r8g8b8"; /* * That's a lot of clocks, but it's necessary due diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts --- linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts @@ -80,25 +80,25 @@ &wkup_pmx2 { mcu_cpsw_pins_default: mcu-cpsw-pins-default { pinctrl-single,pins = < - J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */ - J721E_WKUP_IOPAD(0x006c, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */ - J721E_WKUP_IOPAD(0x0070, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */ - J721E_WKUP_IOPAD(0x0074, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */ - J721E_WKUP_IOPAD(0x0078, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */ - J721E_WKUP_IOPAD(0x007c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */ - J721E_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */ - J721E_WKUP_IOPAD(0x008c, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */ - J721E_WKUP_IOPAD(0x0090, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */ - J721E_WKUP_IOPAD(0x0094, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */ - J721E_WKUP_IOPAD(0x0080, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */ - J721E_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* MCU_RGMII1_RXC */ + J721E_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */ + J721E_WKUP_IOPAD(0x0004, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */ + J721E_WKUP_IOPAD(0x0008, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */ + J721E_WKUP_IOPAD(0x000c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */ + J721E_WKUP_IOPAD(0x0010, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */ + J721E_WKUP_IOPAD(0x0014, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */ + J721E_WKUP_IOPAD(0x0020, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */ + J721E_WKUP_IOPAD(0x0024, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */ + J721E_WKUP_IOPAD(0x0028, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */ + J721E_WKUP_IOPAD(0x002c, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */ + J721E_WKUP_IOPAD(0x0018, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */ + J721E_WKUP_IOPAD(0x001c, PIN_INPUT, 0) /* MCU_RGMII1_RXC */ >; }; mcu_mdio_pins_default: mcu-mdio1-pins-default { pinctrl-single,pins = < - J721E_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */ - J721E_WKUP_IOPAD(0x0098, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */ + J721E_WKUP_IOPAD(0x0034, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */ + J721E_WKUP_IOPAD(0x0030, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */ >; }; }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/include/asm/sysreg.h linux-intel-iotg-5.15-5.15.0/arch/arm64/include/asm/sysreg.h --- linux-intel-iotg-5.15-5.15.0/arch/arm64/include/asm/sysreg.h +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/include/asm/sysreg.h @@ -109,8 +109,14 @@ #define SB_BARRIER_INSN __SYS_BARRIER_INSN(0, 7, 31) #define SYS_DC_ISW sys_insn(1, 0, 7, 6, 2) +#define SYS_DC_IGSW sys_insn(1, 0, 7, 6, 4) +#define SYS_DC_IGDSW sys_insn(1, 0, 7, 6, 6) #define SYS_DC_CSW sys_insn(1, 0, 7, 10, 2) +#define SYS_DC_CGSW sys_insn(1, 0, 7, 10, 4) +#define SYS_DC_CGDSW sys_insn(1, 0, 7, 10, 6) #define SYS_DC_CISW sys_insn(1, 0, 7, 14, 2) +#define SYS_DC_CIGSW sys_insn(1, 0, 7, 14, 4) +#define SYS_DC_CIGDSW sys_insn(1, 0, 7, 14, 6) /* * System registers, organised loosely by encoding but grouped together diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/kernel/cpu_errata.c linux-intel-iotg-5.15-5.15.0/arch/arm64/kernel/cpu_errata.c --- linux-intel-iotg-5.15-5.15.0/arch/arm64/kernel/cpu_errata.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/kernel/cpu_errata.c @@ -363,6 +363,18 @@ }; #endif +#ifdef CONFIG_ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE +static const struct midr_range trbe_overwrite_fill_mode_cpus[] = { +#ifdef CONFIG_ARM64_ERRATUM_2139208 + MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2), +#endif +#ifdef CONFIG_ARM64_ERRATUM_2119858 + MIDR_ALL_VERSIONS(MIDR_CORTEX_A710), +#endif + {}, +}; +#endif /* CONFIG_ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE */ + const struct arm64_cpu_capabilities arm64_errata[] = { #ifdef CONFIG_ARM64_WORKAROUND_CLEAN_CACHE { @@ -564,6 +576,7 @@ ERRATA_MIDR_ALL_VERSIONS(MIDR_NVIDIA_CARMEL), }, #endif + #ifdef CONFIG_ARM64_ERRATUM_2457168 { .desc = "ARM erratum 2457168", @@ -581,6 +594,19 @@ .type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM, }, #endif +#ifdef CONFIG_ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE + { + /* + * The erratum work around is handled within the TRBE + * driver and can be applied per-cpu. So, we can allow + * a late CPU to come online with this erratum. + */ + .desc = "ARM erratum 2119858 or 2139208", + .capability = ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE, + .type = ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE, + CAP_MIDR_RANGE_LIST(trbe_overwrite_fill_mode_cpus), + }, +#endif { } }; diff -u linux-intel-iotg-5.15-5.15.0/arch/arm64/tools/cpucaps linux-intel-iotg-5.15-5.15.0/arch/arm64/tools/cpucaps --- linux-intel-iotg-5.15-5.15.0/arch/arm64/tools/cpucaps +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/tools/cpucaps @@ -56,6 +56,7 @@ WORKAROUND_1542419 WORKAROUND_1742098 WORKAROUND_2457168 +WORKAROUND_TRBE_OVERWRITE_FILL_MODE WORKAROUND_CAVIUM_23154 WORKAROUND_CAVIUM_27456 WORKAROUND_CAVIUM_30115 diff -u linux-intel-iotg-5.15-5.15.0/arch/mips/Kconfig linux-intel-iotg-5.15-5.15.0/arch/mips/Kconfig --- linux-intel-iotg-5.15-5.15.0/arch/mips/Kconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/Kconfig @@ -81,6 +81,7 @@ select HAVE_LD_DEAD_CODE_DATA_ELIMINATION select HAVE_MOD_ARCH_SPECIFIC select HAVE_NMI + select HAVE_PATA_PLATFORM select HAVE_PERF_EVENTS select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP diff -u linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/cpu-probe.c linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/cpu-probe.c --- linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/cpu-probe.c +++ linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/cpu-probe.c @@ -1734,7 +1734,10 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) { + c->cputype = CPU_LOONGSON64; + /* All Loongson processors covered here define ExcCode 16 as GSExc. */ + decode_configs(c); c->options |= MIPS_CPU_GSEXCEX; switch (c->processor_id & PRID_IMP_MASK) { @@ -1744,7 +1747,6 @@ case PRID_REV_LOONGSON2K_R1_1: case PRID_REV_LOONGSON2K_R1_2: case PRID_REV_LOONGSON2K_R1_3: - c->cputype = CPU_LOONGSON64; __cpu_name[cpu] = "Loongson-2K"; set_elf_platform(cpu, "gs264e"); set_isa(c, MIPS_CPU_ISA_M64R2); @@ -1757,14 +1759,12 @@ switch (c->processor_id & PRID_REV_MASK) { case PRID_REV_LOONGSON3A_R2_0: case PRID_REV_LOONGSON3A_R2_1: - c->cputype = CPU_LOONGSON64; __cpu_name[cpu] = "ICT Loongson-3"; set_elf_platform(cpu, "loongson3a"); set_isa(c, MIPS_CPU_ISA_M64R2); break; case PRID_REV_LOONGSON3A_R3_0: case PRID_REV_LOONGSON3A_R3_1: - c->cputype = CPU_LOONGSON64; __cpu_name[cpu] = "ICT Loongson-3"; set_elf_platform(cpu, "loongson3a"); set_isa(c, MIPS_CPU_ISA_M64R2); @@ -1784,7 +1784,6 @@ c->ases &= ~MIPS_ASE_VZ; /* VZ of Loongson-3A2000/3000 is incomplete */ break; case PRID_IMP_LOONGSON_64G: - c->cputype = CPU_LOONGSON64; __cpu_name[cpu] = "ICT Loongson-3"; set_elf_platform(cpu, "loongson3a"); set_isa(c, MIPS_CPU_ISA_M64R2); @@ -1794,8 +1793,6 @@ panic("Unknown Loongson Processor ID!"); break; } - - decode_configs(c); } #else static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) { } diff -u linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/setup.c linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/setup.c --- linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/setup.c +++ linux-intel-iotg-5.15-5.15.0/arch/mips/kernel/setup.c @@ -156,10 +156,6 @@ pr_err("initrd start must be page aligned\n"); goto disable; } - if (initrd_start < PAGE_OFFSET) { - pr_err("initrd start < PAGE_OFFSET\n"); - goto disable; - } /* * Sanitize initrd addresses. For example firmware @@ -172,6 +168,11 @@ initrd_end = (unsigned long)__va(end); initrd_start = (unsigned long)__va(__pa(initrd_start)); + if (initrd_start < PAGE_OFFSET) { + pr_err("initrd start < PAGE_OFFSET\n"); + goto disable; + } + ROOT_DEV = Root_RAM0; return PFN_UP(end); disable: diff -u linux-intel-iotg-5.15-5.15.0/arch/powerpc/Makefile linux-intel-iotg-5.15-5.15.0/arch/powerpc/Makefile --- linux-intel-iotg-5.15-5.15.0/arch/powerpc/Makefile +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/Makefile @@ -446,0 +447,8 @@ + @if test "x${CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT}" = "xy" -a \ + "x${CONFIG_LD_IS_BFD}" = "xy" -a \ + "${CONFIG_LD_VERSION}" = "23700" ; then \ + echo -n '*** binutils 2.37 drops unused section symbols, which recordmcount ' ; \ + echo 'is unable to handle.' ; \ + echo '*** Please use a different binutils version.' ; \ + false ; \ + fi diff -u linux-intel-iotg-5.15-5.15.0/arch/powerpc/configs/ppc6xx_defconfig linux-intel-iotg-5.15-5.15.0/arch/powerpc/configs/ppc6xx_defconfig --- linux-intel-iotg-5.15-5.15.0/arch/powerpc/configs/ppc6xx_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/configs/ppc6xx_defconfig @@ -243,8 +243,6 @@ CONFIG_ATM_BR2684=m CONFIG_BRIDGE=m CONFIG_VLAN_8021Q=m -CONFIG_DECNET=m -CONFIG_DECNET_ROUTER=y CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m CONFIG_IPDDP=m diff -u linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/interrupt.c linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/interrupt.c --- linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/interrupt.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/interrupt.c @@ -531,7 +531,6 @@ notrace unsigned long interrupt_exit_kernel_prepare(struct pt_regs *regs) { - unsigned long flags; unsigned long ret = 0; unsigned long kuap; bool stack_store = current_thread_info()->flags & @@ -548,7 +547,7 @@ kuap = kuap_get_and_assert_locked(); - local_irq_save(flags); + local_irq_disable(); if (!arch_irq_disabled_regs(regs)) { /* Returning to a kernel context with local irqs enabled. */ diff -u linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/signal_32.c linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/signal_32.c --- linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/signal_32.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/signal_32.c @@ -258,8 +258,9 @@ #endif } -static int __unsafe_save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, - struct mcontext __user *tm_frame, int ctx_has_vsx_region) +static __always_inline int +__unsafe_save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, + struct mcontext __user *tm_frame, int ctx_has_vsx_region) { unsigned long msr = regs->msr; @@ -358,8 +359,9 @@ current->thread.ckvrsave = mfspr(SPRN_VRSAVE); } -static int save_tm_user_regs_unsafe(struct pt_regs *regs, struct mcontext __user *frame, - struct mcontext __user *tm_frame, unsigned long msr) +static __always_inline int +save_tm_user_regs_unsafe(struct pt_regs *regs, struct mcontext __user *frame, + struct mcontext __user *tm_frame, unsigned long msr) { /* Save both sets of general registers */ unsafe_save_general_regs(¤t->thread.ckpt_regs, frame, failed); @@ -438,8 +440,9 @@ #else static void prepare_save_tm_user_regs(void) { } -static int save_tm_user_regs_unsafe(struct pt_regs *regs, struct mcontext __user *frame, - struct mcontext __user *tm_frame, unsigned long msr) +static __always_inline int +save_tm_user_regs_unsafe(struct pt_regs *regs, struct mcontext __user *frame, + struct mcontext __user *tm_frame, unsigned long msr) { return 0; } diff -u linux-intel-iotg-5.15-5.15.0/arch/powerpc/mm/book3s64/radix_pgtable.c linux-intel-iotg-5.15-5.15.0/arch/powerpc/mm/book3s64/radix_pgtable.c --- linux-intel-iotg-5.15-5.15.0/arch/powerpc/mm/book3s64/radix_pgtable.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -764,9 +764,9 @@ } static void remove_pte_table(pte_t *pte_start, unsigned long addr, - unsigned long end) + unsigned long end, bool direct) { - unsigned long next; + unsigned long next, pages = 0; pte_t *pte; pte = pte_start + pte_index(addr); @@ -788,13 +788,16 @@ } pte_clear(&init_mm, addr, pte); + pages++; } + if (direct) + update_page_count(mmu_virtual_psize, -pages); } static void __meminit remove_pmd_table(pmd_t *pmd_start, unsigned long addr, - unsigned long end) + unsigned long end, bool direct) { - unsigned long next; + unsigned long next, pages = 0; pte_t *pte_base; pmd_t *pmd; @@ -812,19 +815,22 @@ continue; } pte_clear(&init_mm, addr, (pte_t *)pmd); + pages++; continue; } pte_base = (pte_t *)pmd_page_vaddr(*pmd); - remove_pte_table(pte_base, addr, next); + remove_pte_table(pte_base, addr, next, direct); free_pte_table(pte_base, pmd); } + if (direct) + update_page_count(MMU_PAGE_2M, -pages); } static void __meminit remove_pud_table(pud_t *pud_start, unsigned long addr, - unsigned long end) + unsigned long end, bool direct) { - unsigned long next; + unsigned long next, pages = 0; pmd_t *pmd_base; pud_t *pud; @@ -842,16 +848,20 @@ continue; } pte_clear(&init_mm, addr, (pte_t *)pud); + pages++; continue; } pmd_base = pud_pgtable(*pud); - remove_pmd_table(pmd_base, addr, next); + remove_pmd_table(pmd_base, addr, next, direct); free_pmd_table(pmd_base, pud); } + if (direct) + update_page_count(MMU_PAGE_1G, -pages); } -static void __meminit remove_pagetable(unsigned long start, unsigned long end) +static void __meminit remove_pagetable(unsigned long start, unsigned long end, + bool direct) { unsigned long addr, next; pud_t *pud_base; @@ -880,7 +890,7 @@ } pud_base = p4d_pgtable(*p4d); - remove_pud_table(pud_base, addr, next); + remove_pud_table(pud_base, addr, next, direct); free_pud_table(pud_base, p4d); } @@ -903,7 +913,7 @@ int __meminit radix__remove_section_mapping(unsigned long start, unsigned long end) { - remove_pagetable(start, end); + remove_pagetable(start, end, true); return 0; } #endif /* CONFIG_MEMORY_HOTPLUG */ @@ -939,7 +949,7 @@ #ifdef CONFIG_MEMORY_HOTPLUG void __meminit radix__vmemmap_remove_mapping(unsigned long start, unsigned long page_size) { - remove_pagetable(start, start + page_size); + remove_pagetable(start, start + page_size, false); } #endif #endif diff -u linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/powernv/vas-window.c linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/powernv/vas-window.c --- linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/powernv/vas-window.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/powernv/vas-window.c @@ -1310,8 +1310,8 @@ /* if send window, drop reference to matching receive window */ if (window->tx_win) { if (window->user_win) { - put_vas_user_win_ref(&vwin->task_ref); mm_context_remove_vas_window(vwin->task_ref.mm); + put_vas_user_win_ref(&vwin->task_ref); } put_rx_win(window->rxwin); } diff -u linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/pseries/vas.c linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/pseries/vas.c --- linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/pseries/vas.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/pseries/vas.c @@ -441,8 +441,8 @@ atomic_dec(&caps->used_lpar_creds); mutex_unlock(&vas_pseries_mutex); - put_vas_user_win_ref(&vwin->task_ref); mm_context_remove_vas_window(vwin->task_ref.mm); + put_vas_user_win_ref(&vwin->task_ref); kfree(win); return 0; diff -u linux-intel-iotg-5.15-5.15.0/arch/riscv/Kconfig linux-intel-iotg-5.15-5.15.0/arch/riscv/Kconfig --- linux-intel-iotg-5.15-5.15.0/arch/riscv/Kconfig +++ linux-intel-iotg-5.15-5.15.0/arch/riscv/Kconfig @@ -23,6 +23,7 @@ select ARCH_HAS_GIGANTIC_PAGE select ARCH_HAS_KCOV select ARCH_HAS_MMIOWB + select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE select ARCH_HAS_PTE_SPECIAL select ARCH_HAS_SET_DIRECT_MAP if MMU select ARCH_HAS_SET_MEMORY if MMU diff -u linux-intel-iotg-5.15-5.15.0/arch/riscv/kernel/probes/uprobes.c linux-intel-iotg-5.15-5.15.0/arch/riscv/kernel/probes/uprobes.c --- linux-intel-iotg-5.15-5.15.0/arch/riscv/kernel/probes/uprobes.c +++ linux-intel-iotg-5.15-5.15.0/arch/riscv/kernel/probes/uprobes.c @@ -67,6 +67,7 @@ struct uprobe_task *utask = current->utask; WARN_ON_ONCE(current->thread.bad_cause != UPROBE_TRAP_NR); + current->thread.bad_cause = utask->autask.saved_cause; instruction_pointer_set(regs, utask->vaddr + auprobe->insn_size); @@ -102,6 +103,7 @@ { struct uprobe_task *utask = current->utask; + current->thread.bad_cause = utask->autask.saved_cause; /* * Task has received a fatal signal, so reset back to probbed * address. diff -u linux-intel-iotg-5.15-5.15.0/arch/riscv/mm/init.c linux-intel-iotg-5.15-5.15.0/arch/riscv/mm/init.c --- linux-intel-iotg-5.15-5.15.0/arch/riscv/mm/init.c +++ linux-intel-iotg-5.15-5.15.0/arch/riscv/mm/init.c @@ -235,7 +235,6 @@ dma_contiguous_reserve(dma32_phys_limit); if (IS_ENABLED(CONFIG_64BIT)) hugetlb_cma_reserve(PUD_SHIFT - PAGE_SHIFT); - memblock_allow_resize(); } #ifdef CONFIG_MMU @@ -844,7 +843,7 @@ */ crash_base = memblock_phys_alloc_range(crash_size, PMD_SIZE, search_start, - min(search_end, (unsigned long) SZ_4G)); + min(search_end, (unsigned long)(SZ_4G - 1))); if (crash_base == 0) { /* Try again without restricting region to 32bit addressible memory */ crash_base = memblock_phys_alloc_range(crash_size, PMD_SIZE, @@ -868,6 +867,9 @@ { setup_bootmem(); setup_vm_final(); + + /* Depend on that Linear Mapping is ready */ + memblock_allow_resize(); } void __init misc_mem_init(void) diff -u linux-intel-iotg-5.15-5.15.0/arch/s390/Makefile linux-intel-iotg-5.15-5.15.0/arch/s390/Makefile --- linux-intel-iotg-5.15-5.15.0/arch/s390/Makefile +++ linux-intel-iotg-5.15-5.15.0/arch/s390/Makefile @@ -29,6 +29,7 @@ KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding KBUILD_CFLAGS_DECOMPRESSOR += -fno-stack-protector +KBUILD_CFLAGS_DECOMPRESSOR += -fPIE KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member) KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g) KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,)) diff -u linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/kvm-s390.c linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/kvm-s390.c --- linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/kvm-s390.c +++ linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/kvm-s390.c @@ -2082,6 +2082,10 @@ ms = slots->memslots + slotidx; ofs = 0; } + + if (cur_gfn < ms->base_gfn) + ofs = 0; + ofs = find_next_bit(kvm_second_dirty_bitmap(ms), ms->npages, ofs); while ((slotidx > 0) && (ofs >= ms->npages)) { slotidx--; diff -u linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/vsie.c linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/vsie.c --- linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/vsie.c +++ linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/vsie.c @@ -169,7 +169,8 @@ sizeof(struct kvm_s390_apcb0))) return -EFAULT; - bitmap_and(apcb_s, apcb_s, apcb_h, sizeof(struct kvm_s390_apcb0)); + bitmap_and(apcb_s, apcb_s, apcb_h, + BITS_PER_BYTE * sizeof(struct kvm_s390_apcb0)); return 0; } @@ -191,7 +192,8 @@ sizeof(struct kvm_s390_apcb1))) return -EFAULT; - bitmap_and(apcb_s, apcb_s, apcb_h, sizeof(struct kvm_s390_apcb1)); + bitmap_and(apcb_s, apcb_s, apcb_h, + BITS_PER_BYTE * sizeof(struct kvm_s390_apcb1)); return 0; } diff -u linux-intel-iotg-5.15-5.15.0/arch/um/Makefile linux-intel-iotg-5.15-5.15.0/arch/um/Makefile --- linux-intel-iotg-5.15-5.15.0/arch/um/Makefile +++ linux-intel-iotg-5.15-5.15.0/arch/um/Makefile @@ -148,7 +148,7 @@ # When cleaning we don't include .config, so we don't include # TT or skas makefiles and don't clean skas_ptregs.h. CLEAN_FILES += linux x.i gmon.out -MRPROPER_FILES += arch/$(SUBARCH)/include/generated +MRPROPER_FILES += $(HOST_DIR)/include/generated archclean: @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \ diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/Kconfig linux-intel-iotg-5.15-5.15.0/arch/x86/Kconfig --- linux-intel-iotg-5.15-5.15.0/arch/x86/Kconfig +++ linux-intel-iotg-5.15-5.15.0/arch/x86/Kconfig @@ -2474,6 +2474,13 @@ This mitigates both spectre_v2 and retbleed at great cost to performance. +config CPU_SRSO + bool "Mitigate speculative RAS overflow on AMD" + depends on CPU_SUP_AMD && X86_64 && RETHUNK + default y + help + Enable the SRSO mitigation needed on AMD Zen1-4 machines. + config SLS bool "Mitigate Straight-Line-Speculation" depends on CC_HAS_SLS && X86_64 diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/core.c linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/core.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/core.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/core.c @@ -364,7 +364,7 @@ /* pass precise event sampling to ibs: */ if (event->attr.precise_ip && get_ibs_caps()) - return -ENOENT; + return forward_event_to_ibs(event); if (has_branch_stack(event)) return -EOPNOTSUPP; diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/ibs.c linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/ibs.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/ibs.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/events/amd/ibs.c @@ -194,7 +194,7 @@ } /* - * Use IBS for precise event sampling: + * core pmu config -> IBS config * * perf record -a -e cpu-cycles:p ... # use ibs op counting cycle count * perf record -a -e r076:p ... # same as -e cpu-cycles:p @@ -203,25 +203,9 @@ * IbsOpCntCtl (bit 19) of IBS Execution Control Register (IbsOpCtl, * MSRC001_1033) is used to select either cycle or micro-ops counting * mode. - * - * The rip of IBS samples has skid 0. Thus, IBS supports precise - * levels 1 and 2 and the PERF_EFLAGS_EXACT is set. In rare cases the - * rip is invalid when IBS was not able to record the rip correctly. - * We clear PERF_EFLAGS_EXACT and take the rip from pt_regs then. - * */ -static int perf_ibs_precise_event(struct perf_event *event, u64 *config) +static int core_pmu_ibs_config(struct perf_event *event, u64 *config) { - switch (event->attr.precise_ip) { - case 0: - return -ENOENT; - case 1: - case 2: - break; - default: - return -EOPNOTSUPP; - } - switch (event->attr.type) { case PERF_TYPE_HARDWARE: switch (event->attr.config) { @@ -247,22 +231,37 @@ return -EOPNOTSUPP; } +/* + * The rip of IBS samples has skid 0. Thus, IBS supports precise + * levels 1 and 2 and the PERF_EFLAGS_EXACT is set. In rare cases the + * rip is invalid when IBS was not able to record the rip correctly. + * We clear PERF_EFLAGS_EXACT and take the rip from pt_regs then. + */ +int forward_event_to_ibs(struct perf_event *event) +{ + u64 config = 0; + + if (!event->attr.precise_ip || event->attr.precise_ip > 2) + return -EOPNOTSUPP; + + if (!core_pmu_ibs_config(event, &config)) { + event->attr.type = perf_ibs_op.pmu.type; + event->attr.config = config; + } + return -ENOENT; +} + static int perf_ibs_init(struct perf_event *event) { struct hw_perf_event *hwc = &event->hw; struct perf_ibs *perf_ibs; u64 max_cnt, config; - int ret; perf_ibs = get_ibs_pmu(event->attr.type); - if (perf_ibs) { - config = event->attr.config; - } else { - perf_ibs = &perf_ibs_op; - ret = perf_ibs_precise_event(event, &config); - if (ret) - return ret; - } + if (!perf_ibs) + return -ENOENT; + + config = event->attr.config; if (event->pmu != &perf_ibs->pmu) return -ENOENT; diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeature.h linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeature.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeature.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeature.h @@ -32,6 +32,7 @@ CPUID_8000_0007_EBX, CPUID_7_EDX, CPUID_8000_001F_EAX, + CPUID_8000_0021_EAX, }; #ifdef CONFIG_X86_FEATURE_NAMES @@ -91,8 +92,9 @@ CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 17, feature_bit) || \ CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) || \ CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 19, feature_bit) || \ + CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 20, feature_bit) || \ REQUIRED_MASK_CHECK || \ - BUILD_BUG_ON_ZERO(NCAPINTS != 20)) + BUILD_BUG_ON_ZERO(NCAPINTS != 21)) #define DISABLED_MASK_BIT_SET(feature_bit) \ ( CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 0, feature_bit) || \ @@ -115,8 +117,9 @@ CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 17, feature_bit) || \ CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 18, feature_bit) || \ CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 19, feature_bit) || \ + CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 20, feature_bit) || \ DISABLED_MASK_CHECK || \ - BUILD_BUG_ON_ZERO(NCAPINTS != 20)) + BUILD_BUG_ON_ZERO(NCAPINTS != 21)) #define cpu_has(c, bit) \ (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \ diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeatures.h linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeatures.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeatures.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/cpufeatures.h @@ -13,8 +13,8 @@ /* * Defines x86 CPU feature bits */ -#define NCAPINTS 20 /* N 32-bit words worth of info */ -#define NBUGINTS 1 /* N 32-bit bug flags */ +#define NCAPINTS 21 /* N 32-bit words worth of info */ +#define NBUGINTS 2 /* N 32-bit bug flags */ /* * Note: If the comment begins with a quoted string, that string is used @@ -308,4 +308,8 @@ #define X86_FEATURE_MSR_TSX_CTRL (11*32+20) /* "" MSR IA32_TSX_CTRL (Intel) implemented */ +#define X86_FEATURE_SRSO (11*32+24) /* "" AMD BTB untrain RETs */ +#define X86_FEATURE_SRSO_ALIAS (11*32+25) /* "" AMD BTB untrain RETs through aliasing */ +#define X86_FEATURE_IBPB_ON_VMEXIT (11*32+26) /* "" Issue an IBPB only on VMEXIT */ + /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */ @@ -417,6 +421,10 @@ #define X86_FEATURE_SEV_ES (19*32+ 3) /* AMD Secure Encrypted Virtualization - Encrypted State */ #define X86_FEATURE_SME_COHERENT (19*32+10) /* "" AMD hardware-enforced cache coherency */ +#define X86_FEATURE_SBPB (20*32+27) /* "" Selective Branch Prediction Barrier */ +#define X86_FEATURE_IBPB_BRTYPE (20*32+28) /* "" MSR_PRED_CMD[IBPB] flushes all branch type predictions */ +#define X86_FEATURE_SRSO_NO (20*32+29) /* "" CPU is not affected by SRSO */ + /* * BUG word(s) */ @@ -462,2 +470,5 @@ +/* BUG word 2 */ +#define X86_BUG_SRSO X86_BUG(1*32 + 0) /* AMD SRSO bug */ +#define X86_BUG_DIV0 X86_BUG(1*32 + 1) /* AMD DIV0 speculation bug */ #endif /* _ASM_X86_CPUFEATURES_H */ diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/disabled-features.h linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/disabled-features.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/disabled-features.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/disabled-features.h @@ -109,5 +109,6 @@ #define DISABLED_MASK18 0 #define DISABLED_MASK19 0 -#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 20) +#define DISABLED_MASK20 0 +#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21) #endif /* _ASM_X86_DISABLED_FEATURES_H */ diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/msr-index.h linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/msr-index.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/msr-index.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/msr-index.h @@ -60,6 +60,7 @@ #define MSR_IA32_PRED_CMD 0x00000049 /* Prediction Command */ #define PRED_CMD_IBPB BIT(0) /* Indirect Branch Prediction Barrier */ +#define PRED_CMD_SBPB BIT(7) /* Selective Branch Prediction Barrier */ #define MSR_PPIN_CTL 0x0000004e #define MSR_PPIN 0x0000004f diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/nospec-branch.h linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/nospec-branch.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/nospec-branch.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/nospec-branch.h @@ -112,7 +112,7 @@ * eventually turn into it's own annotation. */ .macro ANNOTATE_UNRET_END -#ifdef CONFIG_DEBUG_ENTRY +#if (defined(CONFIG_CPU_UNRET_ENTRY) || defined(CONFIG_CPU_SRSO)) ANNOTATE_RETPOLINE_SAFE nop #endif @@ -156,9 +156,9 @@ .endm #ifdef CONFIG_CPU_UNRET_ENTRY -#define CALL_ZEN_UNTRAIN_RET "call zen_untrain_ret" +#define CALL_UNTRAIN_RET "call entry_untrain_ret" #else -#define CALL_ZEN_UNTRAIN_RET "" +#define CALL_UNTRAIN_RET "" #endif /* @@ -166,17 +166,18 @@ * return thunk isn't mapped into the userspace tables (then again, AMD * typically has NO_MELTDOWN). * - * While zen_untrain_ret() doesn't clobber anything but requires stack, + * While retbleed_untrain_ret() doesn't clobber anything but requires stack, * entry_ibpb() will clobber AX, CX, DX. * * As such, this must be placed after every *SWITCH_TO_KERNEL_CR3 at a point * where we have a stack but before any RET instruction. */ .macro UNTRAIN_RET -#if defined(CONFIG_CPU_UNRET_ENTRY) || defined(CONFIG_CPU_IBPB_ENTRY) +#if defined(CONFIG_CPU_UNRET_ENTRY) || defined(CONFIG_CPU_IBPB_ENTRY) || \ + defined(CONFIG_CPU_SRSO) ANNOTATE_UNRET_END ALTERNATIVE_2 "", \ - CALL_ZEN_UNTRAIN_RET, X86_FEATURE_UNRET, \ + CALL_UNTRAIN_RET, X86_FEATURE_UNRET, \ "call entry_ibpb", X86_FEATURE_ENTRY_IBPB #endif .endm @@ -189,8 +190,21 @@ _ASM_PTR " 999b\n\t" \ ".popsection\n\t" +#ifdef CONFIG_RETHUNK extern void __x86_return_thunk(void); -extern void zen_untrain_ret(void); +#else +static inline void __x86_return_thunk(void) {} +#endif + +extern void retbleed_return_thunk(void); +extern void srso_return_thunk(void); +extern void srso_alias_return_thunk(void); + +extern void retbleed_untrain_ret(void); +extern void srso_untrain_ret(void); +extern void srso_alias_untrain_ret(void); + +extern void entry_untrain_ret(void); extern void entry_ibpb(void); #ifdef CONFIG_RETPOLINE @@ -300,11 +314,11 @@ : "memory"); } +extern u64 x86_pred_cmd; + static inline void indirect_branch_prediction_barrier(void) { - u64 val = PRED_CMD_IBPB; - - alternative_msr_write(MSR_IA32_PRED_CMD, val, X86_FEATURE_USE_IBPB); + alternative_msr_write(MSR_IA32_PRED_CMD, x86_pred_cmd, X86_FEATURE_USE_IBPB); } /* The Intel SPEC CTRL MSR base value cache */ diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/perf_event.h linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/perf_event.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/perf_event.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/perf_event.h @@ -427,8 +427,10 @@ #ifdef CONFIG_X86_LOCAL_APIC extern u32 get_ibs_caps(void); +extern int forward_event_to_ibs(struct perf_event *event); #else static inline u32 get_ibs_caps(void) { return 0; } +static inline int forward_event_to_ibs(struct perf_event *event) { return -ENOENT; } #endif #ifdef CONFIG_PERF_EVENTS diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/processor.h linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/processor.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/processor.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/processor.h @@ -800,9 +800,13 @@ #ifdef CONFIG_CPU_SUP_AMD extern u32 amd_get_nodes_per_socket(void); extern u32 amd_get_highest_perf(void); +extern bool cpu_has_ibpb_brtype_microcode(void); +extern void amd_clear_divider(void); #else static inline u32 amd_get_nodes_per_socket(void) { return 0; } static inline u32 amd_get_highest_perf(void) { return 0; } +static inline bool cpu_has_ibpb_brtype_microcode(void) { return false; } +static inline void amd_clear_divider(void) { } #endif static inline uint32_t hypervisor_cpuid_base(const char *sig, uint32_t leaves) diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/amd.c linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/amd.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/amd.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/amd.c @@ -75,6 +75,10 @@ AMD_MODEL_RANGE(0x17, 0x60, 0x0, 0x7f, 0xf), AMD_MODEL_RANGE(0x17, 0xa0, 0x0, 0xaf, 0xf)); +static const int amd_div0[] = + AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0x00, 0x0, 0x2f, 0xf), + AMD_MODEL_RANGE(0x17, 0x50, 0x0, 0x5f, 0xf)); + static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum) { int osvw_id = *erratum++; @@ -1110,6 +1114,11 @@ check_null_seg_clears_base(c); zenbleed_check(c); + + if (cpu_has_amd_erratum(c, amd_div0)) { + pr_notice_once("AMD Zen1 DIV0 bug detected. Disable SMT for full protection.\n"); + setup_force_cpu_bug(X86_BUG_DIV0); + } } #ifdef CONFIG_X86_32 @@ -1240,6 +1249,25 @@ } EXPORT_SYMBOL_GPL(amd_get_highest_perf); +bool cpu_has_ibpb_brtype_microcode(void) +{ + switch (boot_cpu_data.x86) { + /* Zen1/2 IBPB flushes branch type predictions too. */ + case 0x17: + return boot_cpu_has(X86_FEATURE_AMD_IBPB); + case 0x19: + /* Poke the MSR bit on Zen3/4 to check its presence. */ + if (!wrmsrl_safe(MSR_IA32_PRED_CMD, PRED_CMD_SBPB)) { + setup_force_cpu_cap(X86_FEATURE_SBPB); + return true; + } else { + return false; + } + default: + return false; + } +} + static void zenbleed_check_cpu(void *unused) { struct cpuinfo_x86 *c = &cpu_data(smp_processor_id()); @@ -1253,0 +1282,11 @@ + +/* + * Issue a DIV 0/1 insn to clear any division data from previous DIV + * operations. + */ +void noinstr amd_clear_divider(void) +{ + asm volatile(ALTERNATIVE("", "div %2\n\t", X86_BUG_DIV0) + :: "a" (0), "d" (0), "r" (1)); +} +EXPORT_SYMBOL_GPL(amd_clear_divider); diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/bugs.c linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/bugs.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/bugs.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/bugs.c @@ -47,6 +47,7 @@ static void __init srbds_select_mitigation(void); static void __init l1d_flush_select_mitigation(void); static void __init gds_select_mitigation(void); +static void __init srso_select_mitigation(void); /* The base value of the SPEC_CTRL MSR without task-specific bits set */ u64 x86_spec_ctrl_base; @@ -56,8 +57,13 @@ DEFINE_PER_CPU(u64, x86_spec_ctrl_current); EXPORT_SYMBOL_GPL(x86_spec_ctrl_current); +u64 x86_pred_cmd __ro_after_init = PRED_CMD_IBPB; +EXPORT_SYMBOL_GPL(x86_pred_cmd); + static DEFINE_MUTEX(spec_ctrl_mutex); +void (*x86_return_thunk)(void) __ro_after_init = &__x86_return_thunk; + /* Update SPEC_CTRL MSR and its cached copy unconditionally */ static void update_spec_ctrl(u64 val) { @@ -160,6 +166,12 @@ md_clear_select_mitigation(); srbds_select_mitigation(); l1d_flush_select_mitigation(); + + /* + * srso_select_mitigation() depends and must run after + * retbleed_select_mitigation(). + */ + srso_select_mitigation(); gds_select_mitigation(); } @@ -1008,6 +1020,9 @@ setup_force_cpu_cap(X86_FEATURE_RETHUNK); setup_force_cpu_cap(X86_FEATURE_UNRET); + if (IS_ENABLED(CONFIG_RETHUNK)) + x86_return_thunk = retbleed_return_thunk; + if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD && boot_cpu_data.x86_vendor != X86_VENDOR_HYGON) pr_err(RETBLEED_UNTRAIN_MSG); @@ -2304,6 +2319,170 @@ early_param("l1tf", l1tf_cmdline); #undef pr_fmt +#define pr_fmt(fmt) "Speculative Return Stack Overflow: " fmt + +enum srso_mitigation { + SRSO_MITIGATION_NONE, + SRSO_MITIGATION_MICROCODE, + SRSO_MITIGATION_SAFE_RET, + SRSO_MITIGATION_IBPB, + SRSO_MITIGATION_IBPB_ON_VMEXIT, +}; + +enum srso_mitigation_cmd { + SRSO_CMD_OFF, + SRSO_CMD_MICROCODE, + SRSO_CMD_SAFE_RET, + SRSO_CMD_IBPB, + SRSO_CMD_IBPB_ON_VMEXIT, +}; + +static const char * const srso_strings[] = { + [SRSO_MITIGATION_NONE] = "Vulnerable", + [SRSO_MITIGATION_MICROCODE] = "Mitigation: microcode", + [SRSO_MITIGATION_SAFE_RET] = "Mitigation: safe RET", + [SRSO_MITIGATION_IBPB] = "Mitigation: IBPB", + [SRSO_MITIGATION_IBPB_ON_VMEXIT] = "Mitigation: IBPB on VMEXIT only" +}; + +static enum srso_mitigation srso_mitigation __ro_after_init = SRSO_MITIGATION_NONE; +static enum srso_mitigation_cmd srso_cmd __ro_after_init = SRSO_CMD_SAFE_RET; + +static int __init srso_parse_cmdline(char *str) +{ + if (!str) + return -EINVAL; + + if (!strcmp(str, "off")) + srso_cmd = SRSO_CMD_OFF; + else if (!strcmp(str, "microcode")) + srso_cmd = SRSO_CMD_MICROCODE; + else if (!strcmp(str, "safe-ret")) + srso_cmd = SRSO_CMD_SAFE_RET; + else if (!strcmp(str, "ibpb")) + srso_cmd = SRSO_CMD_IBPB; + else if (!strcmp(str, "ibpb-vmexit")) + srso_cmd = SRSO_CMD_IBPB_ON_VMEXIT; + else + pr_err("Ignoring unknown SRSO option (%s).", str); + + return 0; +} +early_param("spec_rstack_overflow", srso_parse_cmdline); + +#define SRSO_NOTICE "WARNING: See https://kernel.org/doc/html/latest/admin-guide/hw-vuln/srso.html for mitigation options." + +static void __init srso_select_mitigation(void) +{ + bool has_microcode; + + if (!boot_cpu_has_bug(X86_BUG_SRSO) || cpu_mitigations_off()) + goto pred_cmd; + + /* + * The first check is for the kernel running as a guest in order + * for guests to verify whether IBPB is a viable mitigation. + */ + has_microcode = boot_cpu_has(X86_FEATURE_IBPB_BRTYPE) || cpu_has_ibpb_brtype_microcode(); + if (!has_microcode) { + pr_warn("IBPB-extending microcode not applied!\n"); + pr_warn(SRSO_NOTICE); + } else { + /* + * Enable the synthetic (even if in a real CPUID leaf) + * flags for guests. + */ + setup_force_cpu_cap(X86_FEATURE_IBPB_BRTYPE); + + /* + * Zen1/2 with SMT off aren't vulnerable after the right + * IBPB microcode has been applied. + */ + if (boot_cpu_data.x86 < 0x19 && !cpu_smt_possible()) { + setup_force_cpu_cap(X86_FEATURE_SRSO_NO); + return; + } + } + + if (retbleed_mitigation == RETBLEED_MITIGATION_IBPB) { + if (has_microcode) { + pr_err("Retbleed IBPB mitigation enabled, using same for SRSO\n"); + srso_mitigation = SRSO_MITIGATION_IBPB; + goto pred_cmd; + } + } + + switch (srso_cmd) { + case SRSO_CMD_OFF: + return; + + case SRSO_CMD_MICROCODE: + if (has_microcode) { + srso_mitigation = SRSO_MITIGATION_MICROCODE; + pr_warn(SRSO_NOTICE); + } + break; + + case SRSO_CMD_SAFE_RET: + if (IS_ENABLED(CONFIG_CPU_SRSO)) { + /* + * Enable the return thunk for generated code + * like ftrace, static_call, etc. + */ + setup_force_cpu_cap(X86_FEATURE_RETHUNK); + setup_force_cpu_cap(X86_FEATURE_UNRET); + + if (boot_cpu_data.x86 == 0x19) { + setup_force_cpu_cap(X86_FEATURE_SRSO_ALIAS); + x86_return_thunk = srso_alias_return_thunk; + } else { + setup_force_cpu_cap(X86_FEATURE_SRSO); + x86_return_thunk = srso_return_thunk; + } + srso_mitigation = SRSO_MITIGATION_SAFE_RET; + } else { + pr_err("WARNING: kernel not compiled with CPU_SRSO.\n"); + goto pred_cmd; + } + break; + + case SRSO_CMD_IBPB: + if (IS_ENABLED(CONFIG_CPU_IBPB_ENTRY)) { + if (has_microcode) { + setup_force_cpu_cap(X86_FEATURE_ENTRY_IBPB); + srso_mitigation = SRSO_MITIGATION_IBPB; + } + } else { + pr_err("WARNING: kernel not compiled with CPU_IBPB_ENTRY.\n"); + goto pred_cmd; + } + break; + + case SRSO_CMD_IBPB_ON_VMEXIT: + if (IS_ENABLED(CONFIG_CPU_SRSO)) { + if (!boot_cpu_has(X86_FEATURE_ENTRY_IBPB) && has_microcode) { + setup_force_cpu_cap(X86_FEATURE_IBPB_ON_VMEXIT); + srso_mitigation = SRSO_MITIGATION_IBPB_ON_VMEXIT; + } + } else { + pr_err("WARNING: kernel not compiled with CPU_SRSO.\n"); + goto pred_cmd; + } + break; + + default: + break; + } + + pr_info("%s%s\n", srso_strings[srso_mitigation], (has_microcode ? "" : ", no microcode")); + +pred_cmd: + if ((boot_cpu_has(X86_FEATURE_SRSO_NO) || srso_cmd == SRSO_CMD_OFF) && + boot_cpu_has(X86_FEATURE_SBPB)) + x86_pred_cmd = PRED_CMD_SBPB; +} + +#undef pr_fmt #define pr_fmt(fmt) fmt #ifdef CONFIG_SYSFS @@ -2506,6 +2685,16 @@ return sysfs_emit(buf, "%s\n", gds_strings[gds_mitigation]); } +static ssize_t srso_show_state(char *buf) +{ + if (boot_cpu_has(X86_FEATURE_SRSO_NO)) + return sysfs_emit(buf, "Mitigation: SMT disabled\n"); + + return sysfs_emit(buf, "%s%s\n", + srso_strings[srso_mitigation], + (cpu_has_ibpb_brtype_microcode() ? "" : ", no microcode")); +} + static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr, char *buf, unsigned int bug) { @@ -2558,6 +2747,9 @@ case X86_BUG_GDS: return gds_show_state(buf); + case X86_BUG_SRSO: + return srso_show_state(buf); + default: break; } @@ -2629,2 +2821,7 @@ } + +ssize_t cpu_show_spec_rstack_overflow(struct device *dev, struct device_attribute *attr, char *buf) +{ + return cpu_show_common(dev, attr, buf, X86_BUG_SRSO); +} #endif diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/common.c linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/common.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/common.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/common.c @@ -1041,6 +1041,9 @@ if (c->extended_cpuid_level >= 0x8000001f) c->x86_capability[CPUID_8000_001F_EAX] = cpuid_eax(0x8000001f); + if (c->extended_cpuid_level >= 0x80000021) + c->x86_capability[CPUID_8000_0021_EAX] = cpuid_eax(0x80000021); + init_scattered_cpuid_features(c); init_speculation_control(c); @@ -1204,8 +1207,10 @@ #define RETBLEED BIT(3) /* CPU is affected by SMT (cross-thread) return predictions */ #define SMT_RSB BIT(4) +/* CPU is affected by SRSO */ +#define SRSO BIT(5) /* CPU is affected by GDS */ -#define GDS BIT(5) +#define GDS BIT(6) static const struct x86_cpu_id cpu_vuln_blacklist[] __initconst = { VULNBL_INTEL_STEPPINGS(IVYBRIDGE, X86_STEPPING_ANY, SRBDS), @@ -1239,8 +1244,9 @@ VULNBL_AMD(0x15, RETBLEED), VULNBL_AMD(0x16, RETBLEED), - VULNBL_AMD(0x17, RETBLEED | SMT_RSB), + VULNBL_AMD(0x17, RETBLEED | SMT_RSB | SRSO), VULNBL_HYGON(0x18, RETBLEED | SMT_RSB), + VULNBL_AMD(0x19, SRSO), {} }; @@ -1371,6 +1377,11 @@ boot_cpu_has(X86_FEATURE_AVX)) setup_force_cpu_bug(X86_BUG_GDS); + if (!cpu_has(c, X86_FEATURE_SRSO_NO)) { + if (cpu_matches(cpu_vuln_blacklist, SRSO)) + setup_force_cpu_bug(X86_BUG_SRSO); + } + if (cpu_matches(cpu_vuln_whitelist, NO_MELTDOWN)) return; diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/microcode/amd.c linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/microcode/amd.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/microcode/amd.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/microcode/amd.c @@ -699,7 +699,7 @@ rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy); /* need to apply patch? */ - if (rev >= mc_amd->hdr.patch_id) { + if (rev > mc_amd->hdr.patch_id) { ret = UCODE_OK; goto out; } diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/resctrl/rdtgroup.c linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/resctrl/rdtgroup.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -731,11 +731,15 @@ static void show_rdt_tasks(struct rdtgroup *r, struct seq_file *s) { struct task_struct *p, *t; + pid_t pid; rcu_read_lock(); for_each_process_thread(p, t) { - if (is_closid_match(t, r) || is_rmid_match(t, r)) - seq_printf(s, "%d\n", t->pid); + if (is_closid_match(t, r) || is_rmid_match(t, r)) { + pid = task_pid_vnr(t); + if (pid) + seq_printf(s, "%d\n", pid); + } } rcu_read_unlock(); } diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/smpboot.c linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/smpboot.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/smpboot.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/smpboot.c @@ -105,6 +105,17 @@ DEFINE_PER_CPU_READ_MOSTLY(struct cpuinfo_x86, cpu_info); EXPORT_PER_CPU_SYMBOL(cpu_info); +struct mwait_cpu_dead { + unsigned int control; + unsigned int status; +}; + +/* + * Cache line aligned data for mwait_play_dead(). Separate on purpose so + * that it's unlikely to be touched by other CPUs. + */ +static DEFINE_PER_CPU_ALIGNED(struct mwait_cpu_dead, mwait_cpu_dead); + /* Logical package management. We might want to allocate that dynamically */ unsigned int __max_logical_packages __read_mostly; EXPORT_SYMBOL(__max_logical_packages); @@ -1685,10 +1696,10 @@ */ static inline void mwait_play_dead(void) { + struct mwait_cpu_dead *md = this_cpu_ptr(&mwait_cpu_dead); unsigned int eax, ebx, ecx, edx; unsigned int highest_cstate = 0; unsigned int highest_subcstate = 0; - void *mwait_ptr; int i; if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD || @@ -1723,13 +1734,6 @@ (highest_subcstate - 1); } - /* - * This should be a memory location in a cache line which is - * unlikely to be touched by other processors. The actual - * content is immaterial as it is not actually modified in any way. - */ - mwait_ptr = ¤t_thread_info()->flags; - wbinvd(); while (1) { @@ -1741,9 +1745,9 @@ * case where we return around the loop. */ mb(); - clflush(mwait_ptr); + clflush(md); mb(); - __monitor(mwait_ptr, 0, 0); + __monitor(md, 0, 0); mb(); __mwait(eax, 0); diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/static_call.c linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/static_call.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/static_call.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/static_call.c @@ -135,6 +135,19 @@ */ bool __static_call_fixup(void *tramp, u8 op, void *dest) { + unsigned long addr = (unsigned long)tramp; + /* + * Not all .return_sites are a static_call trampoline (most are not). + * Check if the 3 bytes after the return are still kernel text, if not, + * then this definitely is not a trampoline and we need not worry + * further. + * + * This avoids the memcmp() below tripping over pagefaults etc.. + */ + if (((addr >> PAGE_SHIFT) != ((addr + 7) >> PAGE_SHIFT)) && + !kernel_text_address(addr + 7)) + return false; + if (memcmp(tramp+5, tramp_ud, 3)) { /* Not a trampoline site, not our problem. */ return false; diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/vmlinux.lds.S linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/vmlinux.lds.S --- linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/vmlinux.lds.S +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/vmlinux.lds.S @@ -133,7 +133,20 @@ LOCK_TEXT KPROBES_TEXT ALIGN_ENTRY_TEXT_BEGIN +#ifdef CONFIG_CPU_SRSO + *(.text..__x86.rethunk_untrain) +#endif + ENTRY_TEXT + +#ifdef CONFIG_CPU_SRSO + /* + * See the comment above srso_alias_untrain_ret()'s + * definition. + */ + . = srso_alias_untrain_ret | (1 << 2) | (1 << 8) | (1 << 14) | (1 << 20); + *(.text..__x86.rethunk_safe) +#endif ALIGN_ENTRY_TEXT_END SOFTIRQENTRY_TEXT STATIC_CALL_TEXT @@ -142,13 +155,15 @@ #ifdef CONFIG_RETPOLINE __indirect_thunk_start = .; - *(.text.__x86.*) + *(.text..__x86.indirect_thunk) + *(.text..__x86.return_thunk) __indirect_thunk_end = .; #endif } :text =0xcccc /* End of text section, which should occupy whole number of pages */ _etext = .; + . = ALIGN(PAGE_SIZE); X86_ALIGN_RODATA_BEGIN @@ -496,6 +511,27 @@ "fixed_percpu_data is not at start of per-cpu area"); #endif +#ifdef CONFIG_RETHUNK +. = ASSERT((retbleed_return_thunk & 0x3f) == 0, "retbleed_return_thunk not cacheline-aligned"); +. = ASSERT((srso_safe_ret & 0x3f) == 0, "srso_safe_ret not cacheline-aligned"); +#endif + +#ifdef CONFIG_CPU_SRSO +/* + * GNU ld cannot do XOR until 2.41. + * https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f6f78318fca803c4907fb8d7f6ded8295f1947b1 + * + * LLVM lld cannot do XOR until lld-17. + * https://github.com/llvm/llvm-project/commit/fae96104d4378166cbe5c875ef8ed808a356f3fb + * + * Instead do: (A | B) - (A & B) in order to compute the XOR + * of the two function addresses: + */ +. = ASSERT(((ABSOLUTE(srso_alias_untrain_ret) | srso_alias_safe_ret) - + (ABSOLUTE(srso_alias_untrain_ret) & srso_alias_safe_ret)) == ((1 << 2) | (1 << 8) | (1 << 14) | (1 << 20)), + "SRSO function pair won't alias"); +#endif + #endif /* CONFIG_X86_64 */ #ifdef CONFIG_KEXEC_CORE diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/cpuid.c linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/cpuid.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/cpuid.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/cpuid.c @@ -187,6 +187,14 @@ best->ecx |= XFEATURE_MASK_FPSSE; } + /* + * FP+SSE can always be saved/restored via KVM_{G,S}ET_XSAVE, even if + * XSAVE/XCRO are not exposed to the guest, and even if XSAVE isn't + * supported by the host. + */ + vcpu->arch.guest_fpu.fpstate->user_xfeatures = vcpu->arch.guest_supported_xcr0 | + XFEATURE_MASK_FPSSE; + kvm_update_pv_runtime(vcpu); vcpu->arch.maxphyaddr = cpuid_query_maxphyaddr(vcpu); @@ -544,6 +552,9 @@ F(PMM) | F(PMM_EN) ); + if (cpu_feature_enabled(X86_FEATURE_SRSO_NO)) + kvm_cpu_cap_set(X86_FEATURE_SRSO_NO); + /* * Hide RDTSCP and RDPID if either feature is reported as supported but * probing MSR_TSC_AUX failed. This is purely a sanity check and diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/mmu/tdp_mmu.c linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/mmu/tdp_mmu.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/mmu/tdp_mmu.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/mmu/tdp_mmu.c @@ -10,7 +10,7 @@ #include #include -static bool __read_mostly tdp_mmu_enabled = true; +static bool __read_mostly tdp_mmu_enabled = false; module_param_named(tdp_mmu, tdp_mmu_enabled, bool, 0644); /* Initializes the TDP MMU for the VM, if enabled. */ diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/sev.c linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/sev.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/sev.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/sev.c @@ -590,7 +590,7 @@ * traditional VMSA as it has been built so far (in prep * for LAUNCH_UPDATE_VMSA) to be the initial SEV-ES state. */ - memcpy(svm->vmsa, save, sizeof(*save)); + memcpy(svm->sev_es.vmsa, save, sizeof(*save)); return 0; } @@ -612,11 +612,11 @@ * the VMSA memory content (i.e it will write the same memory region * with the guest's key), so invalidate it first. */ - clflush_cache_range(svm->vmsa, PAGE_SIZE); + clflush_cache_range(svm->sev_es.vmsa, PAGE_SIZE); vmsa.reserved = 0; vmsa.handle = to_kvm_svm(kvm)->sev_info.handle; - vmsa.address = __sme_pa(svm->vmsa); + vmsa.address = __sme_pa(svm->sev_es.vmsa); vmsa.len = PAGE_SIZE; ret = sev_issue_cmd(kvm, SEV_CMD_LAUNCH_UPDATE_VMSA, &vmsa, error); if (ret) @@ -2055,16 +2055,16 @@ svm = to_svm(vcpu); if (vcpu->arch.guest_state_protected) - sev_flush_guest_memory(svm, svm->vmsa, PAGE_SIZE); - __free_page(virt_to_page(svm->vmsa)); + sev_flush_guest_memory(svm, svm->sev_es.vmsa, PAGE_SIZE); + __free_page(virt_to_page(svm->sev_es.vmsa)); - if (svm->ghcb_sa_free) - kfree(svm->ghcb_sa); + if (svm->sev_es.ghcb_sa_free) + kvfree(svm->sev_es.ghcb_sa); } static void dump_ghcb(struct vcpu_svm *svm) { - struct ghcb *ghcb = svm->ghcb; + struct ghcb *ghcb = svm->sev_es.ghcb; unsigned int nbits; /* Re-use the dump_invalid_vmcb module parameter */ @@ -2090,7 +2090,7 @@ static void sev_es_sync_to_ghcb(struct vcpu_svm *svm) { struct kvm_vcpu *vcpu = &svm->vcpu; - struct ghcb *ghcb = svm->ghcb; + struct ghcb *ghcb = svm->sev_es.ghcb; /* * The GHCB protocol so far allows for the following data @@ -2110,7 +2110,7 @@ { struct vmcb_control_area *control = &svm->vmcb->control; struct kvm_vcpu *vcpu = &svm->vcpu; - struct ghcb *ghcb = svm->ghcb; + struct ghcb *ghcb = svm->sev_es.ghcb; u64 exit_code; /* @@ -2127,15 +2127,18 @@ */ memset(vcpu->arch.regs, 0, sizeof(vcpu->arch.regs)); - vcpu->arch.regs[VCPU_REGS_RAX] = ghcb_get_rax_if_valid(ghcb); - vcpu->arch.regs[VCPU_REGS_RBX] = ghcb_get_rbx_if_valid(ghcb); - vcpu->arch.regs[VCPU_REGS_RCX] = ghcb_get_rcx_if_valid(ghcb); - vcpu->arch.regs[VCPU_REGS_RDX] = ghcb_get_rdx_if_valid(ghcb); - vcpu->arch.regs[VCPU_REGS_RSI] = ghcb_get_rsi_if_valid(ghcb); + BUILD_BUG_ON(sizeof(svm->sev_es.valid_bitmap) != sizeof(ghcb->save.valid_bitmap)); + memcpy(&svm->sev_es.valid_bitmap, &ghcb->save.valid_bitmap, sizeof(ghcb->save.valid_bitmap)); - svm->vmcb->save.cpl = ghcb_get_cpl_if_valid(ghcb); + vcpu->arch.regs[VCPU_REGS_RAX] = kvm_ghcb_get_rax_if_valid(svm, ghcb); + vcpu->arch.regs[VCPU_REGS_RBX] = kvm_ghcb_get_rbx_if_valid(svm, ghcb); + vcpu->arch.regs[VCPU_REGS_RCX] = kvm_ghcb_get_rcx_if_valid(svm, ghcb); + vcpu->arch.regs[VCPU_REGS_RDX] = kvm_ghcb_get_rdx_if_valid(svm, ghcb); + vcpu->arch.regs[VCPU_REGS_RSI] = kvm_ghcb_get_rsi_if_valid(svm, ghcb); - if (ghcb_xcr0_is_valid(ghcb)) { + svm->vmcb->save.cpl = kvm_ghcb_get_cpl_if_valid(svm, ghcb); + + if (kvm_ghcb_xcr0_is_valid(svm)) { vcpu->arch.xcr0 = ghcb_get_xcr0(ghcb); kvm_update_cpuid_runtime(vcpu); } @@ -2146,79 +2149,91 @@ control->exit_code_hi = upper_32_bits(exit_code); control->exit_info_1 = ghcb_get_sw_exit_info_1(ghcb); control->exit_info_2 = ghcb_get_sw_exit_info_2(ghcb); + svm->sev_es.sw_scratch = kvm_ghcb_get_sw_scratch_if_valid(svm, ghcb); /* Clear the valid entries fields */ memset(ghcb->save.valid_bitmap, 0, sizeof(ghcb->save.valid_bitmap)); } +static u64 kvm_ghcb_get_sw_exit_code(struct vmcb_control_area *control) +{ + return (((u64)control->exit_code_hi) << 32) | control->exit_code; +} + static int sev_es_validate_vmgexit(struct vcpu_svm *svm) { - struct kvm_vcpu *vcpu; + struct vmcb_control_area *control = &svm->vmcb->control; + struct kvm_vcpu *vcpu = &svm->vcpu; struct ghcb *ghcb; - u64 exit_code = 0; - - ghcb = svm->ghcb; + u64 exit_code; + u64 reason; - /* Only GHCB Usage code 0 is supported */ - if (ghcb->ghcb_usage) - goto vmgexit_err; + ghcb = svm->sev_es.ghcb; /* - * Retrieve the exit code now even though is may not be marked valid + * Retrieve the exit code now even though it may not be marked valid * as it could help with debugging. */ - exit_code = ghcb_get_sw_exit_code(ghcb); + exit_code = kvm_ghcb_get_sw_exit_code(control); - if (!ghcb_sw_exit_code_is_valid(ghcb) || - !ghcb_sw_exit_info_1_is_valid(ghcb) || - !ghcb_sw_exit_info_2_is_valid(ghcb)) + /* Only GHCB Usage code 0 is supported */ + if (ghcb->ghcb_usage) { + reason = GHCB_ERR_INVALID_USAGE; goto vmgexit_err; + } - switch (ghcb_get_sw_exit_code(ghcb)) { + reason = GHCB_ERR_MISSING_INPUT; + + if (!kvm_ghcb_sw_exit_code_is_valid(svm) || + !kvm_ghcb_sw_exit_info_1_is_valid(svm) || + !kvm_ghcb_sw_exit_info_2_is_valid(svm)) + goto vmgexit_err; + + switch (exit_code) { case SVM_EXIT_READ_DR7: break; case SVM_EXIT_WRITE_DR7: - if (!ghcb_rax_is_valid(ghcb)) + if (!kvm_ghcb_rax_is_valid(svm)) goto vmgexit_err; break; case SVM_EXIT_RDTSC: break; case SVM_EXIT_RDPMC: - if (!ghcb_rcx_is_valid(ghcb)) + if (!kvm_ghcb_rcx_is_valid(svm)) goto vmgexit_err; break; case SVM_EXIT_CPUID: - if (!ghcb_rax_is_valid(ghcb) || - !ghcb_rcx_is_valid(ghcb)) + if (!kvm_ghcb_rax_is_valid(svm) || + !kvm_ghcb_rcx_is_valid(svm)) goto vmgexit_err; - if (ghcb_get_rax(ghcb) == 0xd) - if (!ghcb_xcr0_is_valid(ghcb)) + if (vcpu->arch.regs[VCPU_REGS_RAX] == 0xd) + if (!kvm_ghcb_xcr0_is_valid(svm)) goto vmgexit_err; break; case SVM_EXIT_INVD: break; case SVM_EXIT_IOIO: - if (ghcb_get_sw_exit_info_1(ghcb) & SVM_IOIO_STR_MASK) { - if (!ghcb_sw_scratch_is_valid(ghcb)) + if (control->exit_info_1 & SVM_IOIO_STR_MASK) { + if (!kvm_ghcb_sw_scratch_is_valid(svm)) goto vmgexit_err; } else { - if (!(ghcb_get_sw_exit_info_1(ghcb) & SVM_IOIO_TYPE_MASK)) - if (!ghcb_rax_is_valid(ghcb)) + if (!(control->exit_info_1 & SVM_IOIO_TYPE_MASK)) + if (!kvm_ghcb_rax_is_valid(svm)) goto vmgexit_err; } break; case SVM_EXIT_MSR: - if (!ghcb_rcx_is_valid(ghcb)) + if (!kvm_ghcb_rcx_is_valid(svm)) goto vmgexit_err; - if (ghcb_get_sw_exit_info_1(ghcb)) { - if (!ghcb_rax_is_valid(ghcb) || - !ghcb_rdx_is_valid(ghcb)) + if (control->exit_info_1) { + if (!kvm_ghcb_rax_is_valid(svm) || + !kvm_ghcb_rdx_is_valid(svm)) goto vmgexit_err; } break; case SVM_EXIT_VMMCALL: - if (!ghcb_rax_is_valid(ghcb) || - !ghcb_cpl_is_valid(ghcb)) + if (!kvm_ghcb_rax_is_valid(svm) || + !kvm_ghcb_cpl_is_valid(svm)) goto vmgexit_err; break; case SVM_EXIT_RDTSCP: @@ -2226,19 +2241,19 @@ case SVM_EXIT_WBINVD: break; case SVM_EXIT_MONITOR: - if (!ghcb_rax_is_valid(ghcb) || - !ghcb_rcx_is_valid(ghcb) || - !ghcb_rdx_is_valid(ghcb)) + if (!kvm_ghcb_rax_is_valid(svm) || + !kvm_ghcb_rcx_is_valid(svm) || + !kvm_ghcb_rdx_is_valid(svm)) goto vmgexit_err; break; case SVM_EXIT_MWAIT: - if (!ghcb_rax_is_valid(ghcb) || - !ghcb_rcx_is_valid(ghcb)) + if (!kvm_ghcb_rax_is_valid(svm) || + !kvm_ghcb_rcx_is_valid(svm)) goto vmgexit_err; break; case SVM_VMGEXIT_MMIO_READ: case SVM_VMGEXIT_MMIO_WRITE: - if (!ghcb_sw_scratch_is_valid(ghcb)) + if (!kvm_ghcb_sw_scratch_is_valid(svm)) goto vmgexit_err; break; case SVM_VMGEXIT_NMI_COMPLETE: @@ -2247,61 +2262,62 @@ case SVM_VMGEXIT_UNSUPPORTED_EVENT: break; default: + reason = GHCB_ERR_INVALID_EVENT; goto vmgexit_err; } return 0; vmgexit_err: - vcpu = &svm->vcpu; - - if (ghcb->ghcb_usage) { + if (reason == GHCB_ERR_INVALID_USAGE) { vcpu_unimpl(vcpu, "vmgexit: ghcb usage %#x is not valid\n", ghcb->ghcb_usage); + } else if (reason == GHCB_ERR_INVALID_EVENT) { + vcpu_unimpl(vcpu, "vmgexit: exit code %#llx is not valid\n", + exit_code); } else { - vcpu_unimpl(vcpu, "vmgexit: exit reason %#llx is not valid\n", + vcpu_unimpl(vcpu, "vmgexit: exit code %#llx input is not valid\n", exit_code); dump_ghcb(svm); } - vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR; - vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON; - vcpu->run->internal.ndata = 2; - vcpu->run->internal.data[0] = exit_code; - vcpu->run->internal.data[1] = vcpu->arch.last_vmentry_cpu; + ghcb_set_sw_exit_info_1(ghcb, 2); + ghcb_set_sw_exit_info_2(ghcb, reason); - return -EINVAL; + /* Resume the guest to "return" the error code. */ + return 1; } void sev_es_unmap_ghcb(struct vcpu_svm *svm) { - if (!svm->ghcb) + if (!svm->sev_es.ghcb) return; - if (svm->ghcb_sa_free) { + if (svm->sev_es.ghcb_sa_free) { /* * The scratch area lives outside the GHCB, so there is a * buffer that, depending on the operation performed, may * need to be synced, then freed. */ - if (svm->ghcb_sa_sync) { + if (svm->sev_es.ghcb_sa_sync) { kvm_write_guest(svm->vcpu.kvm, - ghcb_get_sw_scratch(svm->ghcb), - svm->ghcb_sa, svm->ghcb_sa_len); - svm->ghcb_sa_sync = false; + svm->sev_es.sw_scratch, + svm->sev_es.ghcb_sa, + svm->sev_es.ghcb_sa_len); + svm->sev_es.ghcb_sa_sync = false; } - kfree(svm->ghcb_sa); - svm->ghcb_sa = NULL; - svm->ghcb_sa_free = false; + kvfree(svm->sev_es.ghcb_sa); + svm->sev_es.ghcb_sa = NULL; + svm->sev_es.ghcb_sa_free = false; } - trace_kvm_vmgexit_exit(svm->vcpu.vcpu_id, svm->ghcb); + trace_kvm_vmgexit_exit(svm->vcpu.vcpu_id, svm->sev_es.ghcb); sev_es_sync_to_ghcb(svm); - kvm_vcpu_unmap(&svm->vcpu, &svm->ghcb_map, true); - svm->ghcb = NULL; + kvm_vcpu_unmap(&svm->vcpu, &svm->sev_es.ghcb_map, true); + svm->sev_es.ghcb = NULL; } void pre_sev_run(struct vcpu_svm *svm, int cpu) @@ -2331,22 +2347,22 @@ static int setup_vmgexit_scratch(struct vcpu_svm *svm, bool sync, u64 len) { struct vmcb_control_area *control = &svm->vmcb->control; - struct ghcb *ghcb = svm->ghcb; + struct ghcb *ghcb = svm->sev_es.ghcb; u64 ghcb_scratch_beg, ghcb_scratch_end; u64 scratch_gpa_beg, scratch_gpa_end; void *scratch_va; - scratch_gpa_beg = ghcb_get_sw_scratch(ghcb); + scratch_gpa_beg = svm->sev_es.sw_scratch; if (!scratch_gpa_beg) { pr_err("vmgexit: scratch gpa not provided\n"); - return -EINVAL; + goto e_scratch; } scratch_gpa_end = scratch_gpa_beg + len; if (scratch_gpa_end < scratch_gpa_beg) { pr_err("vmgexit: scratch length (%#llx) not valid for scratch address (%#llx)\n", len, scratch_gpa_beg); - return -EINVAL; + goto e_scratch; } if ((scratch_gpa_beg & PAGE_MASK) == control->ghcb_gpa) { @@ -2364,10 +2380,10 @@ scratch_gpa_end > ghcb_scratch_end) { pr_err("vmgexit: scratch area is outside of GHCB shared buffer area (%#llx - %#llx)\n", scratch_gpa_beg, scratch_gpa_end); - return -EINVAL; + goto e_scratch; } - scratch_va = (void *)svm->ghcb; + scratch_va = (void *)svm->sev_es.ghcb; scratch_va += (scratch_gpa_beg - control->ghcb_gpa); } else { /* @@ -2377,9 +2393,9 @@ if (len > GHCB_SCRATCH_AREA_LIMIT) { pr_err("vmgexit: scratch area exceeds KVM limits (%#llx requested, %#llx limit)\n", len, GHCB_SCRATCH_AREA_LIMIT); - return -EINVAL; + goto e_scratch; } - scratch_va = kzalloc(len, GFP_KERNEL_ACCOUNT); + scratch_va = kvzalloc(len, GFP_KERNEL_ACCOUNT); if (!scratch_va) return -ENOMEM; @@ -2387,7 +2403,7 @@ /* Unable to copy scratch area from guest */ pr_err("vmgexit: kvm_read_guest for scratch area failed\n"); - kfree(scratch_va); + kvfree(scratch_va); return -EFAULT; } @@ -2397,14 +2413,20 @@ * the vCPU next time (i.e. a read was requested so the data * must be written back to the guest memory). */ - svm->ghcb_sa_sync = sync; - svm->ghcb_sa_free = true; + svm->sev_es.ghcb_sa_sync = sync; + svm->sev_es.ghcb_sa_free = true; } - svm->ghcb_sa = scratch_va; - svm->ghcb_sa_len = len; + svm->sev_es.ghcb_sa = scratch_va; + svm->sev_es.ghcb_sa_len = len; return 0; + +e_scratch: + ghcb_set_sw_exit_info_1(ghcb, 2); + ghcb_set_sw_exit_info_2(ghcb, GHCB_ERR_INVALID_SCRATCH_AREA); + + return 1; } static void set_ghcb_msr_bits(struct vcpu_svm *svm, u64 value, u64 mask, @@ -2455,7 +2477,7 @@ ret = svm_invoke_exit_handler(vcpu, SVM_EXIT_CPUID); if (!ret) { - ret = -EINVAL; + /* Error, keep GHCB MSR value as-is */ break; } @@ -2491,10 +2513,13 @@ GHCB_MSR_TERM_REASON_POS); pr_info("SEV-ES guest requested termination: %#llx:%#llx\n", reason_set, reason_code); - fallthrough; + + ret = -EINVAL; + break; } default: - ret = -EINVAL; + /* Error, keep GHCB MSR value as-is */ + break; } trace_kvm_vmgexit_msr_protocol_exit(svm->vcpu.vcpu_id, @@ -2518,31 +2543,34 @@ if (!ghcb_gpa) { vcpu_unimpl(vcpu, "vmgexit: GHCB gpa is not set\n"); - return -EINVAL; + + /* Without a GHCB, just return right back to the guest */ + return 1; } - if (kvm_vcpu_map(vcpu, ghcb_gpa >> PAGE_SHIFT, &svm->ghcb_map)) { + if (kvm_vcpu_map(vcpu, ghcb_gpa >> PAGE_SHIFT, &svm->sev_es.ghcb_map)) { /* Unable to map GHCB from guest */ vcpu_unimpl(vcpu, "vmgexit: error mapping GHCB [%#llx] from guest\n", ghcb_gpa); - return -EINVAL; + + /* Without a GHCB, just return right back to the guest */ + return 1; } - svm->ghcb = svm->ghcb_map.hva; - ghcb = svm->ghcb_map.hva; + svm->sev_es.ghcb = svm->sev_es.ghcb_map.hva; + ghcb = svm->sev_es.ghcb_map.hva; trace_kvm_vmgexit_enter(vcpu->vcpu_id, ghcb); - exit_code = ghcb_get_sw_exit_code(ghcb); - + sev_es_sync_from_ghcb(svm); ret = sev_es_validate_vmgexit(svm); if (ret) return ret; - sev_es_sync_from_ghcb(svm); ghcb_set_sw_exit_info_1(ghcb, 0); ghcb_set_sw_exit_info_2(ghcb, 0); + exit_code = kvm_ghcb_get_sw_exit_code(control); switch (exit_code) { case SVM_VMGEXIT_MMIO_READ: ret = setup_vmgexit_scratch(svm, true, control->exit_info_2); @@ -2552,7 +2580,7 @@ ret = kvm_sev_es_mmio_read(vcpu, control->exit_info_1, control->exit_info_2, - svm->ghcb_sa); + svm->sev_es.ghcb_sa); break; case SVM_VMGEXIT_MMIO_WRITE: ret = setup_vmgexit_scratch(svm, false, control->exit_info_2); @@ -2562,7 +2590,7 @@ ret = kvm_sev_es_mmio_write(vcpu, control->exit_info_1, control->exit_info_2, - svm->ghcb_sa); + svm->sev_es.ghcb_sa); break; case SVM_VMGEXIT_NMI_COMPLETE: ret = svm_invoke_exit_handler(vcpu, SVM_EXIT_IRET); @@ -2585,11 +2613,8 @@ default: pr_err("svm: vmgexit: unsupported AP jump table request - exit_info_1=%#llx\n", control->exit_info_1); - ghcb_set_sw_exit_info_1(ghcb, 1); - ghcb_set_sw_exit_info_2(ghcb, - X86_TRAP_UD | - SVM_EVTINJ_TYPE_EXEPT | - SVM_EVTINJ_VALID); + ghcb_set_sw_exit_info_1(ghcb, 2); + ghcb_set_sw_exit_info_2(ghcb, GHCB_ERR_INVALID_INPUT); } ret = 1; @@ -2625,7 +2650,8 @@ if (r) return r; - return kvm_sev_es_string_io(&svm->vcpu, size, port, svm->ghcb_sa, count, in); + return kvm_sev_es_string_io(&svm->vcpu, size, port, svm->sev_es.ghcb_sa, + count, in); } void sev_es_init_vmcb(struct vcpu_svm *svm) @@ -2640,7 +2666,7 @@ * VMCB page. Do not include the encryption mask on the VMSA physical * address since hardware will access it using the guest key. */ - svm->vmcb->control.vmsa_pa = __pa(svm->vmsa); + svm->vmcb->control.vmsa_pa = __pa(svm->sev_es.vmsa); /* Can't intercept CR register access, HV can't modify CR registers */ svm_clr_intercept(svm, INTERCEPT_CR0_READ); @@ -2712,8 +2738,8 @@ struct vcpu_svm *svm = to_svm(vcpu); /* First SIPI: Use the values as initially set by the VMM */ - if (!svm->received_first_sipi) { - svm->received_first_sipi = true; + if (!svm->sev_es.received_first_sipi) { + svm->sev_es.received_first_sipi = true; return; } @@ -2724,6 +2750,6 @@ */ - if (!svm->ghcb) + if (!svm->sev_es.ghcb) return; - ghcb_set_sw_exit_info_2(svm->ghcb, 1); + ghcb_set_sw_exit_info_2(svm->sev_es.ghcb, 1); } diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.c linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.c @@ -1393,7 +1393,7 @@ svm->vmcb01.pa = __sme_set(page_to_pfn(vmcb01_page) << PAGE_SHIFT); if (vmsa_page) - svm->vmsa = page_address(vmsa_page); + svm->sev_es.vmsa = page_address(vmsa_page); svm->guest_state_loaded = false; @@ -1490,7 +1490,9 @@ if (sd->current_vmcb != svm->vmcb) { sd->current_vmcb = svm->vmcb; - indirect_branch_prediction_barrier(); + + if (!cpu_feature_enabled(X86_FEATURE_IBPB_ON_VMEXIT)) + indirect_branch_prediction_barrier(); } if (kvm_vcpu_apicv_active(vcpu)) avic_vcpu_load(vcpu, cpu); @@ -2797,11 +2799,11 @@ static int svm_complete_emulated_msr(struct kvm_vcpu *vcpu, int err) { struct vcpu_svm *svm = to_svm(vcpu); - if (!err || !sev_es_guest(vcpu->kvm) || WARN_ON_ONCE(!svm->ghcb)) + if (!err || !sev_es_guest(vcpu->kvm) || WARN_ON_ONCE(!svm->sev_es.ghcb)) return kvm_complete_insn_gp(vcpu, err); - ghcb_set_sw_exit_info_1(svm->ghcb, 1); - ghcb_set_sw_exit_info_2(svm->ghcb, + ghcb_set_sw_exit_info_1(svm->sev_es.ghcb, 1); + ghcb_set_sw_exit_info_2(svm->sev_es.ghcb, X86_TRAP_GP | SVM_EVTINJ_TYPE_EXEPT | SVM_EVTINJ_VALID); @@ -3761,6 +3763,8 @@ kvm_guest_enter_irqoff(); + amd_clear_divider(); + if (sev_es_guest(vcpu->kvm)) { __svm_sev_es_vcpu_run(vmcb_pa); } else { diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.h linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.h --- linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/svm.h @@ -125,6 +125,22 @@ bool initialized; }; +struct vcpu_sev_es_state { + /* SEV-ES support */ + struct vmcb_save_area *vmsa; + struct ghcb *ghcb; + u8 valid_bitmap[16]; + struct kvm_host_map ghcb_map; + bool received_first_sipi; + + /* SEV-ES scratch area support */ + u64 sw_scratch; + void *ghcb_sa; + u32 ghcb_sa_len; + bool ghcb_sa_sync; + bool ghcb_sa_free; +}; + struct vcpu_svm { struct kvm_vcpu vcpu; /* vmcb always points at current_vmcb->ptr, it's purely a shorthand. */ @@ -185,17 +201,7 @@ DECLARE_BITMAP(write, MAX_DIRECT_ACCESS_MSRS); } shadow_msr_intercept; - /* SEV-ES support */ - struct vmcb_save_area *vmsa; - struct ghcb *ghcb; - struct kvm_host_map ghcb_map; - bool received_first_sipi; - - /* SEV-ES scratch area support */ - void *ghcb_sa; - u32 ghcb_sa_len; - bool ghcb_sa_sync; - bool ghcb_sa_free; + struct vcpu_sev_es_state sev_es; bool guest_state_loaded; }; @@ -579,2 +585,26 @@ +#define DEFINE_KVM_GHCB_ACCESSORS(field) \ + static __always_inline bool kvm_ghcb_##field##_is_valid(const struct vcpu_svm *svm) \ + { \ + return test_bit(GHCB_BITMAP_IDX(field), \ + (unsigned long *)&svm->sev_es.valid_bitmap); \ + } \ + \ + static __always_inline u64 kvm_ghcb_get_##field##_if_valid(struct vcpu_svm *svm, struct ghcb *ghcb) \ + { \ + return kvm_ghcb_##field##_is_valid(svm) ? ghcb->save.field : 0; \ + } \ + +DEFINE_KVM_GHCB_ACCESSORS(cpl) +DEFINE_KVM_GHCB_ACCESSORS(rax) +DEFINE_KVM_GHCB_ACCESSORS(rcx) +DEFINE_KVM_GHCB_ACCESSORS(rdx) +DEFINE_KVM_GHCB_ACCESSORS(rbx) +DEFINE_KVM_GHCB_ACCESSORS(rsi) +DEFINE_KVM_GHCB_ACCESSORS(sw_exit_code) +DEFINE_KVM_GHCB_ACCESSORS(sw_exit_info_1) +DEFINE_KVM_GHCB_ACCESSORS(sw_exit_info_2) +DEFINE_KVM_GHCB_ACCESSORS(sw_scratch) +DEFINE_KVM_GHCB_ACCESSORS(xcr0) + #endif diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/vmenter.S linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/vmenter.S --- linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/vmenter.S +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/svm/vmenter.S @@ -119,6 +119,9 @@ */ UNTRAIN_RET + /* SRSO */ + ALTERNATIVE "", "call entry_ibpb", X86_FEATURE_IBPB_ON_VMEXIT + /* * Clear all general purpose registers except RSP and RAX to prevent * speculative use of the guest's values, even those that are reloaded diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/lib/retpoline.S linux-intel-iotg-5.15-5.15.0/arch/x86/lib/retpoline.S --- linux-intel-iotg-5.15-5.15.0/arch/x86/lib/retpoline.S +++ linux-intel-iotg-5.15-5.15.0/arch/x86/lib/retpoline.S @@ -9,8 +9,9 @@ #include #include #include +#include - .section .text.__x86.indirect_thunk + .section .text..__x86.indirect_thunk .macro RETPOLINE reg ANNOTATE_INTRA_FUNCTION_CALL @@ -73,36 +74,106 @@ */ #ifdef CONFIG_RETHUNK - .section .text.__x86.return_thunk +/* + * srso_alias_untrain_ret() and srso_alias_safe_ret() are placed at + * special addresses: + * + * - srso_alias_untrain_ret() is 2M aligned + * - srso_alias_safe_ret() is also in the same 2M page but bits 2, 8, 14 + * and 20 in its virtual address are set (while those bits in the + * srso_alias_untrain_ret() function are cleared). + * + * This guarantees that those two addresses will alias in the branch + * target buffer of Zen3/4 generations, leading to any potential + * poisoned entries at that BTB slot to get evicted. + * + * As a result, srso_alias_safe_ret() becomes a safe return. + */ +#ifdef CONFIG_CPU_SRSO + .section .text..__x86.rethunk_untrain + +SYM_START(srso_alias_untrain_ret, SYM_L_GLOBAL, SYM_A_NONE) + UNWIND_HINT_FUNC + ASM_NOP2 + lfence + jmp srso_alias_return_thunk +SYM_FUNC_END(srso_alias_untrain_ret) +__EXPORT_THUNK(srso_alias_untrain_ret) + + .section .text..__x86.rethunk_safe +#else +/* dummy definition for alternatives */ +SYM_START(srso_alias_untrain_ret, SYM_L_GLOBAL, SYM_A_NONE) + ANNOTATE_UNRET_SAFE + ret + int3 +SYM_FUNC_END(srso_alias_untrain_ret) +#endif + +SYM_START(srso_alias_safe_ret, SYM_L_GLOBAL, SYM_A_NONE) + lea 8(%_ASM_SP), %_ASM_SP + UNWIND_HINT_FUNC + ANNOTATE_UNRET_SAFE + ret + int3 +SYM_FUNC_END(srso_alias_safe_ret) + + .section .text..__x86.return_thunk + +SYM_CODE_START(srso_alias_return_thunk) + UNWIND_HINT_FUNC + ANNOTATE_NOENDBR + call srso_alias_safe_ret + ud2 +SYM_CODE_END(srso_alias_return_thunk) + +/* + * Some generic notes on the untraining sequences: + * + * They are interchangeable when it comes to flushing potentially wrong + * RET predictions from the BTB. + * + * The SRSO Zen1/2 (MOVABS) untraining sequence is longer than the + * Retbleed sequence because the return sequence done there + * (srso_safe_ret()) is longer and the return sequence must fully nest + * (end before) the untraining sequence. Therefore, the untraining + * sequence must fully overlap the return sequence. + * + * Regarding alignment - the instructions which need to be untrained, + * must all start at a cacheline boundary for Zen1/2 generations. That + * is, instruction sequences starting at srso_safe_ret() and + * the respective instruction sequences at retbleed_return_thunk() + * must start at a cacheline boundary. + */ /* * Safety details here pertain to the AMD Zen{1,2} microarchitecture: - * 1) The RET at __x86_return_thunk must be on a 64 byte boundary, for + * 1) The RET at retbleed_return_thunk must be on a 64 byte boundary, for * alignment within the BTB. - * 2) The instruction at zen_untrain_ret must contain, and not + * 2) The instruction at retbleed_untrain_ret must contain, and not * end with, the 0xc3 byte of the RET. * 3) STIBP must be enabled, or SMT disabled, to prevent the sibling thread * from re-poisioning the BTB prediction. */ .align 64 - .skip 63, 0xcc -SYM_FUNC_START_NOALIGN(zen_untrain_ret); + .skip 64 - (retbleed_return_thunk - retbleed_untrain_ret), 0xcc +SYM_FUNC_START_NOALIGN(retbleed_untrain_ret); /* - * As executed from zen_untrain_ret, this is: + * As executed from retbleed_untrain_ret, this is: * * TEST $0xcc, %bl * LFENCE - * JMP __x86_return_thunk + * JMP retbleed_return_thunk * * Executing the TEST instruction has a side effect of evicting any BTB * prediction (potentially attacker controlled) attached to the RET, as - * __x86_return_thunk + 1 isn't an instruction boundary at the moment. + * retbleed_return_thunk + 1 isn't an instruction boundary at the moment. */ .byte 0xf6 /* - * As executed from __x86_return_thunk, this is a plain RET. + * As executed from retbleed_return_thunk, this is a plain RET. * * As part of the TEST above, RET is the ModRM byte, and INT3 the imm8. * @@ -114,13 +185,13 @@ * With SMT enabled and STIBP active, a sibling thread cannot poison * RET's prediction to a type of its choice, but can evict the * prediction due to competitive sharing. If the prediction is - * evicted, __x86_return_thunk will suffer Straight Line Speculation + * evicted, retbleed_return_thunk will suffer Straight Line Speculation * which will be contained safely by the INT3. */ -SYM_INNER_LABEL(__x86_return_thunk, SYM_L_GLOBAL) +SYM_INNER_LABEL(retbleed_return_thunk, SYM_L_GLOBAL) ret int3 -SYM_CODE_END(__x86_return_thunk) +SYM_CODE_END(retbleed_return_thunk) /* * Ensure the TEST decoding / BTB invalidation is complete. @@ -131,11 +202,66 @@ * Jump back and execute the RET in the middle of the TEST instruction. * INT3 is for SLS protection. */ - jmp __x86_return_thunk + jmp retbleed_return_thunk int3 -SYM_FUNC_END(zen_untrain_ret) -__EXPORT_THUNK(zen_untrain_ret) +SYM_FUNC_END(retbleed_untrain_ret) +__EXPORT_THUNK(retbleed_untrain_ret) +/* + * SRSO untraining sequence for Zen1/2, similar to retbleed_untrain_ret() + * above. On kernel entry, srso_untrain_ret() is executed which is a + * + * movabs $0xccccc30824648d48,%rax + * + * and when the return thunk executes the inner label srso_safe_ret() + * later, it is a stack manipulation and a RET which is mispredicted and + * thus a "safe" one to use. + */ + .align 64 + .skip 64 - (srso_safe_ret - srso_untrain_ret), 0xcc +SYM_START(srso_untrain_ret, SYM_L_GLOBAL, SYM_A_NONE) + .byte 0x48, 0xb8 + +/* + * This forces the function return instruction to speculate into a trap + * (UD2 in srso_return_thunk() below). This RET will then mispredict + * and execution will continue at the return site read from the top of + * the stack. + */ +SYM_INNER_LABEL(srso_safe_ret, SYM_L_GLOBAL) + lea 8(%_ASM_SP), %_ASM_SP + ret + int3 + int3 + /* end of movabs */ + lfence + call srso_safe_ret + ud2 +SYM_CODE_END(srso_safe_ret) +SYM_FUNC_END(srso_untrain_ret) +__EXPORT_THUNK(srso_untrain_ret) + +SYM_CODE_START(srso_return_thunk) + UNWIND_HINT_FUNC + ANNOTATE_NOENDBR + call srso_safe_ret + ud2 +SYM_CODE_END(srso_return_thunk) + +SYM_FUNC_START(entry_untrain_ret) + ALTERNATIVE_2 "jmp retbleed_untrain_ret", \ + "jmp srso_untrain_ret", X86_FEATURE_SRSO, \ + "jmp srso_alias_untrain_ret", X86_FEATURE_SRSO_ALIAS +SYM_FUNC_END(entry_untrain_ret) +__EXPORT_THUNK(entry_untrain_ret) + +SYM_CODE_START(__x86_return_thunk) + UNWIND_HINT_FUNC + ANNOTATE_NOENDBR + ANNOTATE_UNRET_SAFE + ret + int3 +SYM_CODE_END(__x86_return_thunk) EXPORT_SYMBOL(__x86_return_thunk) #endif /* CONFIG_RETHUNK */ diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/purgatory/Makefile linux-intel-iotg-5.15-5.15.0/arch/x86/purgatory/Makefile --- linux-intel-iotg-5.15-5.15.0/arch/x86/purgatory/Makefile +++ linux-intel-iotg-5.15-5.15.0/arch/x86/purgatory/Makefile @@ -14,6 +14,11 @@ CFLAGS_sha256.o := -D__DISABLE_EXPORTS +# When profile-guided optimization is enabled, llvm emits two different +# overlapping text sections, which is not supported by kexec. Remove profile +# optimization flags. +KBUILD_CFLAGS := $(filter-out -fprofile-sample-use=% -fprofile-use=%,$(KBUILD_CFLAGS)) + # When linking purgatory.ro with -r unresolved symbols are not checked, # also link a purgatory.chk binary without -r to check for unresolved symbols. PURGATORY_LDFLAGS := -e purgatory_start -nostdlib -z nodefaultlib diff -u linux-intel-iotg-5.15-5.15.0/arch/x86/xen/time.c linux-intel-iotg-5.15-5.15.0/arch/x86/xen/time.c --- linux-intel-iotg-5.15-5.15.0/arch/x86/xen/time.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/xen/time.c @@ -474,15 +474,51 @@ xen_clocksource.vdso_clock_mode = VDSO_CLOCKMODE_PVCLOCK; } +/* + * Check if it is possible to safely use the tsc as a clocksource. This is + * only true if the hypervisor notifies the guest that its tsc is invariant, + * the tsc is stable, and the tsc instruction will never be emulated. + */ +static int __init xen_tsc_safe_clocksource(void) +{ + u32 eax, ebx, ecx, edx; + + if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC))) + return 0; + + if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC))) + return 0; + + if (check_tsc_unstable()) + return 0; + + /* Leaf 4, sub-leaf 0 (0x40000x03) */ + cpuid_count(xen_cpuid_base() + 3, 0, &eax, &ebx, &ecx, &edx); + + /* tsc_mode = no_emulate (2) */ + if (ebx != 2) + return 0; + + return 1; +} + static void __init xen_time_init(void) { struct pvclock_vcpu_time_info *pvti; int cpu = smp_processor_id(); struct timespec64 tp; - /* As Dom0 is never moved, no penalty on using TSC there */ + /* + * As Dom0 is never moved, no penalty on using TSC there. + * + * If it is possible for the guest to determine that the tsc is a safe + * clocksource, then set xen_clocksource rating below that of the tsc + * so that the system prefers tsc instead. + */ if (xen_initial_domain()) xen_clocksource.rating = 275; + else if (xen_tsc_safe_clocksource()) + xen_clocksource.rating = 299; clocksource_register_hz(&xen_clocksource, NSEC_PER_SEC); diff -u linux-intel-iotg-5.15-5.15.0/arch/xtensa/platforms/iss/network.c linux-intel-iotg-5.15-5.15.0/arch/xtensa/platforms/iss/network.c --- linux-intel-iotg-5.15-5.15.0/arch/xtensa/platforms/iss/network.c +++ linux-intel-iotg-5.15-5.15.0/arch/xtensa/platforms/iss/network.c @@ -231,7 +231,7 @@ init += sizeof(TRANSPORT_TUNTAP_NAME) - 1; if (*init == ',') { - rem = split_if_spec(init + 1, &mac_str, &dev_name); + rem = split_if_spec(init + 1, &mac_str, &dev_name, NULL); if (rem != NULL) { pr_err("%s: extra garbage on specification : '%s'\n", dev->name, rem); diff -u linux-intel-iotg-5.15-5.15.0/block/blk-iocost.c linux-intel-iotg-5.15-5.15.0/block/blk-iocost.c --- linux-intel-iotg-5.15-5.15.0/block/blk-iocost.c +++ linux-intel-iotg-5.15-5.15.0/block/blk-iocost.c @@ -258,6 +258,11 @@ VRATE_MIN = VTIME_PER_USEC * VRATE_MIN_PPM / MILLION, VRATE_CLAMP_ADJ_PCT = 4, + /* switch iff the conditions are met for longer than this */ + AUTOP_CYCLE_NSEC = 10LLU * NSEC_PER_SEC, +}; + +enum { /* if IOs end up waiting for requests, issue less */ RQ_WAIT_BUSY_PCT = 5, @@ -296,9 +301,6 @@ /* don't let cmds which take a very long time pin lagging for too long */ MAX_LAGGING_PERIODS = 10, - /* switch iff the conditions are met for longer than this */ - AUTOP_CYCLE_NSEC = 10LLU * NSEC_PER_SEC, - /* * Count IO size in 4k pages. The 12bit shift helps keeping * size-proportional components of cost calculation in closer @@ -2446,6 +2448,7 @@ u32 hwi, adj_step; s64 margin; u64 cost, new_inuse; + unsigned long flags; current_hweight(iocg, NULL, &hwi); old_hwi = hwi; @@ -2464,11 +2467,11 @@ iocg->inuse == iocg->active) return cost; - spin_lock_irq(&ioc->lock); + spin_lock_irqsave(&ioc->lock, flags); /* we own inuse only when @iocg is in the normal active state */ if (iocg->abs_vdebt || list_empty(&iocg->active_list)) { - spin_unlock_irq(&ioc->lock); + spin_unlock_irqrestore(&ioc->lock, flags); return cost; } @@ -2489,7 +2492,7 @@ } while (time_after64(vtime + cost, now->vnow) && iocg->inuse != iocg->active); - spin_unlock_irq(&ioc->lock); + spin_unlock_irqrestore(&ioc->lock, flags); TRACE_IOCG_PATH(inuse_adjust, iocg, now, old_inuse, iocg->inuse, old_hwi, hwi); diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/abiname linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/abiname --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/abiname +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/abiname @@ -1 +1 @@ -1039 +1040 diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg @@ -6360,7 +6360,6 @@ EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier EXPORT_SYMBOL vmlinux 0x0a865b32 rproc_alloc EXPORT_SYMBOL vmlinux 0x0a894f55 seq_read_iter -EXPORT_SYMBOL vmlinux 0x0a92ec74 boot_cpu_data EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace EXPORT_SYMBOL vmlinux 0x0ab6a312 netdev_next_lower_dev_rcu @@ -8529,7 +8528,6 @@ EXPORT_SYMBOL vmlinux 0x6e71a567 skb_pull EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock EXPORT_SYMBOL vmlinux 0x6e7ba8a1 page_mapping -EXPORT_SYMBOL vmlinux 0x6e841389 cpu_info EXPORT_SYMBOL vmlinux 0x6e8788c1 gro_cells_init EXPORT_SYMBOL vmlinux 0x6e8f7b68 sock_bind_add EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put @@ -10380,6 +10378,7 @@ EXPORT_SYMBOL vmlinux 0xc1f0ba96 alloc_pages_vma EXPORT_SYMBOL vmlinux 0xc1f851b8 param_ops_charp EXPORT_SYMBOL vmlinux 0xc2154a9d netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xc224abae boot_cpu_data EXPORT_SYMBOL vmlinux 0xc22c3dcd default_qdisc_ops EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup EXPORT_SYMBOL vmlinux 0xc24ab696 zero_fill_bio @@ -10617,6 +10616,7 @@ EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize EXPORT_SYMBOL vmlinux 0xccfb7972 ilookup +EXPORT_SYMBOL vmlinux 0xccfb7c06 cpu_info EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed EXPORT_SYMBOL vmlinux 0xcd01b8e6 acpi_attach_data @@ -21150,6 +21150,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x38719aab ata_sff_error_handler EXPORT_SYMBOL_GPL vmlinux 0x38722f80 kernel_fpu_end EXPORT_SYMBOL_GPL vmlinux 0x387afb91 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x388264ea amd_clear_divider EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count EXPORT_SYMBOL_GPL vmlinux 0x38a70d24 fwnode_property_read_u8_array EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg.modules linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg.modules --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg.modules +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/amd64/intel-iotg.modules @@ -1027,7 +1027,6 @@ ddbridge-dummy-fe de2104x de4x5 -decnet defxx dell-laptop dell-rbtn @@ -1116,7 +1115,6 @@ dmi-sysfs dmm32at dmx3191d -dn_rtmsg dnet dp83640 dp83822 @@ -5199,7 +5197,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/version linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/version --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/version +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/abi/version @@ -1 +1 @@ -5.15.0-1039.44~20.04.1 +5.15.0-1040.46~20.04.1 diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/changelog linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/changelog --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/changelog +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/changelog @@ -1,3 +1,1024 @@ +linux-intel-iotg-5.15 (5.15.0-1041.47~20.04.1) focal; urgency=medium + + * focal/linux-intel-iotg-5.15: 5.15.0-1041.47~20.04.1 -proposed tracker + (LP: #2036561) + + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - [Config] updateconfigs for DECNET + + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - [Config] updateconfigs for BLK_DEV_SX8 + + [ Ubuntu: 5.15.0-1041.47 ] + + * jammy/linux-intel-iotg: 5.15.0-1041.47 -proposed tracker (LP: #2033808) + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - [Config] updateconfigs for BLK_DEV_SX8 + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - [Config] updateconfigs for DECNET + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * [IOTG][RPL] Integrated TSN controller (stmmac) driver enabling + (LP: #2019222) + - stmmac: intel: Separate ADL-N and RPL-P device ID from TGL + * jammy/linux: 5.15.0-85.95 -proposed tracker (LP: #2033821) + * Please enable Renesas RZ platform serial installer (LP: #2022361) + - [Config] enable hihope RZ/G2M serial console + - [Config] Mark sh-sci as built-in + * Request backport of xen timekeeping performance improvements (LP: #2033122) + - x86/xen/time: prefer tsc as clocksource when it is invariant + * kdump doesn't work with UEFI secure boot and kernel lockdown enabled on + ARM64 (LP: #2033007) + - [Config]: Enable CONFIG_KEXEC_IMAGE_VERIFY_SIG + - kexec, KEYS: make the code in bzImage64_verify_sig generic + - arm64: kexec_file: use more system keyrings to verify kernel image signature + * ubuntu_kernel_selftests:net:vrf-xfrm-tests.sh: 8 failed test cases on + jammy/fips (LP: #2019880) + - selftests: net: vrf-xfrm-tests: change authentication and encryption algos + * ubuntu_kernel_selftests:net:tls: 88 failed test cases on jammy/fips + (LP: #2019868) + - selftests/harness: allow tests to be skipped during setup + - selftests: net: tls: check if FIPS mode is enabled + * A general-proteciton exception during guest migration to unsupported PKRU + machine (LP: #2032164) + - x86/kvm/fpu: Limit guest user_xfeatures to supported bits of XCR0 + - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES + * CVE-2023-4569 + - netfilter: nf_tables: deactivate catchall elements in next generation + * CVE-2023-20569 + - x86/cpu, kvm: Add support for CPUID_80000021_EAX + - x86/srso: Add a Speculative RAS Overflow mitigation + - x86/srso: Add IBPB_BRTYPE support + - x86/srso: Add SRSO_NO support + - x86/srso: Add IBPB + - x86/srso: Add IBPB on VMEXIT + - x86/srso: Fix return thunks in generated code + - x86/srso: Tie SBPB bit setting to microcode patch detection + - x86: fix backwards merge of GDS/SRSO bit + - x86/srso: Fix build breakage with the LLVM linker + - x86/cpu: Fix __x86_return_thunk symbol type + - x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk() + - x86/alternative: Make custom return thunk unconditional + - objtool: Add frame-pointer-specific function ignore + - x86/ibt: Add ANNOTATE_NOENDBR + - x86/cpu: Clean up SRSO return thunk mess + - x86/cpu: Rename original retbleed methods + - x86/cpu: Rename srso_(.*)_alias to srso_alias_\1 + - x86/cpu: Cleanup the untrain mess + - x86/srso: Explain the untraining sequences a bit more + - x86/static_call: Fix __static_call_fixup() + - x86/retpoline: Don't clobber RFLAGS during srso_safe_ret() + - x86/srso: Disable the mitigation on unaffected configurations + - x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG + - objtool/x86: Fixup frame-pointer vs rethunk + - x86/srso: Correct the mitigation status when SMT is disabled + - objtool/x86: Fix SRSO mess + - Ubuntu: [Config]: enable Speculative Return Stack Overflow mitigation + * Fix unreliable ethernet cable detection on I219 NIC (LP: #2028122) + - e1000e: Use PME poll to circumvent unreliable ACPI wake + * Need to get fine-grained control for FAN(TFN) Participant. (LP: #2031333) + - ACPI: fan: Separate file for attributes creation + - ACPI: fan: Optimize struct acpi_fan_fif + - ACPI: fan: Properly handle fine grain control + - ACPI: fan: Add additional attributes for fine grain control + * [SRU][Ubuntu 22.04.1] Unable to interpret the frequency values in + cpuinfo_min_freq and cpuino_max_freq sysfs files. (LP: #2030924) + - cpufreq: intel_pstate: Fix scaling for hybrid-capable + * CVE-2023-40283 + - Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb + * CVE-2023-20588 + - x86/bugs: Increase the x86 bugs vector size to two u32s + - x86/CPU/AMD: Do not leak quotient data after a division by 0 + - x86/CPU/AMD: Fix the DIV(0) initial fix attempt + * CVE-2023-4194 + - net: tun_chr_open(): set sk_uid from current_fsuid() + - net: tap_open(): set sk_uid from current_fsuid() + * CVE-2023-4155 + - KVM: SEV: Refactor out sev_es_state struct + - KVM: SEV: Fall back to vmalloc for SEV-ES scratch area if necessary + - KVM: SVM: Do not terminate SEV-ES guests on GHCB validation failure + - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors + - KVM: SEV: snapshot the GHCB before accessing it + - KVM: SEV: only access GHCB fields once + * CVE-2023-1206 + - tcp: Reduce chance of collisions in inet6_hashfn(). + * Crashing with CPU soft lock on GA kernel 5.15.0.79.76 and HWE kernel + 5.19.0-46.47-22.04.1 (LP: #2032176) + - Revert "KVM: x86: enable TDP MMU by default" + * Jammy update: v5.15.122 upstream stable release (LP: #2032690) + - Linux 5.15.122 + - Upstream stable to v5.15.122 + * Jammy update: v5.15.121 upstream stable release (LP: #2032689) + - netfilter: nf_tables: drop map element references from preparation phase + - fs: pipe: reveal missing function protoypes + - x86/resctrl: Only show tasks' pid in current pid namespace + - blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost + - md/raid10: check slab-out-of-bounds in md_bitmap_get_counter + - md/raid10: fix overflow of md/safe_mode_delay + - md/raid10: fix wrong setting of max_corr_read_errors + - md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request + - md/raid10: fix io loss while replacement replace rdev + - irqchip/jcore-aic: Fix missing allocation of IRQ descriptors + - svcrdma: Prevent page release when nothing was received + - posix-timers: Prevent RT livelock in itimer_delete() + - tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode(). + - clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe + - PM: domains: fix integer overflow issues in genpd_parse_state() + - perf/arm-cmn: Fix DTC reset + - powercap: RAPL: Fix CONFIG_IOSF_MBI dependency + - ARM: 9303/1: kprobes: avoid missing-declaration warnings + - cpufreq: intel_pstate: Fix energy_performance_preference for passive + - thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe() + - rcutorture: Correct name of use_softirq module parameter + - rcuscale: Always log error message + - rcuscale: Move shutdown from wait_event() to wait_event_idle() + - rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup() + - rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale + - kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME + is undefined + - perf/ibs: Fix interface via core pmu events + - x86/mm: Fix __swp_entry_to_pte() for Xen PV guests + - locking/atomic: arm: fix sync ops + - evm: Complete description of evm_inode_setattr() + - evm: Fix build warnings + - ima: Fix build warnings + - pstore/ram: Add check for kstrdup + - igc: Enable and fix RX hash usage by netstack + - wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation + - wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx + - libbpf: btf_dump_type_data_check_overflow needs to consider + BTF_MEMBER_BITFIELD_SIZE + - samples/bpf: Fix buffer overflow in tcp_basertt + - spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG + - wifi: wilc1000: fix for absent RSN capabilities WFA testcase + - wifi: mwifiex: Fix the size of a memory allocation in + mwifiex_ret_802_11_scan() + - sctp: add bpf_bypass_getsockopt proto callback + - libbpf: fix offsetof() and container_of() to work with CO-RE + - bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen + - spi: dw: Round of n_bytes to power of 2 + - nfc: llcp: fix possible use of uninitialized variable in + nfc_llcp_send_connect() + - bpftool: JIT limited misreported as negative value on aarch64 + - regulator: core: Fix more error checking for debugfs_create_dir() + - regulator: core: Streamline debugfs operations + - wifi: orinoco: Fix an error handling path in spectrum_cs_probe() + - wifi: orinoco: Fix an error handling path in orinoco_cs_probe() + - wifi: atmel: Fix an error handling path in atmel_probe() + - wl3501_cs: use eth_hw_addr_set() + - wifi: wl3501_cs: Fix an error handling path in wl3501_probe() + - wifi: ray_cs: Utilize strnlen() in parse_addr() + - wifi: ray_cs: Drop useless status variable in parse_addr() + - wifi: ray_cs: Fix an error handling path in ray_probe() + - wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes + - selftests/bpf: Fix check_mtu using wrong variable type + - wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled + - wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown + - watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct + config + - watchdog/perf: more properly prevent false positives with turbo modes + - kexec: fix a memory leak in crash_shrink_memory() + - memstick r592: make memstick_debug_get_tpc_name() static + - wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key() + - rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO + - wifi: iwlwifi: pull from TXQs with softirqs disabled + - iwlwifi: don't dump_stack() when we get an unexpected interrupt + - wifi: iwlwifi: pcie: fix NULL pointer dereference in + iwl_pcie_irq_rx_msix_handler() + - wifi: cfg80211: rewrite merging of inherited elements + - wifi: iwlwifi: mvm: indicate HW decrypt for beacon protection + - wifi: ath9k: convert msecs to jiffies where needed + - bpf: Omit superfluous address family check in __bpf_skc_lookup + - bpf: Factor out socket lookup functions for the TC hookpoint. + - bpf: Call __bpf_sk_lookup()/__bpf_skc_lookup() directly via TC hookpoint + - bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings + - can: length: fix bitstuffing count + - igc: Fix race condition in PTP tx code + - net: stmmac: fix double serdes powerdown + - netlink: fix potential deadlock in netlink_set_err() + - netlink: do not hard code device address lenth in fdb dumps + - bonding: do not assume skb mac_header is set + - selftests: rtnetlink: remove netdevsim device after ipsec offload test + - gtp: Fix use-after-free in __gtp_encap_destroy(). + - net: axienet: Move reset before 64-bit DMA detection + - sfc: fix crash when reading stats while NIC is resetting + - lib/ts_bm: reset initial match offset for every block of text + - netfilter: conntrack: dccp: copy entire header to stack buffer, not just + basic one + - netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return + value. + - ipvlan: Fix return value of ipvlan_queue_xmit() + - netlink: Add __sock_i_ino() for __netlink_diag_dump(). + - drm/amd/display: Add logging for display MALL refresh setting + - radeon: avoid double free in ci_dpm_init() + - drm/amd/display: Explicitly specify update type per plane info change + - Input: drv260x - sleep between polling GO bit + - drm/bridge: tc358768: always enable HS video mode + - drm/bridge: tc358768: fix PLL parameters computation + - drm/bridge: tc358768: fix PLL target frequency + - drm/bridge: tc358768: fix TCLK_ZEROCNT computation + - drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation + - drm/bridge: tc358768: fix TCLK_TRAILCNT computation + - drm/bridge: tc358768: fix THS_ZEROCNT computation + - drm/bridge: tc358768: fix TXTAGOCNT computation + - drm/bridge: tc358768: fix THS_TRAILCNT computation + - drm/vram-helper: fix function names in vram helper doc + - ARM: dts: BCM5301X: Drop "clock-names" from the SPI node + - ARM: dts: meson8b: correct uart_B and uart_C clock references + - Input: adxl34x - do not hardcode interrupt trigger type + - drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks` + - drm/panel: sharp-ls043t1le01: adjust mode settings + - ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards + - bus: ti-sysc: Fix dispc quirk masking bool variables + - arm64: dts: microchip: sparx5: do not use PSCI on reference boards + - clk: imx: scu: use _safe list iterator to avoid a use after free + - RDMA/bnxt_re: Disable/kill tasklet only if it is enabled + - RDMA/bnxt_re: Fix to remove unnecessary return labels + - RDMA/bnxt_re: Use unique names while registering interrupts + - RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid + - RDMA/bnxt_re: Fix to remove an unnecessary log + - drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rate + - drm/msm/disp/dpu: get timing engine status from intf status register + - drm/msm/dpu: Set DPU_DATA_HCTL_EN for in INTF_SC7180_MASK + - ARM: dts: gta04: Move model property out of pinctrl node + - arm64: dts: qcom: msm8916: correct camss unit address + - arm64: dts: qcom: msm8994: correct SPMI unit address + - arm64: dts: qcom: msm8996: correct camss unit address + - arm64: dts: qcom: sdm630: correct camss unit address + - arm64: dts: qcom: sdm845: correct camss unit address + - arm64: dts: qcom: db820c: Move blsp1_uart2 pin states to msm8996.dtsi + - arm64: dts: qcom: apq8016-sbc: Update modem and WiFi firmware path + - arm64: dts: qcom: apq8016-sbc: Clarify firmware-names + - arm64: dts: qcom: apq8016-sbc: fix mpps state names + - arm64: dts: qcom: Drop unneeded extra device-specific includes + - arm64: dts: qcom: apq8016-sbc: Fix regulator constraints + - arm64: dts: qcom: apq8016-sbc: Fix 1.8V power rail on LS expansion + - drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H + - ARM: ep93xx: fix missing-prototype warnings + - ARM: omap2: fix missing tick_broadcast() prototype + - arm64: dts: qcom: apq8096: fix fixed regulator name property + - arm64: dts: mediatek: mt8183: Add mediatek,broken-save-restore-fw to kukui + - ARM: dts: stm32: Shorten the AV96 HDMI sound card name + - memory: brcmstb_dpfe: fix testing array offset after use + - ASoC: es8316: Increment max value for ALC Capture Target Volume control + - ASoC: es8316: Do not set rate constraints for unsupported MCLKs + - ARM: dts: meson8: correct uart_B and uart_C clock references + - soc/fsl/qe: fix usb.c build errors + - RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes + - IB/hfi1: Use bitmap_zalloc() when applicable + - IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate + - RDMA/hns: Fix hns_roce_table_get return value + - ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier + - arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1 + - fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe() + - arm64: dts: ti: k3-j7200: Fix physical address of pin + - ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2 + - ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx + - hwmon: (gsc-hwmon) fix fan pwm temperature scaling + - hwmon: (adm1275) Allow setting sample averaging + - hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272 + - ARM: dts: BCM5301X: fix duplex-full => full-duplex + - drm/amdkfd: Fix potential deallocation of previously deallocated memory. + - drm/amd/display: Fix artifacting on eDP panels when engaging freesync video + mode + - drm/radeon: fix possible division-by-zero errors + - amdgpu: validate offset_in_bo of drm_amdgpu_gem_va + - drm/msm/a5xx: really check for A510 in a5xx_gpu_init + - RDMA/bnxt_re: wraparound mbox producer index + - RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context + - clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe + - clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe() + - arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k + - clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider() + - clk: tegra: tegra124-emc: Fix potential memory leak + - ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer + - drm/msm/dpu: do not enable color-management if DSPPs are not available + - drm/msm/dp: Free resources after unregistering them + - arm64: dts: mediatek: Add cpufreq nodes for MT8192 + - arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz + - drm/msm/dpu: correct MERGE_3D length + - clk: vc5: check memory returned by kasprintf() + - clk: cdce925: check return value of kasprintf() + - clk: si5341: return error if one synth clock registration fails + - clk: si5341: check return value of {devm_}kasprintf() + - clk: si5341: free unused memory on probe failure + - clk: keystone: sci-clk: check return value of kasprintf() + - clk: ti: clkctrl: check return value of kasprintf() + - drivers: meson: secure-pwrc: always enable DMA domain + - ovl: update of dentry revalidate flags after copy up + - ASoC: imx-audmix: check return value of devm_kasprintf() + - clk: Fix memory leak in devm_clk_notifier_register() + - PCI: cadence: Fix Gen2 Link Retraining process + - PCI: vmd: Reset VMD config register between soft reboots + - scsi: qedf: Fix NULL dereference in error handling + - pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors + - PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free + - scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe() + - PCI: pciehp: Cancel bringup sequence if card is not present + - PCI: ftpci100: Release the clock resources + - PCI: Add pci_clear_master() stub for non-CONFIG_PCI + - perf bench: Use unbuffered output when pipe/tee'ing to a file + - perf bench: Add missing setlocale() call to allow usage of %'d style + formatting + - pinctrl: cherryview: Return correct value if pin in push-pull mode + - kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures + - powerpc/interrupt: Don't read MSR from interrupt_exit_kernel_prepare() + - powerpc/signal32: Force inlining of __unsafe_save_user_regs() and + save_tm_user_regs_unsafe() + - perf script: Fix allocation of evsel->priv related to per-event dump files + - perf dwarf-aux: Fix off-by-one in die_get_varname() + - powerpc/64s: Fix VAS mm use after free + - pinctrl: microchip-sgpio: check return value of devm_kasprintf() + - pinctrl: at91-pio4: check return value of devm_kasprintf() + - powerpc/powernv/sriov: perform null check on iov before dereferencing iov + - powerpc: simplify ppc_save_regs + - powerpc: update ppc_save_regs to save current r1 in pt_regs + - riscv: uprobes: Restore thread.bad_cause + - powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo + - powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross- + boundary + - hwrng: virtio - add an internal buffer + - hwrng: virtio - don't wait on cleanup + - hwrng: virtio - don't waste entropy + - hwrng: virtio - always add a pending request + - hwrng: virtio - Fix race on data_avail and actual data + - modpost: remove broken calculation of exception_table_entry size + - crypto: nx - fix build warnings when DEBUG_FS is not enabled + - modpost: fix section mismatch message for R_ARM_ABS32 + - modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24} + - crypto: marvell/cesa - Fix type mismatch warning + - modpost: fix off by one in is_executable_section() + - ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard + - crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag + - crypto: qat - replace get_current_node() with numa_node_id() + - crypto: qat - use reference to structure in dma_map_single() + - crypto: kpp - Add helper to set reqsize + - crypto: qat - Use helper to set reqsize + - crypto: qat - unmap buffer before free for DH + - crypto: qat - unmap buffers before free for RSA + - NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION + - SMB3: Do not send lease break acknowledgment if all file handles have been + closed + - dax: Fix dax_mapping_release() use after free + - dax: Introduce alloc_dev_dax_id() + - dax/kmem: Pass valid argument to memory_group_register_static + - hwrng: st - keep clock enabled while hwrng is registered + - kbuild: Disable GCOV for *.mod.o + - efi/libstub: Disable PCI DMA before grabbing the EFI memory map + - ksmbd: avoid field overflow warning + - ACPI: utils: Fix acpi_evaluate_dsm_typed() redefinition error + - bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page + - USB: serial: option: add LARA-R6 01B PIDs + - usb: dwc3: gadget: Propagate core init errors to UDC during pullup + - phy: tegra: xusb: Clear the driver reference in usb-phy dev + - iio: adc: ad7192: Fix null ad7192_state pointer access + - iio: adc: ad7192: Fix internal/external clock selection + - iio: accel: fxls8962af: errata bug only applicable for FXLS8962AF + - iio: accel: fxls8962af: fixup buffer scan element type + - ALSA: hda/realtek: Add quirk for Clevo NPx0SNx + - ALSA: jack: Fix mutex call in snd_jack_report() + - block: fix signed int overflow in Amiga partition support + - block: add overflow checks for Amiga partition support + - block: change all __u32 annotations to __be32 in affs_hardblocks.h + - block: increment diskseq on all media change events + - SUNRPC: Fix UAF in svc_tcp_listen_data_ready() + - w1: w1_therm: fix locking behavior in convert_t + - w1: fix loop in w1_fini() + - sh: j2: Use ioremap() to translate device tree address into kernel memory + - usb: dwc2: platform: Improve error reporting for problems during .remove() + - usb: dwc2: Fix some error handling paths + - serial: 8250: omap: Fix freeing of resources on failed register + - clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs + - clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks + - media: usb: Check az6007_read() return value + - media: videodev2.h: Fix struct v4l2_input tuner index comment + - media: usb: siano: Fix warning due to null work_func_t function pointer + - media: i2c: Correct format propagation for st-mipid02 + - clk: qcom: reset: Allow specifying custom reset delay + - clk: qcom: reset: support resetting multiple bits + - clk: qcom: ipq6018: fix networking resets + - usb: dwc3: qcom: Fix potential memory leak + - usb: gadget: u_serial: Add null pointer check in gserial_suspend + - extcon: Fix kernel doc of property fields to avoid warnings + - extcon: Fix kernel doc of property capability fields to avoid warnings + - usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe() + - usb: hide unused usbfs_notify_suspend/resume functions + - serial: 8250: lock port for stop_rx() in omap8250_irq() + - serial: 8250: lock port for UART_IER access in omap8250_irq() + - kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR + - coresight: Fix loss of connection info when a module is unloaded + - mfd: rt5033: Drop rt5033-battery sub-device + - media: venus: helpers: Fix ALIGN() of non power of two + - media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var() + - KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes + - usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove() + - usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe() + - usb: common: usb-conn-gpio: Set last role to unknown before initial + detection + - usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe() + - mfd: intel-lpss: Add missing check for platform_get_resource + - Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial + detection" + - serial: 8250_omap: Use force_suspend and resume for system suspend + - test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation + - nvmem: rmem: Use NVMEM_DEVID_AUTO + - mfd: stmfx: Fix error path in stmfx_chip_init + - mfd: stmfx: Nullify stmfx->vdd in case of error + - KVM: s390: vsie: fix the length of APCB bitmap + - KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler + - mfd: stmpe: Only disable the regulators if they are enabled + - phy: tegra: xusb: check return value of devm_kzalloc() + - pwm: imx-tpm: force 'real_period' to be zero in suspend + - pwm: sysfs: Do not apply state to already disabled PWMs + - pwm: ab8500: Fix error code in probe() + - pwm: mtk_disp: Fix the disable flow of disp_pwm + - md/raid10: fix the condition to call bio_end_io_acct() + - rtc: st-lpc: Release some resources in st_rtc_probe() in case of error + - drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times + - media: cec: i2c: ch7322: also select REGMAP + - sctp: fix potential deadlock on &net->sctp.addr_wq_lock + - net/sched: act_ipt: add sanity checks on table name and hook locations + - Add MODULE_FIRMWARE() for FIRMWARE_TG357766. + - ibmvnic: Do not reset dql stats on NON_FATAL err + - net: dsa: vsc73xx: fix MTU configuration + - spi: bcm-qspi: return error if neither hif_mspi nor mspi is available + - mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 + - f2fs: fix error path handling in truncate_dnode() + - octeontx2-af: Fix mapping for NIX block from CGX connection + - octeontx2-af: Add validation before accessing cgx and lmac + - ntfs: Fix panic about slab-out-of-bounds caused by ntfs_listxattr() + - powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y + - net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode + - tcp: annotate data races in __tcp_oow_rate_limited() + - xsk: Honor SO_BINDTODEVICE on bind + - net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX + - riscv: move memblock_allow_resize() after linear mapping is ready + - pptp: Fix fib lookup calls. + - net: dsa: tag_sja1105: fix MAC DA patching from meta frames + - octeontx-af: fix hardware timestamp configuration + - s390/qeth: Fix vipa deletion + - sh: dma: Fix DMA channel offset calculation + - apparmor: fix missing error check for rhashtable_insert_fast + - i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process() + - i2c: xiic: Don't try to handle more interrupt events after error + - extcon: usbc-tusb320: Convert to i2c's .probe_new() + - btrfs: do not BUG_ON() on tree mod log failure at balance_level() + - i2c: qup: Add missing unwind goto in qup_i2c_probe() + - NFSD: add encoding of op_recall flag for write delegation + - io_uring: wait interruptibly for request completions on exit + - mmc: core: disable TRIM on Kingston EMMC04G-M627 + - mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M + - mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS + - mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is + used. + - bcache: fixup btree_cache_wait list damage + - bcache: Remove unnecessary NULL point check in node allocations + - bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent + - um: Use HOST_DIR for mrproper + - integrity: Fix possible multiple allocation in integrity_inode_get() + - autofs: use flexible array in ioctl structure + - shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs + - ext4: Remove ext4 locking of moved directory + - Revert "f2fs: fix potential corruption when moving a directory" + - fs: Establish locking order for unrelated directories + - fs: Lock moved directories + - ipvs: increase ip_vs_conn_tab_bits range for 64BIT + - jffs2: reduce stack usage in jffs2_build_xattr_subsystem() + - fs: avoid empty option when generating legacy mount string + - btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile + - btrfs: delete unused BGs while reclaiming BGs + - btrfs: bail out reclaim process if filesystem is read-only + - btrfs: reinsert BGs failed to reclaim + - btrfs: fix race when deleting quota root from the dirty cow roots list + - btrfs: fix extent buffer leak after tree mod log failure at split_node() + - btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block() + - ASoC: mediatek: mt8173: Fix irq error path + - ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path + - ARM: dts: qcom: ipq4019: fix broken NAND controller properties override + - ARM: orion5x: fix d2net gpio initialization + - leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename + - fs: no need to check source + - ovl: fix null pointer dereference in ovl_get_acl_rcu() + - fanotify: disallow mount/sb marks on kernel internal pseudo fs + - netfilter: conntrack: Avoid nf_ct_helper_hash uses after free + - wireguard: queueing: use saner cpu selection wrapping + - wireguard: netlink: send staged packets when setting initial private key + - tty: serial: fsl_lpuart: add earlycon for imx8ulp platform + - block/partition: fix signedness issue for Amiga partitions + - io_uring: Use io_schedule* in cqring wait + - io_uring: add reschedule point to handle_tw_list() + - net: lan743x: Don't sleep in atomic context + - workqueue: clean up WORK_* constant types, clarify masking + - ksmbd: use ksmbd_req_buf_next() in ksmbd_smb2_check_message() + - ksmbd: validate command payload size + - ksmbd: fix out-of-bound read in smb2_write + - ksmbd: validate session id and tree id in the compound request + - drm/panel: simple: Add connector_type for innolux_at043tn24 + - drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime + - drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags + - igc: Remove delay during TX ring configuration + - net/mlx5e: fix double free in mlx5e_destroy_flow_table + - net/mlx5e: fix memory leak in mlx5e_ptp_open + - net/mlx5e: Check for NOT_READY flag state after locking + - igc: set TP bit in 'supported' and 'advertising' fields of + ethtool_link_ksettings + - igc: Handle PPS start time programming for past time values + - scsi: qla2xxx: Fix error code in qla2x00_start_sp() + - bpf: Fix max stack depth check for async callbacks + - net: mvneta: fix txq_map in case of txq_number==1 + - gve: Set default duplex configuration to full + - ionic: remove WARN_ON to prevent panic_on_warn + - net: bgmac: postpone turning IRQs off to avoid SoC hangs + - net: prevent skb corruption on frag list segmentation + - icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev(). + - udp6: fix udp6_ehashfn() typo + - ntb: idt: Fix error handling in idt_pci_driver_init() + - NTB: amd: Fix error handling in amd_ntb_pci_driver_init() + - ntb: intel: Fix error handling in intel_ntb_pci_driver_init() + - NTB: ntb_transport: fix possible memory leak while device_register() fails + - NTB: ntb_tool: Add check for devm_kcalloc + - ipv6/addrconf: fix a potential refcount underflow for idev + - platform/x86: wmi: remove unnecessary argument + - platform/x86: wmi: use guid_t and guid_equal() + - platform/x86: wmi: move variables + - platform/x86: wmi: Break possible infinite loop when parsing GUID + - kernel/trace: Fix cleanup logic of enable_trace_eprobe + - igc: Fix launchtime before start of cycle + - igc: Fix inserting of empty frame for launchtime + - bpf, riscv: Support riscv jit to provide bpf_line_info + - riscv, bpf: Fix inconsistent JIT image generation + - drm/i915: Fix one wrong caching mode enum usage + - octeontx2-pf: Add additional check for MCAM rules + - erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF + - erofs: decouple basic mount options from fs_context + - erofs: fix fsdax unavailability for chunk-based regular files + - wifi: airo: avoid uninitialized warning in airo_get_rate() + - bpf: cpumap: Fix memory leak in cpu_map_update_elem + - net/sched: flower: Ensure both minimum and maximum ports are specified + - riscv: mm: fix truncation warning on RV32 + - netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() + - net/sched: make psched_mtu() RTNL-less safe + - nvme-pci: remove nvme_queue from nvme_iod + - nvme-pci: fix DMA direction of unmapping integrity data + - pinctrl: amd: Fix mistake in handling clearing pins at startup + - pinctrl: amd: Detect internal GPIO0 debounce handling + - pinctrl: amd: Detect and mask spurious interrupts + - pinctrl: amd: Only use special debounce behavior for GPIO 0 + - tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation + - mtd: rawnand: meson: fix unaligned DMA buffers handling + - net: bcmgenet: Ensure MDIO unregistration has clocks enabled + - mm/damon/ops-common: atomically test and clear young on ptes and pmds + - powerpc: Fail build if using recordmcount with binutils v2.37 + - misc: fastrpc: Create fastrpc scalar with correct buffer count + - powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 + - arm64: errata: Add detection for TRBE overwrite in FILL mode + - erofs: fix compact 4B support for 16k block size + - MIPS: Loongson: Fix cpu_probe_loongson() again + - MIPS: KVM: Fix NULL pointer dereference + - ext4: Fix reusing stale buffer heads from last failed mounting + - ext4: fix wrong unit use in ext4_mb_clear_bb + - ext4: get block from bh in ext4_free_blocks for fast commit replay + - ext4: fix wrong unit use in ext4_mb_new_blocks + - ext4: fix to check return value of freeze_bdev() in ext4_shutdown() + - ext4: turn quotas off if mount failed after enabling quotas + - ext4: only update i_reserved_data_blocks on successful block allocation + - jfs: jfs_dmap: Validate db_l2nbperpage while mounting + - hwrng: imx-rngc - fix the timeout for init and self check + - dm integrity: reduce vmalloc space footprint on 32-bit architectures + - PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9235 + - PCI: qcom: Disable write access to read only registers for IP v2.3.3 + - PCI: rockchip: Assert PCI Configuration Enable bit after probe + - PCI: rockchip: Write PCI Device ID to correct register + - PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked + - PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core + - PCI: rockchip: Use u32 variable to access 32-bit registers + - PCI: rockchip: Set address alignment for endpoint mode + - misc: pci_endpoint_test: Free IRQs before removing the device + - misc: pci_endpoint_test: Re-init completion for every test + - mfd: pm8008: Fix module autoloading + - md/raid0: add discard support for the 'original' layout + - dm init: add dm-mod.waitfor to wait for asynchronously probed block devices + - fs: dlm: return positive pid value for F_GETLK + - drm/atomic: Allow vblank-enabled + self-refresh "disable" + - drm/rockchip: vop: Leave vblank enabled in self-refresh + - drm/amdgpu: fix clearing mappings for BOs that are always valid in VM + - drm/amd/display: Correct `DMUB_FW_VERSION` macro + - drm/amdgpu: avoid restore process run into dead loop. + - drm/ttm: Don't leak a resource on swapout move error + - serial: atmel: don't enable IRQs prematurely + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in + case of error + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when + iterating clk + - tty: serial: imx: fix rs485 rx after tx + - firmware: stratix10-svc: Fix a potential resource leak in + svc_create_memory_pool() + - libceph: harden msgr2.1 frame segment length checks + - ceph: don't let check_caps skip sending responses for revoke msgs + - xhci: Fix resume issue of some ZHAOXIN hosts + - xhci: Fix TRB prefetch issue of ZHAOXIN hosts + - xhci: Show ZHAOXIN xHCI root hub speed correctly + - meson saradc: fix clock divider mask length + - opp: Fix use-after-free in lazy_opp_tables after probe deferral + - soundwire: qcom: fix storing port config out-of-bounds + - Revert "8250: add support for ASIX devices with a FIFO bug" + - bus: ixp4xx: fix IXP4XX_EXP_T1_MASK + - s390/decompressor: fix misaligned symbol build error + - tracing/histograms: Add histograms to hist_vars if they have referenced + variables + - tracing: Fix memory leak of iter->temp when reading trace_pipe + - samples: ftrace: Save required argument registers in sample trampolines + - net: ena: fix shift-out-of-bounds in exponential backoff + - ring-buffer: Fix deadloop issue on reading trace_pipe + - ftrace: Fix possible warning on checking all pages used in + ftrace_process_locs() + - xtensa: ISS: fix call to split_if_spec + - tracing: Fix null pointer dereference in tracing_err_log_open() + - selftests: mptcp: sockopt: return error if wrong mark + - selftests: mptcp: depend on SYN_COOKIES + - tracing/probes: Fix not to count error code to total length + - tracing/probes: Fix to update dynamic data counter if fetcharg uses it + - scsi: qla2xxx: Wait for io return on terminate rport + - scsi: qla2xxx: Array index may go out of bound + - scsi: qla2xxx: Avoid fcport pointer dereference + - scsi: qla2xxx: Fix buffer overrun + - scsi: qla2xxx: Fix potential NULL pointer dereference + - scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport() + - scsi: qla2xxx: Correct the index of array + - scsi: qla2xxx: Pointer may be dereferenced + - scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue + - MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled + - net/sched: sch_qfq: reintroduce lmax bound check for MTU + - drm/atomic: Fix potential use-after-free in nonblocking commits + - Linux 5.15.121 + * Jammy update: v5.15.120 upstream stable release (LP: #2032688) + - mptcp: fix possible divide by zero in recvmsg() + - mptcp: consolidate fallback and non fallback state machine + - mm, hwpoison: try to recover from copy-on write faults + - mm, hwpoison: when copy-on-write hits poison, take page offline + - drm/amdgpu: Set vmbo destroy after pt bo is created + - x86/microcode/AMD: Load late on both threads too + - x86/smp: Use dedicated cache-line for mwait_play_dead() + - can: isotp: isotp_sendmsg(): fix return error fix on TX path + - bpf: ensure main program has an extable + - HID: wacom: Use ktime_t rather than int when dealing with timestamps + - HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651. + - Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak + in mtk_thermal_probe" + - perf symbols: Symbol lookup with kcore can fail if multiple segments match + stext + - scripts/tags.sh: Resolve gtags empty index generation + - drm/amdgpu: Validate VM ioctl flags. + - parisc: Delete redundant register definitions in + - nubus: Partially revert proc_create_single_data() conversion + - Linux 5.15.120 + * Jammy update: v5.15.119 upstream stable release (LP: #2032683) + - drm/amd/display: fix the system hang while disable PSR + - tracing: Add tracing_reset_all_online_cpus_unlocked() function + - tpm, tpm_tis: Claim locality in interrupt handler + - drm/amd/display: Add minimal pipe split transition state + - drm/amd/display: Use dc_update_planes_and_stream + - drm/amd/display: Add wrapper to call planes and stream update + - tick/common: Align tick period during sched_timer setup + - selftests: mptcp: lib: skip if missing symbol + - selftests: mptcp: lib: skip if not below kernel version + - selftests/mount_setattr: fix redefine struct mount_attr build error + - selftests: mptcp: pm nl: remove hardcoded default limits + - selftests: mptcp: join: use 'iptables-legacy' if available + - selftests: mptcp: join: skip check if MIB counter not supported + - nilfs2: fix buffer corruption due to concurrent device reads + - ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() + - KVM: Avoid illegal stage2 mapping on invalid memory slot + - Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails + - Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs + - PCI: hv: Fix a race condition bug in hv_pci_query_relations() + - Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally" + - PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev + - PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic + - PCI: hv: Add a per-bus mutex state_lock + - cgroup: Do not corrupt task iteration when rebinding subsystem + - mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916 + - mmc: meson-gx: remove redundant mmc_request_done() call from irq context + - mmc: mmci: stm32: fix max busy timeout calculation + - ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN + - regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK + - regmap: spi-avmm: Fix regmap_bus max_raw_write + - writeback: fix dereferencing NULL mapping->host on writeback_page_template + - io_uring/net: save msghdr->msg_control for retries + - io_uring/net: clear msg_controllen on partial sendmsg retry + - io_uring/net: disable partial retries for recvmsg with cmsg + - nilfs2: prevent general protection fault in nilfs_clear_dirty_page() + - x86/mm: Avoid using set_pgd() outside of real PGD pages + - memfd: check for non-NULL file_seals in memfd_create() syscall + - mmc: meson-gx: fix deferred probing + - ieee802154: hwsim: Fix possible memory leaks + - xfrm: Treat already-verified secpath entries as optional + - xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c + - xfrm: Ensure policies always checked on XFRM-I input path + - bpf: track immediate values written to stack by BPF_ST instruction + - bpf: Fix verifier id tracking of scalars on spill + - xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets + - selftests: net: fcnal-test: check if FIPS mode is enabled + - xfrm: Linearize the skb after offloading if needed. + - net: qca_spi: Avoid high load if QCA7000 is not available + - mmc: mtk-sd: fix deferred probing + - mmc: mvsdio: fix deferred probing + - mmc: omap: fix deferred probing + - mmc: omap_hsmmc: fix deferred probing + - mmc: owl: fix deferred probing + - mmc: sdhci-acpi: fix deferred probing + - mmc: sh_mmcif: fix deferred probing + - mmc: usdhi60rol0: fix deferred probing + - ipvs: align inner_mac_header for encapsulation + - net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch + - net: dsa: mt7530: fix handling of BPDUs on MT7530 switch + - be2net: Extend xmit workaround to BE3 chip + - netfilter: nft_set_pipapo: .walk does not deal with generations + - netfilter: nf_tables: disallow element updates of bound anonymous sets + - netfilter: nf_tables: reject unbound anonymous set before commit phase + - netfilter: nf_tables: reject unbound chain set before commit phase + - netfilter: nf_tables: disallow updates of anonymous sets + - netfilter: nfnetlink_osf: fix module autoload + - Revert "net: phy: dp83867: perform soft reset and retain established link" + - bpf/btf: Accept function names that contain dots + - selftests: forwarding: Fix race condition in mirror installation + - sch_netem: acquire qdisc lock in netem_change() + - gpio: Allow per-parent interrupt data + - gpiolib: Fix GPIO chip IRQ initialization restriction + - gpio: sifive: add missing check for platform_get_irq + - scsi: target: iscsi: Prevent login threads from racing between each other + - HID: wacom: Add error check to wacom_parse_and_register() + - arm64: Add missing Set/Way CMO encodings + - media: cec: core: don't set last_initiator if tx in progress + - nfcsim.c: Fix error checking for debugfs_create_dir + - usb: gadget: udc: fix NULL dereference in remove() + - nvme: double KA polling frequency to avoid KATO with TBKAS on + - Input: soc_button_array - add invalid acpi_index DMI quirk handling + - s390/cio: unregister device when the only path is gone + - spi: lpspi: disable lpspi module irq in DMA mode + - ASoC: simple-card: Add missing of_node_put() in case of error + - soundwire: dmi-quirks: add new mapping for HP Spectre x360 + - ASoC: nau8824: Add quirk to active-high jack-detect + - s390/purgatory: disable branch profiling + - ARM: dts: Fix erroneous ADS touchscreen polarities + - drm/exynos: vidi: fix a wrong error return + - drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl + - drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl + - vhost_net: revert upend_idx only on retriable error + - x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys + - i2c: imx-lpi2c: fix type char overflow issue when calculating the clock + cycle + - act_mirred: remove unneded merge conflict markers + - Linux 5.15.119 + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - test_firmware: Use kstrtobool() instead of strtobool() + - test_firmware: prevent race conditions by a correct implementation of + locking + - test_firmware: fix a memory leak with reqs buffer + - ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate + - drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram + - of: overlay: rename variables to be consistent + - of: overlay: rework overlay apply and remove kfree()s + - of: overlay: Fix missing of_node_put() in error case of + init_overlay_changeset() + - power: supply: ab8500: Fix external_power_changed race + - power: supply: sc27xx: Fix external_power_changed race + - power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + + schedule() + - ARM: dts: vexpress: add missing cache properties + - tools: gpio: fix debounce_period_us output of lsgpio + - power: supply: Ratelimit no data debug output + - platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0 + - regulator: Fix error checking for debugfs_create_dir + - irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues + - power: supply: Fix logic checking if system is running from battery + - btrfs: scrub: try harder to mark RAID56 block groups read-only + - btrfs: handle memory allocation failure in btrfs_csum_one_bio + - ASoC: soc-pcm: test if a BE can be prepared + - parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu() + - parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory() + - MIPS: unhide PATA_PLATFORM + - MIPS: Alchemy: fix dbdma2 + - mips: Move initrd_start check after initrd address sanitisation. + - ASoC: dwc: move DMA init to snd_soc_dai_driver probe() + - xen/blkfront: Only check REQ_FUA for writes + - drm:amd:amdgpu: Fix missing buffer object unlock in failure path + - NVMe: Add MAXIO 1602 to bogus nid list. + - irqchip/gic: Correctly validate OF quirk descriptors + - wifi: cfg80211: fix locking in regulatory disconnect + - wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid() + - epoll: ep_autoremove_wake_function should use list_del_init_careful + - ocfs2: fix use-after-free when unmounting read-only filesystem + - ocfs2: check new file size on fallocate call + - nios2: dts: Fix tse_mac "max-frame-size" property + - nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key() + - nilfs2: fix possible out-of-bounds segment allocation in resize ioctl + - kexec: support purgatories with .text.hot sections + - x86/purgatory: remove PGO flags + - powerpc/purgatory: remove PGO flags + - ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD + playback + - dm thin metadata: check fail_io before using data_sm + - nouveau: fix client work fence deletion race + - RDMA/uverbs: Restrict usage of privileged QKEYs + - net: usb: qmi_wwan: add support for Compal RXM-G1 + - drm/amdgpu: add missing radeon secondary PCI ID + - ALSA: hda/realtek: Add a quirk for Compaq N14JP6 + - Remove DECnet support from kernel + - [Config] updateconfigs for DECNET + - thunderbolt: dma_test: Use correct value for absent rings when creating + paths + - thunderbolt: Mask ring interrupt on Intel hardware as well + - USB: serial: option: add Quectel EM061KGL series + - serial: lantiq: add missing interrupt ack + - usb: dwc3: gadget: Reset num TRBs before giving back the request + - RDMA/rtrs: Fix the last iu->buf leak in err path + - RDMA/rtrs: Fix rxe_dealloc_pd warning + - RDMA/rxe: Fix packet length checks + - spi: fsl-dspi: avoid SCK glitches with continuous transfers + - netfilter: nf_tables: integrate pipapo into commit protocol + - netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM + - net: enetc: correct the indexes of highest and 2nd highest TCs + - ping6: Fix send to link-local addresses with VRF. + - net/sched: simplify tcf_pedit_act + - net/sched: act_pedit: remove extra check for key type + - net/sched: act_pedit: Parse L3 Header for L4 offset + - RDMA/rxe: Remove the unused variable obj + - RDMA/rxe: Removed unused name from rxe_task struct + - RDMA/rxe: Fix the use-before-initialization error of resp_pkts + - iavf: remove mask from iavf_irq_enable_queues() + - octeontx2-af: fixed resource availability check + - octeontx2-af: fix lbk link credits on cn10k + - RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions + - RDMA/cma: Always set static rate to 0 for RoCE + - IB/uverbs: Fix to consider event queue closing also upon non-blocking mode + - IB/isert: Fix dead lock in ib_isert + - IB/isert: Fix possible list corruption in CMA handler + - IB/isert: Fix incorrect release of isert connection + - net: ethtool: correct MAX attribute value for stats + - ipvlan: fix bound dev checking for IPv6 l3s mode + - sctp: fix an error code in sctp_sf_eat_auth() + - igc: Clean the TX buffer and TX descriptor ring + - igb: fix nvm.ops.read() error handling + - drm/nouveau: don't detect DSM for non-NVIDIA device + - drm/nouveau/dp: check for NULL nv_connector->native_mode + - drm/nouveau: add nv_encoder pointer check for NULL + - cifs: fix lease break oops in xfstest generic/098 + - ext4: drop the call to ext4_error() from ext4_get_group_info() + - net/sched: cls_api: Fix lockup on flushing explicitly created chain + - net: lapbether: only support ethernet devices + - dm: don't lock fs when the map is NULL during suspend or resume + - net: tipc: resize nlattr array to correct size + - selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET + - afs: Fix vlserver probe RTT handling + - cgroup: always put cset in cgroup_css_set_put_fork + - rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period + - neighbour: Remove unused inline function neigh_key_eq16() + - net: Remove unused inline function dst_hold_and_use() + - net: Remove DECnet leftovers from flow.h. + - neighbour: delete neigh_lookup_nodev as not used + - of: overlay: add entry to of_overlay_action_name[] + - mmc: block: ensure error propagation for non-blk + - nilfs2: reject devices with insufficient block count + - Linux 5.15.118 + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - ata: ahci: fix enum constants for gcc-13 + - gcc-plugins: Reorganize gimple includes for GCC 13 + - remove the sx8 block driver + - [Config] updateconfigs for BLK_DEV_SX8 + - sfc (gcc13): synchronize ef100_enqueue_skb()'s return type + - i40e: Remove string printing for i40e_status + - i40e: use int for i40e_status + - i40e: fix build warning in ice_fltr_add_mac_to_list() + - bonding (gcc13): synchronize bond_{a,t}lb_xmit() types + - f2fs: fix iostat lock protection + - blk-iocost: avoid 64-bit division in ioc_timer_fn + - platform/surface: aggregator: Allow completion work-items to be executed in + parallel + - spi: qup: Request DMA before enabling clocks + - afs: Fix setting of mtime when creating a file/dir/symlink + - wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll + - neighbour: fix unaligned access to pneigh_entry + - net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods + - bpf: Fix UAF in task local storage + - net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down + - net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT + - net: enetc: correct the statistics of rx bytes + - net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values + - drm/i915: Explain the magic numbers for AUX SYNC/precharge length + - drm/i915: Use 18 fast wake AUX sync len + - Bluetooth: Fix l2cap_disconnect_req deadlock + - Bluetooth: L2CAP: Add missing checks for invalid DCID + - qed/qede: Fix scheduling while atomic + - wifi: cfg80211: fix locking in sched scan stop work + - selftests/bpf: Verify optval=NULL case + - selftests/bpf: Fix sockopt_sk selftest + - netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper + - netfilter: ipset: Add schedule point in call_ad(). + - ipv6: rpl: Fix Route of Death. + - rfs: annotate lockless accesses to sk->sk_rxhash + - rfs: annotate lockless accesses to RFS sock flow table + - drm/i915/selftests: Increase timeout for live_parallel_switch + - drm/i915/selftests: Stop using kthread_stop() + - drm/i915/selftests: Add some missing error propagation + - net: sched: move rtm_tca_policy declaration to include file + - net: sched: act_police: fix sparse errors in tcf_police_dump() + - net: sched: fix possible refcount leak in tc_chain_tmplt_add() + - bpf: Add extra path pointer check to d_path helper + - lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() + - bnxt_en: Don't issue AP reset during ethtool's reset operation + - bnxt_en: Query default VLAN before VNIC setup on a VF + - bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks + - batman-adv: Broken sync while rescheduling delayed work + - Input: xpad - delete a Razer DeathAdder mouse VID/PID entry + - Input: psmouse - fix OOB access in Elantech protocol + - Input: fix open count when closing inhibited device + - ALSA: hda/realtek: Add quirk for Clevo NS50AU + - ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01 + - drm/i915/gt: Use the correct error value when kernel_context() fails + - drm/amd/pm: conditionally disable pcie lane switching for some + sienna_cichlid SKUs + - drm/amdgpu: fix xclk freq on CHIP_STONEY + - drm/amd/pm: Fix power context allocation in SMU13 + - can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in + J1939 Socket + - can: j1939: change j1939_netdev_lock type to mutex + - can: j1939: avoid possible use-after-free when j1939_can_rx_register fails + - ceph: fix use-after-free bug for inodes when flushing capsnaps + - s390/dasd: Use correct lock while counting channel queue length + - Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk + - Bluetooth: hci_qca: fix debugfs registration + - tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta' + - rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting + - rbd: get snapshot context after exclusive lock is ensured to be held + - pinctrl: meson-axg: add missing GPIOA_18 gpio group + - usb: usbfs: Enforce page requirements for mmap + - usb: usbfs: Use consistent mmap functions + - ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc + - ASoC: codecs: wsa881x: do not set can_multi_write flag + - arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite + boards + - arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals + - arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts + - ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback + returning void + - ASoC: mediatek: mt8195: fix use-after-free in driver remove path + - arm64: dts: imx8mn-beacon: Fix SPI CS pinmux + - i2c: mv64xxx: Fix reading invalid status value in atomic mode + - firmware: arm_ffa: Set handle field to zero in memory descriptor + - i2c: sprd: Delete i2c adapter in .remove's error path + - eeprom: at24: also select REGMAP + - riscv: fix kprobe __user string arg print fault issue + - vduse: avoid empty string for dev name + - vhost: support PACKED when setting-getting vring_base + - vhost_vdpa: support PACKED when setting-getting vring_base + - ext4: only check dquot_initialize_needed() when debugging + - Linux 5.15.117 + * CVE-2023-4273 + - exfat: check if filename entries exceeds max filename length + * CVE-2023-4128 + - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_route: No longer copy tcf_result on update to avoid use- + after-free + * CVE-2023-3863 + - nfc: llcp: simplify llcp_sock_connect() error paths + - net: nfc: Fix use-after-free caused by nfc_llcp_find_local + + -- Philip Cox Mon, 25 Sep 2023 13:46:38 -0400 + +linux-intel-iotg-5.15 (5.15.0-1040.46~20.04.1) focal; urgency=medium + + * focal/linux-intel-iotg-5.15: 5.15.0-1040.46~20.04.1 -proposed tracker + (LP: #2034187) + + [ Ubuntu: 5.15.0-1040.46 ] + + * jammy/linux-intel-iotg: 5.15.0-1040.46 -proposed tracker (LP: #2034188) + * jammy/linux: 5.15.0-84.93 -proposed tracker (LP: #2034202) + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * CVE-2023-4569 + - netfilter: nf_tables: deactivate catchall elements in next generation + * CVE-2023-40283 + - Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb + * CVE-2023-20588 + - x86/bugs: Increase the x86 bugs vector size to two u32s + - x86/CPU/AMD: Do not leak quotient data after a division by 0 + - x86/CPU/AMD: Fix the DIV(0) initial fix attempt + * CVE-2023-4128 + - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_route: No longer copy tcf_result on update to avoid use- + after-free + + -- Jian Hui Lee Wed, 13 Sep 2023 13:47:42 +0800 + linux-intel-iotg-5.15 (5.15.0-1039.45~20.04.1) focal; urgency=medium * focal/linux-intel-iotg-5.15: 5.15.0-1039.45~20.04.1 -proposed tracker diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/reconstruct linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/reconstruct --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/reconstruct +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/reconstruct @@ -3,6 +3,7 @@ rm -f 'Documentation/devicetree/bindings/ata/ahci-ceva.txt' rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb2-phy.yaml' rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml' +rm -f 'Documentation/networking/decnet.rst' rm -f 'arch/alpha/include/asm/bugs.h' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/Makefile' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts' @@ -10,6 +11,10 @@ rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/msm8996-mtp.dtsi' rm -f 'arch/hexagon/include/asm/timer-regs.h' rm -f 'arch/parisc/include/asm/bugs.h' rm -f 'arch/powerpc/include/asm/bugs.h' @@ -19,6 +24,8 @@ rm -f 'arch/xtensa/include/asm/bugs.h' rm -f 'crypto/blake2s_generic.c' rm -f 'crypto/memneq.c' +rm -f 'drivers/acpi/fan.c' +rm -f 'drivers/block/sx8.c' rm -f 'drivers/bus/mhi/core/Makefile' rm -f 'drivers/bus/mhi/core/boot.c' rm -f 'drivers/bus/mhi/core/debugfs.c' @@ -55,10 +62,36 @@ rm -f 'include/asm-generic/bugs.h' rm -f 'include/linux/counter_enum.h' rm -f 'include/linux/platform_data/x86/intel-spi.h' +rm -f 'include/net/dn.h' +rm -f 'include/net/dn_dev.h' +rm -f 'include/net/dn_fib.h' +rm -f 'include/net/dn_neigh.h' +rm -f 'include/net/dn_nsp.h' +rm -f 'include/net/dn_route.h' rm -f 'include/trace/events/random.h' +rm -f 'include/uapi/linux/dn.h' +rm -f 'include/uapi/linux/netfilter_decnet.h' rm -f 'kernel/futex.c' +rm -f 'net/decnet/Kconfig' +rm -f 'net/decnet/Makefile' +rm -f 'net/decnet/README' +rm -f 'net/decnet/af_decnet.c' +rm -f 'net/decnet/dn_dev.c' +rm -f 'net/decnet/dn_fib.c' +rm -f 'net/decnet/dn_neigh.c' +rm -f 'net/decnet/dn_nsp_in.c' +rm -f 'net/decnet/dn_nsp_out.c' +rm -f 'net/decnet/dn_route.c' +rm -f 'net/decnet/dn_rules.c' +rm -f 'net/decnet/dn_table.c' +rm -f 'net/decnet/dn_timer.c' +rm -f 'net/decnet/netfilter/Kconfig' +rm -f 'net/decnet/netfilter/Makefile' +rm -f 'net/decnet/netfilter/dn_rtmsg.c' +rm -f 'net/decnet/sysctl_net_decnet.c' rm -f 'net/qrtr/qrtr.c' rm -f 'net/sched/cls_tcindex.c' +rm -f 'net/xfrm/xfrm_interface.c' rm -f 'tools/build/feature/test-libpython-version.c' rm -f 'tools/perf/arch/arm64/util/machine.c' rm -f 'tools/perf/arch/powerpc/util/machine.c' diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/tracking-bug linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/tracking-bug --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/tracking-bug +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg-5.15/tracking-bug @@ -1 +1 @@ -2035068 2023.08.07-2 +2036561 2023.09.04-5 diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/abiname linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/abiname --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/abiname +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/abiname @@ -1 +1 @@ -1038 +1040 diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg @@ -67,8 +67,8 @@ EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register EXPORT_SYMBOL drivers/acpi/video 0xc994acef acpi_video_get_edid EXPORT_SYMBOL drivers/acpi/video 0xe92ca535 acpi_video_set_dmi_backlight_type -EXPORT_SYMBOL drivers/atm/suni 0x6d52a36f suni_init -EXPORT_SYMBOL drivers/atm/uPD98402 0xfecd31f4 uPD98402_init +EXPORT_SYMBOL drivers/atm/suni 0x0b71130c suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x2d6ee32b uPD98402_init EXPORT_SYMBOL drivers/bcma/bcma 0x7cd2de6b bcma_core_dma_translation EXPORT_SYMBOL drivers/bcma/bcma 0x932ad633 bcma_core_irq EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str @@ -89,9 +89,9 @@ EXPORT_SYMBOL drivers/block/paride/paride 0xbba55a82 pi_release EXPORT_SYMBOL drivers/block/paride/paride 0xc45c0d0f pi_connect EXPORT_SYMBOL drivers/block/paride/paride 0xdd52a2be pi_write_block -EXPORT_SYMBOL drivers/bluetooth/btbcm 0x695ef975 btbcm_patchram -EXPORT_SYMBOL drivers/bluetooth/btrsi 0xcba381b7 rsi_bt_ops -EXPORT_SYMBOL drivers/bus/mhi/core/mhi 0xccf5785e mhi_sync_power_up +EXPORT_SYMBOL drivers/bluetooth/btbcm 0xd02d33a8 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x97816305 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0xccf5785e mhi_sync_power_up EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode @@ -1299,379 +1299,379 @@ EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x53b017d8 st_press_get_settings EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0x723acf23 st_press_common_remove EXPORT_SYMBOL drivers/iio/pressure/st_pressure 0xefc0a044 st_press_common_probe -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x083998a9 ib_send_cm_mra -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x42752f36 ib_cm_notify -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x442c73a9 ib_send_cm_rep -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x595388cd ib_send_cm_sidr_req -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5c48ce31 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1b8bcb65 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1c995e2d ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1eee6553 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3a0f2f2c ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3c09ce96 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3f4026dd ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x49415444 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4db24b17 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x52818aef ib_cm_listen EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x70c4258c ib_cm_insert_listen -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x76ee17db ib_destroy_cm_id -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7ad67cfa ib_send_cm_req -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb14bc944 ib_cm_listen -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbafef759 ib_send_cm_rej -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc4bc7e1f ib_send_cm_drep -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdfaafce6 ib_send_cm_sidr_rep -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xec5d1e6f ib_send_cm_rtu -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf7e0f412 ib_cm_init_qp_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfdcb3673 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7b643960 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8017fce5 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcb0a389d ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe68b6b77 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe7d11ba0 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfe9126fc ib_send_cm_dreq EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03679673 ib_modify_port -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03722b64 ib_close_qp -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03e8cc5a ib_init_ah_attr_from_wc -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05c03a79 rdma_get_gid_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07a78831 rdma_dev_access_netns -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07e78aa6 ib_get_vf_config -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0844d2e8 ib_cq_pool_put -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08a8afed ib_device_set_netdev -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08e19409 ibdev_printk -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a2bba39 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00eadd30 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x04b80f3a ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x04e98aca ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x050bf9b6 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x059754ac ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08623330 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08ea8d72 ib_free_recv_mad EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e2761b3 ib_sa_join_multicast -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18976586 __ib_alloc_cq_any -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1934cb01 rdma_link_register -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19b91f47 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cdd2d58 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e47f852 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0fedcb47 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x10025005 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12fbe020 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13d5b355 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14860edd rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x159b5075 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1624bdfe ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1634b99f rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16f26111 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1770b6b5 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19ad1dd9 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19c76efa ib_get_cached_lmc EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b2f6773 ib_set_client_data -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b4d9a32 ib_unregister_client -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b50ce5e ib_query_pkey -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1bc1aa06 rdma_query_ah -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d028b86 rdma_user_mmap_entry_insert_range -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f31d285 ib_alloc_xrcd_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f40ae61 ib_query_qp -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f7260a0 ib_query_srq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2199cb7e ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e962097 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x216ea1f9 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x221af43b ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22ad8ddf ib_destroy_srq_user EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2430b067 ib_find_gid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x244e4d4d rdma_find_gid_by_port -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25208eee ibdev_emerg -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25cc6243 rdma_nl_put_driver_u32_hex -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26040743 rdma_nl_unicast -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x290a4341 ib_destroy_qp_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2996264f ib_get_vf_stats -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2aec2ddf rdma_read_gid_attr_ndev_rcu -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ca35f36 ibdev_info -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d12d82a ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23f68a36 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x247fde59 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26b293fb ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x278802f4 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28cb908b _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x293f0ed9 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ae4ee2b rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b8651e4 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e801d95 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ebafbf8 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30019c9c ib_unregister_client EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30a2260e ib_free_recv_mad -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x320359c3 ib_port_sysfs_get_ibdev_kobj -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32171453 ib_mr_pool_init -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x322a0fe2 ib_create_qp_security -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35f684b1 ib_unregister_device_queued -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36bda09a ib_drain_qp -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b0ff8d4 ib_free_cq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c5f186e ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31bf2642 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35883707 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3611f138 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36885b2d rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37098284 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x38207144 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3adc7bce ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b97b807 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3bf76088 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c439400 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d309993 ib_dealloc_device EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40830440 ib_create_send_mad -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x415d6c8b ib_modify_qp -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x429a0cdd ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x400cd9c0 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x416d53a7 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41ae3aa6 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x428af59a ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42c5c3e9 ib_qp_usecnt_dec EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43521059 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x438d3134 ib_cq_pool_get EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ce33c ib_sa_unregister_client -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43bb493f __ib_alloc_pd -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43df7979 rdma_link_unregister -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x451c0a5f ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ec5b7 ib_rdmacg_uncharge EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45ff1622 ib_qp_usecnt_inc -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x472ce2ed ib_unregister_event_handler -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48b97120 rdma_restrack_put -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4902b31a ib_dereg_mr_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49bd61d6 ib_set_device_ops -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d8e80d1 ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46f3ec71 ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47dd0557 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48943a14 ib_drain_qp EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x512c4575 rdma_nl_put_driver_u32 -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x512caed8 ib_rdmacg_uncharge -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x52bb4ef5 rdma_nl_register -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53330835 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51a30e28 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x52914456 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x559ae5f9 ib_query_port EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5604ce85 ib_unregister_device_and_put -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56261fa5 rdma_nl_put_driver_string -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56c22497 ib_qp_usecnt_dec -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x572063aa rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5755dd3e ib_find_pkey EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b178119 ibnl_put_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d15546d ib_sa_path_rec_get -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5dad9b01 ib_cq_pool_get -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f5af339 ib_create_ah_from_wc -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x603f03ef rdma_rw_ctx_destroy_signature -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60f6e73a ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a07dfc4 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a2c9309 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ecfa789 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f657e23 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60dab2ae rdma_copy_src_l2_addr EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x618bda43 ib_set_device_ops EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65250a41 rdma_modify_ah -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68dc039c rdma_user_mmap_entry_get -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a0587a5 ibdev_notice -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6af0c01a ib_dealloc_device -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b124877 rdma_restrack_new -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b1e6b1e rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6268ba97 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6367b522 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63a74173 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65213e01 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x655c186d ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68fa4648 ib_set_vf_link_state EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c742616 ib_detach_mcast -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e3702f0 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c401eb7 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f1d9f0b rdma_find_gid_by_port EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f370cb5 ib_mr_pool_destroy -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6fdb625f ib_unregister_mad_agent -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70f0d7a0 ib_find_pkey -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70f2e23c rdma_create_ah -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x713f4bd5 rdma_restrack_get -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x716f9880 ib_map_mr_sg -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x735e9ecd ib_dispatch_event -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x736cdf25 ib_map_mr_sg_pi EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x755124e6 rdma_restrack_add EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75adb6a6 rdma_alloc_netdev -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7687045a ib_get_cached_subnet_prefix -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77086ba1 ib_open_qp -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x773d609b ibdev_warn -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x778db0f3 rdma_move_grh_sgid_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77f3c88d ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75f6625d rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77813c90 ib_port_immutable_read EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b1e7111 rdma_restrack_count -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c92c689 rdma_rw_ctx_init -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ef0eac2 ib_register_client -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84d56b48 ib_get_rmpp_segment -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8576ec2b rdma_query_gid_table -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85c075a2 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x791b8b10 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79969207 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79cac9ac rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d101a61 rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d6ddf50 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d847faf rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e173378 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e7a4a6f rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e885b9a rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f0b315d rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x816ec656 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8207fabd ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83aa191b ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83d79718 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84cf0e75 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86ca4ae4 rdma_read_gid_hw_context EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87429459 rdma_nl_multicast -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88269477 ib_dma_virt_map_sg -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8862cb53 rdma_read_gid_l2_fields -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8a9e7757 ib_device_get_by_netdev -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d8622eb rdma_user_mmap_entry_put -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d864f46 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86daf2ce rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8767b3f6 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8901a2a6 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x895ef7a7 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b05e5a5 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c0001b1 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8d2cb457 ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8dfa2a45 rdma_umap_priv_init EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x903630bb ib_port_unregister_client_groups EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91518fc1 ib_modify_device -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91cd5566 rdma_nl_put_driver_u64 -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x931944fb rdma_destroy_ah_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94448ff8 rdma_user_mmap_entry_get_pgoff -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x947e2fcb rdma_rw_ctx_destroy -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x951bbea6 ib_modify_mad -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x954daa85 ib_register_device -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9653e7a8 rdma_resolve_ip -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x971c0ebb ib_register_mad_agent -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97745769 ib_init_ah_from_mcmember -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x978f7057 ib_dealloc_pd_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97ccec75 ib_get_cached_lmc -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9afc1234 rdma_restrack_get_byid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ca1666a ib_set_vf_link_state -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d17f05d rdma_restrack_set_name -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa200b1cf rdma_port_get_link_layer -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa31c9822 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95a83e3c rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96a22a59 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96d4033b ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9707bb84 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x988210a1 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x994f0aec ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99872fb6 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ab40679 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b471726 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f01e6e8 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f3ef3e6 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0fee967 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa17cd0e6 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa35edb0d ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa37fd933 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa3fd00b0 rdma_move_grh_sgid_attr EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6029ea5 _ib_alloc_device -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa0beb21 ib_create_srq_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab6b2088 rdma_create_user_ah -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xacf1758d rdma_rw_ctx_wrs -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad7d0f84 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa48608a6 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa526a3b4 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa66a4cfe rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa8500ffd ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa850e8b3 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9afd9a4 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xac0c99d7 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xac905c6d __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad3e6a94 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xadc38e97 rdma_query_gid_table EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xafd3751b ib_create_qp_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb08f06b9 ibdev_crit -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb11d0aa8 rdma_init_netdev -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb14e6325 ib_create_wq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb32c7b7a ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae9cb7b5 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xafd342d1 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb045c137 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1ed622b ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb219040c ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3184a00 __ib_create_cq EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4525ece rdma_user_mmap_io -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb70106aa ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb477f634 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4bc0b0e ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb568bbe3 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6a7538d ibdev_notice EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb888c9ec __ib_alloc_cq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb88e52e3 ib_modify_srq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9742efb rdma_nl_stat_hwcounter_entry -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbaa33bb8 ib_get_cached_port_state -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd409125 ib_mad_kernel_rmpp_agent -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe61bc2c rdma_find_gid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbfc82bb2 rdma_umap_priv_init -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0047a19 rdma_addr_cancel -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc05ed0f4 ib_get_device_fw_str -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1a18c03 ib_reg_user_mr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc284ba21 ib_init_ah_attr_from_path -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2ee8717 rdma_restrack_parent_name -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5b9a906 ib_device_get_by_name -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc61fca14 ib_modify_qp_with_udata -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc634a53b rdma_nl_put_driver_u64_hex -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6821993 ibdev_alert -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6e3725e ib_get_vf_guid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8388b2c rdma_set_cq_moderation -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc85ae5c6 ib_set_vf_guid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9704323 ib_get_cached_pkey -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9aae388 ib_register_event_handler -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcca0a442 rdma_hold_gid_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf14a16b ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc697228 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd8fa05e ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe8cf147 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2c754a1 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc3428e52 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc365c894 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5e00b28 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8aac631 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd8c5faa ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdb10dfb rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce9bf6fa ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xceda8935 rdma_rw_ctx_destroy_signature EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd06ec59b rdma_destroy_ah_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1f59914 ib_process_cq_direct -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4015ca7 rdma_rw_ctx_signature_init -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd54c56f5 ib_get_net_dev_by_params -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd5b6385d rdma_rw_ctx_post -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6324634 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd074b0e4 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd137b59b ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd27146e5 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2a6ce10 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd3ac1cbc ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd5f206ef rdma_find_gid EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6dd4164 rdma_user_mmap_entry_insert -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd75e19a9 rdma_nl_unicast_wait -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd95a9545 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd76eed47 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd793332e ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8d644a2 ib_create_wq EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc9aca32 rdma_read_gid_hw_context -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdea3a778 ib_mr_pool_put -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe279cff8 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda584853 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdb304fb2 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdd981fd7 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdef6f9f7 rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf853a02 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2876041 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4421473 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe47b5442 ibdev_info EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe594e4e8 ibnl_put_msg EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe624c0d6 ib_create_qp_security EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7bcf3ff rdma_replace_ah_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7cb5223 ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe83e484c ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8c91ba1 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9305203 rdma_user_mmap_entry_put EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb329641 ib_mr_pool_get -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb6144d5 ib_drain_sq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb6358de ib_find_exact_cached_pkey -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed0a57fc ib_dealloc_xrcd_user -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xedaf9a8a roce_gid_type_mask_support -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xedc58164 rdma_copy_ah_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee00c7d7 rdma_translate_ip -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee8c1592 ib_unregister_device -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef2c8df2 ib_free_send_mad -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf33b6b19 ib_drain_rq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf40cfac8 rdma_rw_mr_factor -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf52df54d ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea3bc055 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeafca517 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebae2bd9 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec4f35cb ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed859ec0 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeffe6911 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1859ffe ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1eaba0c ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf30008db ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf48b1a93 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4f3ee43 ib_create_qp_user EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf822316b ib_port_immutable_read -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8b2ddb8 __ib_create_cq -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc0f914e rdma_query_gid -EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff30fddd rdma_put_gid_attr -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x09a07bf3 flow_resources_alloc -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x146e241f ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf88faa18 ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc2982a7 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfe3fcfa9 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfed63265 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x095b5fdc ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x13e8fd07 uverbs_get_flags64 EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b7adf06 uverbs_copy_to -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x26143334 ib_umem_get_peer -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2697c641 uverbs_uobject_put -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x494ba2e1 ib_umem_copy_from -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x50c1604e uverbs_get_flags64 -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x51019201 uverbs_uobject_fd_release -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x56d09d0a ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x29263d40 ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2e99b1b1 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3419c36c uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3724da5d ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x38289c6b ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3beebe7a ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5167c560 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x56d41087 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x61890562 ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6261c8a9 ib_register_peer_memory_client EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x69c37c08 ib_umem_release -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7a9a7ab9 ib_umem_odp_unmap_dma_pages -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7bd3ad56 ib_uverbs_get_ucontext_file -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7cb8201e uverbs_copy_to_struct_or_zero -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7e3e7c88 uverbs_finalize_uobj_create -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x88ccf88b ib_umem_stop_invalidation_notifier -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8cd70750 ib_umem_odp_get -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9274bce5 ib_copy_ah_attr_to_user -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x943f4794 uverbs_get_flags32 -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x973104d5 ib_umem_dmabuf_unmap_pages -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x99a55c57 flow_resources_add -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9cc0f551 _uverbs_get_const_signed -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa66a61d4 ib_umem_dmabuf_map_pages -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xad1a8c38 _uverbs_get_const_unsigned -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb271c811 ib_umem_find_best_pgsz -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb3a637da uverbs_destroy_def_handler -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb6d6c01b ib_umem_get -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb7edfbcd _uverbs_alloc -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb97ebfcd ib_uverbs_flow_resources_free -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbb420a06 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6db65cfe uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6e8087cf uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8248ae8a uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8aa5ab06 ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8e9e0282 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x93c610f8 ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9d2a0407 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa035e1d1 _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa26ef32b _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa3976f6c ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xac3b35b6 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb016639c uverbs_fd_class EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc2d2707d ib_umem_activate_invalidation_notifier -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc7d95ba1 ib_copy_qp_attr_to_user -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcee40160 ib_register_peer_memory_client -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcfbfa1c5 ib_umem_odp_map_dma_and_lock -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd9b61db4 uverbs_fd_class -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdb04e5cc ib_umem_odp_alloc_implicit -EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf59ff163 ib_umem_odp_release -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0c5d47fb iw_create_cm_id -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x29df4d13 iw_cm_connect -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x35d8a733 iw_destroy_cm_id -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x972388f9 iw_cm_init_qp_attr -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb5463bb8 iw_cm_listen -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xdf185b1d iw_cm_accept -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xedc012c2 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbfa20be7 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc905f4eb ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcdb9f811 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd3fff086 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd53af0a7 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd56ceb81 ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd96ecb3e _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe65b3be6 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xeef3d7c4 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf072a042 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf14132d7 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfa9cd463 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x23e1b6e4 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x258f9a93 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x48888454 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7417806d iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x899aeb9f iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x93aac5e5 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa52c4057 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb480b7a2 iw_cm_disconnect EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg -EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xff1aeb34 iw_cm_disconnect -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x05925355 rdma_listen -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x05b0a7fc rdma_lock_handler -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x09ede829 rdma_consumer_reject_data -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0d9da594 rdma_reject -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x13c2b32a rdma_set_ack_timeout -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1d3eb514 __rdma_create_kernel_id -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2045f706 rdma_unlock_handler -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x25089274 rdma_connect_ece -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3ca4d418 rdma_set_service_type -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3e8dec63 rdma_init_qp_attr -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x420a1a8b rdma_connect -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5e0bba32 rdma_resolve_addr -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5ef17cb9 rdma_join_multicast -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5f0c4a08 rdma_res_to_id -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x60ffefc0 rdma_connect_locked -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x65cd3b8e rdma_accept_ece -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7980c76b rdma_leave_multicast -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7d4bc8ab rdma_set_ib_path -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x80829cce rdma_create_qp -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x89c788ba rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0c58eecc rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0e65c9d8 rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x10fd8394 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1115b794 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x150ff36a rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x34a23bae rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x37e87fb2 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3d538f88 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4415bfe3 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4c797553 __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x61533b70 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x62008c6e rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x62a1ff44 rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x64930be4 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x67f0e968 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x682917c6 rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6a7b0a25 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6fa03797 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7131c7e9 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x73f052fc rdma_accept_ece EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaa7d93ef rdma_reject_msg -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaab59721 rdma_destroy_id -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb3c6f585 rdma_set_reuseaddr -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb6616908 rdma_read_gids -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb8595e7f rdma_destroy_qp -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbd549929 rdma_resolve_route -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbfd9814c rdma_accept -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xca78cf3b rdma_disconnect -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcc47bd02 rdma_get_service_id -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcd5393bc rdma_set_min_rnr_timer -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd092d14c rdma_create_user_id -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd4cf3ece rdma_iw_cm_id -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd6b8b513 rdma_set_afonly -EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe24cd71b rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x92df5420 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x95717805 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9b3e4451 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa723a4c5 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc91ad852 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd57caabb rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd72044e3 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd857eff0 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd97908ed rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdf3ef2a4 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf228d7ba rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf5ef5533 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfc13106d rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xff9060f1 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0bcddf56 rvt_send_complete EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0e385842 ib_rvt_state_ops -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x1540603c rvt_fast_reg_mr -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x1e5ef40d rvt_qp_iter_next -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x2189befa rvt_register_device -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x256afe16 rvt_get_rwqe -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x2db2a904 rvt_get_credit -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x2ea23f4a rvt_unregister_device -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x31edf191 rvt_stop_rc_timers -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x3bd325b8 rvt_ruc_loopback -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x47fd05f0 rvt_invalidate_rkey -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4942e184 rvt_add_rnr_timer -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x54f78648 rvt_alloc_device -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x583b95f2 rvt_dealloc_device -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5dfd4886 rvt_compute_aeth -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x718d0e7b rvt_qp_iter_init -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x89d90767 rvt_error_qp -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x8bcdae44 rvt_comm_est -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x95b3e885 rvt_rc_error -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x99a8741a rvt_send_complete -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb2c94fa9 rvt_init_port +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0f450811 rvt_rkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x2297c9a6 rvt_get_rwqe +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x3d241eb3 rvt_restart_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4dbe06b9 rvt_check_ah +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4ea38b61 rvt_copy_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5d009a72 rvt_get_credit +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5fd03187 rvt_unregister_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x60fc2925 rvt_rc_error +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x61283d0a rvt_compute_aeth +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x70b1f47f rvt_qp_iter_init +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x7ac29262 rvt_dealloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x842ac8c9 rvt_qp_iter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x88f11d22 rvt_del_timers_sync +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x8f647231 rvt_invalidate_rkey +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x8fa3a640 rvt_comm_est +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xaeae6656 rvt_cq_enter EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb7ee98b2 rvt_rc_rnr_retry -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xbd6872ef rvt_qp_iter -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xbeacdf01 rvt_lkey_ok -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xcd8b5c75 rvt_cq_enter -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd7055d19 rvt_restart_sge -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd9bce198 rvt_check_ah -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xde00c28c rvt_rkey_ok -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xdeeb9fd0 rvt_del_timers_sync -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe827ac5d rvt_add_retry_timer_ext +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xc81c56bb rvt_alloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xcbc46434 rvt_init_port +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd0f1f0f9 rvt_mcast_find +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd35077cb rvt_stop_rc_timers +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd5851184 rvt_error_qp +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd9954d4a rvt_lkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9b852b3 rvt_fast_reg_mr EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9cf3e43 rvt_rnr_tbl_to_usec -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf4c57105 rvt_copy_sge -EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xfc2b87fd rvt_mcast_find -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x1fe57549 rtrs_clt_close -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x4be2b109 rtrs_clt_get_permit -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x509cfd92 rtrs_clt_query -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x6fd472e7 rtrs_clt_open -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x73a458fa rtrs_clt_put_permit -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xcf5ae941 rtrs_clt_request -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe75cf199 rtrs_clt_rdma_cq_direct -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x16144860 rtrs_rdma_dev_pd_init -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x19ae4139 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf144d5a1 rvt_add_retry_timer_ext +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf43ccaf0 rvt_ruc_loopback +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf59eee0a rvt_qp_iter_next +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf72deb4a rvt_register_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xfc9b29c9 rvt_add_rnr_timer +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x1014fbae rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x3fe94ae2 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x77708f16 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x77ceb2af rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe0840d98 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe5a6082e rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xf7442622 rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x0c8d7d74 rtrs_ib_dev_find_or_add EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x242a8646 rtrs_addr_to_str -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x54ecbcea rtrs_ib_dev_put EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5e763084 rtrs_rdma_dev_pd_deinit EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xa824fb53 rtrs_ib_dev_find_or_add -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x025b110b rtrs_srv_get_queue_depth -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x64a91c1d rtrs_srv_get_path_name -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x93f36c5e rtrs_srv_open -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xa33ec1cb rtrs_srv_close -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xd07895e6 rtrs_srv_resp_rdma -EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xfa7b7a42 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x8f7bb1ab rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xaccd1cd8 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x33754493 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x50a6ca93 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x54b700cd rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7cfbb0bc rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x920b852f rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x921dbc47 rtrs_srv_set_sess_priv EXPORT_SYMBOL drivers/input/gameport/gameport 0x05ae71bc gameport_stop_polling EXPORT_SYMBOL drivers/input/gameport/gameport 0x1ce05927 gameport_unregister_driver EXPORT_SYMBOL drivers/input/gameport/gameport 0x2af747ce gameport_open @@ -1715,48 +1715,48 @@ EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0xef4ee223 isdnhdlc_encode -EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x157045df mISDNisac_irq -EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x45dc123f mISDNisac_init -EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xd4badea6 mISDNipac_irq -EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xfb44adcc mISDNipac_init -EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x13df7844 mISDNisar_init -EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x470d43ae mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x6fe2aaf3 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7358c8f0 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xea345590 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf61df17c mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xf2e40b90 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xf9feb930 mISDNisar_irq EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1912fdbc queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0b867f14 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x11a78428 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x12150528 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2159827f mISDN_initdchannel EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x261069c5 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x255dcdb6 recv_Bchannel EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x301748a6 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2a199b3c recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2ba036f0 get_next_bframe EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x480d97e4 mISDN_initbchannel -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4904764f bchannel_get_rxbuf -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4c766193 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x38ef95ee recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4d0f8351 mISDN_register_device EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x534db41c recv_Dchannel EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5a49d260 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5cbf57bc mISDN_freebchannel EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6597b97e mISDN_register_device -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x65af1d27 get_next_dframe -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6b73dbed bchannel_senddata -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7ec5a5c4 mISDN_register_Bprotocol -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x83be568c create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6690c425 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7cc13cae mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x93315c29 queue_ch_frame EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa834ad28 mISDN_initdchannel -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb1a355e7 dchannel_senddata -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb5e6634d mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb2387add get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb3d242de dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb40bb0c2 mISDN_freedchannel EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc378b2e7 mISDN_unregister_Bprotocol -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcf75e446 mISDN_freebchannel EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd578f94e mISDN_ctrl_bchannel -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe0ddb313 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd69646a8 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdb15ab55 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe107bd80 mISDNDevName4ch EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xeaea4be9 mISDN_unregister_device -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf1c0e8ed recv_Bchannel_skb -EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf3b11ba3 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe9c65a49 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf797b8bc mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfdbd3207 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfef29f29 mISDN_ctrl_bchannel EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x93df9e4b dsp_audio_law_to_s32 EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb07a21b8 dsp_audio_s16_to_law @@ -1777,19 +1777,19 @@ EXPORT_SYMBOL drivers/md/dm-snapshot 0xfb02393a dm_snap_cow EXPORT_SYMBOL drivers/md/raid456 0x7019923b raid5_set_cache_size EXPORT_SYMBOL drivers/md/raid456 0xd18c5f21 r5c_journal_mode_set -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0143a830 flexcop_pass_dmx_packets -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0b191038 flexcop_device_exit -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x136f84ce flexcop_device_kfree -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x454c8de5 flexcop_sram_ctrl -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4e3c4d8f flexcop_dump_reg -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x50b556bb flexcop_pass_dmx_data -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x777d4334 flexcop_wan_set_speed -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x781fd43c flexcop_sram_set_dest -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x8a3ada36 flexcop_pid_feed_control -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xa245285e flexcop_i2c_request -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc1e86df0 flexcop_eeprom_check_mac_addr -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc3d1adb7 flexcop_device_initialize -EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xfb6c1127 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x07718ddb flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x27cf3faa flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x53673451 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x5ca0d112 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x80b40b77 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x942e0e1e flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb8dad49d flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc8e11115 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xd2dc6f67 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xd51f9338 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf088e91f flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf1c56297 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf949491f flexcop_pid_feed_control EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query EXPORT_SYMBOL drivers/media/common/cx2341x 0x1d059c7b cx2341x_handler_set_busy EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu @@ -1814,11 +1814,11 @@ EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc2d9e090 get_vaddr_frames EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc5e5573a frame_vector_to_pages EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdffb744b frame_vector_to_pfns -EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x441ba701 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x13ee0752 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x27bcd598 vb2_dvb_get_frontend EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x48c03837 vb2_dvb_register_bus EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xadada30a vb2_dvb_dealloc_frontends EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xd7261336 vb2_dvb_unregister_bus -EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xe0bd0e1d vb2_dvb_get_frontend EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xf8e3610c vb2_dvb_find_frontend EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xa21fa765 vb2_create_framevec EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xccd197c7 vb2_destroy_framevec @@ -1830,10 +1830,12 @@ EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x14e73097 dvb_generic_release EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x18acd31f dvb_dmx_swfilter_packets EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1b187a6f dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e22081a dvb_net_init EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2cfed106 dvb_frontend_reinitialise EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x32764561 dvb_register_adapter EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x481f6220 dvb_net_release EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x54abe4ff dvb_dmx_init EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6181aec0 dvb_ringbuffer_flush_spinlock_wakeup @@ -1848,7 +1850,6 @@ EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9263a063 dvb_dmx_release EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa1a2a3fe dvb_ca_en50221_release EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa2211832 dvb_device_get -EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa3b4c65e dvb_net_release EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4235824 dvb_dmx_swfilter_raw EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa9d93469 dvb_ca_en50221_frda_irq EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xabcce348 dvb_ca_en50221_camready_irq @@ -1861,7 +1862,6 @@ EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe8359391 dvb_unregister_frontend EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init -EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf4b5a9de dvb_net_init EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb09f39a dvb_ringbuffer_read EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb418176 dvb_frontend_suspend EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb9a826f dvb_ringbuffer_flush @@ -2023,11 +2023,11 @@ EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0xe461b8aa zl10036_attach EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x630ff04e zl10039_attach EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0xdfbb7195 zl10353_attach -EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x2c427a6a flexcop_dma_config -EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x3d8ef6b7 flexcop_dma_control_timer_irq -EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x3f234394 flexcop_dma_config_timer -EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xb8242116 flexcop_dma_control_size_irq -EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xba975172 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x341202fd flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x488f5b3e flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x511ba892 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7b20688d flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x89ddb4eb flexcop_dma_xfer_control EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xd2154877 flexcop_dma_free EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xe3e51d74 flexcop_dma_allocate EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x1963ec75 bt878_device_control @@ -2052,12 +2052,12 @@ EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf5ea29c5 dst_wait_dst_ready EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xfe990bf2 dst_pio_disable EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x4fd1025d dst_ca_attach -EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x0651d734 cx18_stop_v4l2_encode_stream EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio -EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2edc9c39 cx18_start_v4l2_encode_stream -EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x3635e0ba cx18_release_stream -EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x4c0b388b cx18_ext_init -EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x725312f3 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x43333d5c cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x7431b292 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x900ef077 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x92f8cab3 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xfe80fdb6 cx18_claim_stream EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x1ab311dc altera_ci_init EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xdb3faf38 altera_ci_release @@ -2186,37 +2186,37 @@ EXPORT_SYMBOL drivers/media/tuners/xc5000 0x0b816e84 xc5000_attach EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x3380d4dd cx231xx_register_extension EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x73c22930 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x275694fd dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x2e0486ab dvb_usbv2_generic_rw_locked EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x4a16985e dvb_usbv2_reset_resume EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x50e893b0 dvb_usbv2_probe -EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x565091b1 dvb_usbv2_generic_write_locked EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x74bfa57a dvb_usbv2_resume -EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x811625a9 dvb_usbv2_generic_rw_locked -EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x9e6b5801 dvb_usbv2_generic_write EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xbaa6bc28 dvb_usbv2_suspend EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xe137346b dvb_usbv2_disconnect -EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xe7d76eac dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xeb096fae dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xf8264cc8 dvb_usbv2_generic_write EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x1976682b dvb_usb_device_exit -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x60111675 dvb_usb_generic_rw -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x72cf35e5 dvb_usb_generic_write -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x883fabdc dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x3da54c30 dvb_usb_generic_write EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x9ef39f3b dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xb1e0696f dvb_usb_nec_rc_key_to_event EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xb3a15cff usb_cypress_load_firmware -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x08025129 af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xfb3bdbfb dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xfd7ef069 dvb_usb_generic_rw EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x5730f756 af9005_rc_decode EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x32365520 dibusb2_0_power_ctrl -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x60c4dc2f dibusb_power_ctrl -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x666dc250 dibusb_pid_filter_ctrl -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x6ea43f48 dibusb_read_eeprom_byte -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x89f585b9 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x22eac51b dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x4b3a412d dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x5fa4e661 dibusb_pid_filter_ctrl EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x93822ecb rc_map_dibusb_table -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xa53973b1 dibusb_streaming_ctrl -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb8de8139 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xaafe7155 dibusb_streaming_ctrl EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xbe204f4e dibusb_i2c_algo -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xe581c6ae dibusb_rc_query -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xb31f4f8c dibusb_dib3000mc_tuner_attach -EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xbea14158 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xcca2dbf1 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xccfad648 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xd53d90d9 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xe45ce9b1 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x12dc01eb dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xa986fc43 dibusb_dib3000mc_frontend_attach EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x814ee9fe em28xx_unregister_extension EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0xa1532306 em28xx_register_extension EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x01fe5bcd go7007_register_encoder @@ -2540,90 +2540,90 @@ EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xc7f2bcf4 rawnand_dt_parse_gpio_cs EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd0e996df rawnand_sw_hamming_cleanup EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe5831337 rawnand_sw_hamming_calculate -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x25dd1003 free_arcdev -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4304e950 arcnet_send_packet -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x59cfb622 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x27e4b688 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2b1ac8fb arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3886fa5e alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x55e4efbd free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x593165e0 arcnet_send_packet EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6cb6f141 arcnet_timeout -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x77881f9c arc_raw_proto -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa82f8223 arc_proto_map -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xadcce4e5 arc_proto_default -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc81c3030 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x91dd8bd1 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xcb997387 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd276cf6c arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe59560cb arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe7f90fd5 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe85b3e5f arc_proto_map EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xee7abb35 arc_bcast_proto -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf66c2864 alloc_arcdev -EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf9921a6f arcnet_unregister_proto EXPORT_SYMBOL drivers/net/arcnet/com20020 0x04605054 com20020_check EXPORT_SYMBOL drivers/net/arcnet/com20020 0x274e6301 com20020_netdev_ops EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa69c11ec com20020_found -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0acdc397 b53_get_strings -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0d1df73c b53_phylink_mac_link_state -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x11ad898e b53_vlan_filtering -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1aae2172 b53_eee_init -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1f64c857 b53_vlan_add -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2bc6f926 b53_mdb_add -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x31d0db4c b53_imp_vlan_setup -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3a07ef56 b53_configure_vlan -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3bb15f65 b53_phylink_mac_link_down -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3ff46b7a b53_get_sset_count -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x469cf54b b53_enable_port -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x52973d38 b53_br_set_stp_state -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x52e3165e b53_fdb_del -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x570375fb b53_br_fast_age -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x586b3c7a b53_vlan_del -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5e30a7a4 b53_phylink_mac_config -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5ee614e3 b53_switch_alloc -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5fe7c949 b53_switch_register -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x66bed70a b53_mdb_del -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x72a7ac29 b53_get_ethtool_stats -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x75f61463 b53_get_ethtool_phy_stats -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7d0c5fb2 b53_fdb_dump -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7ed7555c b53_get_tag_protocol -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x88cf745a b53_setup_devlink_resources -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8a8d72ae b53_br_flags_pre -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x916de90e b53_phylink_validate -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9abf0d9b b53_fdb_add -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9ae799a2 b53_disable_port -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa56c537e b53_phylink_mac_an_restart -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xabe89b78 b53_mirror_add -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xac930e01 b53_get_mac_eee -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb05e3c83 b53_brcm_hdr_setup -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbf1670fb b53_phylink_mac_link_up -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc2a58e24 b53_br_leave -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc6846ab6 b53_set_mac_eee -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcb4e8182 b53_br_flags -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xeede71c5 b53_br_join -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf15d84e7 b53_switch_detect -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf3c6dca8 b53_port_event -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf9b7d88f b53_eee_enable_set -EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfc11f9d7 b53_mirror_del -EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x30c47a54 b53_serdes_config -EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xb0807e8a b53_serdes_an_restart -EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xbe3e3ddd b53_serdes_link_state -EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xc502e272 b53_serdes_phylink_validate -EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xf979d6c5 b53_serdes_init -EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xfba3689b b53_serdes_link_set -EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x0796048c lan9303_remove -EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x7fbf953b lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x001cfc72 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0dbed8a7 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1265ff8e b53_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1a96b2bf b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x208c286f b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2f289727 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x33520608 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3de19885 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x445310f4 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x45604db9 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4a63c2f5 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4e938f76 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5d6c6d35 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5f05d290 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x61e50441 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x69c99bb1 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6c3ad68b b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x727e2493 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x733edba5 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x80ed41d5 b53_phylink_mac_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x84e59362 b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x878479d8 b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8d6bc912 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x95aab035 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9953a95e b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa7cd28a5 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb42377f9 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb491e778 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb703f4ec b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xba52ac53 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbb973427 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbc2693f7 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc2f401af b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc566a8ba b53_phylink_mac_link_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xca5a6fc4 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd0a899d6 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd70f5471 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe3b210a4 b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe4ecf68a b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe590e647 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfc356081 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x1ba68127 b53_serdes_an_restart +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x423f8cb8 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x4c8dc8ee b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x7c0c48bc b53_serdes_phylink_validate +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xd797e483 b53_serdes_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xdce2f10c b53_serdes_link_state +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x2ac699ff lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x44516092 lan9303_shutdown EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set -EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xca4a646d lan9303_shutdown -EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0xf4e0f47c ksz8_switch_register -EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x09357cbc ksz9477_switch_register -EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x2579c412 ksz_switch_alloc -EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x8281da45 ksz_switch_register -EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xd83fdb3f ksz_switch_remove -EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x1e251632 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xb0a74e03 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0xe02cb106 ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x204ede14 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x8da6e14e ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x940e2a97 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xdeeb23ac ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x0c9e5d24 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x1faef25e vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x4ed724a7 vsc73xx_probe EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid -EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xa34c8584 vsc73xx_shutdown -EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xcf38a4d2 vsc73xx_remove -EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x0a9a249f xrs700x_switch_alloc -EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x0bea9d2e xrs700x_switch_register -EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x75673869 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x1e011ac7 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x22eff0ac xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x6e1f3fb5 xrs700x_switch_remove EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x83b7b667 xrs7003f_info EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8972bf7e xrs7004f_info -EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xa3fa8887 xrs700x_switch_shutdown EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb25facfa xrs7003e_info EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb89aa5e3 xrs7004e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xd8c3ec4d xrs700x_switch_register EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x1dd3c5fb NS8390_init EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x1f35346d ei_get_stats @@ -2635,8 +2635,8 @@ EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9fec0d7f ei_close EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe10fb26c ei_set_multicast_list EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xfdc0528a ei_netdev_ops -EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0xa6264809 bnxt_ulp_probe -EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x0c3fc256 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x16281e4c bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x44657687 cnic_register_driver EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x4316e835 cavium_ptp_put EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x956c216a cavium_ptp_get @@ -2657,79 +2657,79 @@ EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xff987a02 bgx_set_xcast_mode EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x13912e4b xcv_init_hw EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x4f739dc0 xcv_setup_link -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x093b30fd t3_l2t_send_event -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0e72a2f2 cxgb3_ofld_send -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x226c5b78 t3_l2t_send_slow -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x42b56327 t3_l2t_get -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4a44cf69 cxgb3_alloc_atid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7aa1d130 cxgb3_register_client -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fef25b5 cxgb3_remove_tid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fff75ee t3_l2e_free -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x877f78f8 cxgb3_alloc_stid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x89dea0f6 cxgb3_free_atid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbe2b8898 dev2t3cdev -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xcb641ee4 cxgb3_queue_tid_release -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd64279e5 cxgb3_unregister_client -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdceb68f1 cxgb3_insert_tid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf2656bf9 cxgb3_free_stid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfe868633 t3_register_cpl_handler -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x06f28f34 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x05b2ca1b cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x099c9d4c cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0e2da31b t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x31325b54 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x35dde71b dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4012e040 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x48f81145 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5265ea93 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5b824d8b cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x67c1b374 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7da4965a cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa504f08c cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc9238396 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xcc235556 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf460b62d t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf550ddd0 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x01d8efa5 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x07a6afc9 cxgb4_write_sgl EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x10651bb6 cxgb4_l2t_alloc_switching -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1148ba10 cxgb4_flush_eq_cache -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x114dcf79 cxgb4_l2t_get -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x13362136 cxgb4_inline_tx_skb -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x16538b28 cxgb4_l2t_send -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1ad3c631 cxgb4_port_idx -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1ce70789 cxgb4_port_viid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1db6f10c cxgb4_get_tcp_stats -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1fe25c2f cxgb4_create_server -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2aa0bac2 cxgb4_create_server6 -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x36a3984e cxgb4_ring_tx_db -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3bebdaa6 cxgb4_write_sgl -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4022a07b cxgb4_iscsi_init -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x454711f0 cxgb4_free_stid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x47129468 cxgb4_clip_release -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x48368bb0 cxgb4_register_uld -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4a34bd69 cxgb4_l2t_release -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4c0b6a52 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0fe8cfc8 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x13cf2f80 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1de7406a cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2a04527f cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2fce210f cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x394309e7 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3ae10852 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x43fe4d4a cxgb4_iscsi_init EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x575ed242 cxgb4_dbfifo_count -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x57a13184 cxgb4_write_partial_sgl -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5931b39b cxgb4_map_skb -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5c05c6d0 cxgb4_alloc_stid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x61a8132d cxgb4_create_server_filter -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x705fa739 cxgb4_immdata_send -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x764ad042 cxgb4_alloc_atid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7728aca6 cxgb4_remove_server_filter -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7c7b7bdd cxgb4_clip_get -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x82509d23 cxgb4_ofld_send -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8aaa9260 cxgb4_update_root_dev_clip -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x911cad7d cxgb4_alloc_sftid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9884901a cxgb4_reclaim_completed_tx -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9bfbe7a8 cxgb4_smt_alloc_switching -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9f07616b cxgb4_sync_txq_pidx -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa267d378 cxgb4_remove_server -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa4d30bbb cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5225a9c4 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x52f84fe9 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5f550187 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5fc4fefd cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6c96b18d cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x702c6ed5 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x762b7ca0 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7d532376 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x800c45d6 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x81107864 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x82f2b3a6 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x853264d3 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x894377a2 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8b0e902e cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x943deddf cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x94b1c469 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x95fa7649 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9cb32f87 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9ee4dbee cxgb4_reclaim_completed_tx EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcce1c887 cxgb4_get_srq_entry -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcf899c9b cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xafa6d997 cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb48ad865 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb5aec02e cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbf82a1c1 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc781da22 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc8684d30 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc8f2d2ae cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc9760a01 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd07d1f75 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd1dd43ec cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd211fbe8 cxgb4_remove_server_filter EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd7c571ba cxgb4_check_l2t_valid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd7d6fc74 t4_cleanup_clip_tbl -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xde4e69e5 cxgb4_port_e2cchan -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe1eea28e cxgb4_read_tpte -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf4ba8dee cxgb4_read_sge_timestamp -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf5d56213 cxgb4_free_atid -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfd92bde0 cxgb4_port_chan -EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xff66557a cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe2990835 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe9fd8a36 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeba6ff1d cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf7405975 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfb5490fe cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfd183360 cxgb4_l2t_send EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set -EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1e3f6be1 cxgb_find_route6 EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x40e35dec cxgbi_ppm_ppods_reserve EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x4981ab97 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6ddd3ce3 cxgb_find_route EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7f3312b4 cxgbi_ppm_ppod_release -EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x98cdbcec cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xb03c358e cxgb_find_route6 EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xc4bb123d cxgbi_ppm_make_ppod_hdr EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xfd97ee65 cxgbi_ppm_init EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x0070f760 vnic_dev_get_res_count @@ -2738,11 +2738,11 @@ EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xa1738779 vnic_dev_register EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xabb4c96e vnic_dev_get_res EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xed8fa843 enic_api_devcmd_proxy_by_index -EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x35233986 be_roce_register_driver EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd -EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x885b7c06 be_roce_unregister_driver -EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x8dda64c2 iavf_register_client -EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xcc7e00c1 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x570a4f3b be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xabc04cdb be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x011ebab1 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xecbcec6d iavf_unregister_client EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x07effb14 prestera_device_unregister EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0xb6bd719a prestera_device_register EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0046385d mlx4_eq_get_irq @@ -2790,166 +2790,166 @@ EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf24af58a mlx4_get_slave_node_guid EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf39d424c mlx4_SET_PORT_qpn_calc EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3b62146 mlx4_get_roce_gid_from_slave -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x005b8953 mlx5_put_uars_page -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00b05fc5 mlx5_core_roce_gid_set -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x044c76c8 mlx5_eswitch_get_proto_dev -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a4b2763 mlx5_core_create_tis -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a82f8f4 mlx5_qp_debugfs_cleanup -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b54644d mlx5_notifier_unregister -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c677ce1 mlx5_nic_vport_disable_roce -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0edcdd2c mlx5_eq_disable -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x100048ce mlx5_core_query_rq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10c81a8a mlx5_qp_debugfs_init -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11b01fcc mlx5_get_uars_page -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x12c58014 mlx5_lag_get_peer_mdev -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14aeb9bb mlx5_comp_vectors_count -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x157fb3d1 mlx5_fpga_mem_write -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x16998851 mlx5_core_destroy_mkey -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x188477f8 mlx5_mpfs_del_mac -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a5c78f6 mlx5_debugfs_root -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a878463 mlx5_fpga_get_sbu_caps -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a923663 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00fbc2bc mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0273034c mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0274e850 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04951081 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c0ad672 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c96cfd4 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ef6aa95 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x110d520d mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1113891c mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11b09c7e mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11c67b80 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x13884953 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x13d110c7 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x165ebfff mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x198f9311 __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a7a6ab7 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a87d2f9 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1af701c0 mlx5_qp_debugfs_init EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c57c524 __traceiter_mlx5_fs_add_fg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d0198b5 __SCK__tp_func_mlx5_fs_del_ft -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e48181f mlx5_lag_is_shared_fdb -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2796a81f __tracepoint_mlx5_fs_del_fg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28950d31 mlx5_eswitch_add_send_to_vport_rule -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a64f407 mlx5_eswitch_unregister_vport_reps -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2ba4f105 mlx5_get_fdb_sub_ns -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c98f63f mlx5_lag_is_roce -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2ed63bda mlx5_core_query_cq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3165a584 mlx5_core_create_mkey -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x322f1103 mlx5_core_query_vendor_id -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x328d12a8 mlx5_cmd_create_vport_lag -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33f39d8b mlx5_mpfs_add_mac -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x44c8217f mlx5_rl_add_rate -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4679e98d __tracepoint_mlx5_fs_del_ft -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x468dd4c2 mlx5_packet_reformat_dealloc -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x468f8a5a __SCK__tp_func_mlx5_fs_set_fte -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x483f50ce mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e26a45a mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e9263f9 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1f8c964a mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x202eb0e0 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x228253de __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23c76dcc mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23f95a23 __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24e3603a mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27a4fbd2 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a9e422b mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b414ebf mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c9ec85d mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2cc6b6cc __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x338e4a28 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x35cb140d mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x38c684f0 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x395d41f8 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39e6141a __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3afd382f mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ddcea27 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fe0d6bc mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x436d124c __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x455f4670 mlx5_core_modify_tis EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49580652 mlx5_create_auto_grouped_flow_table -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4dacd73e mlx5_core_modify_tis -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4fa7498e mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4dd3f541 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4de1cd25 mlx5_eswitch_vport_match_metadata_enabled EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x503f3c9d __traceiter_mlx5_fs_add_ft -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5107d3dc __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50c0cd2b mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x517a4286 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52e5b7ef mlx5_lag_is_shared_fdb EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55b88c73 mlx5_create_lag_demux_flow_table -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x564ed862 mlx5_lag_get_roce_netdev -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x577d059d mlx5_eq_notifier_unregister -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58394df9 mlx5_eswitch_vport_match_metadata_enabled -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5eb1ac00 mlx5_alloc_bfreg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ff7f9ab mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5722c21c __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58bf7a14 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59f83086 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a3afe45 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ac009dc mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5dbdb860 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f9816c7 mlx5_rl_is_in_range EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60ae791f __traceiter_mlx5_fs_del_ft EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x619a75f5 __tracepoint_mlx5_fs_del_rule EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62dc190a __SCT__tp_func_mlx5_fs_del_rule -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x653f3cb2 mlx5_core_alloc_transport_domain -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x676bc3a2 mlx5_core_dealloc_pd -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6999b7e9 mlx5_core_create_psv -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6adb2fbc mlx5_cmd_exec_cb -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b062858 mlx5_core_alloc_pd -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6bf4ae9b mlx5_eswitch_get_vport_metadata_for_match -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6cfd34e3 mlx5_fpga_sbu_conn_sendmsg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ed64ab5 __tracepoint_mlx5_fs_set_fte -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f830107 mlx5_cmd_alloc_uar -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6fd362e4 mlx5_eq_update_ci -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ffeb504 mlx5_lag_is_sriov -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70b9288b mlx5_core_destroy_psv -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70f2a136 mlx5_core_query_mkey -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x712bf94d mlx5_lag_query_cong_counters -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75a77c75 mlx5_get_flow_namespace -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75f13984 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x633695f9 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65ba8897 mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66874efd mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66a014c8 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68f63fb0 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x692fe546 mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a37a87f mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a3858f4 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e2305aa mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x72f60693 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7352a5e4 mlx5_core_create_psv EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x76efa552 __traceiter_mlx5_fs_del_rule -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a7477a7 mlx5_fc_destroy -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b45a2e3 mlx5_rl_remove_rate_raw -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c9d70be mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7ae1cfe4 mlx5_buf_alloc EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c9eb1fc __traceiter_mlx5_fs_add_rule -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7cc8c1f2 mlx5_core_create_tir -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7ceed927 __SCK__tp_func_mlx5_fs_del_fg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e7681cf __traceiter_mlx5_fs_set_fte -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7eb1feab mlx5_buf_alloc -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7ee9f28a mlx5_add_flow_rules -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8045af19 mlx5_eswitch_register_vport_reps -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81dc92c6 mlx5_core_destroy_tir -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82f90db0 mlx5_cmd_exec_polling -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83f47d9c mlx5_modify_header_dealloc -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85a60b97 mlx5_cmd_exec -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x867c4056 mlx5_core_create_rq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x86cffa32 mlx5_core_create_cq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c79dda8 mlx5_fc_query -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8cd7459e mlx5_core_modify_rq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e821fdc __tracepoint_mlx5_fs_add_fg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eab68df mlx5_eswitch_vport_rep -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8f045987 mlx5_cmd_destroy_vport_lag -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90716c77 mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f7d226b __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80742bd5 __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8228177a mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x838752a4 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x846bcba4 mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85bd3380 mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a4708db mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8adc50c3 mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b96e41d __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8bd0a9ad mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8df80065 mlx5_core_alloc_pd EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91443f27 mlx5_create_flow_table -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x92ccd955 mlx5_rl_remove_rate -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9313538d mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9208011e mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9276f064 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x92fbd59f mlx5_query_ib_port_oper EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9a0bd754 mlx5_core_destroy_cq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9bd9c28c mlx5_debug_qp_remove -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9c09aa60 mlx5_cmd_free_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x990858ed mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9914bd7a __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x99bf9a6f mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9be83464 mlx5_core_create_mkey EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d36ddd0 __SCT__tp_func_mlx5_fs_add_fg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d976d5c mlx5_eq_enable -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ee35c8e mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa01dacde __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa05b2308 mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6db3829 mlx5_eq_notifier_unregister EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa735048f mlx5_create_flow_group -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa853dd18 mlx5_core_modify_cq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa04cf54 __traceiter_mlx5_fw -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa36b608 mlx5_fs_add_rx_underlay_qpn -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaac07453 mlx5_comp_irq_get_affinity_mask -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac1b28c7 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa792dce6 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9c17af8 mlx5_rl_add_rate_raw EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xacfe8a18 __SCT__tp_func_mlx5_fs_del_fte EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaefeb73f mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf85c201 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0218ad5 mlx5_core_create_tis EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb06c0bfd __SCT__tp_func_mlx5_fs_set_fte -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb1172e4c mlx5_core_destroy_rqt -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb1525716 mlx5_rsc_dump_cmd_create -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2682978 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb272beb0 mlx5_alloc_bfreg EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb28dbbe8 mlx5_destroy_flow_group -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2a8b64f __traceiter_mlx5_fs_del_fte -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb3a35ffa mlx5_rl_add_rate_raw -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4152f76 __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb3101d00 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb41a340f mlx5_free_bfreg EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4e976bb __SCT__tp_func_mlx5_fs_add_ft -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb52b7342 __SCK__tp_func_mlx5_fw EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5338b3b mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6284342 mlx5_cmd_alloc_uar +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb786d43a __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb80b2bee mlx5_eq_notifier_register EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba5c2f4f __traceiter_mlx5_fs_del_fg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba91ae66 mlx5_lag_get_slave_port -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbae07043 mlx5_core_dealloc_transport_domain -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe084bfd mlx5_eswitch_get_vport_metadata_for_set -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc79c2c6b mlx5_eq_create_generic -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc85d7563 __tracepoint_mlx5_fw -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc8bf01aa mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb6b0348 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbf9fd0cf mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbfdcd205 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc0399898 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1165831 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1375648 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2c9f995 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2f2d74e mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc56a4725 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc784c14b mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7feb214 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc85964d9 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc88a3f1b mlx5_core_modify_cq EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcad019c3 __SCT__tp_func_mlx5_fs_del_fg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc94844d mlx5_eq_notifier_register -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcec27e1e mlx5_eq_destroy_generic -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd37044de mlx5_core_modify_sq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd4487e43 __tracepoint_mlx5_fs_add_rule -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd490d613 mlx5_core_modify_cq_moderation -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5fa6ee4 __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcb91341b mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc47477f mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc4a6c38 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce3f1247 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce9f72c0 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcec4f370 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd31106c6 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd32cd5dd mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd470f1fe mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd66995a8 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd8310935 mlx5_core_alloc_transport_domain EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd8a12a67 mlx5_destroy_flow_table -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd991b942 mlx5_eswitch_get_core_dev -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda735b43 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda920ed9 mlx5_fc_create EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb622108 __SCT__tp_func_mlx5_fs_add_rule -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdce8aed5 mlx5_vector2eqn -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd503801 mlx5_cmd_cleanup_async_ctx -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd87cf32 mlx5_core_destroy_tis -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xddd6960f mlx5_eswitch_reg_c1_loopback_enabled -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf74329e __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde71ad8d mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdef8aaf1 mlx5_cmd_destroy_vport_lag EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdfbc08aa __SCT__tp_func_mlx5_fw -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0462dd5 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe00cbf43 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2f56f2e mlx5_core_modify_rq EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe30fb2a8 __SCT__tp_func_mlx5_fs_del_ft -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4387520 mlx5_fpga_sbu_conn_destroy -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4d5d86a __SCK__tp_func_mlx5_fs_add_rule -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb3e38fe mlx5_core_detach_mcg -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec2b8f9b mlx5_eq_get_eqe -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec786c27 mlx5_modify_header_alloc -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeef61028 mlx5_core_destroy_rq -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef6d5e4e __tracepoint_mlx5_fs_add_ft -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf32c0dba mlx5_eswitch_uplink_get_proto_dev -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5faedc7 mlx5_lag_is_master -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf72df271 __tracepoint_mlx5_fs_del_fte -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf733001a mlx5_debug_qp_add -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf785f88e mlx5_lag_is_active -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfbcfecb9 mlx5_query_ib_port_oper -EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff2c5d79 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe32df570 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe70bed4c mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea79a58f __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeaaf4369 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf0f030b4 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf7a46f1a mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfcf1855d mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff3e679b mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff4a0835 mlx5_vector2eqn EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x1834015d mlxfw_firmware_flash EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap @@ -3050,75 +3050,75 @@ EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x59dace85 mlxsw_i2c_driver_unregister EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x40d6c65a mlxsw_pci_driver_register EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xbe20020e mlxsw_pci_driver_unregister -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x043a8280 ocelot_vcap_filter_del -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x05b31b75 ocelot_mact_forget -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x070bd473 ocelot_apply_bridge_fwd_mask -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0b891c14 ocelot_get_txtstamp -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0e1795e5 ocelot_set_ageing_time -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0fcb6556 ocelot_port_mdb_add -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x11270f1a ocelot_devlink_sb_unregister -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x12cd4bdc ocelot_sb_port_pool_get -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x17379ecf ocelot_port_inject_frame -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1bfa400b ocelot_fdb_dump -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1de69cea ocelot_sb_occ_tc_port_bind_get -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1ee8a4dd ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x01eddacd ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x03672efe ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x03e6fce9 ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x097c360a ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0ac32eeb ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0d972a4e ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1a80a506 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1cc2f72e ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2250017c ocelot_port_policer_add EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2946b716 ocelot_port_txtstamp_request -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2beab351 ocelot_fdb_del -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2e76dfef ocelot_sb_port_pool_set -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ed560ee ocelot_bridge_stp_state_set -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x35c1918c ocelot_hwstamp_set -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x38eb4edc ocelot_port_pre_bridge_flags -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x399e66f1 ocelot_vlan_add -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3ac697d6 ocelot_get_max_mtu -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3bf7bf46 ocelot_port_mdb_del -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3e465873 ocelot_sb_occ_port_pool_get -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x41b8cf90 ocelot_ptp_enable -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x43a9fbf4 ocelot_init_timestamp -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x44fe0c4b ocelot_deinit -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4a41d787 ocelot_sb_pool_get -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4c54ade6 ocelot_xtr_poll_frame -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x50ca6530 ocelot_port_policer_add -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x52b9a2bd ocelot_fdb_add -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5ca1f291 ocelot_ptp_gettime64 -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x67376cc4 ocelot_mrp_del -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x70e91656 ocelot_port_vlan_filtering -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x72cc0b39 ocelot_vlan_del -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x79d82985 ocelot_sb_occ_max_clear -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7cc08efd ocelot_mrp_del_ring_role -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80472bf8 ocelot_sb_occ_snapshot -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x86c2b0e9 ocelot_ptp_settime64 -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8977929f ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x28e6dc31 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2a83da2d ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ccf33d7 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x34036363 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x367a61a4 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x394a3ea0 ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x483a74d3 ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4bd8616e ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x59fef6b0 ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x68690241 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6954da70 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x69ca05a2 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x702904cc ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x74b90dd2 ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7533a2f4 ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x79479a84 ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7b3964a2 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7dcb737b ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7e53e718 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8036076c ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x828b0c34 ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x846bee9a ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8930ab09 ocelot_fdb_add EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8a85c6a8 ocelot_vcap_block_find_filter_by_id -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8bb78d86 ocelot_get_ts_info -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x99950da6 ocelot_can_inject -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9e1b5a29 ocelot_init_port -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9f412a07 ocelot_ptp_adjtime -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa163bfe4 ocelot_hwstamp_get -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa63d90b7 ocelot_port_bridge_leave -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa9e07400 ocelot_vlan_prepare -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xaf604022 ocelot_port_policer_del -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbc09e55c ocelot_mact_learn -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbee7421f ocelot_port_lag_change -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbefcb77b ocelot_drain_cpu_queue -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc04347b0 ocelot_port_lag_leave -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc401b6f9 ocelot_mrp_add_ring_role -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc4f49566 ocelot_sb_tc_pool_bind_set -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc907a7a1 ocelot_deinit_timestamp -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xca49fb78 ocelot_port_set_maxlen -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd1506507 ocelot_devlink_sb_register -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd764f45f ocelot_get_sset_count -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd918fcbd ocelot_get_strings -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdc4603f9 ocelot_ptp_verify -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdd83ade8 ocelot_vcap_filter_add -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdf0605f5 ocelot_port_lag_join -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe03f55a2 ocelot_sb_tc_pool_bind_get -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe7c78b3d ocelot_init -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe82d7dd0 ocelot_deinit_port -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe929b110 ocelot_get_ethtool_stats -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf2b124b6 ocelot_mrp_add -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfcdf83dd ocelot_port_bridge_flags -EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfef8bf4d ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8b10538c ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x916a0fbd ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x91d73dcd ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x95ad8f86 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x97c533d2 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9faec8d7 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa204073f ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8035550 ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xabc0d729 ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xafef80c5 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb041087c ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb3abc7d7 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb497585f ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb7a09f46 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb8d6539d ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb912d7d9 ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbb3767ff ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbe91ee0e ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbef21329 ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc6d948dc ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xca22fd2b ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcb1df442 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcc7c7053 ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd239cdf1 ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd482bcf2 ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd556eb60 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd9acfc01 ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe1cb02f4 ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe6fbaca9 ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xed1e1dd7 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf0f1507a ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf2ff2b55 ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf3a805ad ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf8b66d93 ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfe671405 ocelot_apply_bridge_fwd_mask EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x15526fe7 qed_get_eth_ops EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x468f341e qed_get_rdma_ops EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops @@ -3128,11 +3128,11 @@ EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xaaefa5ec qed_get_fcoe_ops EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x602f948d qede_rdma_unregister_driver EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xb2447468 qede_rdma_register_driver -EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3923e180 hdlcdrv_unregister -EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9eb84ef3 hdlcdrv_transmitter -EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xaecd0aaa hdlcdrv_receiver -EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xb537e591 hdlcdrv_register -EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xcc5c2c68 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x558b1301 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6ee5d415 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xafcfb734 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe416cc30 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf3c57d70 hdlcdrv_register EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag EXPORT_SYMBOL drivers/net/mdio 0x424a69a2 mdio45_ethtool_ksettings_get_npage EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe @@ -3159,20 +3159,20 @@ EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x306e6f37 lynx_pcs_create EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xf65df0c9 lynx_pcs_destroy EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x556e0ac3 bcm54xx_auxctl_write -EXPORT_SYMBOL drivers/net/ppp/pppox 0x02b92277 pppox_unbind_sock -EXPORT_SYMBOL drivers/net/ppp/pppox 0x2cac2da7 register_pppox_proto -EXPORT_SYMBOL drivers/net/ppp/pppox 0xa67651f9 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x3576cb7b pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x89d58d34 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x96faf2b3 pppox_ioctl EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto -EXPORT_SYMBOL drivers/net/ppp/pppox 0xfaeb2ece pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf2f4bdd1 pppox_unbind_sock EXPORT_SYMBOL drivers/net/sungem_phy 0xb076fef2 sungem_phy_probe -EXPORT_SYMBOL drivers/net/team/team 0x17ade627 team_options_change_check -EXPORT_SYMBOL drivers/net/team/team 0x5aaff4ea team_modeop_port_change_dev_addr -EXPORT_SYMBOL drivers/net/team/team 0x5bcaf377 team_options_register -EXPORT_SYMBOL drivers/net/team/team 0x742f38c3 team_options_unregister -EXPORT_SYMBOL drivers/net/team/team 0x922c8307 team_option_inst_set_change -EXPORT_SYMBOL drivers/net/team/team 0x9af0757f team_modeop_port_enter -EXPORT_SYMBOL drivers/net/team/team 0xa21cfe46 team_mode_unregister -EXPORT_SYMBOL drivers/net/team/team 0xfdff17e3 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x1f51e489 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x20b02918 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x28537fde team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x2f688b6e team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x40863acc team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x7582a808 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xc703980e team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0xff78ff46 team_option_inst_set_change EXPORT_SYMBOL drivers/net/usb/usbnet 0x085353e2 usbnet_link_change EXPORT_SYMBOL drivers/net/usb/usbnet 0x218e683a usbnet_device_suggests_idle EXPORT_SYMBOL drivers/net/usb/usbnet 0xca3f26cb usbnet_manage_power @@ -3186,106 +3186,106 @@ EXPORT_SYMBOL drivers/net/wan/hdlc 0xde378a47 alloc_hdlcdev EXPORT_SYMBOL drivers/net/wan/hdlc 0xe7386936 attach_hdlc_protocol EXPORT_SYMBOL drivers/net/wan/hdlc 0xf44d695e hdlc_start_xmit -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x05571ae6 ath_hw_get_listen_time -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0be05cab ath_regd_init EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x163df740 ath_rxbuf_alloc -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x34a7cd73 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3088ddfe ath_key_config EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4b13a70f ath_reg_notifier_apply -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x56fcce85 ath_key_config -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x64e68e26 ath_hw_setbssidmask -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x80fafa0b ath_is_mybeacon -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x9c040cbb ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5c708cc4 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5d5d1bd6 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6dd8de87 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7d590df9 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7eedc28f ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x9b447403 ath_key_delete EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb7c1426a dfs_pattern_detector_init -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc5cf0014 ath_printk -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf2792f9a ath_hw_keysetmac -EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf3752ac7 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xccb2a49d ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd4ec23ae ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd5d9068a ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdf6f4712 ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf76be8c5 dfs_pattern_detector_init EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf98605d5 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xfb92680a ath_hw_setbssidmask EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x025f317b ath10k_ce_send_nolock -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x056e8228 ath10k_ce_enable_interrupt -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x11af7077 ath10k_core_free_board_files -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x14a0bc2e ath10k_ce_per_engine_service -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x16139495 ath10k_ce_send -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x162e00e2 ath10k_ce_disable_interrupt -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x188d8287 ath10k_htt_rx_hl_indication -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1dfd5513 ath10k_ce_enable_interrupts -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1e0c1af7 ath10k_err -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x21689fbd ath10k_core_register -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b448eef ath10k_ce_init_pipe -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3aa5a27f ath10k_coredump_new -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3cfc5926 ath10k_htc_notify_tx_completion -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3ef33e96 ath10k_ce_alloc_pipe -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x44d16f94 ath10k_core_napi_sync_disable -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4755b9df ath10k_ce_completed_send_next -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4fa647ed ath10k_ce_num_free_src_entries -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5825f551 ath10k_core_check_dt -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5c9f19af ath10k_coredump_get_mem_layout -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x600878d0 ath10k_htt_txrx_compl_task -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x67178b95 ath10k_htc_process_trailer -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7066a167 ath10k_print_driver_info -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7314951c ath10k_warn -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x76212f28 ath10k_htc_rx_completion_handler -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7d2fbb79 ath10k_htt_hif_tx_complete -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x82c0af46 ath10k_core_napi_enable -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x84c29ab2 ath10k_ce_rx_update_write_idx -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x84db8b24 ath10k_bmi_read_memory -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x865a5a40 ath10k_htc_tx_completion_handler -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x86ebef29 ath10k_ce_disable_interrupts -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x87b258a1 ath10k_core_start -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8a923fd8 ath10k_ce_free_pipe -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8c1ec903 ath10k_core_destroy -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8c4333df ath10k_bmi_start -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x937fe94b ath10k_ce_free_rri -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9788b40b ath10k_ce_completed_send_next_nolock -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9862f338 __tracepoint_ath10k_log_dbg -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9cafbec1 ath10k_core_unregister -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa2c23619 ath10k_htt_t2h_msg_handler -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa413d023 ath10k_core_start_recovery -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa5c62aee ath10k_ce_completed_recv_next_nolock -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xae7338fe ath10k_ce_cancel_send_next -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb024281b ath10k_info -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb5982ea4 ath10k_mac_tx_push_pending -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb7cb201b ath10k_ce_rx_post_buf -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc2eff780 ath10k_ce_per_engine_service_any -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcc85b613 ath10k_core_fetch_board_file -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd50c6ba6 ath10k_htt_rx_pktlog_completion_handler -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdbe890e4 ath10k_ce_alloc_rri -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe0ef1eec ath10k_core_stop -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe3a9ece0 ath10k_ce_revoke_recv_next -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe6dbb7c0 ath10k_ce_deinit_pipe -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xecfdc991 ath10k_ce_dump_registers -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf6478976 __ath10k_ce_rx_num_free_bufs -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf7818bac ath10k_ce_completed_recv_next -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf8251b8b __ath10k_ce_send_revert -EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfea65210 ath10k_core_create -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0a8ad7d8 ath11k_ce_get_shadow_config -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x21465f10 ath11k_core_init -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x22b9d719 ath11k_debugfs_soc_destroy -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x4538536e ath11k_ce_per_engine_service -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x6bd408f7 ath11k_ce_cleanup_pipes -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x766e53fa ath11k_core_alloc -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7c70a5ed ath11k_hal_srng_deinit -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7ef3876b ath11k_core_resume -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x8040d2ef ath11k_ce_get_attr_flags -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x822f4edb ath11k_warn -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9a8d3139 ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x06f7affc ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x15cc53f6 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x17568ee3 ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1a83a06f ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1d1b9005 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x23ddbb32 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b0570be ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3c06f6d5 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3ea14fcd __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x48ab9454 ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4a00706a ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5107c9a5 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x51efb56f ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5404a4e7 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x54df8034 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x54e376da ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x571c06e7 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x59d49a81 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5a052283 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5c47d10a ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x61fc225a ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x62feeeb2 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x657aed86 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6b42a301 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6dcd2125 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x71facf51 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x72389cef ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x737ad9dc ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x777d660b ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7848474f ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fa3d4db ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x84843ab2 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x87d6d784 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8dc0b671 ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8f7c6e77 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x935d877c ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9f1a1649 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa636bce7 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xad87d0aa ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb4c41121 ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb9b9c863 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb9fc050f ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbbbc3be7 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc898befd ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc8a7cd4f ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xca16f623 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd0cdc39e ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd2768b9f ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdda5894c ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdef1f332 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdf537153 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe69336bd ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe85cebdc ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe8f5a233 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xec6985e7 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfd07cdc1 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfdd2a5d5 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x027a3d4b ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0ae86711 ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x260b6199 ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2da88ca1 ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3d6dab6d ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x527c4229 ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5f3abfc7 ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x63f246f8 ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x66b7ac77 ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7c09b881 ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x8027b63e ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x8566ca7c ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x8b39a41f ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x948c2168 ath11k_ce_alloc_pipes EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9c51bcc4 ath11k_debug_mask -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xadbc966c ath11k_qmi_deinit_service -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xae82592f ath11k_hal_srng_init -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb427eb30 ath11k_core_free -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb9538c18 ath11k_ce_alloc_pipes -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xbc8647da ath11k_info -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc52fb9a3 ath11k_core_suspend -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc9a9d305 ath11k_ce_rx_post_buf -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xca1d545f ath11k_core_deinit -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe9cb1295 ath11k_ce_free_pipes -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xec6e6d65 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb6830820 ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb74970c6 ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xcafc4465 ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xcb95d801 ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe052ccfb ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe1409311 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe6f80e8b ath11k_info EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf0197188 ath11k_cold_boot_cal -EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf416edfe ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf664c452 ath11k_core_deinit EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x245ebb4f ath6kl_core_init EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x30346b42 ath6kl_cfg80211_suspend @@ -3302,139 +3302,139 @@ EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf74df47e ath6kl_core_create EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf7733c4b ath6kl_cfg80211_resume EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xffa9a484 ath6kl_core_rx_complete -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x00ed235f ath9k_cmn_debug_base_eeprom -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x1d91d719 ath9k_cmn_process_rate -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x25943efc ath9k_cmn_spectral_init_debug -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3f7f7941 ath9k_cmn_init_crypto -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x424ec9a0 ath9k_cmn_beacon_config_sta -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x43844c5a ath9k_cmn_debug_recv -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4ab1d666 ath9k_cmn_beacon_config_adhoc -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x634c1761 ath_cmn_process_fft -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x796ce451 ath9k_cmn_setup_ht_cap -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7c08a0ec ath9k_cmn_spectral_scan_trigger -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7c4efd00 ath9k_cmn_get_channel -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7d1b92ca ath9k_cmn_spectral_deinit_debug -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x953caceb ath9k_cmn_rx_skb_postprocess -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9c910523 ath9k_cmn_init_channels_rates -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa46e3dd5 ath9k_cmn_beacon_config_ap -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xabbf23c8 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x07278df9 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x072ca0ab ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2472ca08 ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2a06baa8 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2aff8759 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3e1c834d ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3fedee55 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5582e7af ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6340f964 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x73af7c1e ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7ae3a6f9 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8af3940f ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8f961b81 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x94785afa ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9fe265c9 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa0840c35 ath9k_cmn_beacon_config_ap EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb76fccc7 ath9k_cmn_debug_stat_rx -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xbac1df9e ath9k_cmn_process_rssi -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc158b1cb ath9k_cmn_update_txpow -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcfc35e27 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb77b405c ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb82b023f ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc85f586a ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd0f7afcc ath9k_cmn_debug_recv EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd94773ea ath9k_cmn_reload_chainmask -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfd38b59a ath9k_cmn_debug_modal_eeprom -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xffc858d0 ath9k_cmn_spectral_scan_config -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfff82801 ath9k_cmn_rx_accept -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x03d2b58b ar9003_mci_cleanup -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x05099217 ath9k_hw_abortpcurecv -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x09f83313 ath9k_hw_init_btcoex_hw -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c5ac995 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdf3b218a ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe4c0820d ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf4334c36 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00076a7c ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0007d992 ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00b3fd98 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x016cce2b ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x044fcd5b ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x061a9f63 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06f7448f ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c2f1c93 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c9d4da3 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0ef7fb64 ath9k_hw_rxprocdesc EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x12ffeeab ar9003_paprd_setup_gain_table -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x17e3a365 ath9k_hw_abort_tx_dma -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x188b5220 ath9k_hw_check_nav -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1a4492ec ath9k_hw_disable -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1a51a53e ath9k_hw_set_txq_props -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1bad05c8 ath9k_hw_gpio_request_out -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2104aa24 ath9k_hw_addrxbuf_edma -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2555c642 ar9003_mci_get_interrupt -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x263b8418 ath9k_hw_btcoex_disable -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d340a8d ath9k_hw_intrpend -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31258ce8 ath9k_hw_stop_dma_queue -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x32b580cf ath9k_hw_resume_interrupts -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x373ccc67 ath_gen_timer_isr -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3910d885 ath9k_hw_getchan_noise -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3b161209 ath9k_hw_setopmode -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e7f00cd ath9k_hw_set_sta_beacon_timers -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e9ef2bd ath9k_hw_gettsf32 -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x41706d17 ar9003_hw_bb_watchdog_check -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x448dfb17 ath9k_hw_setrxfilter -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x45b899c0 ath9k_hw_getnf -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48b61ad8 ath9k_hw_computetxtime -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d3faba4 ath9k_hw_set_gpio -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4ef0b2b2 ath9k_hw_rxprocdesc -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4fb972a5 ath9k_hw_reset_calvalid -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53c511b2 ath9k_hw_puttxbuf -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x568f037f ath9k_hw_gettxbuf -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57526f2d ath9k_hw_set_tsfadjust -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57560f7f ath9k_hw_btcoex_init_3wire -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57f069f5 ath9k_hw_gpio_get -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5805214f ar9003_paprd_is_done -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x58f2573d ath9k_hw_btcoex_init_scheme -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5ac88094 ath9k_hw_wait -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d92b3b5 ath9k_hw_ani_monitor -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5e6791ea ath9k_hw_updatetxtriglevel -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5eb87ceb ar9003_mci_setup -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fe14bb7 ath9k_hw_phy_disable -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x60a9ebd6 ar9003_hw_bb_watchdog_dbg_info -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x60b3e7d9 ath9k_hw_set_rx_bufsize -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x623e6cb1 ar9003_paprd_populate_single_table -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x684cf0d3 ath9k_hw_disable_mib_counters -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6ec84fe3 ath9k_hw_btcoex_init_mci -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7023363e ath9k_hw_wow_wakeup -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7133be00 ath9k_hw_setantenna -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x732082bd ath9k_hw_set_interrupts -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7406fa44 ath9k_hw_bstuck_nfcal -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74c83774 ar9003_paprd_enable -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76dd1682 ath9k_hw_resettxqueue -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x793a22c2 ath9k_hw_reset -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b958493 ar9003_mci_send_wlan_channels -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7def72e3 ath9k_hw_wow_enable -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e17527e ath9k_hw_set_txpowerlimit -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ed024f5 ath9k_hw_btcoex_enable -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x81531f6f ath9k_hw_gen_timer_start -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x82ba00eb ath9k_hw_enable_interrupts -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x833fabe7 ar9003_mci_send_message -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a66b287 ath9k_hw_btcoex_set_weight -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b58a60e ath9k_hw_setuptxqueue -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8de109ff ath9k_hw_getrxfilter -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8e8add55 ath9k_hw_setpower -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8ea70b71 ath9k_hw_stopdmarecv -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x922ed26b ath9k_hw_numtxpending -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x933da271 ath9k_hw_gpio_free -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93b9ea18 ath9k_hw_init_global_settings -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94d6590b ath9k_hw_deinit -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97dd9c1b ath9k_hw_name -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x982cc2b3 ath_gen_timer_alloc -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9863c413 ath9k_hw_disable_interrupts -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c63743a ath9k_hw_gpio_request_in -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa10a2f3c ath9k_hw_check_alive -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa5595fd8 ar9003_mci_set_bt_version -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa8a15d7f ar9003_is_paprd_enabled -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9e28a54 ath9k_hw_btcoex_init_2wire -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xabfb8cd8 ath9k_hw_btcoex_bt_stomp -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad5bc03b ath9k_hw_process_rxdesc_edma -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf188276 ath9k_hw_set_tx_filter -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf3e0571 ath9k_hw_init -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0a77ae3 ar9003_paprd_create_curve -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1a0cfb5 ath9k_hw_setup_statusring -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc661891 ath9k_hw_setmcastfilter -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbd78b177 ath9k_hw_beaconq_setup -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe07f056 ath9k_hw_loadnf -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc2a8e0d8 ath9k_hw_wow_apply_pattern -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc6e2fb02 ath9k_hw_settsf64 -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcbde80ed ar9003_mci_get_next_gpm_offset -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0975f1e ath9k_hw_gen_timer_stop -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd23bba83 ath9k_hw_setuprxdesc -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd7a1a0a0 ar9003_hw_disable_phy_restart -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd89b1231 ar9003_get_pll_sqsum_dvc -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd8fa6f25 ath9k_hw_beaconinit -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdcc8daca ath9k_hw_btcoex_set_concur_txprio -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xddb3965a ath9k_hw_reset_tsf -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xde50b5eb ath9k_hw_releasetxqueue -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe64b6235 ath_gen_timer_free -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe819df33 ath9k_hw_startpcureceive -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe896d2d2 ath9k_hw_kill_interrupts -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8c10193 ath9k_hw_txstart -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe98a8e38 ath9k_hw_btcoex_deinit -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeae3c437 ar9003_paprd_init_table -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf2bac679 ath9k_hw_get_txq_props -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf814339a ath9k_hw_write_associd -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf83d44c8 ath9k_hw_setrxabort -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfc651921 ar9003_mci_state -EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd106be7 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0fb5ff92 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x11f5ec77 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1206062b ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x153abf8a ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x172acdde ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x179f308c ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18c151ef ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1a207d35 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b780e23 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1c7ed89f ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1d122051 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1dced974 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f2e9ca1 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21d4030c ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x25d05585 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x28d7595e ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x344d96d3 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x384620f7 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x39c2c8d3 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x39cef4c7 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3a695bbb ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3c1bb047 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d38c23e ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e458c71 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3ff92966 ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4031c8ca ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x453ad77e ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x45a41400 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c7a0f1c ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x50d1cb1e ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54c28910 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x554ca100 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59949b5e ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5eac5711 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62cf608c ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x666f37cb ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e59fded ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x725e2ca4 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x73379a14 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x758f1c4a ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x75ad2367 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7a657180 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fd69cb3 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8070f6b3 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80fbcd4f ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x81acdbc9 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8494cb4b ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88ab848d ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88ce6f35 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f80a090 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x983f018b ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa03739c7 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa23e6865 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa4d486de ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaab9942c ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac25e48f ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac790c9e ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaddb7d42 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xae0c102a ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf100312 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf929c45 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1fd9070 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb36b41ec ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb406c01b ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5a477de ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb7a79c39 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb8f483bf ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbbff3cdf ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe2dc5a4 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1c146e3 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5b46e81 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc66c0cae ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9d097a8 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcd06eb1d ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xce450f40 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd03cb930 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd58989e3 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd7ef8c48 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdabeba16 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdae791f2 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc0fd5f2 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdd6813cd ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xde91f8a9 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdf55427b ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe2f53dba ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe466f9b8 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7269a52 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7c6b77a ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8b6d6ae ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe9fa548d ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed50b6a1 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef0c6031 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef1f0d11 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xefd7d21d ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf1ef0411 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf696bb4f ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfca716ec ath9k_hw_setmcastfilter EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x5528eeaf atmel_open EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xa9ae56f4 stop_atmel_card EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xc65e50dd init_atmel_card @@ -3457,130 +3457,130 @@ EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x0556a230 stop_airo_card EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x43018f28 reset_airo_card EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0xe0751ba0 init_airo_card -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1bbe6e29 libipw_txb_free -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x23578999 libipw_get_channel -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2639f6d7 libipw_freq_to_channel -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2d608e8e libipw_rx -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2ebf7fcf alloc_libipw -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x390eb060 libipw_networks_age -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x4e45656a libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x04d49e3a free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0587b8b2 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1702764d alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1c8766d4 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x211d9e0d libipw_get_channel_flags EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x56d5cb76 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6e7ac997 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7f5a863a libipw_freq_to_channel EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x883ec8ca libipw_wx_get_encodeext -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8d6a83ea libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8db918fc libipw_get_channel EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa2da71a0 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa5ff05b3 libipw_rx_mgt EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xaeab9d5c libipw_wx_get_encode -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb7b8ce4d libipw_get_channel_flags -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcc688dae libipw_get_geo -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcc69fe66 libipw_channel_to_index -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd6fa3163 free_libipw -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdd23aac1 libipw_set_geo -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe0a63746 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb27aa7e4 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xbe0ff809 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xddf64c7d libipw_channel_to_freq EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe129bf38 libipw_wx_set_encodeext -EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xfae02170 libipw_channel_to_freq -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x00b9048c il_mac_flush -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x03f6e4e1 il_setup_scan_deferred_work -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x053c6c32 il_rx_queue_space -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x062fcef0 il_setup_watchdog -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x084ad73c il_send_bt_config -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0a2674ba il_apm_stop -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0aecd0a3 il_update_stats -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0bfa4088 il_rx_queue_update_write_ptr -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0dc896fe il_send_cmd -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x14d7b3ce il_get_lowest_plcp -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1521fd99 il_dbgfs_register -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x17c97ddc il_set_bit -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19c3883a il_txq_update_write_ptr -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1c5c6e84 il_eeprom_free -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1c9282a9 il_scan_cancel -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1f51c8f2 il_free_geos -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ff97574 il_mac_remove_interface -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x258534fe il_cmd_queue_unmap -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x26176d68 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xec3ac4e8 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xfc04faf9 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xfdaf0a35 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x001fb24c il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x07f07a6e il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x08213540 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x09cbe711 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0b04644a il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c7c927e il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0ce74410 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0e1412ed il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x10e574c4 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x12d4f45f il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x13aa8dc7 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x142b41e6 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x14528e19 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x145ca390 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1b09620c il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1b156333 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x25c4787b il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x260c5496 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2ba67f21 il_hdl_pm_sleep EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2c441000 il_set_decrypted_flag -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x353fc276 il_init_geos -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3d708851 il_hdl_error -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3da5f75f il_tx_cmd_protection -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3dfff7b8 il_mac_sta_remove -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3effa102 il_tx_queue_reset -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4026b0d6 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2c5e0767 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e236f73 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x338c6edd il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x34be2ce7 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35b6d027 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38cb0cfe il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3bbaf10f il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3bd040a6 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x400a7237 il_get_passive_dwell_time EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x42c53e83 il_add_station_common -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4621317a il_check_rxon_cmd -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x46a97ccc il_read_targ_mem -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x48a7db01 il_get_free_ucode_key_idx -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4ccf380c il_alloc_txq_mem -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x545de1cf il_set_rate -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x57b5281b il_get_passive_dwell_time -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5879a7d2 il_mac_conf_tx -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5e2b3999 il_clear_bit -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5f9326f1 il_send_add_sta -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x67daa2ab il_mac_hw_scan -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c9fbdb5 il_eeprom_query16 -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7409ee36 il_send_lq_cmd -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7591ef35 il_mac_change_interface -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x76c821f4 il_clear_ucode_stations -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x77602c57 il_leds_init -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x78deb9cd il_pm_ops -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7a6ab10d il_hdl_pm_debug_stats -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7b7e102d il_set_rxon_ht -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x81d86ed0 il_get_channel_info -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x82c2b33c il_chswitch_done -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8314bf9e il_write_targ_mem -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8352c63a il_irq_handle_error -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8455bf36 il_fill_probe_req -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x85545109 il_mac_bss_info_changed -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x89b275f6 il_full_rxon_required -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8e8244ff il_mac_config -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9080f604 il_send_stats_request -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x94bb87a1 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x42912d46 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x42f7f572 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x43b56411 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x469d4b5d il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x48afd3fc il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x49deca6e il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x53ef3925 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x543a15e3 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x552102f4 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5648a210 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5dccf2c0 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5dcf9830 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x633a0951 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6ac64f92 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6d9d9619 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6e95824f il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7746aa03 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x78556717 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c99fcfb _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7e996251 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x81ab3eb5 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x820cdc5c il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x87a088e9 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x87aaea4d il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x89bbf0d5 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8e85aa6f il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x91f0963c il_eeprom_init EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d600e5c il_poll_bit -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9e8332db il_add_beacon_time -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9fe179c6 il_send_cmd_pdu_async -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa2918bee il_hdl_spectrum_measurement -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa2e7c349 il_free_txq_mem -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa85853d8 il_cancel_scan_deferred_work -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa8e2cb31 il_get_single_channel_number -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa90bfa93 il_tx_cmd_complete -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa97dfa72 il_mac_add_interface -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa9860e82 il_eeprom_query_addr -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaad278c3 _il_poll_bit -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb57dcca1 il_eeprom_init -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb5df00cd il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa1720f10 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa1e42716 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa43631e2 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa59dc4de il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xadced06a il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xade22a93 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaf00fed2 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaf68aef6 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb260ffed il_set_rxon_channel EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb71119fa il_send_cmd_pdu -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb75c20b0 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb6a257b6 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb70f9749 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7b8bb36 il_clear_bit EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbad8e3ed _il_apm_stop -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe2ae51f il_rx_queue_alloc -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe795fe6 il_set_flags_for_band -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc09b4378 il_mac_reset_tsf -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc2316b6e il_power_initialize -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc29c5f86 il_dbgfs_unregister -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc4369862 il_hdl_csa -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc6088503 il_setup_rx_scan_handlers -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc9fbde02 il_connection_init_rx_config -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcbc05594 il_hdl_pm_sleep -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcea6fe0c il_power_update_mode -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd0c6532c il_send_cmd_sync -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd468cbcc il_rd_prph -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd9ee51f7 il_set_rxon_channel -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf7d7a95 il_leds_exit -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf968d14 il_free_channel_map -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf98dcc4 il_tx_queue_free -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe53bf2cd il_force_reset -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe544ed64 il_apm_init -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe5abc798 il_usecs_to_beacons -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe6de5bd2 il_wr_prph -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe935b38e il_set_rxon_hwcrypto -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe9fd4bb0 il_tx_queue_init -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xebd9e6e5 il_init_channel_map -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xec78f1b5 il_get_active_dwell_time -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf6a5aeaf il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbfd99cdf il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc0e5d1e3 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc8b19517 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc91c2466 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcb565e18 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcd179133 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd06b65d7 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd1828e91 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd31d585c il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd45291bb il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd76ac7bc il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdd59e968 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf910c92 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe04ae939 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe1c92a87 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe202f3a7 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe36a1cbd il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe3e9cd08 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe46cd6c6 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe4b42545 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe5bdb8e8 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe7feeef4 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xecc434af il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xeec657a9 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf090d125 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf4e004f9 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf5c0e780 il_set_flags_for_band EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfe0d7faf il_init_scan_params -EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfe63e4f1 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf89e78de il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfd6d92fe il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfe319054 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xffc6edcd il_is_ht40_tx_allowed EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x104e9d04 __SCK__tp_func_iwlwifi_dev_ucode_event EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x209903fa __traceiter_iwlwifi_dev_ucode_event EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2cd5697d __tracepoint_iwlwifi_dev_ucode_cont_event @@ -3639,192 +3639,192 @@ EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe50e810a free_orinocodev EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xf9014894 alloc_orinocodev EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt -EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x5f307674 mt76_wcid_key_setup -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x37dac133 rtl_btc_get_ops_pointer -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x08fa1b42 _rtl92c_phy_bb8192c_config_parafile -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0a8c1d70 rtl92c_dm_write_dig -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0de82c11 rtl92c_phy_set_io_cmd -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x100b7b05 _rtl92c_phy_rf_serial_write -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x230810c5 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x559fe206 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0xffc24adb rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x00395e3d rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0472bee9 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x057d53e8 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x05860170 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x061252a4 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0c70a8fe rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x115dc9cb rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x12bfa6be _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1f026372 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x20b6b483 rtl92c_bt_rssi_state_change EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2541bcfa rtl92c_dm_bt_coexist -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x27c79591 rtl92c_dm_watchdog -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x28aad75a rtl8192_phy_check_is_legal_rfpath -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x493b361d rtl92c_set_fw_rsvdpagepkt -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x49a55acc rtl92c_phy_sw_chnl_callback -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x54a3bb35 rtl92c_phy_set_io -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x58201e86 rtl92c_download_fw -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x583068f4 _rtl92c_phy_fw_rf_serial_read -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6630f104 rtl92c_phy_set_bb_reg -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x68943e47 rtl92c_phy_set_bw_mode -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x74184e97 rtl92c_dm_rf_saving -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x74581644 rtl92c_bt_rssi_state_change -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7c549bc1 rtl92c_phy_set_rfpath_switch -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7f3e25d2 _rtl92c_phy_init_bb_rf_register_definition -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8739396f _rtl92c_phy_txpwr_idx_to_dbm -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x997b8d43 rtl92c_phy_iq_calibrate -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9a4db736 _rtl92c_phy_rf_serial_read -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9e0406dc _rtl92c_phy_fw_rf_serial_write -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9fe0b04f rtl92c_phy_sw_chnl -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa364d439 rtl92c_dm_check_txpower_tracking -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa4fa1b8e rtl92c_dm_init -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa7a37a31 rtl92c_phy_lc_calibrate -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xab2f7e0b _rtl92c_phy_dbm_to_txpwr_idx -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xabbe28fb rtl92c_firmware_selfreset -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xabd5c589 rtl92c_phy_ap_calibrate -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb0eeb90d rtl92c_set_fw_pwrmode_cmd -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb386442c rtl92ce_phy_set_rf_on -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb94da04e rtl92c_phy_query_bb_reg -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbb24a181 rtl92c_phy_update_txpower_dbm -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcdd53ac2 rtl92c_dm_init_rate_adaptive_mask -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd3934257 _rtl92c_phy_set_rf_sleep -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdf3965f7 rtl92c_phy_rf_config -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe4a892f8 rtl92c_set_fw_joinbss_report_cmd -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xedfe64f4 _rtl92c_store_pwrindex_diffrate_offset -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf332d22b rtl92c_phy_set_txpower_level -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfe89b350 rtl92c_dm_init_edca_turbo -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x3e8f52f4 rtl_pci_suspend -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xd2f4e633 rtl_pci_disconnect -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xf631e275 rtl_pci_probe -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xfdf7abcf rtl_pci_resume -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xabc2e07d rtl_usb_resume -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xba7635a6 rtl_usb_suspend -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xda8f05f2 rtl_usb_probe -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xf39f36e6 rtl_usb_disconnect -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x070e049d rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2577d455 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2ad49346 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3ae3fd84 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x415f3fbb _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x421e652e rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5eb9dfa1 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5eef5f45 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x61d7eb56 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6281612a rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x63d248da _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6c783347 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x701ef095 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x70c41467 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x72379edc rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7899869b rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x87155669 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8d6f669f _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x966400fe rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9c803624 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa4b1368e rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xaac73c5e rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbaf5c2ac rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbca50dd5 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc114e1e1 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd952b7aa _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xda58ba52 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe3747067 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe54fde81 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xec5016dc _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xeed756a5 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfbc152d2 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x2fc1f7a2 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xa0f6f321 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xc74c17e2 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xe01f16f5 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x65c07335 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x9ff527bb rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xacc6cc12 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xb6dba734 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x056503b9 rtl_ps_disable_nic EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0f421a7a rtl_ps_enable_nic -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x120890d9 rtl_get_tcb_desc -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b699e61 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x145b5889 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x14a647b0 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x17af9711 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1a49b0d4 rtl_init_rfkill EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x24f68b2f rtl_ps_disable_nic -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x284b74af rtl_rx_ampdu_apply -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2bacb956 rtl_rfreg_delay -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2bf660d3 rtl_cam_get_free_entry -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2ddb3850 rtl_cam_del_entry -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e855c8e rtl_phy_scan_operation_backup -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2f558528 rtlwifi_rate_mapping EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3b920498 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x32bca7e1 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3659b007 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x41ab00b9 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x41b2caef rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x51c82729 rtl_cam_add_one_entry EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x57d0e6e3 efuse_read_1byte -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x76cf4b4a efuse_one_byte_read -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x86b2691b rtl_cam_empty_entry -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8bed5f30 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5e47ddae rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x607a8441 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x65997a75 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x66dc7c31 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x872c7ce2 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8c604200 rtl_collect_scan_list EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ed2c5ba rtl_init_rfkill -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x929a7ade rtl_signal_scale_mapping -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x92d66e3d rtl_cam_add_one_entry -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa47c4bed rtl_c2hcmd_enqueue -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa64fc89a rtl_bb_delay -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa9fe653f rtl_hal_pwrseqcmdparsing -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaa90f780 rtl_cam_mark_invalid -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbe6eed68 rtl_process_phyinfo -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbf6c5e84 rtl_cmd_send_packet -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc4adbf57 efuse_power_switch -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc595410b rtl_collect_scan_list -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcdf79160 rtl_mrate_idx_to_arfr_id -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xda26dd5a rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x955c2d28 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x988d2c4d rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa5b83c6f rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa78e436a rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaf7dca15 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbabcc784 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc6803032 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcabc7040 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd14d2e6a efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd37465d7 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd9719560 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdcf91539 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe86a65a7 rtl_phy_scan_operation_backup EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb -EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebfc47a7 efuse_shadow_read EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x465ece1d rtw8723d_hw_spec -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0xdb9eb990 rtw8821c_hw_spec -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0xadbeb4af rtw8822b_hw_spec -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x427cdf91 rtw8822c_hw_spec -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0061f4d6 rtw_phy_pwrtrack_thermal_changed -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0111ed06 rtw_phy_cfg_mac -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x04bafb2e rtw_phy_set_tx_power_level -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0eddfa48 rtw_fw_inform_rfk_status -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x18729b97 rtw_phy_get_tx_power_index -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1aee703c rtw_phy_pwrtrack_need_iqk -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1b4522d8 rtw_core_deinit -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1ce23ccd rtw_phy_pwrtrack_avg -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1ebbca72 rtw_dump_fw -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1fbf447c rtw_phy_write_rf_reg_mix -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x26979c16 rtw_fw_do_iqk -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x27b08931 rtw_coex_read_indirect_reg -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x297e3637 rtw_phy_cfg_bb -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2bd678ec rtw_phy_config_swing_table -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2cc55b30 rtw_restore_reg -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2fc15a2c rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf0c0c1be rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0xc2520a11 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0x5f927d9c rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x29b270a3 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0xc6701b9d rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x03b4e729 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x07af166a rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0ba924a7 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x105781fe check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1297a012 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x17ad8de3 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x19de1e3c rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x22233678 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x26d518f0 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x281be292 rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2ccaab27 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2fd1d442 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x308f1208 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x30ccd2ba rtw_phy_pwrtrack_need_lck EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x356164e9 rtw_phy_read_rf EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3b2319dd rtw_phy_cfg_agc -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3fc04e21 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3ecc6b86 rtw_coex_read_indirect_reg EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4cbe026d rtw_parse_tbl_phy_cond EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x525aab12 rtw_phy_write_rf_reg_sipi -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5313a2df rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5248edd5 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x56b2f759 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x57bbe498 rtw_phy_set_tx_power_level EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5f25067d rtw_bf_cfg_csi_rate -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5fac442b rtw_phy_pwrtrack_get_pwridx -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x61558838 rtw_unregister_hw -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x66756f67 rtw_coex_write_scbd -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x67eaacba __rtw_dbg -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6c869bf8 rtw_chip_info_setup -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x735b5cd3 rtw_phy_pwrtrack_get_delta -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x78480291 rtw_fw_c2h_cmd_rx_irqsafe -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7bd046a6 rtw_power_mode_change -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x853963cb rtw_tx_write_data_rsvd_page_get -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8b4e05cd rtw_tx_fill_tx_desc -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8ca5c31f rtw_phy_pwrtrack_need_lck -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8d80db6e rtw_parse_tbl_bb_pg -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x905fa023 rtw_phy_read_rf -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x959fa391 rtw_register_hw -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa4e87064 rtw_bf_set_gid_table -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa7144012 rtw_phy_init -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaa9a6935 rtw_bf_phy_init -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaeb520a6 rtw_set_channel_mac -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb295aee5 rtw_bf_enable_bfee_mu -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb56199f2 rtw_phy_read_rf_sipi -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc415a39c rtw_rx_stats -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc5db5f02 rtw_ops -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcc936a6d rtw_parse_tbl_txpwr_lmt -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd07cd4d2 rtw_tx_write_data_h2c_get -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd1302c54 check_hw_ready -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd54f676d rtw_fw_c2h_cmd_isr -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd56c9a5c rtw_phy_load_tables -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdf7e9d2c rtw_bf_remove_bfee_su -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe0e2e10d rtw_tx_report_enqueue -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe67d16d3 rtw_read8_physical_efuse -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xec02db4a rtw_bf_enable_bfee_su -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xee9a0d07 rtw_core_init -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf3953b58 rtw_rx_fill_rx_status -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf3e41510 rtw_phy_cfg_rf -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xff3260d6 rtw_phy_parsing_cfo -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x03be1482 rtw_pci_shutdown -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x096fe7c4 rtw_pci_remove -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x9541448f rtw_pci_probe -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xd920690a rtw_pm_ops -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0342ceb3 rtw89_core_napi_start -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x166314fd rtw89_ops -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1adee2c7 rtw89_mac_get_err_status -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3198f549 __rtw89_debug -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x544103c0 rtw89_phy_read_rf -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x69cf1d09 rtw89_phy_write_rf -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x772571bc rtw89_core_fill_txdesc -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8939d1dd rtw89_core_rx -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x94682ab5 rtw89_chip_info_setup -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x95674344 rtw89_mac_set_err_status -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9662756b rtw89_ser_notify -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9ef6e43f rtw89_core_unregister -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb9ef1985 rtw89_core_napi_deinit -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc93f4786 rtw89_core_query_rxdesc -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xddc8764b rtw89_core_init -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe24f1e19 rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6748b3a0 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6d7651a5 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x70455925 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x70c3ed01 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x76f0e981 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7c7f7744 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x800bb42f rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x890e3142 rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8ee27dd4 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x93d5de5b rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa2fb42f6 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa44db40b rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xab15e491 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xad7a003e rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaff7d37b rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb200dc04 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbb48153d rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbb567839 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbcc2b110 rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc16bc284 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc432f690 rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcb0af98f rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xda5c5a6a rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xde4410fb rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xde88835f rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe06bcef9 rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe333fc11 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xeb05a2a8 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xed0f75b7 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xee79fb42 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xefb412dd rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf03b41c0 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf3747146 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf47d9799 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf8a28cd3 rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf99ef2e0 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfb4d4bc1 rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfeecad64 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x29d7105a rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x484758b8 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x56b567b5 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x83467dcb rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0134a989 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0a487d92 rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1474df6c rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x19453140 rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1c74c448 rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x22f82c85 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2ea6a39d rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x385381d5 rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3ecd0dff rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4d0bc011 rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6eecaa8c rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7363ec9b __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7c675f1b rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x95a83a36 rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa362f7dd rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xac436ff9 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb6c4ce81 rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbbc32ed6 rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xdee3dd23 rtw8852a_chip_info EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe3f57b04 rtw89_debug_mask -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe7eee409 rtw89_core_napi_init -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe883188f rtw89_core_napi_stop -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfe5debb7 rtw8852a_chip_info -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfea65909 rtw89_core_deinit -EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7719983d rtw89_pm_ops -EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0xb31215ee rsi_config_wowlan -EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x23e0b21f wl12xx_is_dummy_packet -EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x7b5d867a wl1271_free_tx_id -EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xbec3cf05 wlcore_tx_complete -EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xfb7934de wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xee9bcd76 rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xbf22f029 rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x97893d58 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x1949e9f2 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x2a68ee5d wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x6e6827f2 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x983acaca wlcore_tx_complete EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x80e315d5 fdp_nci_probe EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xb77c88c0 fdp_nci_remove EXPORT_SYMBOL drivers/nfc/microread/microread 0x012662cd microread_probe @@ -4180,19 +4180,19 @@ EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-core 0xda7e96ec ufshcd_shutdown EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0x91988bad ufshcd_dwc_dme_set_attrs EXPORT_SYMBOL drivers/scsi/ufs/ufshcd-dwc 0xf9d648e0 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x07f070b8 qmi_txn_cancel EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x1f13d3be qmi_add_lookup EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x28b3cc30 qmi_handle_init -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x4d15f953 qmi_send_request -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x5ad18721 qmi_txn_init -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x5ea8fe18 qmi_add_lookup -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x647cac4f qmi_txn_cancel -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x668bd516 qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x31427433 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x591f5d77 qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x6875960d qmi_handle_init EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7d7af26b qmi_txn_wait -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x86d52950 qmi_send_response -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xcd89b673 qmi_handle_release -EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xfd365fe0 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x94b74c29 qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa66b54a3 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd0123352 qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd0ddb718 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xde134507 qmi_handle_release EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x057ebb45 sdw_bus_clk_stop EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1a867bb5 sdw_update_no_pm @@ -4247,7 +4247,7 @@ EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xb99b98fb sdw_cdns_exit_reset EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xc6b548d9 sdw_cdns_clock_stop EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xd179d436 sdw_cdns_clock_restart -EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xece331d0 cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xf93bf297 cdns_set_sdw_stream EXPORT_SYMBOL drivers/soundwire/soundwire-generic-allocation 0x62a9c05c sdw_compute_params EXPORT_SYMBOL drivers/ssb/ssb 0x0c5df412 ssb_pmu_set_ldo_paref EXPORT_SYMBOL drivers/ssb/ssb 0x0e09f525 ssb_clockspeed @@ -4296,9 +4296,9 @@ EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe27c4857 fbtft_write_gpio8_wr EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf8c8b858 fbtft_unregister_backlight EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfdd1f3d5 fbtft_write_vmem16_bus16 -EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x20687e82 gbaudio_module_update -EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x4a9ef70d gbaudio_register_module -EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x76798c3a gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x14508bc9 gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x5f5993b8 gbaudio_register_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0xd52d2cdf gbaudio_module_update EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x371fe805 adt7316_probe EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xbb93eeff ade7854_probe EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0x4e133458 sp8870_attach @@ -4311,12 +4311,12 @@ EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0ffaa593 dot11d_channel_map EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1cb5efc0 rtllib_get_beacon EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x262ddbed rtllib_rx EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x36a44597 rtllib_EnableIntelPromiscuousMode EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3d8a811f rtllib_ps_tx_ack EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3e3260c8 rtllib_stop_send_beacons EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3e3815ef rtllib_wx_set_gen_ie EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x419c8d19 rtllib_wx_set_freq -EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x42812b3a alloc_rtllib EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x46de9998 rtllib_wx_get_rts EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x49f6a992 rtllib_wx_get_encode EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x56787017 rtllib_wx_set_power @@ -4325,6 +4325,7 @@ EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x632fb90e rtllib_wx_get_scan EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x64bff221 rtllib_wx_get_mode EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6668617c rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6e7d3235 alloc_rtllib EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6f5f370c HT_update_self_and_peer_setting EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7266aa28 rtllib_wx_get_essid EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7434cea9 rtllib_start_send_beacons @@ -4338,10 +4339,10 @@ EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x99e0d7b1 rtllib_softmac_start_protocol EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9f08ca4a rtllib_DisableIntelPromiscuousMode EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa72d39dc rtllib_start_scan_syncro -EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa79c9025 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb308440f rtllib_xmit EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb7441a63 rtllib_sta_ps_send_null_frame -EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xba05651e rtllib_legal_channel EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbf70e9e7 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc44c00b5 free_rtllib EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc9118daf rtllib_MgntDisconnect EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc94c75ee rtllib_wx_set_mode EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xccaf0b7a rtllib_act_scanning @@ -4351,22 +4352,21 @@ EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdd341c8d notify_wx_assoc_event EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdfdccbe0 rtllib_wx_get_name -EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe6bb0175 rtllib_rx EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec6f0ad6 rtllib_wx_get_freq EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf4d82395 rtllib_wx_set_encode_ext EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf5ebe199 rtllib_reset_queue -EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf7799166 rtllib_xmit EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf7bd10e8 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfb93ebc7 rtllib_legal_channel EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x010c9881 ieee80211_wx_get_rate_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x01386a33 ieee80211_wx_get_name_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x02e06c35 ieee80211_wx_set_mode_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0b9f2ac4 ieee80211_wx_set_encode_ext_rsl -EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0d6bbedf ieee80211_rx_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0f544e7e ieee80211_stop_scan_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x16ea0a0d ieee80211_wx_set_wap_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1816d464 ieee80211_softmac_stop_protocol_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x18fdab01 dot11d_scan_complete EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x26e6bbed ieee80211_rx_mgt_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x36904be7 ieee80211_wx_get_freq_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3ec3b19c ieee80211_wx_set_essid_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3f0edcf2 HTUpdateSelfAndPeerSetting @@ -4392,151 +4392,151 @@ EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x996cca1a ieee80211_wx_set_scan_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9ad4eaaa ieee80211_wx_set_rts_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9b687e7f ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9f1a151e ieee80211_rx_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa10c31bf ieee80211_ps_tx_ack_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa2a47bf9 ieee80211_wx_set_rawtx_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xabb9d5e7 ieee80211_wx_get_encode_ext_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xae027f42 dot11d_reset -EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb34e1f46 ieee80211_rx_mgt_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb571a26d dot11d_update_country_ie EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb5b164e1 ieee80211_get_beacon_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbc578350 dot11d_get_max_tx_pwr_in_dbm EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc3f4282a ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc839d589 ieee80211_txb_free_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcff8221c rtl8192u_dot11d_init EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd1289b74 ieee80211_wx_set_rate_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd29ab7db ieee80211_wx_set_gen_ie_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd2c46fc0 ieee80211_wx_get_mode_rsl -EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xde1a5872 ieee80211_txb_free_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdec1e84f ieee80211_wx_get_rts_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe6b44812 ieee80211_wx_set_freq_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf16a00af ieee80211_stop_queue_rsl EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf23a7116 is_legal_channel EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf3c4930c ieee80211_wx_get_essid_rsl -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x09aef052 iscsit_process_nop_out -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0f0a23d4 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x02857c7a iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x05c34466 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x05e838a0 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0ca330d9 iscsit_find_cmd_from_itt EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x14861b00 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1595156c iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x16e6162b iscsit_logout_post_handler EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x19b42c7d iscsit_increment_maxcmdsn -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1a565276 iscsit_allocate_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2279c546 iscsit_build_reject -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2345ab1d iscsit_handle_task_mgt_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x29f568f2 iscsit_add_cmd_to_immediate_queue -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2c6b586b iscsit_check_dataout_hdr -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x32382070 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3441d861 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3692d928 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x378045d8 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x398677c8 iscsit_check_dataout_payload EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x39e74e63 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3bfaf438 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3d5babc6 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x424380fe iscsit_build_logout_rsp EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4290dae0 iscsit_cause_connection_reinstatement -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x42a4a08f iscsit_handle_snack -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4615954c iscsit_handle_logout_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x475831d0 iscsit_release_cmd EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x48c11662 iscsit_unregister_transport -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4a38ac65 iscsit_build_task_mgt_rsp -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5adae305 iscsit_build_rsp_pdu -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5bbfc998 iscsit_logout_post_handler -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5ed3f952 iscsit_process_scsi_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x620de674 iscsit_add_reject -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x65884c86 iscsit_set_unsolicited_dataout -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x72aa55ca iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4d658050 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5e08eea7 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x62bf8861 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x62c92511 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x71a5f4c6 iscsit_handle_snack EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7372b42d iscsit_register_transport -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x74f32398 iscsit_build_r2ts_for_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x75c97803 iscsit_free_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8f635314 iscsit_build_text_rsp -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x915954ef iscsit_queue_rsp -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x962428db iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x73852fd0 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x74527872 iscsit_check_dataout_hdr EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x98c0f693 iscsit_tmr_post_handler -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9a40338c iscsit_build_nopin_rsp -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9b4d542f iscsi_change_param_sprintf -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa071d187 iscsit_build_logout_rsp -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa89c316b iscsit_setup_scsi_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa9484779 iscsit_find_cmd_from_itt -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb95cdc71 iscsit_process_text_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xca57a52a iscsit_check_dataout_payload -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd44af7b0 iscsi_target_check_login_request -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd5c7c5ef iscsit_sequence_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdfb77e1a iscsit_build_datain_pdu -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdfe0f353 iscsit_response_queue -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe1e67e99 iscsit_setup_text_cmd -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe28652af __iscsit_check_dataout_hdr -EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf1898687 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9afb3049 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb1415161 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb3ce411e iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb5f022be iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb7470c97 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc8815763 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcdc682cf iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcdd8f35f iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd3b2b2c1 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd684f3a5 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd6f10acb iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd837a8f9 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe8c56ec8 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf029fc09 iscsit_build_nopin_rsp EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key -EXPORT_SYMBOL drivers/target/target_core_mod 0x062e7f84 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf6e2d485 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf7c1e4af iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfd78c8a6 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x039ef3f0 target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x045b8130 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x060c5633 target_submit_tmr EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident -EXPORT_SYMBOL drivers/target/target_core_mod 0x1215d574 transport_kunmap_data_sg EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a01c201 transport_kunmap_data_sg EXPORT_SYMBOL drivers/target/target_core_mod 0x1dd08748 sbc_attrib_attrs -EXPORT_SYMBOL drivers/target/target_core_mod 0x24544a55 transport_alloc_session -EXPORT_SYMBOL drivers/target/target_core_mod 0x2457bac7 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1ef7129d target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x2a97d07e transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2bc3d25d target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x2c6e95c9 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x3193ca21 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x33fdd378 target_put_nacl EXPORT_SYMBOL drivers/target/target_core_mod 0x361b1762 core_tmr_alloc_req EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a8424a3 transport_lookup_cmd_lun EXPORT_SYMBOL drivers/target/target_core_mod 0x3d7063d0 target_register_template -EXPORT_SYMBOL drivers/target/target_core_mod 0x3dca63f8 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e0852a3 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e5cf1d3 __transport_register_session EXPORT_SYMBOL drivers/target/target_core_mod 0x4163efa1 passthrough_pr_attrib_attrs -EXPORT_SYMBOL drivers/target/target_core_mod 0x49dc66c4 target_tpg_has_node_acl -EXPORT_SYMBOL drivers/target/target_core_mod 0x4a1b2caf transport_send_check_condition_and_sense EXPORT_SYMBOL drivers/target/target_core_mod 0x4c515473 core_alua_check_nonop_delay -EXPORT_SYMBOL drivers/target/target_core_mod 0x4c84df52 __target_init_cmd EXPORT_SYMBOL drivers/target/target_core_mod 0x4ccc11bf spc_emulate_inquiry_std -EXPORT_SYMBOL drivers/target/target_core_mod 0x4ce7b117 target_lun_is_rdonly -EXPORT_SYMBOL drivers/target/target_core_mod 0x5757d264 target_nacl_find_deve -EXPORT_SYMBOL drivers/target/target_core_mod 0x5a0f5c2a target_get_sess_cmd -EXPORT_SYMBOL drivers/target/target_core_mod 0x5e0a8a6a transport_backend_register -EXPORT_SYMBOL drivers/target/target_core_mod 0x5eb6dfcd core_tpg_register -EXPORT_SYMBOL drivers/target/target_core_mod 0x61383a0f target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x5041f3d7 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x51fc401c target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x570f107d __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5e04aea4 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x607e3b31 target_complete_cmd_with_sense EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl -EXPORT_SYMBOL drivers/target/target_core_mod 0x65e18492 transport_generic_new_cmd -EXPORT_SYMBOL drivers/target/target_core_mod 0x65eddaa8 transport_kmap_data_sg -EXPORT_SYMBOL drivers/target/target_core_mod 0x68db7866 transport_generic_free_cmd -EXPORT_SYMBOL drivers/target/target_core_mod 0x6faba1ba target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x70f920cc target_configure_unmap_from_queue EXPORT_SYMBOL drivers/target/target_core_mod 0x73e51130 sbc_dif_copy_prot -EXPORT_SYMBOL drivers/target/target_core_mod 0x7423a704 core_tpg_set_initiator_node_tag EXPORT_SYMBOL drivers/target/target_core_mod 0x758203ca target_depend_item -EXPORT_SYMBOL drivers/target/target_core_mod 0x79140093 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x75bd247d target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x784dfede target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x79efd99d target_cmd_parse_cdb EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl -EXPORT_SYMBOL drivers/target/target_core_mod 0x7dc78aa7 core_allocate_nexus_loss_ua -EXPORT_SYMBOL drivers/target/target_core_mod 0x86d443c8 transport_deregister_session -EXPORT_SYMBOL drivers/target/target_core_mod 0x8841e6d1 target_wait_for_sess_cmds -EXPORT_SYMBOL drivers/target/target_core_mod 0x8976a286 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7ab66041 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x7d7bf0d5 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x859834f0 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x863e508d transport_wait_for_tasks EXPORT_SYMBOL drivers/target/target_core_mod 0x898fccef sbc_get_write_same_sectors -EXPORT_SYMBOL drivers/target/target_core_mod 0x8d177d24 transport_copy_sense_to_cmd -EXPORT_SYMBOL drivers/target/target_core_mod 0x8d2e67d4 target_show_cmd -EXPORT_SYMBOL drivers/target/target_core_mod 0x8fbceae3 target_remove_session -EXPORT_SYMBOL drivers/target/target_core_mod 0x91573613 transport_init_session -EXPORT_SYMBOL drivers/target/target_core_mod 0x916f3c6f target_cmd_parse_cdb -EXPORT_SYMBOL drivers/target/target_core_mod 0x92ba8024 transport_free_session -EXPORT_SYMBOL drivers/target/target_core_mod 0x9530c92f target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x900464d0 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x92add016 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x92f2f22b core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x94ba37bd transport_kmap_data_sg EXPORT_SYMBOL drivers/target/target_core_mod 0x954c545a spc_parse_cdb EXPORT_SYMBOL drivers/target/target_core_mod 0x955a6686 sbc_dif_verify -EXPORT_SYMBOL drivers/target/target_core_mod 0x9ee616cc target_show_dynamic_sessions -EXPORT_SYMBOL drivers/target/target_core_mod 0xa76487b3 transport_deregister_session_configfs -EXPORT_SYMBOL drivers/target/target_core_mod 0xa8f4cac5 target_set_cmd_data_length -EXPORT_SYMBOL drivers/target/target_core_mod 0xa9fba509 target_configure_unmap_from_queue -EXPORT_SYMBOL drivers/target/target_core_mod 0xab44fa31 core_tpg_check_initiator_node_acl -EXPORT_SYMBOL drivers/target/target_core_mod 0xabddba98 transport_generic_request_failure -EXPORT_SYMBOL drivers/target/target_core_mod 0xad63e885 transport_generic_handle_tmr -EXPORT_SYMBOL drivers/target/target_core_mod 0xae1be6a3 transport_lookup_cmd_lun -EXPORT_SYMBOL drivers/target/target_core_mod 0xb03aec8c __transport_register_session -EXPORT_SYMBOL drivers/target/target_core_mod 0xb351a155 transport_alloc_session_tags -EXPORT_SYMBOL drivers/target/target_core_mod 0xb407db43 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x973bc949 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x9c1b317d target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9d3d6ef9 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xa16e845d target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xa98ef372 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xac02ec24 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xb39ffaeb target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0xb3d34a96 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb48a836b target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4f2c5bd target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb6008b8d target_set_cmd_data_length EXPORT_SYMBOL drivers/target/target_core_mod 0xb715a721 passthrough_attrib_attrs -EXPORT_SYMBOL drivers/target/target_core_mod 0xc12ebdf7 core_tpg_deregister -EXPORT_SYMBOL drivers/target/target_core_mod 0xc1da1029 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbe323330 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc47f1b87 transport_register_session EXPORT_SYMBOL drivers/target/target_core_mod 0xc4c43f35 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xc95ebaeb transport_generic_request_failure EXPORT_SYMBOL drivers/target/target_core_mod 0xca3c0f78 spc_emulate_evpd_83 -EXPORT_SYMBOL drivers/target/target_core_mod 0xcbf84c05 target_backend_unregister -EXPORT_SYMBOL drivers/target/target_core_mod 0xd21c366e core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xd12cf114 target_tpg_has_node_acl EXPORT_SYMBOL drivers/target/target_core_mod 0xd4a203be sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xd5acaf25 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd66d7347 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xd6b0a36d core_allocate_nexus_loss_ua EXPORT_SYMBOL drivers/target/target_core_mod 0xd954f23c target_undepend_item -EXPORT_SYMBOL drivers/target/target_core_mod 0xe0a39d4a target_setup_session -EXPORT_SYMBOL drivers/target/target_core_mod 0xe2d3d334 target_cmd_init_cdb -EXPORT_SYMBOL drivers/target/target_core_mod 0xeaef58a0 target_execute_cmd -EXPORT_SYMBOL drivers/target/target_core_mod 0xeba10dba target_complete_cmd_with_length -EXPORT_SYMBOL drivers/target/target_core_mod 0xec94bf8f target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xda797a83 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xe5adafbe target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8ceb571 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xed7d63ed transport_copy_sense_to_cmd EXPORT_SYMBOL drivers/target/target_core_mod 0xee5e0a2f sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0e4699a core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xf32b4a79 transport_generic_free_cmd EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id -EXPORT_SYMBOL drivers/target/target_core_mod 0xf5cc2f09 target_to_linux_sector -EXPORT_SYMBOL drivers/target/target_core_mod 0xf79dd48c target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xf58c39dc transport_deregister_session_configfs EXPORT_SYMBOL drivers/target/target_core_mod 0xfd0be36e spc_emulate_report_luns -EXPORT_SYMBOL drivers/target/target_core_mod 0xfd86d6d0 target_stop_session -EXPORT_SYMBOL drivers/target/target_core_mod 0xfecccaca passthrough_parse_cdb EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x111eefed acpi_parse_art EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x1887763e acpi_thermal_rel_misc_device_add EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x86c998e6 acpi_thermal_rel_misc_device_remove @@ -4680,10 +4680,10 @@ EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x65465813 w1_ds2780_eeprom_cmd EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x1df3b376 w1_ds2781_eeprom_cmd EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xfac2f269 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x421b9ef9 w1_remove_master_device EXPORT_SYMBOL drivers/w1/wire 0x787d8e73 w1_unregister_family EXPORT_SYMBOL drivers/w1/wire 0xb5b254a1 w1_register_family -EXPORT_SYMBOL drivers/w1/wire 0xdd7c37cd w1_remove_master_device -EXPORT_SYMBOL drivers/w1/wire 0xfddc4b47 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xd2aa218d w1_add_master_device EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x75bec08d iTCO_vendor_pre_stop EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xc8930f32 iTCO_vendor_pre_start @@ -4850,12 +4850,12 @@ EXPORT_SYMBOL lib/zstd/zstd_compress 0xefe4f679 ZSTD_CCtxWorkspaceBound EXPORT_SYMBOL lib/zstd/zstd_compress 0xfdf70093 ZSTD_CStreamOutSize EXPORT_SYMBOL lib/zstd/zstd_compress 0xff9c4b56 ZSTD_compressBound -EXPORT_SYMBOL net/6lowpan/6lowpan 0x10467c35 lowpan_register_netdevice -EXPORT_SYMBOL net/6lowpan/6lowpan 0x39850fd2 lowpan_unregister_netdev -EXPORT_SYMBOL net/6lowpan/6lowpan 0x9b3a2161 lowpan_register_netdev -EXPORT_SYMBOL net/6lowpan/6lowpan 0xabee613b lowpan_unregister_netdevice -EXPORT_SYMBOL net/6lowpan/6lowpan 0xdb14ecc6 lowpan_nhc_add -EXPORT_SYMBOL net/6lowpan/6lowpan 0xe8df36a0 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x168b86b6 lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x32988adb lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x38da16e3 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x3c041884 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xb4d31b1f lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xe5abdeea lowpan_unregister_netdevice EXPORT_SYMBOL net/802/p8022 0x5cf0d6c3 unregister_8022_client EXPORT_SYMBOL net/802/p8022 0x6b098aee register_8022_client EXPORT_SYMBOL net/802/psnap 0x4d3a3495 unregister_snap_client @@ -4909,104 +4909,104 @@ EXPORT_SYMBOL net/9p/9pnet 0xee32dff1 p9_tag_lookup EXPORT_SYMBOL net/9p/9pnet 0xef9d297b p9_client_mknod_dotl EXPORT_SYMBOL net/9p/9pnet 0xefa63aff p9_client_walk -EXPORT_SYMBOL net/appletalk/appletalk 0x2a4b5b03 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x39414d73 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x424dd411 atalk_find_dev_addr EXPORT_SYMBOL net/appletalk/appletalk 0x7e5ad6b7 alloc_ltalkdev -EXPORT_SYMBOL net/appletalk/appletalk 0x9085d63f atrtr_get_dev -EXPORT_SYMBOL net/appletalk/appletalk 0xd421a413 atalk_find_dev_addr -EXPORT_SYMBOL net/atm/atm 0x02ff5a22 atm_dev_signal_change +EXPORT_SYMBOL net/appletalk/appletalk 0xb07ff7db aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x1a854b84 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x24fe87b0 vcc_process_recv_queue EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x2e75639e atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x30753daf atm_dev_signal_change EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root -EXPORT_SYMBOL net/atm/atm 0x44bf87f7 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x4464aaaa atm_dev_register EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock -EXPORT_SYMBOL net/atm/atm 0x4c99c243 atm_charge -EXPORT_SYMBOL net/atm/atm 0x548c4193 vcc_release_async -EXPORT_SYMBOL net/atm/atm 0x6cc6f5ab deregister_atm_ioctl -EXPORT_SYMBOL net/atm/atm 0x72b62e11 atm_dev_lookup -EXPORT_SYMBOL net/atm/atm 0x87e99676 vcc_process_recv_queue -EXPORT_SYMBOL net/atm/atm 0x8ddf7332 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x5f1fdcff vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x7014defd atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x81d06318 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x862ba03b atm_alloc_charge EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats -EXPORT_SYMBOL net/atm/atm 0xa0c0ecd3 atm_init_aal5 -EXPORT_SYMBOL net/atm/atm 0xa1e42a0c atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xa72bc431 vcc_insert_socket EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats -EXPORT_SYMBOL net/atm/atm 0xb7749ac5 atm_dev_release_vccs -EXPORT_SYMBOL net/atm/atm 0xc1089a4a atm_dev_deregister -EXPORT_SYMBOL net/atm/atm 0xdda523df vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xcf049112 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xd3d9197b deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xeb49b643 atm_charge EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x0b9a507b ax25_header_ops EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy -EXPORT_SYMBOL net/ax25/ax25 0x420e08da ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x2fb46c2d ax25_ip_xmit EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax -EXPORT_SYMBOL net/ax25/ax25 0x4e71a7c7 ax25_listen_release -EXPORT_SYMBOL net/ax25/ax25 0x4ea51b23 ax25_send_frame EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x645dce42 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x7e3cfe56 ax25_send_frame EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release -EXPORT_SYMBOL net/ax25/ax25 0x939c602c ax25_header_ops -EXPORT_SYMBOL net/ax25/ax25 0xa8afa5ca ax25_linkfail_release EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp -EXPORT_SYMBOL net/ax25/ax25 0xd3d2a28c ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xc3d7cf68 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xcc98633b ax25_linkfail_release EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address -EXPORT_SYMBOL net/ax25/ax25 0xdf1bf3ab ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0xdce22292 ax25_find_cb EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid -EXPORT_SYMBOL net/ax25/ax25 0xfed19028 ax25_find_cb -EXPORT_SYMBOL net/bluetooth/bluetooth 0x03c24bfa hci_cmd_sync +EXPORT_SYMBOL net/ax25/ax25 0xf0276d2b ax25_linkfail_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x06bc20b9 bt_procfs_init EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info -EXPORT_SYMBOL net/bluetooth/bluetooth 0x0750964f hci_free_dev -EXPORT_SYMBOL net/bluetooth/bluetooth 0x0cd2d99c bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x093bb24f hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a9b37b7 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x12b7ed23 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x200bd7e4 bt_accept_unlink EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn -EXPORT_SYMBOL net/bluetooth/bluetooth 0x2f5ade74 l2cap_unregister_user -EXPORT_SYMBOL net/bluetooth/bluetooth 0x333b756f bt_sock_wait_ready -EXPORT_SYMBOL net/bluetooth/bluetooth 0x40163d38 hci_set_fw_info -EXPORT_SYMBOL net/bluetooth/bluetooth 0x4ba75949 hci_register_dev -EXPORT_SYMBOL net/bluetooth/bluetooth 0x50ac3833 hci_conn_security -EXPORT_SYMBOL net/bluetooth/bluetooth 0x599ac619 hci_suspend_dev -EXPORT_SYMBOL net/bluetooth/bluetooth 0x5af1359a __hci_cmd_sync_ev -EXPORT_SYMBOL net/bluetooth/bluetooth 0x5c20e8ca l2cap_conn_put -EXPORT_SYMBOL net/bluetooth/bluetooth 0x5cb5cecd l2cap_register_user -EXPORT_SYMBOL net/bluetooth/bluetooth 0x63a22126 hci_reset_dev -EXPORT_SYMBOL net/bluetooth/bluetooth 0x64d4de64 bt_accept_unlink -EXPORT_SYMBOL net/bluetooth/bluetooth 0x650a9756 bt_sock_register -EXPORT_SYMBOL net/bluetooth/bluetooth 0x67d508ba __hci_cmd_send -EXPORT_SYMBOL net/bluetooth/bluetooth 0x6ddb6873 hci_get_route -EXPORT_SYMBOL net/bluetooth/bluetooth 0x6e377e0c __hci_cmd_sync -EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f949b7e hci_register_cb -EXPORT_SYMBOL net/bluetooth/bluetooth 0x76607ba2 l2cap_chan_close -EXPORT_SYMBOL net/bluetooth/bluetooth 0x770f0641 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x23ca3e99 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2bfac6b8 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x382d9761 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4751296a hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4c87d8f1 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4ea086ae bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x62631959 l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x68c41470 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x69008386 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6ac92728 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6d2f04f5 l2cap_conn_put EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err -EXPORT_SYMBOL net/bluetooth/bluetooth 0x7d307c01 l2cap_conn_get -EXPORT_SYMBOL net/bluetooth/bluetooth 0x8081da91 hci_resume_dev -EXPORT_SYMBOL net/bluetooth/bluetooth 0x81268d4e hci_recv_diag -EXPORT_SYMBOL net/bluetooth/bluetooth 0x826a593d hci_conn_check_secure -EXPORT_SYMBOL net/bluetooth/bluetooth 0x83fa72dd bt_sock_stream_recvmsg -EXPORT_SYMBOL net/bluetooth/bluetooth 0x8744f4c4 hci_mgmt_chan_register -EXPORT_SYMBOL net/bluetooth/bluetooth 0x875035ae hci_unregister_cb -EXPORT_SYMBOL net/bluetooth/bluetooth 0x8c5288e4 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e73d44d hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fae92d4 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x83bd4b60 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x84371d7c bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x861530d7 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x86d5d943 l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x88506295 hci_mgmt_chan_register EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister -EXPORT_SYMBOL net/bluetooth/bluetooth 0x934be1f4 bt_sock_link -EXPORT_SYMBOL net/bluetooth/bluetooth 0x962a3453 bt_sock_poll -EXPORT_SYMBOL net/bluetooth/bluetooth 0xa404c9e8 bt_sock_unlink -EXPORT_SYMBOL net/bluetooth/bluetooth 0xb67e41b4 hci_alloc_dev_priv -EXPORT_SYMBOL net/bluetooth/bluetooth 0xb99cae8f bt_accept_enqueue -EXPORT_SYMBOL net/bluetooth/bluetooth 0xbad06c34 hci_unregister_dev -EXPORT_SYMBOL net/bluetooth/bluetooth 0xc32057eb hci_release_dev -EXPORT_SYMBOL net/bluetooth/bluetooth 0xc32ac84a hci_set_hw_info -EXPORT_SYMBOL net/bluetooth/bluetooth 0xcf840fee bt_sock_ioctl -EXPORT_SYMBOL net/bluetooth/bluetooth 0xd3a9a184 bt_procfs_cleanup -EXPORT_SYMBOL net/bluetooth/bluetooth 0xd431bec7 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x930e32b7 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x99c20eb0 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa7dbed9f bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xab3443ae l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0xad837cfe hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb66a96f3 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc150917c hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc45b15a1 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcf0e764f hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd16ef80d hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd4782d22 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd621703a hci_conn_switch_role EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited -EXPORT_SYMBOL net/bluetooth/bluetooth 0xd9b90ad7 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd99e0966 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdd33d7a9 hci_release_dev EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited -EXPORT_SYMBOL net/bluetooth/bluetooth 0xea0bdcda hci_recv_frame -EXPORT_SYMBOL net/bluetooth/bluetooth 0xea147be0 bt_sock_recvmsg -EXPORT_SYMBOL net/bluetooth/bluetooth 0xebb9ef3a bt_procfs_init -EXPORT_SYMBOL net/bluetooth/bluetooth 0xfc5944f9 bt_sock_reclassify_lock -EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2a0c5b50 ebt_unregister_table -EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x9d59d751 ebt_do_table -EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa2f8c5d2 ebt_unregister_template -EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xb0e2c802 ebt_register_table -EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc6b822b8 ebt_register_template -EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xd6ab40d1 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe321290b bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeedba6cb hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xef3e36e7 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xef48f167 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf1fdec70 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf32e3a92 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfedbe2ff hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfee6edc9 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x121364cb ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x1b0c323c ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x364ea42e ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc49e51ff ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe98ed4db ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xfa72edf0 ebt_unregister_template EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative EXPORT_SYMBOL net/caif/caif 0x311baa87 caif_connect_client @@ -5022,19 +5022,20 @@ EXPORT_SYMBOL net/caif/caif 0xa7faba57 cfcnfg_add_phy_layer EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client EXPORT_SYMBOL net/caif/caif 0xea9cc7d8 get_cfcnfg -EXPORT_SYMBOL net/can/can 0x34d0599a can_proto_register -EXPORT_SYMBOL net/can/can 0x448bdf54 can_sock_destruct -EXPORT_SYMBOL net/can/can 0x4f5c36ed can_rx_unregister -EXPORT_SYMBOL net/can/can 0x4fd4ef31 can_proto_unregister -EXPORT_SYMBOL net/can/can 0x94aebd86 can_rx_register -EXPORT_SYMBOL net/can/can 0xef69ef18 can_send +EXPORT_SYMBOL net/can/can 0x119c81fe can_sock_destruct +EXPORT_SYMBOL net/can/can 0x35b2c6fc can_proto_register +EXPORT_SYMBOL net/can/can 0xc30e5120 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xca6a31c5 can_send +EXPORT_SYMBOL net/can/can 0xf68de0a2 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xfbe47ff7 can_rx_register EXPORT_SYMBOL net/ceph/libceph 0x04cad6f0 ceph_pg_poolid_by_name -EXPORT_SYMBOL net/ceph/libceph 0x0bd35f31 ceph_msg_data_add_pagelist EXPORT_SYMBOL net/ceph/libceph 0x0ce3f774 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x0f7825a3 ceph_con_keepalive EXPORT_SYMBOL net/ceph/libceph 0x0ff2c74d ceph_copy_from_page_vector EXPORT_SYMBOL net/ceph/libceph 0x11dc9c1f osd_req_op_extent_init EXPORT_SYMBOL net/ceph/libceph 0x125c518d ceph_cls_unlock EXPORT_SYMBOL net/ceph/libceph 0x1378aba3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x15abec19 ceph_msg_dump EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve EXPORT_SYMBOL net/ceph/libceph 0x1702985d ceph_osdc_alloc_messages EXPORT_SYMBOL net/ceph/libceph 0x17c17611 ceph_pg_to_acting_primary @@ -5044,11 +5045,11 @@ EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy EXPORT_SYMBOL net/ceph/libceph 0x273b39ff ceph_osdc_copy_from EXPORT_SYMBOL net/ceph/libceph 0x2816432f ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x28887c60 ceph_con_send EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release EXPORT_SYMBOL net/ceph/libceph 0x2ab280bb ceph_print_client_options EXPORT_SYMBOL net/ceph/libceph 0x2c50750d ceph_osdc_alloc_request EXPORT_SYMBOL net/ceph/libceph 0x2ee81b9a osd_req_op_init -EXPORT_SYMBOL net/ceph/libceph 0x2f32aa12 ceph_msg_data_add_bio EXPORT_SYMBOL net/ceph/libceph 0x318e5aa4 ceph_monc_want_map EXPORT_SYMBOL net/ceph/libceph 0x31c14da7 osd_req_op_cls_response_data_pages EXPORT_SYMBOL net/ceph/libceph 0x34a61962 ceph_client_gid @@ -5056,21 +5057,20 @@ EXPORT_SYMBOL net/ceph/libceph 0x387b906d ceph_put_page_vector EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents EXPORT_SYMBOL net/ceph/libceph 0x3a496623 ceph_open_session -EXPORT_SYMBOL net/ceph/libceph 0x3a90e2a2 ceph_msg_get EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects EXPORT_SYMBOL net/ceph/libceph 0x3d2cd18a ceph_monc_stop -EXPORT_SYMBOL net/ceph/libceph 0x3ff6375a ceph_msg_data_add_bvecs EXPORT_SYMBOL net/ceph/libceph 0x40f37549 ceph_cls_set_cookie EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy EXPORT_SYMBOL net/ceph/libceph 0x43055429 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x43694092 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x455f06ed ceph_msg_data_add_bvecs EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible EXPORT_SYMBOL net/ceph/libceph 0x46f3140f ceph_copy_to_page_vector -EXPORT_SYMBOL net/ceph/libceph 0x497abffe ceph_msg_new EXPORT_SYMBOL net/ceph/libceph 0x4995f099 osd_req_op_extent_osd_data_bvec_pos EXPORT_SYMBOL net/ceph/libceph 0x4dab1178 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4dc18c3f ceph_msg_new EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec EXPORT_SYMBOL net/ceph/libceph 0x533874cc ceph_osdc_cancel_request -EXPORT_SYMBOL net/ceph/libceph 0x5515c111 ceph_con_init EXPORT_SYMBOL net/ceph/libceph 0x5680d1b8 ceph_osdc_get_request EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash EXPORT_SYMBOL net/ceph/libceph 0x592d05e0 osd_req_op_extent_osd_data_bvecs @@ -5084,14 +5084,14 @@ EXPORT_SYMBOL net/ceph/libceph 0x683ac7f7 ceph_auth_is_authenticated EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr EXPORT_SYMBOL net/ceph/libceph 0x6b7cf158 ceph_auth_verify_authorizer_reply -EXPORT_SYMBOL net/ceph/libceph 0x6c18a5f1 ceph_msg_new2 EXPORT_SYMBOL net/ceph/libceph 0x6c267847 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x6ce9ea9f ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x6cec652c ceph_msg_put EXPORT_SYMBOL net/ceph/libceph 0x6ecb3f2d ceph_monc_validate_auth EXPORT_SYMBOL net/ceph/libceph 0x74cd64b8 ceph_osdc_notify_ack EXPORT_SYMBOL net/ceph/libceph 0x75026c4a ceph_monc_open_session EXPORT_SYMBOL net/ceph/libceph 0x7515244e ceph_osdc_abort_requests EXPORT_SYMBOL net/ceph/libceph 0x76ba56cd ceph_osdc_update_epoch_barrier -EXPORT_SYMBOL net/ceph/libceph 0x7a0bcec9 ceph_msg_put EXPORT_SYMBOL net/ceph/libceph 0x7ffa3bb8 ceph_wait_for_latest_osdmap EXPORT_SYMBOL net/ceph/libceph 0x80c10d8e ceph_osdc_wait_request EXPORT_SYMBOL net/ceph/libceph 0x80f20b59 ceph_osdc_sync @@ -5103,7 +5103,9 @@ EXPORT_SYMBOL net/ceph/libceph 0x920f80cd ceph_check_fsid EXPORT_SYMBOL net/ceph/libceph 0x926b3f12 __ceph_open_session EXPORT_SYMBOL net/ceph/libceph 0x92b7b4ce ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x94913bc5 ceph_con_init EXPORT_SYMBOL net/ceph/libceph 0x95ac3439 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x96199d22 ceph_msg_data_add_pagelist EXPORT_SYMBOL net/ceph/libceph 0x983da909 ceph_cls_break_lock EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string @@ -5113,8 +5115,8 @@ EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers EXPORT_SYMBOL net/ceph/libceph 0xa9b870aa ceph_osdc_put_request -EXPORT_SYMBOL net/ceph/libceph 0xabcf079e ceph_msg_dump EXPORT_SYMBOL net/ceph/libceph 0xabd27ab0 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xacd7fdbe ceph_con_close EXPORT_SYMBOL net/ceph/libceph 0xad102fed ceph_auth_invalidate_authorizer EXPORT_SYMBOL net/ceph/libceph 0xad502ad5 ceph_osdc_clear_abort_err EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer @@ -5122,7 +5124,6 @@ EXPORT_SYMBOL net/ceph/libceph 0xb3a04b4a ceph_auth_get_authorizer EXPORT_SYMBOL net/ceph/libceph 0xb4c74184 osd_req_op_extent_update EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name -EXPORT_SYMBOL net/ceph/libceph 0xb5524c5a ceph_msg_data_add_pages EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release EXPORT_SYMBOL net/ceph/libceph 0xbb816ada ceph_osdc_maybe_request_map EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy @@ -5131,13 +5132,12 @@ EXPORT_SYMBOL net/ceph/libceph 0xc01209a5 ceph_osdc_start_request EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate EXPORT_SYMBOL net/ceph/libceph 0xc39759f5 osd_req_op_cls_request_data_bvecs -EXPORT_SYMBOL net/ceph/libceph 0xc89d5bb7 ceph_con_open EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file EXPORT_SYMBOL net/ceph/libceph 0xcb8f08f3 osd_req_op_xattr_init -EXPORT_SYMBOL net/ceph/libceph 0xcbbd5e7b ceph_con_close EXPORT_SYMBOL net/ceph/libceph 0xcbffbefe ceph_osdc_new_request EXPORT_SYMBOL net/ceph/libceph 0xce3e08a5 ceph_monc_blocklist_add EXPORT_SYMBOL net/ceph/libceph 0xce748e47 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xd302c807 ceph_msg_data_add_bio EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options EXPORT_SYMBOL net/ceph/libceph 0xd4e42ad3 ceph_monc_got_map EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr @@ -5145,13 +5145,14 @@ EXPORT_SYMBOL net/ceph/libceph 0xd548e7ed osd_req_op_cls_request_data_pagelist EXPORT_SYMBOL net/ceph/libceph 0xd55e0b59 osd_req_op_cls_init EXPORT_SYMBOL net/ceph/libceph 0xd6d5762f ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xd80f2e25 ceph_msg_get EXPORT_SYMBOL net/ceph/libceph 0xdb6f320c osd_req_op_cls_request_data_pages EXPORT_SYMBOL net/ceph/libceph 0xde7ee392 ceph_osdc_watch EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name EXPORT_SYMBOL net/ceph/libceph 0xdfc3f91f ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0xe2078cad ceph_con_open EXPORT_SYMBOL net/ceph/libceph 0xe34a59f2 ceph_object_locator_to_pg -EXPORT_SYMBOL net/ceph/libceph 0xe446b7a1 ceph_con_keepalive EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc EXPORT_SYMBOL net/ceph/libceph 0xe8b4fceb ceph_destroy_client EXPORT_SYMBOL net/ceph/libceph 0xe95b378f osd_req_op_extent_dup_last @@ -5163,7 +5164,6 @@ EXPORT_SYMBOL net/ceph/libceph 0xefce3c3b ceph_pagelist_reserve EXPORT_SYMBOL net/ceph/libceph 0xefce991c ceph_pagelist_append EXPORT_SYMBOL net/ceph/libceph 0xf03fe862 ceph_pagelist_set_cursor -EXPORT_SYMBOL net/ceph/libceph 0xf09567ea ceph_con_send EXPORT_SYMBOL net/ceph/libceph 0xf2e654e1 ceph_alloc_page_vector EXPORT_SYMBOL net/ceph/libceph 0xf4ca0aae osd_req_op_extent_osd_data_pagelist EXPORT_SYMBOL net/ceph/libceph 0xf4de4dd1 ceph_osdc_unwatch @@ -5171,8 +5171,8 @@ EXPORT_SYMBOL net/ceph/libceph 0xf6c9c476 ceph_monc_init EXPORT_SYMBOL net/ceph/libceph 0xf7913007 osd_req_op_alloc_hint_init EXPORT_SYMBOL net/ceph/libceph 0xf8af1026 ceph_osdc_call -EXPORT_SYMBOL net/dccp/dccp_ipv4 0x1a208e17 dccp_req_err -EXPORT_SYMBOL net/dccp/dccp_ipv4 0x60174d09 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x7dce9ac2 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x8687f703 dccp_req_err EXPORT_SYMBOL net/hsr/hsr 0x5b55b5f4 is_hsr_master EXPORT_SYMBOL net/hsr/hsr 0x7fad8e37 hsr_get_version EXPORT_SYMBOL net/ieee802154/ieee802154 0x09e0444b wpan_phy_new @@ -5182,50 +5182,50 @@ EXPORT_SYMBOL net/ieee802154/ieee802154 0xf6e4f5de wpan_phy_find EXPORT_SYMBOL net/ieee802154/ieee802154 0xfcc4cbf6 wpan_phy_register EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen -EXPORT_SYMBOL net/ipv4/fou 0x4859c529 __gue_build_header -EXPORT_SYMBOL net/ipv4/fou 0x6beedc3d __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0x23d68c9e __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xd21120f7 __gue_build_header EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen -EXPORT_SYMBOL net/ipv4/gre 0xfe83c3b1 gre_parse_header -EXPORT_SYMBOL net/ipv4/ip_tunnel 0x0b069d79 ip_tunnel_get_link_net -EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7447a693 ip_tunnel_get_iflink -EXPORT_SYMBOL net/ipv4/ip_tunnel 0x93e812f1 ip_tunnel_encap_add_ops -EXPORT_SYMBOL net/ipv4/ip_tunnel 0xb8796dd8 ip_tunnel_encap_del_ops -EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x033c95ca arpt_unregister_table -EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x2186e7dd arpt_do_table -EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x542500c9 arpt_register_table -EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x9eea257d arpt_unregister_table_pre_exit -EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x101d5e66 ipt_register_table -EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7de4b20c ipt_unregister_table_exit -EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xd2c1623f ipt_unregister_table_pre_exit -EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xfff73e0a ipt_do_table -EXPORT_SYMBOL net/ipv4/tunnel4 0x1aff3479 xfrm4_tunnel_register -EXPORT_SYMBOL net/ipv4/tunnel4 0x34f3ce31 xfrm4_tunnel_deregister -EXPORT_SYMBOL net/ipv4/udp_tunnel 0x3bcff043 udp_sock_create4 -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x1c45dfeb ip6_tnl_get_iflink -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x29008e50 ip6_tnl_rcv -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x4ca4838d ip6_tnl_change_mtu -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x6cd3b92f ip6_tnl_encap_del_ops -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd7699c08 ip6_tnl_get_cap -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd82c7c5f ip6_tnl_get_link_net -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xda9b17c8 ip6_tnl_encap_add_ops -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe2c85da9 ip6_tnl_xmit -EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe9c529d5 ip6_tnl_parse_tlv_enc_lim -EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x1184b32a ip6t_register_table -EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7064156d ip6t_unregister_table_exit -EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xbe9d5163 ip6t_unregister_table_pre_exit -EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xcba9b2bf ip6t_do_table -EXPORT_SYMBOL net/ipv6/tunnel6 0x58a97f4a xfrm6_tunnel_register -EXPORT_SYMBOL net/ipv6/tunnel6 0x6bbc655c xfrm6_tunnel_deregister -EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x7d2e96ac xfrm6_tunnel_alloc_spi -EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xb7fe9e9f xfrm6_tunnel_spi_lookup -EXPORT_SYMBOL net/lapb/lapb 0x12393862 lapb_disconnect_request -EXPORT_SYMBOL net/lapb/lapb 0x13225135 lapb_getparms -EXPORT_SYMBOL net/lapb/lapb 0x288e77fc lapb_connect_request -EXPORT_SYMBOL net/lapb/lapb 0x6404d998 lapb_unregister -EXPORT_SYMBOL net/lapb/lapb 0x6e6fe539 lapb_data_received -EXPORT_SYMBOL net/lapb/lapb 0xa6500d87 lapb_data_request -EXPORT_SYMBOL net/lapb/lapb 0xac8047c6 lapb_setparms -EXPORT_SYMBOL net/lapb/lapb 0xe7c5914d lapb_register +EXPORT_SYMBOL net/ipv4/gre 0x17a5dbfe gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x5171fcf4 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x532d1566 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x73220df9 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xcef5ac90 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x29b9d992 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x48ee71a7 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x70256271 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xfa5407a7 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3543c90c ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x6e99c6ee ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9ad2a88d ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xfd8d1675 ipt_register_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x79d26935 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xb058def6 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x9175ca0a udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x14af9f0e ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x1fd5d082 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x27ea38f1 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x571d13e7 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x622d965a ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x8c4b6a4f ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd08a90a4 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd364815e ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd89dc910 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x02dfbedb ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x309e5f1f ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x36d0b690 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xdedff1ee ip6t_do_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x21a32370 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x2dab99db xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x70c98aa7 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x84d51ed7 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/lapb/lapb 0x340f4b5c lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x6644a524 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x77e53061 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x920b607e lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x9fa52fb6 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xbd4df09f lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xcb445b0e lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xe5ea05b5 lapb_getparms EXPORT_SYMBOL net/llc/llc 0x04c5e41c llc_sap_find EXPORT_SYMBOL net/llc/llc 0x1478c1f2 llc_sap_close EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack @@ -5235,162 +5235,162 @@ EXPORT_SYMBOL net/llc/llc 0x9d0ec5be llc_mac_hdr_init EXPORT_SYMBOL net/llc/llc 0xe9cb246a llc_add_pack EXPORT_SYMBOL net/llc/llc 0xf8789eac llc_set_station_handler -EXPORT_SYMBOL net/mac80211/mac80211 0x06275307 ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x00304ccc ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x02cc966b ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x03b9af9d ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x04143afc __ieee80211_get_assoc_led_name EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv -EXPORT_SYMBOL net/mac80211/mac80211 0x07fc2114 ieee80211_nan_func_terminated -EXPORT_SYMBOL net/mac80211/mac80211 0x09c0b9b7 ieee80211_rts_duration -EXPORT_SYMBOL net/mac80211/mac80211 0x0d1badec ieee80211_sched_scan_stopped -EXPORT_SYMBOL net/mac80211/mac80211 0x176355c3 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x08504987 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x0a4defd1 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x15449ad6 ieee80211_report_low_ack EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq -EXPORT_SYMBOL net/mac80211/mac80211 0x185e31df ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x194c3bda ieee80211_stop_tx_ba_session EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k -EXPORT_SYMBOL net/mac80211/mac80211 0x1b730f98 ieee80211_return_txq -EXPORT_SYMBOL net/mac80211/mac80211 0x1bf0fe5e ieee80211_txq_schedule_start -EXPORT_SYMBOL net/mac80211/mac80211 0x1e6ddf2f ieee80211_report_low_ack -EXPORT_SYMBOL net/mac80211/mac80211 0x1e9043b5 ieee80211_tx_prepare_skb -EXPORT_SYMBOL net/mac80211/mac80211 0x21fe3a78 ieee80211_queue_work -EXPORT_SYMBOL net/mac80211/mac80211 0x262480d6 ieee80211_rate_control_unregister -EXPORT_SYMBOL net/mac80211/mac80211 0x27144127 ieee80211_beacon_update_cntdwn -EXPORT_SYMBOL net/mac80211/mac80211 0x2814d0dc ieee80211_rx_list -EXPORT_SYMBOL net/mac80211/mac80211 0x2ae0f00b ieee80211_rate_control_register -EXPORT_SYMBOL net/mac80211/mac80211 0x2e25e43d ieee80211_nan_func_match -EXPORT_SYMBOL net/mac80211/mac80211 0x36127a4b ieee80211_txq_may_transmit -EXPORT_SYMBOL net/mac80211/mac80211 0x3c51f9a1 ieee80211_free_hw -EXPORT_SYMBOL net/mac80211/mac80211 0x3d86f885 __ieee80211_get_assoc_led_name -EXPORT_SYMBOL net/mac80211/mac80211 0x3ef2277e ieee80211_iter_keys_rcu -EXPORT_SYMBOL net/mac80211/mac80211 0x3fd73c41 ieee80211_sta_block_awake -EXPORT_SYMBOL net/mac80211/mac80211 0x4016e84f rate_control_set_rates -EXPORT_SYMBOL net/mac80211/mac80211 0x403f8140 ieee80211_register_hw -EXPORT_SYMBOL net/mac80211/mac80211 0x5138f7fb ieee80211_rx_napi -EXPORT_SYMBOL net/mac80211/mac80211 0x5374c9c0 ieee80211_stop_tx_ba_session -EXPORT_SYMBOL net/mac80211/mac80211 0x5a344bcc ieee80211_cqm_beacon_loss_notify -EXPORT_SYMBOL net/mac80211/mac80211 0x5b1a6cd6 ieee80211_sta_set_buffered -EXPORT_SYMBOL net/mac80211/mac80211 0x5c1c1808 ieee80211_probereq_get -EXPORT_SYMBOL net/mac80211/mac80211 0x5d75517c ieee80211_cqm_rssi_notify -EXPORT_SYMBOL net/mac80211/mac80211 0x62145048 ieee80211_pspoll_get -EXPORT_SYMBOL net/mac80211/mac80211 0x66ce5751 ieee80211_stop_tx_ba_cb_irqsafe -EXPORT_SYMBOL net/mac80211/mac80211 0x69495d76 ieee80211_ap_probereq_get -EXPORT_SYMBOL net/mac80211/mac80211 0x6b5ab33f ieee80211_tx_status_irqsafe -EXPORT_SYMBOL net/mac80211/mac80211 0x6ca9d8df ieee80211_txq_airtime_check -EXPORT_SYMBOL net/mac80211/mac80211 0x6cd2dd7e ieee80211_rts_get -EXPORT_SYMBOL net/mac80211/mac80211 0x714823e5 ieee80211_get_tkip_p2k -EXPORT_SYMBOL net/mac80211/mac80211 0x72e817f9 ieee80211_sta_ps_transition -EXPORT_SYMBOL net/mac80211/mac80211 0x76d91492 ieee80211_queue_delayed_work -EXPORT_SYMBOL net/mac80211/mac80211 0x7821571f ieee80211_tx_status_ext -EXPORT_SYMBOL net/mac80211/mac80211 0x7a5f1979 ieee80211_find_sta -EXPORT_SYMBOL net/mac80211/mac80211 0x7aa477d3 ieee80211_mark_rx_ba_filtered_frames -EXPORT_SYMBOL net/mac80211/mac80211 0x7b253aa7 ieee80211_nullfunc_get -EXPORT_SYMBOL net/mac80211/mac80211 0x7b78dffa __ieee80211_create_tpt_led_trigger -EXPORT_SYMBOL net/mac80211/mac80211 0x7cb10407 ieee80211_get_unsol_bcast_probe_resp_tmpl -EXPORT_SYMBOL net/mac80211/mac80211 0x818656ae ieee80211_iter_keys -EXPORT_SYMBOL net/mac80211/mac80211 0x81bb34e2 ieee80211_stop_queues -EXPORT_SYMBOL net/mac80211/mac80211 0x81d5afd4 ieee80211_report_wowlan_wakeup -EXPORT_SYMBOL net/mac80211/mac80211 0x820c73af ieee80211_beacon_cntdwn_is_complete -EXPORT_SYMBOL net/mac80211/mac80211 0x87856b2d ieee80211_radar_detected -EXPORT_SYMBOL net/mac80211/mac80211 0x8a6382a4 ieee80211_ctstoself_duration -EXPORT_SYMBOL net/mac80211/mac80211 0x8b2ba9fe ieee80211_send_eosp_nullfunc -EXPORT_SYMBOL net/mac80211/mac80211 0x8dd2502c __ieee80211_get_tx_led_name -EXPORT_SYMBOL net/mac80211/mac80211 0x92a72688 ieee80211_tx_status -EXPORT_SYMBOL net/mac80211/mac80211 0x966e9cbc ieee80211_enable_rssi_reports -EXPORT_SYMBOL net/mac80211/mac80211 0x96f10b24 ieee80211_unreserve_tid -EXPORT_SYMBOL net/mac80211/mac80211 0x9725e413 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x1a925c0a ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x1b12bc95 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x1daa4ce6 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x2699e514 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x274ff802 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x2de86efc ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x31e63dfa ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x32fe9ccd ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x339cebe5 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x345fea6f ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x3bf0d0c4 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x3dc661b3 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4081f99f ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x46541ab1 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x46de059c ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4c77f470 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4f8d0241 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x50b8700a ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x51b3f4d2 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x556ed8b2 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x56a47b36 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x59101c7f ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x5a00a0ad ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x5a316782 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x5a790177 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x5b93bc3d ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x5fb151f9 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x60686a48 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x62053359 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x63a55984 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x65ab62f5 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x6c261d8f ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x705c403f ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0x711ad5cb ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x71c5f670 ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x7675df75 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x78fdcf15 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x7ab52c89 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x7b384c9c ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x7c41b85e ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x7d5d74c3 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x84f04aa9 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x8dd87c86 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x922506af ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x9378413f ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x95f9f7aa ieee80211_tdls_oper_request EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa -EXPORT_SYMBOL net/mac80211/mac80211 0x9ade6675 wiphy_to_ieee80211_hw -EXPORT_SYMBOL net/mac80211/mac80211 0x9d08625e ieee80211_sta_register_airtime -EXPORT_SYMBOL net/mac80211/mac80211 0x9e770043 ieee80211_disable_rssi_reports -EXPORT_SYMBOL net/mac80211/mac80211 0x9f5ad7f7 ieee80211_sched_scan_results -EXPORT_SYMBOL net/mac80211/mac80211 0xa31c2e8c ieee80211_tx_dequeue -EXPORT_SYMBOL net/mac80211/mac80211 0xa79ceac9 ieee80211_sta_pspoll -EXPORT_SYMBOL net/mac80211/mac80211 0xa7ad3ea2 ieee80211_tx_rate_update -EXPORT_SYMBOL net/mac80211/mac80211 0xa927358f ieee80211_txq_get_depth -EXPORT_SYMBOL net/mac80211/mac80211 0xab2ac331 ieee80211_get_buffered_bc -EXPORT_SYMBOL net/mac80211/mac80211 0xacc6be66 ieee80211_get_tx_rates -EXPORT_SYMBOL net/mac80211/mac80211 0xae896c48 ieee80211_next_txq -EXPORT_SYMBOL net/mac80211/mac80211 0xafdb3405 ieee80211_start_tx_ba_cb_irqsafe -EXPORT_SYMBOL net/mac80211/mac80211 0xb54b85ce ieee80211_chswitch_done -EXPORT_SYMBOL net/mac80211/mac80211 0xb5aa0665 ieee80211_schedule_txq -EXPORT_SYMBOL net/mac80211/mac80211 0xb66777b8 ieee80211_free_txskb -EXPORT_SYMBOL net/mac80211/mac80211 0xbc32e76a ieee80211_proberesp_get -EXPORT_SYMBOL net/mac80211/mac80211 0xbc4b2bbe ieee80211_queue_stopped -EXPORT_SYMBOL net/mac80211/mac80211 0xbe6d9100 ieee80211_rx_ba_timer_expired -EXPORT_SYMBOL net/mac80211/mac80211 0xc04010de ieee80211_scan_completed -EXPORT_SYMBOL net/mac80211/mac80211 0xc060a0ca ieee80211_sta_uapsd_trigger -EXPORT_SYMBOL net/mac80211/mac80211 0xc4b476d8 ieee80211_manage_rx_ba_offl -EXPORT_SYMBOL net/mac80211/mac80211 0xc573cf69 __ieee80211_get_radio_led_name -EXPORT_SYMBOL net/mac80211/mac80211 0xc78ecc7c ieee80211_wake_queue -EXPORT_SYMBOL net/mac80211/mac80211 0xc9b7a91e ieee80211_beacon_get_tim -EXPORT_SYMBOL net/mac80211/mac80211 0xcc9c500b ieee80211_tdls_oper_request -EXPORT_SYMBOL net/mac80211/mac80211 0xd3f30ee0 ieee80211_send_bar -EXPORT_SYMBOL net/mac80211/mac80211 0xd54edc8f ieee80211_disconnect -EXPORT_SYMBOL net/mac80211/mac80211 0xd574b44a ieee80211_connection_loss -EXPORT_SYMBOL net/mac80211/mac80211 0xd64235e6 ieee80211_generic_frame_duration -EXPORT_SYMBOL net/mac80211/mac80211 0xd64a0204 ieee80211_wake_queues -EXPORT_SYMBOL net/mac80211/mac80211 0xd6adbaf1 ieee80211_stop_rx_ba_session -EXPORT_SYMBOL net/mac80211/mac80211 0xd6afa4f8 ieee80211_ctstoself_get -EXPORT_SYMBOL net/mac80211/mac80211 0xdafff337 ieee80211_csa_finish -EXPORT_SYMBOL net/mac80211/mac80211 0xdd37ba6a ieee80211_rx_irqsafe -EXPORT_SYMBOL net/mac80211/mac80211 0xdfd931e5 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x9a814eba ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x9a9bc2f9 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9e9f1591 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa0c0c41d ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xa28278e2 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xa34aba41 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xa4554e39 ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xa7425c42 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa74c935a ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xa7c8fcb2 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xaae706c5 ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xab637aec ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xb11ad978 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xb22ab438 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xb4e6582c ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xb7d27d4d ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xb8b96163 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xba7c6ea9 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0xbc77206b ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0xbe426efa ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xc1f3b2db ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc35bacc7 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0xc3830d9f __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xc90f46b7 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xcc3d9449 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xce005c9a ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xcfda56c8 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xd9806f19 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xde02f6f3 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xdec91217 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xdf104cc7 ieee80211_report_wowlan_wakeup EXPORT_SYMBOL net/mac80211/mac80211 0xe5752af3 ieee80211_get_bssid -EXPORT_SYMBOL net/mac80211/mac80211 0xeaf45561 ieee80211_unregister_hw -EXPORT_SYMBOL net/mac80211/mac80211 0xec42bb87 ieee80211_sta_eosp -EXPORT_SYMBOL net/mac80211/mac80211 0xf2313e35 ieee80211_alloc_hw_nm -EXPORT_SYMBOL net/mac80211/mac80211 0xf39f924f ieee80211_reserve_tid -EXPORT_SYMBOL net/mac80211/mac80211 0xf4a68b0a ieee80211_stop_queue -EXPORT_SYMBOL net/mac80211/mac80211 0xf7c59dda ieee80211_get_fils_discovery_tmpl -EXPORT_SYMBOL net/mac80211/mac80211 0xf8dcceaf __ieee80211_get_rx_led_name -EXPORT_SYMBOL net/mac80211/mac80211 0xfc98ee9c ieee80211_restart_hw -EXPORT_SYMBOL net/mac802154/mac802154 0x050ca776 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe5d122d0 ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0xe5d12cdb ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xea269dd0 ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0xeae7b344 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xee62f554 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xef16b3bc ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0xefec797d ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf33e7a37 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xf540e27f ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xf5b7af5f ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xf769cee3 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xf8766f92 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xfa9f19ae ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xfb7461fc ieee80211_sta_register_airtime EXPORT_SYMBOL net/mac802154/mac802154 0x1e47ef3f ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x41ffba0b ieee802154_free_hw EXPORT_SYMBOL net/mac802154/mac802154 0x49b9c751 ieee802154_rx_irqsafe EXPORT_SYMBOL net/mac802154/mac802154 0x4bd94f0a ieee802154_wake_queue -EXPORT_SYMBOL net/mac802154/mac802154 0x7e3f9503 ieee802154_free_hw -EXPORT_SYMBOL net/mac802154/mac802154 0x800dc6e3 ieee802154_register_hw -EXPORT_SYMBOL net/mac802154/mac802154 0xb2f9a0f3 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x59c1e960 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x8aa3ffad ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xce8e756c ieee802154_register_hw EXPORT_SYMBOL net/mac802154/mac802154 0xfb773b0e ieee802154_stop_queue -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x08c9d159 ip_vs_conn_new -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1f6ec3b2 unregister_ip_vs_scheduler -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x277d5265 ip_vs_proto_get -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x29474277 register_ip_vs_app -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3bbd5e80 ip_vs_proto_data_get -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x54710952 ip_vs_conn_out_get -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x65f4d289 register_ip_vs_scheduler -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x66170283 ip_vs_conn_in_get -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6bc6c81e register_ip_vs_app_inc -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8c2fbc00 ip_vs_new_conn_out -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbbb11d0d unregister_ip_vs_app -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc36049ba ip_vs_conn_put -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc8da29ec ip_vs_scheduler_err -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd05007c6 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0baad7df ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0cff113e unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x10d405d4 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x11c6328b ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x17121140 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x44338bd1 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x56dc5c46 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x60a3249b ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x614394f7 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x99697b4f ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb84187ba ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbdff2b64 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd3950b0b register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd6d9cfbd ip_vs_proto_get EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name -EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeafc1b6d ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfca3615d ip_vs_nfct_expect_related EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy -EXPORT_SYMBOL net/netfilter/nf_conntrack 0xff6f3b66 nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xa984be9e nf_ct_ext_add EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name -EXPORT_SYMBOL net/netfilter/nf_nat 0x28b30416 nf_nat_mangle_udp_packet -EXPORT_SYMBOL net/netfilter/nf_nat 0xb2074dd2 __nf_nat_mangle_tcp_packet -EXPORT_SYMBOL net/netfilter/nf_nat 0xe1f504c9 nf_nat_setup_info -EXPORT_SYMBOL net/netfilter/nf_nat 0xf7ea639a nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x03407278 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x5311d391 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xa1a3312c __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xb89d44d8 nf_nat_follow_master EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x1133f816 xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0x15b32320 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x1df867b8 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x32273b4d xt_register_target EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets -EXPORT_SYMBOL net/netfilter/x_tables 0x73f3b4e8 xt_unregister_matches -EXPORT_SYMBOL net/netfilter/x_tables 0x76b787e1 xt_find_table -EXPORT_SYMBOL net/netfilter/x_tables 0x81949916 xt_register_matches -EXPORT_SYMBOL net/netfilter/x_tables 0x89204df7 xt_unregister_target -EXPORT_SYMBOL net/netfilter/x_tables 0x8cac6c37 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x5c15901e xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x7091fbce xt_register_match EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xa2c9c02c xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xba291950 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xbd91d641 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xbedf3c8b xt_unregister_match EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc -EXPORT_SYMBOL net/netfilter/x_tables 0xd0ca8412 xt_find_match -EXPORT_SYMBOL net/netfilter/x_tables 0xd65bd401 xt_register_targets EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info -EXPORT_SYMBOL net/netfilter/x_tables 0xebc10d04 xt_unregister_match -EXPORT_SYMBOL net/netfilter/x_tables 0xefcd6f1a xt_register_target -EXPORT_SYMBOL net/netfilter/x_tables 0xfcd0e8c1 xt_register_match EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset EXPORT_SYMBOL net/nfc/hci/hci 0x018e3cbd nfc_hci_free_device EXPORT_SYMBOL net/nfc/hci/hci 0x02f56f72 nfc_hci_register_device @@ -5415,231 +5415,231 @@ EXPORT_SYMBOL net/nfc/hci/hci 0xd328bd9e nfc_hci_send_event EXPORT_SYMBOL net/nfc/hci/hci 0xd7984597 nfc_llc_stop EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol -EXPORT_SYMBOL net/nfc/nci/nci 0x0805d5c3 nci_core_conn_close -EXPORT_SYMBOL net/nfc/nci/nci 0x179d8b4f nci_send_data -EXPORT_SYMBOL net/nfc/nci/nci 0x2121e55b nci_core_reset -EXPORT_SYMBOL net/nfc/nci/nci 0x356a6d11 nci_hci_send_event -EXPORT_SYMBOL net/nfc/nci/nci 0x358eb92a nci_conn_max_data_pkt_payload_size -EXPORT_SYMBOL net/nfc/nci/nci 0x3f59b68b nci_free_device -EXPORT_SYMBOL net/nfc/nci/nci 0x4351b8b2 nci_core_conn_create -EXPORT_SYMBOL net/nfc/nci/nci 0x43a1fec1 nci_hci_open_pipe -EXPORT_SYMBOL net/nfc/nci/nci 0x4b7d9054 nci_hci_clear_all_pipes -EXPORT_SYMBOL net/nfc/nci/nci 0x54188b77 nci_get_conn_info_by_dest_type_params -EXPORT_SYMBOL net/nfc/nci/nci 0x57c0cf12 nci_core_init -EXPORT_SYMBOL net/nfc/nci/nci 0x57c28dd8 nci_nfcee_mode_set -EXPORT_SYMBOL net/nfc/nci/nci 0x60102989 nci_hci_send_cmd -EXPORT_SYMBOL net/nfc/nci/nci 0x61d51fa1 nci_register_device -EXPORT_SYMBOL net/nfc/nci/nci 0x65b1e44d nci_set_config -EXPORT_SYMBOL net/nfc/nci/nci 0x6f914ed4 nci_nfcee_discover -EXPORT_SYMBOL net/nfc/nci/nci 0x73a99b96 nci_allocate_device -EXPORT_SYMBOL net/nfc/nci/nci 0x789f8e81 nci_send_cmd -EXPORT_SYMBOL net/nfc/nci/nci 0x7d7cce90 nci_hci_connect_gate -EXPORT_SYMBOL net/nfc/nci/nci 0x850bfdcf nci_recv_frame -EXPORT_SYMBOL net/nfc/nci/nci 0x892b1c1a nci_hci_get_param -EXPORT_SYMBOL net/nfc/nci/nci 0x892c421b nci_prop_cmd -EXPORT_SYMBOL net/nfc/nci/nci 0xac6ba518 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x00074b1b nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x1def01c0 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x21026359 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x265cd2e2 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x29168c7f nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x2ec60e4c nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x31c3f4d7 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x4860e3f6 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x5c9e0d9d nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x5f29cf6f nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x6eb9f728 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x78e1a435 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x8277d16c nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x8e4973e4 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x90a6157d nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x97dbc5c8 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa42bc138 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xb17831fa nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0xb1c5ee1d nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xb1d0ded2 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0xb82167c8 nci_unregister_device EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno -EXPORT_SYMBOL net/nfc/nci/nci 0xccbaa6fb nci_req_complete -EXPORT_SYMBOL net/nfc/nci/nci 0xd74a302c nci_hci_set_param -EXPORT_SYMBOL net/nfc/nci/nci 0xdbe5229e nci_core_cmd -EXPORT_SYMBOL net/nfc/nci/nci 0xe0752883 nci_unregister_device -EXPORT_SYMBOL net/nfc/nci/nci 0xe1af1ea0 nci_hci_dev_session_init -EXPORT_SYMBOL net/nfc/nci/nci 0xe900e496 nci_send_frame -EXPORT_SYMBOL net/nfc/nfc 0x25d79a25 nfc_register_device -EXPORT_SYMBOL net/nfc/nfc 0x2f191f23 nfc_proto_register -EXPORT_SYMBOL net/nfc/nfc 0x4dbe9bd9 nfc_driver_failure -EXPORT_SYMBOL net/nfc/nfc 0x51fe0dfc nfc_add_se -EXPORT_SYMBOL net/nfc/nfc 0x5757cc14 nfc_se_connectivity -EXPORT_SYMBOL net/nfc/nfc 0x584b3c53 nfc_remove_se -EXPORT_SYMBOL net/nfc/nfc 0x73b2c46d nfc_se_transaction -EXPORT_SYMBOL net/nfc/nfc 0x79730b4f nfc_dep_link_is_up -EXPORT_SYMBOL net/nfc/nfc 0x799d2d47 nfc_tm_activated -EXPORT_SYMBOL net/nfc/nfc 0x8c3f5af0 nfc_proto_unregister -EXPORT_SYMBOL net/nfc/nfc 0x94388879 __nfc_alloc_vendor_cmd_reply_skb -EXPORT_SYMBOL net/nfc/nfc 0x94d08425 nfc_send_to_raw_sock -EXPORT_SYMBOL net/nfc/nfc 0x9ace2f1d nfc_tm_deactivated -EXPORT_SYMBOL net/nfc/nfc 0xa6ab9df6 nfc_allocate_device -EXPORT_SYMBOL net/nfc/nfc 0xb204ff40 nfc_fw_download_done -EXPORT_SYMBOL net/nfc/nfc 0xb517b708 nfc_targets_found -EXPORT_SYMBOL net/nfc/nfc 0xb5b99321 nfc_get_local_general_bytes -EXPORT_SYMBOL net/nfc/nfc 0xb7617fbc nfc_target_lost -EXPORT_SYMBOL net/nfc/nfc 0xbaa225fd nfc_alloc_recv_skb -EXPORT_SYMBOL net/nfc/nfc 0xc4404862 nfc_unregister_device -EXPORT_SYMBOL net/nfc/nfc 0xcc5a2690 nfc_vendor_cmd_reply -EXPORT_SYMBOL net/nfc/nfc 0xdcb1a874 nfc_set_remote_general_bytes -EXPORT_SYMBOL net/nfc/nfc 0xe6d68ba9 nfc_class -EXPORT_SYMBOL net/nfc/nfc 0xe97ee1b6 nfc_find_se -EXPORT_SYMBOL net/nfc/nfc 0xf1c78029 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nci/nci 0xd5463295 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0xd89d63ca nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xd9d41df6 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0xdf2d6470 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0xe5d0b8de nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0xe5f4366b nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xea2dd922 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0xfa8a95b5 nci_req_complete +EXPORT_SYMBOL net/nfc/nfc 0x12042b08 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x2381784d nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x29aed6d3 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x373a44cc nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x423c8d58 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x4437e617 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x45c18af1 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x4b927076 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x5c01bdeb nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x5eebda32 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x617e51e6 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x6d815f02 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x728c90cf nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x82337b43 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x82e114f9 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x859c5246 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x8c8cfb08 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xc6b36853 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xcedeb7fd nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xd124c234 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xd6b7186f nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xe3e44a2b nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xe9d60d8c nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0xf21f09dc nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0xfffcfdfa __nfc_alloc_vendor_cmd_reply_skb EXPORT_SYMBOL net/nfc/nfc_digital 0x3d49ba45 nfc_digital_allocate_device EXPORT_SYMBOL net/nfc/nfc_digital 0x4ade558d nfc_digital_unregister_device EXPORT_SYMBOL net/nfc/nfc_digital 0x7d332784 nfc_digital_free_device EXPORT_SYMBOL net/nfc/nfc_digital 0xe0972755 nfc_digital_register_device -EXPORT_SYMBOL net/phonet/phonet 0x15b80462 pn_sock_unhash -EXPORT_SYMBOL net/phonet/phonet 0x1c0b75b2 phonet_proto_register -EXPORT_SYMBOL net/phonet/phonet 0x27540d2b phonet_header_ops -EXPORT_SYMBOL net/phonet/phonet 0x70e29c7c phonet_proto_unregister -EXPORT_SYMBOL net/phonet/phonet 0x951705ce pn_sock_get_port -EXPORT_SYMBOL net/phonet/phonet 0xa45649d7 pn_sock_hash -EXPORT_SYMBOL net/phonet/phonet 0xcef0d572 pn_skb_send -EXPORT_SYMBOL net/phonet/phonet 0xfc4cfbec phonet_stream_ops -EXPORT_SYMBOL net/rxrpc/rxrpc 0x06b484bd rxrpc_kernel_new_call_notification -EXPORT_SYMBOL net/rxrpc/rxrpc 0x29d6ff33 rxrpc_kernel_set_max_life -EXPORT_SYMBOL net/rxrpc/rxrpc 0x2c07f5e1 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/phonet/phonet 0x051230ab phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x1160e826 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x49c1b3c3 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x4d64ab49 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x8f3ac5d2 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x9c54e648 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xc9f9426a pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xdb6e05b7 phonet_proto_unregister +EXPORT_SYMBOL net/rxrpc/rxrpc 0x031241c1 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0adc97ef rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x19dbd7ee rxrpc_kernel_end_call EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id -EXPORT_SYMBOL net/rxrpc/rxrpc 0x3e2c7ede rxrpc_kernel_get_peer -EXPORT_SYMBOL net/rxrpc/rxrpc 0x4b7b585e rxrpc_kernel_set_tx_length -EXPORT_SYMBOL net/rxrpc/rxrpc 0x50e238a4 rxrpc_sock_set_min_security_level -EXPORT_SYMBOL net/rxrpc/rxrpc 0x56d56815 rxrpc_get_null_key -EXPORT_SYMBOL net/rxrpc/rxrpc 0x65eefe9d rxrpc_kernel_recv_data -EXPORT_SYMBOL net/rxrpc/rxrpc 0x6f045ce5 rxrpc_kernel_charge_accept -EXPORT_SYMBOL net/rxrpc/rxrpc 0x7040a33c rxrpc_kernel_begin_call -EXPORT_SYMBOL net/rxrpc/rxrpc 0x72189f11 rxrpc_kernel_abort_call -EXPORT_SYMBOL net/rxrpc/rxrpc 0x7379edc2 rxrpc_kernel_check_life -EXPORT_SYMBOL net/rxrpc/rxrpc 0x9e211320 rxrpc_get_server_data_key -EXPORT_SYMBOL net/rxrpc/rxrpc 0xb1b8d4d5 rxrpc_kernel_get_epoch -EXPORT_SYMBOL net/rxrpc/rxrpc 0xb4b3377e rxrpc_kernel_send_data -EXPORT_SYMBOL net/rxrpc/rxrpc 0xc6eb8ea5 rxrpc_kernel_get_reply_time -EXPORT_SYMBOL net/rxrpc/rxrpc 0xdf213293 key_type_rxrpc -EXPORT_SYMBOL net/rxrpc/rxrpc 0xf12a1cb8 rxrpc_kernel_end_call -EXPORT_SYMBOL net/sctp/sctp 0x8d0923c0 sctp_do_peeloff -EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x36949eb8 gss_mech_put -EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xe65cd459 gss_pseudoflavor_to_service -EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xf4b3eb22 gss_mech_get -EXPORT_SYMBOL net/sunrpc/sunrpc 0x1f8e1ebd svc_pool_stats_open -EXPORT_SYMBOL net/sunrpc/sunrpc 0x659bd2bf xdr_truncate_encode -EXPORT_SYMBOL net/sunrpc/sunrpc 0xa30ee718 get_srcport -EXPORT_SYMBOL net/sunrpc/sunrpc 0xd476385b xdr_restrict_buflen -EXPORT_SYMBOL net/tipc/tipc 0x162d9e4e tipc_sk_fill_sock_diag -EXPORT_SYMBOL net/tipc/tipc 0x19484a7e tipc_dump_done -EXPORT_SYMBOL net/tipc/tipc 0x19651cc9 tipc_dump_start -EXPORT_SYMBOL net/tipc/tipc 0x41e72e95 tipc_nl_sk_walk -EXPORT_SYMBOL net/tls/tls 0x348bbe1b tls_get_record +EXPORT_SYMBOL net/rxrpc/rxrpc 0x3de1188d rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x4214c4ac rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x46911fa3 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5043da37 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6322532a rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7290ed6b rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7794c2da rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa39a8852 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa8ed15c6 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb604db20 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb8ed192c rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xcbf86fcc rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xcdc5b538 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xedfc7089 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf6b3f85f rxrpc_kernel_recv_data +EXPORT_SYMBOL net/sctp/sctp 0x7fa8e820 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x877cdfc1 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x8ebaf870 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xfbe9c6e3 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x3fa706cc svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x6bf0d19a xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x88d983e8 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0xa666f785 get_srcport +EXPORT_SYMBOL net/tipc/tipc 0xbe6f2e33 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0xd288f43b tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0xef66a0b8 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0xfdf9f496 tipc_dump_start +EXPORT_SYMBOL net/tls/tls 0x33dc0f0b tls_get_record EXPORT_SYMBOL net/wireless/cfg80211 0x037a4b39 cfg80211_radar_event -EXPORT_SYMBOL net/wireless/cfg80211 0x04568eb8 cfg80211_cqm_rssi_notify -EXPORT_SYMBOL net/wireless/cfg80211 0x06f39f93 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x05e1b03f cfg80211_rx_unexpected_4addr_frame EXPORT_SYMBOL net/wireless/cfg80211 0x0811d54f cfg80211_connect_done -EXPORT_SYMBOL net/wireless/cfg80211 0x0b643e2a cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x0da32e4b cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x0e139f03 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x116b1176 cfg80211_cqm_rssi_notify EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile EXPORT_SYMBOL net/wireless/cfg80211 0x15a37cf3 cfg80211_calculate_bitrate EXPORT_SYMBOL net/wireless/cfg80211 0x15b05287 regulatory_pre_cac_allowed -EXPORT_SYMBOL net/wireless/cfg80211 0x1639c93b cfg80211_tx_mgmt_expired EXPORT_SYMBOL net/wireless/cfg80211 0x1654bbf0 cfg80211_sched_scan_stopped_locked EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1cd70285 cfg80211_notify_new_peer_candidate EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm EXPORT_SYMBOL net/wireless/cfg80211 0x2310adee ieee80211_bss_get_elem EXPORT_SYMBOL net/wireless/cfg80211 0x2458ea1d cfg80211_bss_flush -EXPORT_SYMBOL net/wireless/cfg80211 0x2668368e cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x265b48bc cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x274269e6 cfg80211_rx_spurious_frame EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric EXPORT_SYMBOL net/wireless/cfg80211 0x27efff25 ieee80211_s1g_channel_width -EXPORT_SYMBOL net/wireless/cfg80211 0x28273087 cfg80211_nan_match -EXPORT_SYMBOL net/wireless/cfg80211 0x285d592b cfg80211_crit_proto_stopped EXPORT_SYMBOL net/wireless/cfg80211 0x2a5d816f cfg80211_chandef_valid -EXPORT_SYMBOL net/wireless/cfg80211 0x2f1cf88b cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x2b907576 cfg80211_get_station EXPORT_SYMBOL net/wireless/cfg80211 0x3159d23a freq_reg_info EXPORT_SYMBOL net/wireless/cfg80211 0x3221e09c cfg80211_chandef_dfs_required -EXPORT_SYMBOL net/wireless/cfg80211 0x3c580c68 cfg80211_gtk_rekey_notify -EXPORT_SYMBOL net/wireless/cfg80211 0x3c7141ce cfg80211_tdls_oper_request -EXPORT_SYMBOL net/wireless/cfg80211 0x3ca505ac cfg80211_sta_opmode_change_notify EXPORT_SYMBOL net/wireless/cfg80211 0x3d8893cc cfg80211_assoc_timeout EXPORT_SYMBOL net/wireless/cfg80211 0x3d8e5894 cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0x3fa6ee5c __cfg80211_alloc_reply_skb EXPORT_SYMBOL net/wireless/cfg80211 0x3fe8deff cfg80211_any_usable_channels EXPORT_SYMBOL net/wireless/cfg80211 0x41ddc257 cfg80211_unlink_bss -EXPORT_SYMBOL net/wireless/cfg80211 0x433f5bde cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x43994958 cfg80211_send_layer2_update EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init EXPORT_SYMBOL net/wireless/cfg80211 0x44f44ccd cfg80211_rx_assoc_resp EXPORT_SYMBOL net/wireless/cfg80211 0x4601fd95 cfg80211_port_authorized EXPORT_SYMBOL net/wireless/cfg80211 0x4ad411cc wiphy_rfkill_start_polling EXPORT_SYMBOL net/wireless/cfg80211 0x4aee5749 wiphy_unregister -EXPORT_SYMBOL net/wireless/cfg80211 0x4cc4ef58 cfg80211_conn_failed -EXPORT_SYMBOL net/wireless/cfg80211 0x4d19de2a cfg80211_report_obss_beacon_khz -EXPORT_SYMBOL net/wireless/cfg80211 0x4dc6e201 cfg80211_ch_switch_notify EXPORT_SYMBOL net/wireless/cfg80211 0x4fb33585 cfg80211_abandon_assoc -EXPORT_SYMBOL net/wireless/cfg80211 0x503f485e cfg80211_iter_combinations -EXPORT_SYMBOL net/wireless/cfg80211 0x52e46b5d ieee80211_get_hdrlen_from_skb -EXPORT_SYMBOL net/wireless/cfg80211 0x57d14886 __cfg80211_alloc_event_skb EXPORT_SYMBOL net/wireless/cfg80211 0x57e93307 cfg80211_disconnected EXPORT_SYMBOL net/wireless/cfg80211 0x59b6adc6 get_wiphy_regdom -EXPORT_SYMBOL net/wireless/cfg80211 0x5a2eeda4 cfg80211_cqm_pktloss_notify -EXPORT_SYMBOL net/wireless/cfg80211 0x5bc66773 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x5a134b03 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x635cc24d cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x63ff60c0 cfg80211_pmksa_candidate_notify EXPORT_SYMBOL net/wireless/cfg80211 0x652aeedf ieee80211_mandatory_rates EXPORT_SYMBOL net/wireless/cfg80211 0x696504c9 cfg80211_chandef_usable EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header -EXPORT_SYMBOL net/wireless/cfg80211 0x6b377a51 cfg80211_pmksa_candidate_notify EXPORT_SYMBOL net/wireless/cfg80211 0x6b5d2814 cfg80211_ibss_joined EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel EXPORT_SYMBOL net/wireless/cfg80211 0x7018223d cfg80211_bss_iter -EXPORT_SYMBOL net/wireless/cfg80211 0x70a042c3 cfg80211_rx_unexpected_4addr_frame -EXPORT_SYMBOL net/wireless/cfg80211 0x71848bed __cfg80211_alloc_reply_skb -EXPORT_SYMBOL net/wireless/cfg80211 0x71b25c22 cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x733c6cd2 cfg80211_classify8021d EXPORT_SYMBOL net/wireless/cfg80211 0x78bf8fc3 cfg80211_rx_mlme_mgmt EXPORT_SYMBOL net/wireless/cfg80211 0x78e811bf cfg80211_reg_can_beacon_relax EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem EXPORT_SYMBOL net/wireless/cfg80211 0x7a7a0c95 cfg80211_scan_done EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7bab5a0f cfg80211_bss_color_notify EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss -EXPORT_SYMBOL net/wireless/cfg80211 0x7dfd4001 cfg80211_external_auth_request -EXPORT_SYMBOL net/wireless/cfg80211 0x7ec9736f cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x7d0d7cee cfg80211_ready_on_channel EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen EXPORT_SYMBOL net/wireless/cfg80211 0x803ce419 cfg80211_register_netdevice -EXPORT_SYMBOL net/wireless/cfg80211 0x81415bbe cfg80211_new_sta EXPORT_SYMBOL net/wireless/cfg80211 0x81874735 ieee80211_get_response_rate EXPORT_SYMBOL net/wireless/cfg80211 0x81a8b342 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x81a9af9e cfg80211_cqm_pktloss_notify EXPORT_SYMBOL net/wireless/cfg80211 0x841f1bd5 cfg80211_michael_mic_failure -EXPORT_SYMBOL net/wireless/cfg80211 0x8c691170 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x88d0c021 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x89e76575 cfg80211_nan_match EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func -EXPORT_SYMBOL net/wireless/cfg80211 0x951b9183 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x918e250b cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x93100374 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x96a40f8d cfg80211_tdls_oper_request EXPORT_SYMBOL net/wireless/cfg80211 0x9ae55342 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x9b2fb9a1 cfg80211_control_port_tx_status EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match EXPORT_SYMBOL net/wireless/cfg80211 0xa005d7cd regulatory_set_wiphy_regd EXPORT_SYMBOL net/wireless/cfg80211 0xa073407d wiphy_new_nm -EXPORT_SYMBOL net/wireless/cfg80211 0xa47ad933 cfg80211_mgmt_tx_status -EXPORT_SYMBOL net/wireless/cfg80211 0xa983cbe6 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xa510eb95 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xa6c432ea cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0xa8a185c5 cfg80211_check_station_change EXPORT_SYMBOL net/wireless/cfg80211 0xab6a76c0 cfg80211_put_bss EXPORT_SYMBOL net/wireless/cfg80211 0xad09038b cfg80211_auth_timeout -EXPORT_SYMBOL net/wireless/cfg80211 0xad4a479d cfg80211_cqm_txe_notify -EXPORT_SYMBOL net/wireless/cfg80211 0xae62a4dc cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xafb479a8 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xb1862fc8 cfg80211_nan_func_terminated EXPORT_SYMBOL net/wireless/cfg80211 0xb3a96103 cfg80211_ref_bss EXPORT_SYMBOL net/wireless/cfg80211 0xb4458a98 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xb499ef77 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xb5235cd8 cfg80211_update_owe_info_event EXPORT_SYMBOL net/wireless/cfg80211 0xb73aafb1 ieee80211_chandef_to_operating_class -EXPORT_SYMBOL net/wireless/cfg80211 0xb845a3ee cfg80211_cqm_beacon_loss_notify -EXPORT_SYMBOL net/wireless/cfg80211 0xb8ed1a32 cfg80211_ch_switch_started_notify EXPORT_SYMBOL net/wireless/cfg80211 0xbacf417f cfg80211_rx_mgmt_khz -EXPORT_SYMBOL net/wireless/cfg80211 0xbfaed301 cfg80211_report_wowlan_wakeup -EXPORT_SYMBOL net/wireless/cfg80211 0xc008b201 cfg80211_get_station EXPORT_SYMBOL net/wireless/cfg80211 0xc1b99792 ieee80211_channel_to_freq_khz EXPORT_SYMBOL net/wireless/cfg80211 0xc43d7589 wiphy_apply_custom_regulatory EXPORT_SYMBOL net/wireless/cfg80211 0xc5dcacef ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0xc7631b61 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0xc7cc8a90 cfg80211_check_combinations EXPORT_SYMBOL net/wireless/cfg80211 0xc928a658 cfg80211_roamed EXPORT_SYMBOL net/wireless/cfg80211 0xc94ce8a9 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xca9dc35f cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xcbdb46d5 __cfg80211_alloc_event_skb EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited -EXPORT_SYMBOL net/wireless/cfg80211 0xcf045684 cfg80211_rx_unprot_mlme_mgmt -EXPORT_SYMBOL net/wireless/cfg80211 0xd43da827 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xd30a31f0 ieee80211_get_channel_khz EXPORT_SYMBOL net/wireless/cfg80211 0xd5474426 cfg80211_get_bss EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen -EXPORT_SYMBOL net/wireless/cfg80211 0xd56e982c ieee80211_get_num_supported_channels EXPORT_SYMBOL net/wireless/cfg80211 0xd611fc2b cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0xd7fbaf1f ieee80211_get_hdrlen_from_skb EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name -EXPORT_SYMBOL net/wireless/cfg80211 0xdbd03428 cfg80211_remain_on_channel_expired EXPORT_SYMBOL net/wireless/cfg80211 0xde279050 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xe0626970 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xe097f0f2 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xe25d459c ieee80211_amsdu_to_8023s EXPORT_SYMBOL net/wireless/cfg80211 0xe334e6df cfg80211_sinfo_alloc_tid_stats -EXPORT_SYMBOL net/wireless/cfg80211 0xe349f818 cfg80211_check_station_change -EXPORT_SYMBOL net/wireless/cfg80211 0xe580e2ea cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xe69481ad cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe7365177 cfg80211_probe_status EXPORT_SYMBOL net/wireless/cfg80211 0xe85fef5e cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xe88507ae cfg80211_rx_control_port EXPORT_SYMBOL net/wireless/cfg80211 0xe8dcac3a wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0xe9dfbcac cfg80211_cqm_txe_notify EXPORT_SYMBOL net/wireless/cfg80211 0xe9ef753c regulatory_hint -EXPORT_SYMBOL net/wireless/cfg80211 0xea0d8ebb cfg80211_nan_func_terminated -EXPORT_SYMBOL net/wireless/cfg80211 0xea20874e ieee80211_amsdu_to_8023s -EXPORT_SYMBOL net/wireless/cfg80211 0xea40cf59 cfg80211_probe_status EXPORT_SYMBOL net/wireless/cfg80211 0xef265f27 cfg80211_chandef_create EXPORT_SYMBOL net/wireless/cfg80211 0xef55d10d cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xefb71770 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xefd552bd cfg80211_tx_mgmt_expired EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr EXPORT_SYMBOL net/wireless/cfg80211 0xf760539e wiphy_free EXPORT_SYMBOL net/wireless/cfg80211 0xf8af6ec1 cfg80211_inform_bss_data -EXPORT_SYMBOL net/wireless/cfg80211 0xfae34269 ieee80211_data_to_8023_exthdr EXPORT_SYMBOL net/wireless/cfg80211 0xfb28b910 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xfb8a1602 cfg80211_iftype_allowed EXPORT_SYMBOL net/wireless/cfg80211 0xfc593f41 regulatory_set_wiphy_regd_sync -EXPORT_SYMBOL net/wireless/cfg80211 0xfc9e693a ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xfe63fcd6 cfg80211_report_wowlan_wakeup EXPORT_SYMBOL net/wireless/cfg80211 0xff935097 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xfffc3515 cfg80211_ch_switch_started_notify EXPORT_SYMBOL net/wireless/lib80211 0x17a76888 lib80211_register_crypto_ops EXPORT_SYMBOL net/wireless/lib80211 0x5179f826 lib80211_get_crypto_ops EXPORT_SYMBOL net/wireless/lib80211 0x89cd9b9d lib80211_crypt_delayed_deinit @@ -6004,7 +6004,7 @@ EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe3877b05 snd_trident_stop_voice EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xea74f232 bt_uart_enable EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0x66a93fd8 adau1372_probe -EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x78e0191f wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x0f657603 wsa_macro_set_spkr_mode EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x0061c0b4 pcm3060_regmap EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xbf0b467c pcm3060_probe EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw @@ -6015,75 +6015,75 @@ EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xd376a306 aic32x4_remove EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x2e4280fb aic3x_probe EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0xdb0c8cda aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x0f070701 wcd_mbhc_start EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance -EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x46f40123 wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x71845044 wcd_mbhc_init EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type -EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x85600eac wcd_dt_parse_mbhc_data EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xa5758a49 wcd_mbhc_get_hph_type -EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xb68cea7d wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xc0e3d9aa wcd_dt_parse_mbhc_data EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd094df47 wcd_mbhc_deinit EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xe2beca26 wcd_mbhc_stop -EXPORT_SYMBOL sound/soc/snd-soc-core 0xdb4beee7 snd_soc_alloc_ac97_component -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x03c54f0b snd_sof_dsp_update_bits_unlocked -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x04238a8f snd_sof_run_firmware -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x05a42e48 snd_sof_dsp_panic -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0f6f9d0e snd_sof_release_trace -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x12d69d2a sof_block_write -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x16df895e sof_block_read -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x19c5cc38 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/snd-soc-core 0x63d87a55 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x045f3b33 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0e620aba sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1ae7304c sof_pcm_dai_link_fixup EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d22a5ea sof_ipc_tx_message_no_pm -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2043616f snd_sof_dsp_update_bits64 -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x21fa5607 sof_dai_get_mclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1e38e807 snd_sof_ipc_init EXPORT_SYMBOL sound/soc/sof/snd-sof 0x22b10ed8 snd_sof_device_shutdown -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x23a04725 snd_sof_ipc_stream_posn EXPORT_SYMBOL sound/soc/sof/snd-sof 0x23b400ba snd_sof_runtime_idle -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x30264c86 snd_sof_ipc_set_get_comp_data -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x352236a4 sof_dai_get_bclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x27c12cdb sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2c94f455 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2e34277d sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x33b3a50c snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x37471087 snd_sof_get_status +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3a0652a1 sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x43bc8df5 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x441ef446 sof_block_read EXPORT_SYMBOL sound/soc/sof/snd-sof 0x465ccb9e snd_sof_runtime_resume -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x521fb9ed sof_machine_unregister -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x537a8ea6 sof_mailbox_read -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x59bd4e00 snd_sof_init_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x504bf2b0 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x52ab27f0 snd_sof_trace_notify_for_error +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x52ff0159 snd_sof_load_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x57df569c snd_sof_dsp_update_bits EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5d55f377 snd_sof_create_page_table +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5e058050 snd_sof_ipc_valid EXPORT_SYMBOL sound/soc/sof/snd-sof 0x60d17dbb snd_sof_device_remove -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x636e3088 snd_sof_get_status -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6b80fd26 snd_sof_ipc_valid -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6c2c14a8 snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6e2c6dc3 sof_io_read EXPORT_SYMBOL sound/soc/sof/snd-sof 0x70cceca7 snd_sof_resume -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7510de8c sof_mailbox_write -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7814811a sof_machine_check -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7b215344 snd_sof_fw_parse_ext_data -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7f1a28f4 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x714f90e5 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7657f525 snd_sof_fw_parse_ext_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7dd32ec2 snd_sof_parse_module_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7ec7c52b snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7fce368f snd_sof_ipc_set_get_comp_data EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8133ac57 snd_sof_complete -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8249d538 sof_pcm_dai_link_fixup -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x86dfdddb snd_sof_ipc_reply -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8b04ee81 snd_sof_device_probe -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9639edf5 sof_io_read -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x99b49213 snd_sof_load_firmware -EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9cb750ba snd_sof_ipc_init -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa253b732 snd_sof_parse_module_memcpy -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa38bf8a3 snd_sof_load_firmware_raw -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa5276ad5 snd_sof_trace_notify_for_error -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa97bbded snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8a36e06c snd_sof_ipc_msgs_rx +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8ab94c29 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8e49b975 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x90b2d9fc sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9371c8f5 snd_sof_dsp_mailbox_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9a77bb5e sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa208c3da sof_dai_get_mclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa4ba7d17 snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaa1f8200 snd_sof_run_firmware EXPORT_SYMBOL sound/soc/sof/snd-sof 0xab433c42 snd_sof_device_probe_completed -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xacb67f58 sof_io_write -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xad296f88 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaba0fed3 snd_sof_pci_update_bits EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb1150ca2 snd_sof_pcm_period_elapsed EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb16483db snd_sof_prepare EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb2372c05 snd_sof_suspend -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb2aee82c snd_sof_dsp_update_bits64_unlocked -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb40a1583 snd_sof_dsp_update_bits_forced -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb86057e6 snd_sof_dsp_mailbox_init -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbf762f41 snd_sof_fw_unload -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc25f88f5 snd_sof_dsp_only_d0i3_compatible_stream_active -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcccf5b6b snd_sof_ipc_msgs_rx -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xce865e98 sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb23a28fd snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb405b2fa snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbb7ca68f snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbe14bca3 snd_sof_dsp_panic EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcfdc5f98 sof_ipc_tx_message -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd12cf95d sof_io_read64 -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe538f01c sof_fw_ready -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe7230a84 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe38d3e60 sof_fw_ready +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe4f80241 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe76676b9 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xea040cad snd_sof_ipc_stream_posn +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xea737863 snd_sof_release_trace EXPORT_SYMBOL sound/soc/sof/snd-sof 0xed04342a snd_sof_runtime_suspend -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf51ef8b5 sof_io_write64 -EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf88c9589 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xef095d8a snd_sof_free_trace +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf3d4455b sof_dai_get_bclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf3e8be6f sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf598ebdb snd_sof_load_firmware_memcpy EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer EXPORT_SYMBOL sound/soundcore 0x835c5458 register_sound_special_device EXPORT_SYMBOL sound/soundcore 0x967d189a register_sound_special @@ -6113,42 +6113,47 @@ EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xb2af19e1 snd_usbmidi_resume EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xbed43a41 snd_usbmidi_suspend EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect -EXPORT_SYMBOL vmlinux 0x000a8fb6 xsk_set_rx_need_wakeup EXPORT_SYMBOL vmlinux 0x00148653 vsnprintf +EXPORT_SYMBOL vmlinux 0x0014c1eb sock_set_mark EXPORT_SYMBOL vmlinux 0x00155fbe __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x00311d3c netlink_broadcast_filtered EXPORT_SYMBOL vmlinux 0x0032e3e3 bio_add_page +EXPORT_SYMBOL vmlinux 0x005b53ff __skb_flow_get_ports EXPORT_SYMBOL vmlinux 0x005d53e4 set_page_dirty -EXPORT_SYMBOL vmlinux 0x005e4f9b skb_set_owner_w -EXPORT_SYMBOL vmlinux 0x0068cfea udp_sendmsg EXPORT_SYMBOL vmlinux 0x00732501 find_get_pages_range_tag EXPORT_SYMBOL vmlinux 0x0080a82e __mdiobus_read +EXPORT_SYMBOL vmlinux 0x008356fb ipv6_chk_custom_prefix EXPORT_SYMBOL vmlinux 0x0087a3ea import_iovec EXPORT_SYMBOL vmlinux 0x0091ac35 ram_aops EXPORT_SYMBOL vmlinux 0x009ba573 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x009d04e8 xfrm_policy_register_afinfo EXPORT_SYMBOL vmlinux 0x00a4b044 amd_iommu_deactivate_guest_mode EXPORT_SYMBOL vmlinux 0x00a8209d is_nd_pfn -EXPORT_SYMBOL vmlinux 0x00b2a03d inet_csk_init_xmit_timers EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode EXPORT_SYMBOL vmlinux 0x00b95c3f vfs_symlink -EXPORT_SYMBOL vmlinux 0x00d54a51 xfrm_register_km EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count -EXPORT_SYMBOL vmlinux 0x00e43afc udp_seq_start EXPORT_SYMBOL vmlinux 0x00ed0f00 __brelse EXPORT_SYMBOL vmlinux 0x00f7e5e4 invalidate_inode_buffers EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0101310c xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x0101ac48 __dev_direct_xmit EXPORT_SYMBOL vmlinux 0x010a8765 eisa_bus_type +EXPORT_SYMBOL vmlinux 0x0118299b tcp_get_md5sig_pool EXPORT_SYMBOL vmlinux 0x011bab86 prepare_creds EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub EXPORT_SYMBOL vmlinux 0x0145ca79 pci_release_regions EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on EXPORT_SYMBOL vmlinux 0x0148b8be vme_register_driver +EXPORT_SYMBOL vmlinux 0x0149d7bf tcp_v4_destroy_sock EXPORT_SYMBOL vmlinux 0x014e3450 genphy_handle_interrupt_no_ack -EXPORT_SYMBOL vmlinux 0x0151f3ce xsk_tx_release EXPORT_SYMBOL vmlinux 0x015af7f4 system_state EXPORT_SYMBOL vmlinux 0x01641931 acpi_device_set_power +EXPORT_SYMBOL vmlinux 0x0165983a skb_flow_dissect_ct EXPORT_SYMBOL vmlinux 0x0167a01a agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x01693509 tcf_idr_create EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x017e5be8 tcf_idr_check_alloc EXPORT_SYMBOL vmlinux 0x018301cd make_kgid EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent @@ -6158,32 +6163,38 @@ EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note EXPORT_SYMBOL vmlinux 0x01d74607 phy_connect_direct EXPORT_SYMBOL vmlinux 0x01e099d1 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x01e4f57d sock_wmalloc EXPORT_SYMBOL vmlinux 0x01e97374 fb_show_logo -EXPORT_SYMBOL vmlinux 0x01f3e529 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x01fa473f qdisc_watchdog_init_clockid EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020a6e74 xsk_clear_rx_need_wakeup EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc -EXPORT_SYMBOL vmlinux 0x0214c847 tcf_block_put EXPORT_SYMBOL vmlinux 0x0228925f iowrite64_hi_lo EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops EXPORT_SYMBOL vmlinux 0x022ba20a vme_bus_num +EXPORT_SYMBOL vmlinux 0x0230ee1a phy_ethtool_nway_reset EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu EXPORT_SYMBOL vmlinux 0x023d1b90 wrmsr_on_cpu EXPORT_SYMBOL vmlinux 0x0240bbba devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x0247afba eth_get_headlen EXPORT_SYMBOL vmlinux 0x0248efd3 kstrtobool_from_user EXPORT_SYMBOL vmlinux 0x025fbdb6 phy_drivers_register EXPORT_SYMBOL vmlinux 0x0272fc45 unregister_mii_tstamp_controller EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0283d0e5 netdev_master_upper_dev_get EXPORT_SYMBOL vmlinux 0x028a9d8d tty_unthrottle EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate EXPORT_SYMBOL vmlinux 0x02b544f1 __traceiter_mmap_lock_released EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02ba5bf8 cookie_ecn_ok EXPORT_SYMBOL vmlinux 0x02bd25d7 clocksource_unregister EXPORT_SYMBOL vmlinux 0x02c1ed80 seq_puts EXPORT_SYMBOL vmlinux 0x02c656b6 acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x02cd9c02 mr_table_dump EXPORT_SYMBOL vmlinux 0x02d64ee5 ptp_find_pin EXPORT_SYMBOL vmlinux 0x0301efd5 blk_queue_virt_boundary -EXPORT_SYMBOL vmlinux 0x0304227c ppp_unregister_channel EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x03349d79 xfrm_policy_alloc EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl EXPORT_SYMBOL vmlinux 0x0343f5a8 blk_rq_append_bio EXPORT_SYMBOL vmlinux 0x03558161 tty_port_init @@ -6191,29 +6202,34 @@ EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest EXPORT_SYMBOL vmlinux 0x0362f9a8 __x86_indirect_thunk_r12 EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x036b950c xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x0376a915 netif_device_detach EXPORT_SYMBOL vmlinux 0x0379ce7b read_cache_page EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037e03b3 unlock_page_memcg EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity EXPORT_SYMBOL vmlinux 0x0381d2a5 mmc_calc_max_discard -EXPORT_SYMBOL vmlinux 0x0388aede xsk_tx_peek_desc EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x039f23c6 udp_gro_complete EXPORT_SYMBOL vmlinux 0x03bf0e5a acpi_walk_resource_buffer -EXPORT_SYMBOL vmlinux 0x03d223b1 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x03d85f78 xp_set_rxq_info EXPORT_SYMBOL vmlinux 0x03e7c92a __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x03e93d6e xfrm_find_acq_byseq EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram EXPORT_SYMBOL vmlinux 0x04025ea6 f_setown -EXPORT_SYMBOL vmlinux 0x041feb1b napi_gro_flush +EXPORT_SYMBOL vmlinux 0x0413173f scm_fp_dup +EXPORT_SYMBOL vmlinux 0x043a039e __sk_mem_reduce_allocated EXPORT_SYMBOL vmlinux 0x0440b430 iov_iter_init EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator -EXPORT_SYMBOL vmlinux 0x0473d386 __skb_flow_get_ports EXPORT_SYMBOL vmlinux 0x0474edef kstrtou16_from_user EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu EXPORT_SYMBOL vmlinux 0x047a44f2 mntput EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only EXPORT_SYMBOL vmlinux 0x04ac84b8 param_set_ulong -EXPORT_SYMBOL vmlinux 0x04b5447d sk_free EXPORT_SYMBOL vmlinux 0x04b86d3d dns_query +EXPORT_SYMBOL vmlinux 0x04baeeb8 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x04bd341e ip_getsockopt EXPORT_SYMBOL vmlinux 0x04c62fd7 __memset EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi EXPORT_SYMBOL vmlinux 0x04d9bf4e blk_set_stacking_limits @@ -6221,58 +6237,51 @@ EXPORT_SYMBOL vmlinux 0x04f7ab17 devm_extcon_register_notifier EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match EXPORT_SYMBOL vmlinux 0x050a5561 key_move -EXPORT_SYMBOL vmlinux 0x050b5f31 nf_register_net_hook EXPORT_SYMBOL vmlinux 0x050cd909 dma_resv_copy_fences EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0526b850 inet6_add_offload EXPORT_SYMBOL vmlinux 0x052cda19 rproc_get_by_child -EXPORT_SYMBOL vmlinux 0x0536b750 udp_pre_connect +EXPORT_SYMBOL vmlinux 0x052e8970 inet_sk_rx_dst_set EXPORT_SYMBOL vmlinux 0x05445b5e phy_loopback EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x054dc946 vif_device_init EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 -EXPORT_SYMBOL vmlinux 0x0560582b reuseport_migrate_sock -EXPORT_SYMBOL vmlinux 0x0582e8b9 netlink_set_err -EXPORT_SYMBOL vmlinux 0x05963fb5 ipv4_dst_check EXPORT_SYMBOL vmlinux 0x059e1482 __traceiter_dma_fence_emit EXPORT_SYMBOL vmlinux 0x05b51d79 fs_param_is_path -EXPORT_SYMBOL vmlinux 0x05c9ed60 netif_device_detach +EXPORT_SYMBOL vmlinux 0x05c7d0d3 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x05dadaee unregister_nexthop_notifier EXPORT_SYMBOL vmlinux 0x05dcd0c9 freezing_slow_path -EXPORT_SYMBOL vmlinux 0x05e45de2 qdisc_hash_del EXPORT_SYMBOL vmlinux 0x05e638bf deactivate_super +EXPORT_SYMBOL vmlinux 0x05eed9d5 ipv4_mtu EXPORT_SYMBOL vmlinux 0x05f3efdd cdev_set_parent EXPORT_SYMBOL vmlinux 0x06052f8d __memmove +EXPORT_SYMBOL vmlinux 0x060b2e9d inet_ioctl EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner -EXPORT_SYMBOL vmlinux 0x060d26ca ipv4_specific EXPORT_SYMBOL vmlinux 0x061651be strcat EXPORT_SYMBOL vmlinux 0x06224b78 agp_generic_insert_memory EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user -EXPORT_SYMBOL vmlinux 0x063f5541 pneigh_lookup EXPORT_SYMBOL vmlinux 0x063fca03 devfreq_suspend_device EXPORT_SYMBOL vmlinux 0x0646eac6 cdev_add EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul EXPORT_SYMBOL vmlinux 0x066f688e __hw_addr_ref_unsync_dev EXPORT_SYMBOL vmlinux 0x0677e712 kernel_write -EXPORT_SYMBOL vmlinux 0x067a2b01 __cpuhp_remove_state_cpuslocked EXPORT_SYMBOL vmlinux 0x0696f0c3 kmalloc_caches EXPORT_SYMBOL vmlinux 0x0699de2e bio_integrity_add_page EXPORT_SYMBOL vmlinux 0x06a86bc1 iowrite16 -EXPORT_SYMBOL vmlinux 0x06b25f44 dev_get_stats EXPORT_SYMBOL vmlinux 0x06b3ff75 jbd2_journal_dirty_metadata EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen EXPORT_SYMBOL vmlinux 0x06bf8ac5 get_agp_version EXPORT_SYMBOL vmlinux 0x06c86082 dma_sync_wait -EXPORT_SYMBOL vmlinux 0x06e2244c security_sb_remount -EXPORT_SYMBOL vmlinux 0x06e7bc8a inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x06eb2038 xfrm_input_register_afinfo EXPORT_SYMBOL vmlinux 0x07038e9e seq_release_private -EXPORT_SYMBOL vmlinux 0x0705ceb7 sock_no_bind EXPORT_SYMBOL vmlinux 0x0706edf9 vga_switcheroo_lock_ddc +EXPORT_SYMBOL vmlinux 0x07091d48 dev_set_mtu EXPORT_SYMBOL vmlinux 0x0713288a __mod_zone_page_state -EXPORT_SYMBOL vmlinux 0x071bb795 xsk_clear_tx_need_wakeup EXPORT_SYMBOL vmlinux 0x071ddef8 set_pages_array_wc EXPORT_SYMBOL vmlinux 0x0726ea6c mmput_async EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw EXPORT_SYMBOL vmlinux 0x0737dfa2 mipi_dsi_set_maximum_return_packet_size -EXPORT_SYMBOL vmlinux 0x073e65cb icmp6_send EXPORT_SYMBOL vmlinux 0x0742f656 devm_of_iomap EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase EXPORT_SYMBOL vmlinux 0x0754d567 generic_iommu_put_resv_regions @@ -6280,17 +6289,16 @@ EXPORT_SYMBOL vmlinux 0x0763a55d fs_param_is_blob EXPORT_SYMBOL vmlinux 0x07748724 pci_enable_device_mem EXPORT_SYMBOL vmlinux 0x077dd12f input_close_device -EXPORT_SYMBOL vmlinux 0x078826e9 proto_unregister +EXPORT_SYMBOL vmlinux 0x0788a451 netpoll_poll_disable EXPORT_SYMBOL vmlinux 0x078b1e38 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x07a3129e sk_stream_kill_queues EXPORT_SYMBOL vmlinux 0x07a4b079 vme_bus_error_handler EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap -EXPORT_SYMBOL vmlinux 0x07ab9815 skb_copy_bits -EXPORT_SYMBOL vmlinux 0x07c2570f reuseport_stop_listen_sock EXPORT_SYMBOL vmlinux 0x07c3e680 fs_context_for_reconfigure EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit EXPORT_SYMBOL vmlinux 0x07ce0401 configfs_register_default_group EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list -EXPORT_SYMBOL vmlinux 0x07da3537 security_sk_clone +EXPORT_SYMBOL vmlinux 0x07e4ebe5 neigh_lookup_nodev EXPORT_SYMBOL vmlinux 0x07ef23ec devm_get_clk_from_child EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace EXPORT_SYMBOL vmlinux 0x07f5e2cc pcie_set_readrq @@ -6301,28 +6309,25 @@ EXPORT_SYMBOL vmlinux 0x08118637 remove_proc_subtree EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x0825a722 phy_do_ioctl_running EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister EXPORT_SYMBOL vmlinux 0x086711b1 mark_buffer_async_write EXPORT_SYMBOL vmlinux 0x086777e4 vfio_unregister_notifier -EXPORT_SYMBOL vmlinux 0x0868fc11 __netif_napi_del EXPORT_SYMBOL vmlinux 0x086a217b vfs_link EXPORT_SYMBOL vmlinux 0x086e12af __wait_on_buffer -EXPORT_SYMBOL vmlinux 0x08756fa3 napi_get_frags EXPORT_SYMBOL vmlinux 0x087a7e87 devfreq_remove_device -EXPORT_SYMBOL vmlinux 0x087c040d xfrm4_rcv EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc -EXPORT_SYMBOL vmlinux 0x089238df phy_ethtool_get_wol -EXPORT_SYMBOL vmlinux 0x08a30cb6 netif_set_real_num_queues EXPORT_SYMBOL vmlinux 0x08a39b2f flow_rule_match_meta EXPORT_SYMBOL vmlinux 0x08a703f8 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x08ae0cfc __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x08d514b5 fget_raw EXPORT_SYMBOL vmlinux 0x08f330dc csum_and_copy_to_iter -EXPORT_SYMBOL vmlinux 0x090c1e7f netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x09059cc1 xsk_tx_peek_desc EXPORT_SYMBOL vmlinux 0x092354bf ioc_lookup_icq EXPORT_SYMBOL vmlinux 0x09236407 input_register_device EXPORT_SYMBOL vmlinux 0x0924e653 wireless_send_event EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler -EXPORT_SYMBOL vmlinux 0x09360e7b security_sctp_assoc_request EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects EXPORT_SYMBOL vmlinux 0x0965545e mmc_of_parse_clk_phase EXPORT_SYMBOL vmlinux 0x096780d8 pci_ep_cfs_remove_epf_group @@ -6331,11 +6336,12 @@ EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies EXPORT_SYMBOL vmlinux 0x097c5c8d agp_free_memory +EXPORT_SYMBOL vmlinux 0x09847040 sk_ns_capable EXPORT_SYMBOL vmlinux 0x09854c87 fb_is_primary_device EXPORT_SYMBOL vmlinux 0x0985b72f input_set_keycode EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap EXPORT_SYMBOL vmlinux 0x0998cc3c hdmi_infoframe_unpack -EXPORT_SYMBOL vmlinux 0x099e3a20 napi_enable +EXPORT_SYMBOL vmlinux 0x09993eb2 netpoll_send_udp EXPORT_SYMBOL vmlinux 0x09af3976 pm860x_bulk_write EXPORT_SYMBOL vmlinux 0x09bcea14 may_umount_tree EXPORT_SYMBOL vmlinux 0x09c29df1 pnp_get_resource @@ -6346,62 +6352,63 @@ EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg EXPORT_SYMBOL vmlinux 0x0a1dbc76 tcp_rx_skb_cache_key -EXPORT_SYMBOL vmlinux 0x0a43fb79 udp_gro_complete -EXPORT_SYMBOL vmlinux 0x0a552be7 tcp_enter_quickack_mode -EXPORT_SYMBOL vmlinux 0x0a593081 tcp_md5_do_add -EXPORT_SYMBOL vmlinux 0x0a5d9852 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x0a524297 tcf_idr_search EXPORT_SYMBOL vmlinux 0x0a65d625 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x0a66c457 inetdev_by_index EXPORT_SYMBOL vmlinux 0x0a68165d seq_printf +EXPORT_SYMBOL vmlinux 0x0a695fa5 neigh_app_ns EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier EXPORT_SYMBOL vmlinux 0x0a865b32 rproc_alloc EXPORT_SYMBOL vmlinux 0x0a894f55 seq_read_iter -EXPORT_SYMBOL vmlinux 0x0a92ec74 boot_cpu_data EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0ab6a312 netdev_next_lower_dev_rcu EXPORT_SYMBOL vmlinux 0x0ac8394c genphy_soft_reset EXPORT_SYMBOL vmlinux 0x0ac9894d d_instantiate EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all EXPORT_SYMBOL vmlinux 0x0acfd683 lease_get_mtime -EXPORT_SYMBOL vmlinux 0x0ad19c24 __dynamic_dev_dbg EXPORT_SYMBOL vmlinux 0x0ad89e25 __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x0aefa868 in_dev_finish_destroy EXPORT_SYMBOL vmlinux 0x0b12091e dm_table_get_size EXPORT_SYMBOL vmlinux 0x0b19b445 ioread8 EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc EXPORT_SYMBOL vmlinux 0x0b2766a7 simple_symlink_inode_operations EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk -EXPORT_SYMBOL vmlinux 0x0b2c7150 netdev_name_node_alt_create -EXPORT_SYMBOL vmlinux 0x0b337dc1 inet_csk_reqsk_queue_drop_and_put EXPORT_SYMBOL vmlinux 0x0b48c733 read_art EXPORT_SYMBOL vmlinux 0x0b637410 cr4_update_irqsoff -EXPORT_SYMBOL vmlinux 0x0b6620c9 tso_start +EXPORT_SYMBOL vmlinux 0x0b6a8282 skb_copy_expand EXPORT_SYMBOL vmlinux 0x0b6d5467 genphy_setup_forced EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b87ffaf udp_lib_getsockopt EXPORT_SYMBOL vmlinux 0x0b97090c ww_mutex_lock_interruptible EXPORT_SYMBOL vmlinux 0x0b97a937 devfreq_monitor_suspend EXPORT_SYMBOL vmlinux 0x0b9af17a dma_resv_init EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk EXPORT_SYMBOL vmlinux 0x0bbfa78c set_security_override_from_ctx EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bc808c1 inet_sock_destruct EXPORT_SYMBOL vmlinux 0x0bd80042 lock_two_nondirectories EXPORT_SYMBOL vmlinux 0x0bd87501 i2c_del_adapter EXPORT_SYMBOL vmlinux 0x0bfc1d1a check_zeroed_user EXPORT_SYMBOL vmlinux 0x0c0f79af ZSTD_getDictID_fromFrame EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c271164 sock_set_reuseport EXPORT_SYMBOL vmlinux 0x0c2df957 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x0c34a3df rtnl_set_sk_err EXPORT_SYMBOL vmlinux 0x0c3690fc _raw_spin_lock_bh EXPORT_SYMBOL vmlinux 0x0c459875 vlan_vid_add EXPORT_SYMBOL vmlinux 0x0c49e3e7 dma_map_resource EXPORT_SYMBOL vmlinux 0x0c538bc9 vfs_rename +EXPORT_SYMBOL vmlinux 0x0c54cedc sk_dst_check EXPORT_SYMBOL vmlinux 0x0c575719 __cond_resched_rwlock_write -EXPORT_SYMBOL vmlinux 0x0c5f426e skb_flow_get_icmp_tci EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read -EXPORT_SYMBOL vmlinux 0x0c7195fc inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x0c74b3c0 netpoll_poll_enable EXPORT_SYMBOL vmlinux 0x0c76ca09 finalize_exec +EXPORT_SYMBOL vmlinux 0x0c81ad20 udp_lib_setsockopt EXPORT_SYMBOL vmlinux 0x0c876f8d unregister_quota_format EXPORT_SYMBOL vmlinux 0x0c8fc13f generic_file_llseek_size EXPORT_SYMBOL vmlinux 0x0cafbcb7 proc_create_seq_private -EXPORT_SYMBOL vmlinux 0x0cb4f6d3 tcf_exts_terse_dump EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false EXPORT_SYMBOL vmlinux 0x0ccbe3f4 scsi_device_put EXPORT_SYMBOL vmlinux 0x0ccd3834 locks_lock_inode_wait @@ -6410,93 +6417,94 @@ EXPORT_SYMBOL vmlinux 0x0cdffabb tag_pages_for_writeback EXPORT_SYMBOL vmlinux 0x0ce2ce2e genphy_c37_read_status EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev -EXPORT_SYMBOL vmlinux 0x0d21f42a dev_change_proto_down_reason -EXPORT_SYMBOL vmlinux 0x0d30764c ip_local_deliver EXPORT_SYMBOL vmlinux 0x0d3c560e proc_symlink EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type -EXPORT_SYMBOL vmlinux 0x0d547231 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x0d55dfdd sk_wait_data EXPORT_SYMBOL vmlinux 0x0d5b1352 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x0d6009e9 tcp_enter_quickack_mode EXPORT_SYMBOL vmlinux 0x0d61eeee __bitmap_subset EXPORT_SYMBOL vmlinux 0x0d672ea5 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x0d6894e8 dev_loopback_xmit EXPORT_SYMBOL vmlinux 0x0d7029a9 scsi_eh_prep_cmnd -EXPORT_SYMBOL vmlinux 0x0d8680c8 phy_config_aneg +EXPORT_SYMBOL vmlinux 0x0d837e4f dev_close EXPORT_SYMBOL vmlinux 0x0d891c8f scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x0d94ddd6 neigh_table_init EXPORT_SYMBOL vmlinux 0x0d9df306 get_tree_nodev EXPORT_SYMBOL vmlinux 0x0db42665 __SCK__tp_func_dma_fence_enable_signal EXPORT_SYMBOL vmlinux 0x0de0bd34 d_add_ci -EXPORT_SYMBOL vmlinux 0x0deb153d netif_receive_skb_core EXPORT_SYMBOL vmlinux 0x0dedf585 find_inode_by_ino_rcu EXPORT_SYMBOL vmlinux 0x0e045e72 setup_new_exec EXPORT_SYMBOL vmlinux 0x0e07eabc __breadahead_gfp EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 EXPORT_SYMBOL vmlinux 0x0e23b37f alloc_cpumask_var_node -EXPORT_SYMBOL vmlinux 0x0e27eebe ipv6_dev_get_saddr -EXPORT_SYMBOL vmlinux 0x0e3ee3b4 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x0e3bf7ba tcp_syn_ack_timeout EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned -EXPORT_SYMBOL vmlinux 0x0e707502 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x0e67bef4 ip_generic_getfrag EXPORT_SYMBOL vmlinux 0x0e74ad2d utf8ncursor EXPORT_SYMBOL vmlinux 0x0e79d161 cros_ec_cmd_xfer_status EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init -EXPORT_SYMBOL vmlinux 0x0eadf71a dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x0ea774c4 rtnl_configure_link EXPORT_SYMBOL vmlinux 0x0eafb9fd clear_bdi_congested EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ebb627e arp_xmit EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free -EXPORT_SYMBOL vmlinux 0x0ece7c3e __cgroup_bpf_run_filter_sock_addr EXPORT_SYMBOL vmlinux 0x0ee37fb2 serio_unregister_driver EXPORT_SYMBOL vmlinux 0x0eecc243 is_nd_btt +EXPORT_SYMBOL vmlinux 0x0eff4273 icmp_ndo_send EXPORT_SYMBOL vmlinux 0x0f0692cc fb_set_suspend EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero EXPORT_SYMBOL vmlinux 0x0f6897c7 proc_mkdir -EXPORT_SYMBOL vmlinux 0x0f75c4b3 sock_i_ino -EXPORT_SYMBOL vmlinux 0x0f7ac768 sock_queue_rcv_skb EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn EXPORT_SYMBOL vmlinux 0x0fa32a7d pci_clear_master -EXPORT_SYMBOL vmlinux 0x0fa48f7e dst_alloc EXPORT_SYMBOL vmlinux 0x0fa7a301 max8925_set_bits EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0fb09241 ip_output EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 -EXPORT_SYMBOL vmlinux 0x0fc0f5d5 tcf_idr_search EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create EXPORT_SYMBOL vmlinux 0x0fe09a62 jbd2_journal_init_dev -EXPORT_SYMBOL vmlinux 0x0fe4b82f __cpuhp_setup_state_cpuslocked -EXPORT_SYMBOL vmlinux 0x0fe69f8b km_state_notify EXPORT_SYMBOL vmlinux 0x0ff80f59 zalloc_cpumask_var EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x1009210e sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x100fbc59 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x1017508b security_inode_copy_up EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region EXPORT_SYMBOL vmlinux 0x105390c4 i2c_smbus_read_word_data EXPORT_SYMBOL vmlinux 0x1057a279 bsearch EXPORT_SYMBOL vmlinux 0x1057ea70 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x1062ea17 tcf_exts_validate EXPORT_SYMBOL vmlinux 0x1066bd44 locks_delete_block EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe -EXPORT_SYMBOL vmlinux 0x1078f955 netdev_get_xmit_slave EXPORT_SYMBOL vmlinux 0x107be0b0 percpu_counter_sync EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd EXPORT_SYMBOL vmlinux 0x10807511 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x10897259 neigh_xmit EXPORT_SYMBOL vmlinux 0x10908ff5 param_get_short -EXPORT_SYMBOL vmlinux 0x109d92a9 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x10ade251 seg6_hmac_info_lookup EXPORT_SYMBOL vmlinux 0x10c3f57e __gnet_stats_copy_queue EXPORT_SYMBOL vmlinux 0x10d56d29 uart_add_one_port EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find EXPORT_SYMBOL vmlinux 0x10e4965f param_get_long EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range -EXPORT_SYMBOL vmlinux 0x10fdbc3e napi_disable EXPORT_SYMBOL vmlinux 0x11056919 __frontswap_test EXPORT_SYMBOL vmlinux 0x11077475 seq_write EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype -EXPORT_SYMBOL vmlinux 0x1109ff9e skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x112fc531 inet_sendpage EXPORT_SYMBOL vmlinux 0x1139341b migrate_page_move_mapping EXPORT_SYMBOL vmlinux 0x11431c65 convert_tsc_to_art -EXPORT_SYMBOL vmlinux 0x11447a2f skb_dequeue EXPORT_SYMBOL vmlinux 0x114613f1 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x1150b488 pfifo_fast_ops EXPORT_SYMBOL vmlinux 0x116ce457 cpufreq_generic_suspend EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init -EXPORT_SYMBOL vmlinux 0x11716945 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x117d894e km_state_expired EXPORT_SYMBOL vmlinux 0x1197bf4f param_ops_ulong +EXPORT_SYMBOL vmlinux 0x119af95e __dev_get_by_flags EXPORT_SYMBOL vmlinux 0x119bae96 kernel_read +EXPORT_SYMBOL vmlinux 0x119db988 dcb_ieee_setapp EXPORT_SYMBOL vmlinux 0x11a1a156 bdev_dax_pgoff +EXPORT_SYMBOL vmlinux 0x11b26170 __xfrm_decode_session EXPORT_SYMBOL vmlinux 0x11b76cfd serio_unregister_port EXPORT_SYMBOL vmlinux 0x11c1f680 finish_no_open EXPORT_SYMBOL vmlinux 0x11cff686 mdiobus_is_registered_device @@ -6509,15 +6517,18 @@ EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented EXPORT_SYMBOL vmlinux 0x120d2034 dump_emit EXPORT_SYMBOL vmlinux 0x12160631 unlock_new_inode -EXPORT_SYMBOL vmlinux 0x1224ca81 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x12168455 tcp_sock_set_user_timeout EXPORT_SYMBOL vmlinux 0x12296ade __quota_error EXPORT_SYMBOL vmlinux 0x12473328 inode_newsize_ok EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool -EXPORT_SYMBOL vmlinux 0x12506b85 ipv6_select_ident -EXPORT_SYMBOL vmlinux 0x1280a95c kernel_getpeername +EXPORT_SYMBOL vmlinux 0x126a5721 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x128a5068 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x1291b0d4 ethtool_op_get_ts_info EXPORT_SYMBOL vmlinux 0x12a1b8e2 sg_miter_stop EXPORT_SYMBOL vmlinux 0x12a8ff01 set_capacity EXPORT_SYMBOL vmlinux 0x12b03a74 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x12b9f0ce nf_log_set +EXPORT_SYMBOL vmlinux 0x12c5bcc3 neigh_sysctl_unregister EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data @@ -6529,58 +6540,59 @@ EXPORT_SYMBOL vmlinux 0x132dade6 md_write_inc EXPORT_SYMBOL vmlinux 0x1338e66b vfs_fsync_range EXPORT_SYMBOL vmlinux 0x1344d7e6 acpi_enable_gpe -EXPORT_SYMBOL vmlinux 0x134a8dfe __skb_recv_datagram EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge EXPORT_SYMBOL vmlinux 0x1350b7eb input_unregister_handler -EXPORT_SYMBOL vmlinux 0x1356c3c3 netdev_info +EXPORT_SYMBOL vmlinux 0x135170d0 tcp_release_cb EXPORT_SYMBOL vmlinux 0x1361fb47 md_handle_request EXPORT_SYMBOL vmlinux 0x136cc48a copy_page_from_iter_atomic EXPORT_SYMBOL vmlinux 0x1372ca61 agp_generic_destroy_pages EXPORT_SYMBOL vmlinux 0x1379e53c simple_recursive_removal -EXPORT_SYMBOL vmlinux 0x13880124 skb_copy_expand EXPORT_SYMBOL vmlinux 0x1389619c __max_die_per_package EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc EXPORT_SYMBOL vmlinux 0x13c49cc2 _copy_from_user EXPORT_SYMBOL vmlinux 0x13cb5497 d_set_d_op EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out -EXPORT_SYMBOL vmlinux 0x13dbcbf7 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x13d32d24 ethtool_rx_flow_rule_destroy EXPORT_SYMBOL vmlinux 0x13ed54f5 mdiobus_read EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation -EXPORT_SYMBOL vmlinux 0x13f4d683 tcp_openreq_init_rwin EXPORT_SYMBOL vmlinux 0x13ff0e0f mpage_readahead EXPORT_SYMBOL vmlinux 0x1404e635 write_inode_now EXPORT_SYMBOL vmlinux 0x141064f7 input_free_device EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x142ba936 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x1449b1a4 xp_dma_sync_for_device_slow EXPORT_SYMBOL vmlinux 0x144af76a vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0x144b8a84 register_netdevice_notifier_net EXPORT_SYMBOL vmlinux 0x1451e91c _copy_to_iter EXPORT_SYMBOL vmlinux 0x145ed197 kern_unmount_array EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table -EXPORT_SYMBOL vmlinux 0x14748e7d qdisc_offload_graft_helper EXPORT_SYMBOL vmlinux 0x14753359 param_get_invbool EXPORT_SYMBOL vmlinux 0x147753f8 __module_put_and_exit EXPORT_SYMBOL vmlinux 0x1486ded2 dma_fence_allocate_private_stub -EXPORT_SYMBOL vmlinux 0x1496f52c __sk_dst_check EXPORT_SYMBOL vmlinux 0x149b4fba serial8250_do_pm EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled EXPORT_SYMBOL vmlinux 0x14cd616c scsi_print_sense_hdr EXPORT_SYMBOL vmlinux 0x14ced76e nla_reserve_nohdr -EXPORT_SYMBOL vmlinux 0x14d73ea0 cookie_timestamp_decode -EXPORT_SYMBOL vmlinux 0x14e3e9aa dcb_ieee_getapp_mask EXPORT_SYMBOL vmlinux 0x14e3f9c4 pci_enable_ptm EXPORT_SYMBOL vmlinux 0x14f6ab65 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x14fe1412 sock_register EXPORT_SYMBOL vmlinux 0x14ff8b26 register_filesystem EXPORT_SYMBOL vmlinux 0x150b7440 devfreq_register_opp_notifier EXPORT_SYMBOL vmlinux 0x150cb41a twl6040_set_pll EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight EXPORT_SYMBOL vmlinux 0x152823d2 pci_choose_state +EXPORT_SYMBOL vmlinux 0x152a3178 neigh_update +EXPORT_SYMBOL vmlinux 0x152b6c91 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x1539aa9d __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x153c8503 tcp_rcv_state_process EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy EXPORT_SYMBOL vmlinux 0x154e09c2 max8925_reg_read EXPORT_SYMBOL vmlinux 0x15505c43 devm_register_reboot_notifier EXPORT_SYMBOL vmlinux 0x1566fb82 kernel_param_lock EXPORT_SYMBOL vmlinux 0x157c85b0 nvdimm_check_and_set_ro -EXPORT_SYMBOL vmlinux 0x158a1b90 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x15852a84 tcf_exts_dump EXPORT_SYMBOL vmlinux 0x15a428b9 elv_rb_find EXPORT_SYMBOL vmlinux 0x15a66331 kobject_set_name EXPORT_SYMBOL vmlinux 0x15b68edc __mmc_claim_host @@ -6589,14 +6601,10 @@ EXPORT_SYMBOL vmlinux 0x15bd5079 devm_ioremap EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15ead8a6 xsk_get_pool_from_qid EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init -EXPORT_SYMBOL vmlinux 0x15fb64c1 skb_copy_datagram_iter -EXPORT_SYMBOL vmlinux 0x1617ba09 put_cmsg_scm_timestamping -EXPORT_SYMBOL vmlinux 0x161fbba8 dev_deactivate EXPORT_SYMBOL vmlinux 0x16286538 iowrite64be_lo_hi EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string -EXPORT_SYMBOL vmlinux 0x162ce442 inet_sendmsg -EXPORT_SYMBOL vmlinux 0x162f6227 skb_copy_header EXPORT_SYMBOL vmlinux 0x16301b34 wrmsrl_on_cpu EXPORT_SYMBOL vmlinux 0x16307b61 md_flush_request EXPORT_SYMBOL vmlinux 0x16316a10 ZSTD_getFrameContentSize @@ -6606,6 +6614,7 @@ EXPORT_SYMBOL vmlinux 0x1654eeb2 nvdimm_namespace_common_probe EXPORT_SYMBOL vmlinux 0x165d38b1 pci_bus_read_config_byte EXPORT_SYMBOL vmlinux 0x165d8778 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x16603d1c netdev_refcnt_read EXPORT_SYMBOL vmlinux 0x1667b444 input_setup_polling EXPORT_SYMBOL vmlinux 0x166d11bd input_get_poll_interval EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump @@ -6613,23 +6622,17 @@ EXPORT_SYMBOL vmlinux 0x167f7989 vmap EXPORT_SYMBOL vmlinux 0x1689da51 phy_advertise_supported EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string -EXPORT_SYMBOL vmlinux 0x169ec7f1 netdev_upper_get_next_dev_rcu EXPORT_SYMBOL vmlinux 0x16b34356 mmc_erase_group_aligned EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table -EXPORT_SYMBOL vmlinux 0x16d0a74a netlink_net_capable -EXPORT_SYMBOL vmlinux 0x16d65f2d ip_frag_next EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16dfc388 sk_stream_wait_memory EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait EXPORT_SYMBOL vmlinux 0x16e67685 phy_modify_paged_changed EXPORT_SYMBOL vmlinux 0x170852a0 phy_driver_unregister EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler -EXPORT_SYMBOL vmlinux 0x17182d77 dst_dev_put EXPORT_SYMBOL vmlinux 0x173086f9 param_get_bool -EXPORT_SYMBOL vmlinux 0x17324eb9 free_netdev -EXPORT_SYMBOL vmlinux 0x173f1004 __fib6_flush_trees EXPORT_SYMBOL vmlinux 0x175d1a47 generic_splice_sendpage EXPORT_SYMBOL vmlinux 0x175e33fb dma_spin_lock -EXPORT_SYMBOL vmlinux 0x177b4048 kernel_listen EXPORT_SYMBOL vmlinux 0x17ac2afe filemap_fdatawrite EXPORT_SYMBOL vmlinux 0x17b56044 blk_queue_dma_alignment EXPORT_SYMBOL vmlinux 0x17b85516 vme_irq_request @@ -6637,20 +6640,22 @@ EXPORT_SYMBOL vmlinux 0x17be68ca acpi_clear_event EXPORT_SYMBOL vmlinux 0x17e4919a end_page_writeback EXPORT_SYMBOL vmlinux 0x17e835ef scsi_device_resume +EXPORT_SYMBOL vmlinux 0x17ebd8ea xfrm_parse_spi EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip EXPORT_SYMBOL vmlinux 0x17f813a9 __SCT__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0x182169ec sock_wfree EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace -EXPORT_SYMBOL vmlinux 0x184d7269 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x1841b3a2 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x1846c4bd inet_reqsk_alloc EXPORT_SYMBOL vmlinux 0x184e09e2 vme_dma_list_exec EXPORT_SYMBOL vmlinux 0x1854465f current_time +EXPORT_SYMBOL vmlinux 0x1860d2de xfrm6_protocol_register EXPORT_SYMBOL vmlinux 0x1875519f nd_integrity_init EXPORT_SYMBOL vmlinux 0x187724ec __traceiter_mmap_lock_start_locking EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 -EXPORT_SYMBOL vmlinux 0x188ead34 mr_dump EXPORT_SYMBOL vmlinux 0x1895ba86 iommu_put_dma_cookie EXPORT_SYMBOL vmlinux 0x18a009f4 fscrypt_decrypt_block_inplace -EXPORT_SYMBOL vmlinux 0x18a018f1 security_inode_notifysecctx EXPORT_SYMBOL vmlinux 0x18a64eed _dev_info EXPORT_SYMBOL vmlinux 0x18a98623 rproc_del EXPORT_SYMBOL vmlinux 0x18ac8de6 param_get_byte @@ -6659,29 +6664,37 @@ EXPORT_SYMBOL vmlinux 0x18c7ca51 remove_conflicting_pci_framebuffers EXPORT_SYMBOL vmlinux 0x18d832e2 config_item_get EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x19205e6f xfrm_state_register_afinfo EXPORT_SYMBOL vmlinux 0x192ea14f __SCT__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x19384eda kernel_sendmsg EXPORT_SYMBOL vmlinux 0x19430227 fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0x1944a87d __cpuhp_setup_state EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create -EXPORT_SYMBOL vmlinux 0x1955939a __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x1954de4e dev_getfirstbyhwtype EXPORT_SYMBOL vmlinux 0x19567d06 vfio_info_cap_shift -EXPORT_SYMBOL vmlinux 0x195afd74 arp_create -EXPORT_SYMBOL vmlinux 0x19786958 netdev_has_upper_dev EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit EXPORT_SYMBOL vmlinux 0x198620d7 security_add_mnt_opt EXPORT_SYMBOL vmlinux 0x198829e4 get_tree_keyed EXPORT_SYMBOL vmlinux 0x19896ed0 fs_param_is_s32 EXPORT_SYMBOL vmlinux 0x19899e9f vme_unregister_bridge -EXPORT_SYMBOL vmlinux 0x198acceb skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x19939c65 inet_csk_destroy_sock EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x199ff872 dev_alloc_name EXPORT_SYMBOL vmlinux 0x19ac6353 blk_execute_rq EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c28e3d reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x19c9ec83 qdisc_create_dflt EXPORT_SYMBOL vmlinux 0x19cd3c8e devm_devfreq_remove_device EXPORT_SYMBOL vmlinux 0x19cd86fd iov_iter_advance EXPORT_SYMBOL vmlinux 0x19d200ec __SCT__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x19d98219 dcb_ieee_getapp_mask EXPORT_SYMBOL vmlinux 0x19df99b9 acpi_finish_gpe +EXPORT_SYMBOL vmlinux 0x19e348db tcp_v4_syn_recv_sock EXPORT_SYMBOL vmlinux 0x19e42a4f vm_mmap +EXPORT_SYMBOL vmlinux 0x19ff9329 security_sb_remount EXPORT_SYMBOL vmlinux 0x1a1bac9c ZSTD_decompressDCtx EXPORT_SYMBOL vmlinux 0x1a216982 alloc_pages +EXPORT_SYMBOL vmlinux 0x1a3e927b netdev_pick_tx EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled EXPORT_SYMBOL vmlinux 0x1a62dc50 pm860x_reg_read EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch @@ -6689,43 +6702,36 @@ EXPORT_SYMBOL vmlinux 0x1a79c8e9 __x86_indirect_thunk_r13 EXPORT_SYMBOL vmlinux 0x1a80e6fb d_hash_and_lookup EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state -EXPORT_SYMBOL vmlinux 0x1aa51dfe ip6_dst_check EXPORT_SYMBOL vmlinux 0x1aa9fba0 vfio_dma_rw -EXPORT_SYMBOL vmlinux 0x1aabfb24 netdev_emerg EXPORT_SYMBOL vmlinux 0x1ab69838 super_setup_bdi EXPORT_SYMBOL vmlinux 0x1ac48b33 devfreq_monitor_start EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn EXPORT_SYMBOL vmlinux 0x1ad19b9d kern_path_create EXPORT_SYMBOL vmlinux 0x1af3bada md_wakeup_thread -EXPORT_SYMBOL vmlinux 0x1afdd42f xfrm_if_register_cb EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist EXPORT_SYMBOL vmlinux 0x1b03fa79 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x1b131710 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x1b14140c __neigh_set_probe_once EXPORT_SYMBOL vmlinux 0x1b328573 vlan_vids_add_by_dev EXPORT_SYMBOL vmlinux 0x1b354292 blk_mq_requeue_request -EXPORT_SYMBOL vmlinux 0x1b3cd7e9 dev_queue_xmit EXPORT_SYMBOL vmlinux 0x1b3cdbae padata_alloc -EXPORT_SYMBOL vmlinux 0x1b4752fb skb_orphan_partial -EXPORT_SYMBOL vmlinux 0x1b48bcea skb_flow_dissect_hash EXPORT_SYMBOL vmlinux 0x1b575309 agp_enable EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all -EXPORT_SYMBOL vmlinux 0x1b5aeaab ipv6_find_hdr EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton -EXPORT_SYMBOL vmlinux 0x1b6d0776 unix_attach_fds -EXPORT_SYMBOL vmlinux 0x1b6f7b05 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x1b694c28 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x1b71c2d0 xfrm_state_update EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device EXPORT_SYMBOL vmlinux 0x1b7c03af devm_ioremap_resource EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip EXPORT_SYMBOL vmlinux 0x1b8d1150 dev_addr_flush -EXPORT_SYMBOL vmlinux 0x1b980fec xfrm_unregister_km EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node -EXPORT_SYMBOL vmlinux 0x1ba76605 ip6_frag_init EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc -EXPORT_SYMBOL vmlinux 0x1bb969bd netdev_lower_get_first_private_rcu EXPORT_SYMBOL vmlinux 0x1bc26cda input_mt_destroy_slots EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent EXPORT_SYMBOL vmlinux 0x1bf11a70 dm_table_run_md_queue_async EXPORT_SYMBOL vmlinux 0x1bf39f7f __invalidate_device -EXPORT_SYMBOL vmlinux 0x1c42f3ee netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x1c16cb40 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x1c408ce6 ip_sock_set_mtu_discover EXPORT_SYMBOL vmlinux 0x1c437d8e mipi_dsi_device_unregister EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler EXPORT_SYMBOL vmlinux 0x1c5abeb7 __inc_node_page_state @@ -6733,41 +6739,46 @@ EXPORT_SYMBOL vmlinux 0x1c622640 dump_skip EXPORT_SYMBOL vmlinux 0x1c78a51e i2c_smbus_read_i2c_block_data EXPORT_SYMBOL vmlinux 0x1ca527fa ioread64be_hi_lo +EXPORT_SYMBOL vmlinux 0x1ca952bf sock_no_getname +EXPORT_SYMBOL vmlinux 0x1cabd943 dev_set_group EXPORT_SYMBOL vmlinux 0x1cb11044 inetpeer_invalidate_tree -EXPORT_SYMBOL vmlinux 0x1cb6184d ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x1cb54321 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x1cca79c2 skb_copy_bits EXPORT_SYMBOL vmlinux 0x1ccc6525 jbd2_complete_transaction EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node EXPORT_SYMBOL vmlinux 0x1ceb309c kill_anon_super EXPORT_SYMBOL vmlinux 0x1cebb7cf block_invalidatepage -EXPORT_SYMBOL vmlinux 0x1cf51ecf icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x1cfa0c53 ip_cmsg_recv_offset EXPORT_SYMBOL vmlinux 0x1cfbceab vfs_get_tree +EXPORT_SYMBOL vmlinux 0x1d04dacb tcp_set_rcvlowat EXPORT_SYMBOL vmlinux 0x1d0562b3 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x1d065534 sock_common_recvmsg EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul EXPORT_SYMBOL vmlinux 0x1d0d02dc get_watch_queue -EXPORT_SYMBOL vmlinux 0x1d13426b unix_get_socket EXPORT_SYMBOL vmlinux 0x1d19f77b physical_mask EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit EXPORT_SYMBOL vmlinux 0x1d2d6d15 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1d3835b5 ipv6_sock_mc_join EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d41671b netlink_rcv_skb EXPORT_SYMBOL vmlinux 0x1d59e905 phy_set_max_speed -EXPORT_SYMBOL vmlinux 0x1d5ecbae netdev_next_lower_dev_rcu -EXPORT_SYMBOL vmlinux 0x1d5efd34 poll_freewait EXPORT_SYMBOL vmlinux 0x1d60b198 seq_dentry EXPORT_SYMBOL vmlinux 0x1d62bf09 pcim_iomap_regions_request_all EXPORT_SYMBOL vmlinux 0x1d72ec2d dmam_free_coherent -EXPORT_SYMBOL vmlinux 0x1d7b290c inet_csk_destroy_sock EXPORT_SYMBOL vmlinux 0x1d806c90 may_umount +EXPORT_SYMBOL vmlinux 0x1d85aca9 xfrm6_rcv_encap EXPORT_SYMBOL vmlinux 0x1d97a535 twl6030_mmc_card_detect EXPORT_SYMBOL vmlinux 0x1da5fe3f ptp_clock_index EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dba3466 netif_set_real_num_queues EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key EXPORT_SYMBOL vmlinux 0x1dcffb1b vmf_insert_mixed_prot EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr EXPORT_SYMBOL vmlinux 0x1deb1270 filemap_range_has_page -EXPORT_SYMBOL vmlinux 0x1df8602e sock_set_priority -EXPORT_SYMBOL vmlinux 0x1e020224 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x1df8b6d0 xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x1e088a6b inet_csk_init_xmit_timers EXPORT_SYMBOL vmlinux 0x1e094b3e pnp_possible_config EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data @@ -6775,100 +6786,97 @@ EXPORT_SYMBOL vmlinux 0x1e2e1604 devm_backlight_device_register EXPORT_SYMBOL vmlinux 0x1e338597 jbd2_journal_clear_err EXPORT_SYMBOL vmlinux 0x1e468193 devm_clk_get_optional -EXPORT_SYMBOL vmlinux 0x1e55e959 ip_setsockopt +EXPORT_SYMBOL vmlinux 0x1e469423 skb_append EXPORT_SYMBOL vmlinux 0x1e6adaa0 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x1e6c97b7 inet_dev_addr_type EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr EXPORT_SYMBOL vmlinux 0x1e6f1b87 dma_set_mask +EXPORT_SYMBOL vmlinux 0x1e8a2887 napi_enable EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu EXPORT_SYMBOL vmlinux 0x1eabf210 tty_name +EXPORT_SYMBOL vmlinux 0x1eaee89d security_sock_graft EXPORT_SYMBOL vmlinux 0x1eb8c942 cros_ec_query_all EXPORT_SYMBOL vmlinux 0x1eb922a3 IO_APIC_get_PCI_irq_vector EXPORT_SYMBOL vmlinux 0x1ecdeaf8 input_mt_sync_frame EXPORT_SYMBOL vmlinux 0x1ed0a4c7 end_buffer_async_write -EXPORT_SYMBOL vmlinux 0x1ed117da tcp_time_wait -EXPORT_SYMBOL vmlinux 0x1ed5e56c __icmp_send EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 EXPORT_SYMBOL vmlinux 0x1eeeb626 backlight_force_update +EXPORT_SYMBOL vmlinux 0x1ef2fe23 tcp_mtup_init EXPORT_SYMBOL vmlinux 0x1f199d24 copy_user_generic_string EXPORT_SYMBOL vmlinux 0x1f26ffd7 pnp_unregister_driver -EXPORT_SYMBOL vmlinux 0x1f2bae00 netpoll_setup -EXPORT_SYMBOL vmlinux 0x1f3827c4 skb_trim EXPORT_SYMBOL vmlinux 0x1f3cf8cf init_pseudo EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr -EXPORT_SYMBOL vmlinux 0x1f9477a1 ip_mc_leave_group -EXPORT_SYMBOL vmlinux 0x1fa1748c netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x1f8cd02d dst_alloc +EXPORT_SYMBOL vmlinux 0x1f9765a5 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x1fa2358c skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x1fa6ed8b qdisc_hash_del EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio EXPORT_SYMBOL vmlinux 0x1fc0cc7c intel_gtt_insert_sg_entries -EXPORT_SYMBOL vmlinux 0x1fc3984b dev_get_by_index_rcu EXPORT_SYMBOL vmlinux 0x1fc5582a fs_bio_set EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdd9d61 ip_options_compile +EXPORT_SYMBOL vmlinux 0x1ff06170 qdisc_warn_nonwc EXPORT_SYMBOL vmlinux 0x1ff4b66a new_inode EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any EXPORT_SYMBOL vmlinux 0x201394e4 dma_mmap_attrs -EXPORT_SYMBOL vmlinux 0x201fa4e6 skb_eth_push EXPORT_SYMBOL vmlinux 0x20315df6 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x2035df37 dev_set_threaded EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable EXPORT_SYMBOL vmlinux 0x204af5b5 netlbl_audit_start EXPORT_SYMBOL vmlinux 0x204be206 tty_port_open EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool EXPORT_SYMBOL vmlinux 0x204c463c page_pool_release_page EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list -EXPORT_SYMBOL vmlinux 0x205afa6e dev_disable_lro -EXPORT_SYMBOL vmlinux 0x2068d73d udp_lib_unhash -EXPORT_SYMBOL vmlinux 0x206af711 __sk_mem_schedule -EXPORT_SYMBOL vmlinux 0x207e9a2f skb_append +EXPORT_SYMBOL vmlinux 0x20556b20 xfrm_state_lookup EXPORT_SYMBOL vmlinux 0x20806cc3 ww_mutex_unlock -EXPORT_SYMBOL vmlinux 0x20a72d1a xfrm_policy_destroy EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data EXPORT_SYMBOL vmlinux 0x20b7ad66 configfs_unregister_default_group EXPORT_SYMBOL vmlinux 0x20ba4f3e rdmsr_on_cpu EXPORT_SYMBOL vmlinux 0x20bcbe4f blake2s_compress EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode -EXPORT_SYMBOL vmlinux 0x20d96f6b netdev_adjacent_change_abort EXPORT_SYMBOL vmlinux 0x20dff6b4 do_SAK EXPORT_SYMBOL vmlinux 0x20e3e524 vfs_ioctl EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum -EXPORT_SYMBOL vmlinux 0x20f6c296 phy_ethtool_get_stats EXPORT_SYMBOL vmlinux 0x20fff6ec ZSTD_DStreamInSize EXPORT_SYMBOL vmlinux 0x21059cd7 audit_log_task_context EXPORT_SYMBOL vmlinux 0x210cdac4 pci_request_regions +EXPORT_SYMBOL vmlinux 0x210d16fb skb_split EXPORT_SYMBOL vmlinux 0x211130c1 alloc_cpumask_var -EXPORT_SYMBOL vmlinux 0x2117dc0e phy_ethtool_set_wol -EXPORT_SYMBOL vmlinux 0x211b6294 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x2117953d inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x21212fb8 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x2126b6f4 ip6_frag_next EXPORT_SYMBOL vmlinux 0x21271fd0 copy_user_enhanced_fast_string -EXPORT_SYMBOL vmlinux 0x2138e5cc security_inode_init_security EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id -EXPORT_SYMBOL vmlinux 0x21432da7 sock_create_lite EXPORT_SYMBOL vmlinux 0x21461b66 serial8250_register_8250_port EXPORT_SYMBOL vmlinux 0x2147e64e blk_queue_io_min EXPORT_SYMBOL vmlinux 0x215ecfa8 pcie_bandwidth_available EXPORT_SYMBOL vmlinux 0x2166990a follow_up -EXPORT_SYMBOL vmlinux 0x2168c4a9 netlink_rcv_skb EXPORT_SYMBOL vmlinux 0x216caaf4 truncate_setsize EXPORT_SYMBOL vmlinux 0x216ec637 agp_generic_alloc_pages EXPORT_SYMBOL vmlinux 0x2177bd71 acpi_disable_event +EXPORT_SYMBOL vmlinux 0x217cd504 sock_set_keepalive EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset EXPORT_SYMBOL vmlinux 0x21916574 input_unregister_device -EXPORT_SYMBOL vmlinux 0x2192cd19 ___pskb_trim EXPORT_SYMBOL vmlinux 0x21a92914 mmc_wait_for_req_done EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21c58592 __ip_dev_find EXPORT_SYMBOL vmlinux 0x21d42ce9 nla_append EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow -EXPORT_SYMBOL vmlinux 0x21ebb83c rt6_lookup EXPORT_SYMBOL vmlinux 0x21ec6aac get_tree_bdev EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion -EXPORT_SYMBOL vmlinux 0x22044d42 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x220cc387 inet_proto_csum_replace4 EXPORT_SYMBOL vmlinux 0x220eefe5 inode_dio_wait EXPORT_SYMBOL vmlinux 0x2226b814 mipi_dsi_host_register EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list EXPORT_SYMBOL vmlinux 0x2237de88 dquot_acquire EXPORT_SYMBOL vmlinux 0x225f03aa redraw_screen +EXPORT_SYMBOL vmlinux 0x2272f4dd __xfrm_init_state EXPORT_SYMBOL vmlinux 0x22872f62 scsi_device_lookup EXPORT_SYMBOL vmlinux 0x229484cd netdev_stats_to_stats64 EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound @@ -6876,53 +6884,39 @@ EXPORT_SYMBOL vmlinux 0x22c65798 mipi_dsi_dcs_get_pixel_format EXPORT_SYMBOL vmlinux 0x22d34eb0 dup_iter EXPORT_SYMBOL vmlinux 0x22de4931 amd_iommu_register_ga_log_notifier -EXPORT_SYMBOL vmlinux 0x22e5129a kfree_skb_list EXPORT_SYMBOL vmlinux 0x22e834db i8042_remove_filter EXPORT_SYMBOL vmlinux 0x22ee65b9 __blk_mq_alloc_disk EXPORT_SYMBOL vmlinux 0x22ef9601 proc_mkdir_mode -EXPORT_SYMBOL vmlinux 0x23154831 nvmem_get_mac_address -EXPORT_SYMBOL vmlinux 0x231692b9 tc_setup_cb_replace -EXPORT_SYMBOL vmlinux 0x23226faf kernel_sendmsg EXPORT_SYMBOL vmlinux 0x23295fe0 __register_chrdev -EXPORT_SYMBOL vmlinux 0x23331d33 __skb_warn_lro_forwarding EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init EXPORT_SYMBOL vmlinux 0x237a0b5c __traceiter_dma_fence_signaled -EXPORT_SYMBOL vmlinux 0x237dc1b1 tcf_exts_validate EXPORT_SYMBOL vmlinux 0x2383fb6a acpi_dev_get_first_match_dev EXPORT_SYMBOL vmlinux 0x2388ab10 register_quota_format EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short EXPORT_SYMBOL vmlinux 0x238e9048 serio_bus EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path -EXPORT_SYMBOL vmlinux 0x23c209b3 ipv6_push_frag_opts EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node EXPORT_SYMBOL vmlinux 0x2405c1c6 vm_insert_pages -EXPORT_SYMBOL vmlinux 0x240910d9 skb_ext_add EXPORT_SYMBOL vmlinux 0x2409a078 vga_switcheroo_fini_domain_pm_ops EXPORT_SYMBOL vmlinux 0x240b23a3 component_match_add_release -EXPORT_SYMBOL vmlinux 0x241718da netdev_master_upper_dev_get_rcu -EXPORT_SYMBOL vmlinux 0x241755c4 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x241b8ddf security_path_unlink EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page -EXPORT_SYMBOL vmlinux 0x242da495 security_path_mknod EXPORT_SYMBOL vmlinux 0x242eb3ad mmc_cqe_recovery -EXPORT_SYMBOL vmlinux 0x2457e4e1 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x24518c1e tcf_chain_put_by_act EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline -EXPORT_SYMBOL vmlinux 0x246e42ce dev_load +EXPORT_SYMBOL vmlinux 0x24632062 sock_alloc_file EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r EXPORT_SYMBOL vmlinux 0x249534d0 scsi_unblock_requests -EXPORT_SYMBOL vmlinux 0x24a529d0 dev_get_by_napi_id EXPORT_SYMBOL vmlinux 0x24a8fc23 mipi_dsi_dcs_read EXPORT_SYMBOL vmlinux 0x24bcf3cf page_cache_next_miss EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer EXPORT_SYMBOL vmlinux 0x24ec2c56 disk_end_io_acct EXPORT_SYMBOL vmlinux 0x24fb163a jbd2_journal_revoke -EXPORT_SYMBOL vmlinux 0x24fb1f8f rtnl_configure_link EXPORT_SYMBOL vmlinux 0x2505bf18 kstrtol_from_user -EXPORT_SYMBOL vmlinux 0x250d7e2f skb_unlink -EXPORT_SYMBOL vmlinux 0x252ef77e tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x251396c9 xfrm_unregister_type EXPORT_SYMBOL vmlinux 0x25472b56 find_get_pages_contig -EXPORT_SYMBOL vmlinux 0x2549e9ae ipv6_chk_addr_and_flags EXPORT_SYMBOL vmlinux 0x256c78d9 configfs_undepend_item EXPORT_SYMBOL vmlinux 0x25792d10 msi_desc_to_pci_dev EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid @@ -6931,12 +6925,9 @@ EXPORT_SYMBOL vmlinux 0x2590ee47 flow_block_cb_setup_simple EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion EXPORT_SYMBOL vmlinux 0x25979ca2 param_ops_bint -EXPORT_SYMBOL vmlinux 0x259df919 xfrm6_input_addr EXPORT_SYMBOL vmlinux 0x259e29ed set_pages_array_wb EXPORT_SYMBOL vmlinux 0x25a1fc95 i2c_verify_client EXPORT_SYMBOL vmlinux 0x25a4d382 twl6040_get_sysclk -EXPORT_SYMBOL vmlinux 0x25a6321d neigh_app_ns -EXPORT_SYMBOL vmlinux 0x25bb5306 tcp_ioctl EXPORT_SYMBOL vmlinux 0x25c7fb88 devm_clk_release_clkdev EXPORT_SYMBOL vmlinux 0x25d3ae58 grab_cache_page_write_begin EXPORT_SYMBOL vmlinux 0x25db1577 do_trace_write_msr @@ -6945,42 +6936,40 @@ EXPORT_SYMBOL vmlinux 0x25f14c55 devm_devfreq_unregister_opp_notifier EXPORT_SYMBOL vmlinux 0x25fc1e65 devm_memunmap EXPORT_SYMBOL vmlinux 0x2604fd39 key_invalidate +EXPORT_SYMBOL vmlinux 0x2609e8f2 sock_recv_errqueue EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table EXPORT_SYMBOL vmlinux 0x260aa62b is_bad_inode -EXPORT_SYMBOL vmlinux 0x2611712e __ip_select_ident EXPORT_SYMBOL vmlinux 0x261fbf2d inode_nohighmem +EXPORT_SYMBOL vmlinux 0x26287405 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x2629199a sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x262cbc25 ppp_output_wakeup EXPORT_SYMBOL vmlinux 0x2635c5e7 rproc_mem_entry_init EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions EXPORT_SYMBOL vmlinux 0x263c3152 bcmp EXPORT_SYMBOL vmlinux 0x2655ff9b nd_device_register -EXPORT_SYMBOL vmlinux 0x265e8aff audit_log_start -EXPORT_SYMBOL vmlinux 0x267a1586 tcp_poll EXPORT_SYMBOL vmlinux 0x2682ba95 md_reap_sync_thread EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get EXPORT_SYMBOL vmlinux 0x269890f9 mipi_dsi_shutdown_peripheral -EXPORT_SYMBOL vmlinux 0x26bd29fd qdisc_watchdog_init_clockid EXPORT_SYMBOL vmlinux 0x26c880ca __hw_addr_sync_dev EXPORT_SYMBOL vmlinux 0x26cc73c3 complete_and_exit -EXPORT_SYMBOL vmlinux 0x26d63307 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0x26d314ed blackhole_netdev EXPORT_SYMBOL vmlinux 0x26d93ba1 __set_page_dirty_buffers EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier -EXPORT_SYMBOL vmlinux 0x26ee8431 tcp_syn_ack_timeout EXPORT_SYMBOL vmlinux 0x26f8f0b8 iowrite16be +EXPORT_SYMBOL vmlinux 0x26faab0f unix_detach_fds +EXPORT_SYMBOL vmlinux 0x270bffd5 security_dentry_create_files_as EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl -EXPORT_SYMBOL vmlinux 0x27103c2b xfrm6_rcv_spi EXPORT_SYMBOL vmlinux 0x2712f88d dquot_disable -EXPORT_SYMBOL vmlinux 0x2714c91d tcp_connect EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler -EXPORT_SYMBOL vmlinux 0x2721a694 skb_ensure_writable EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp -EXPORT_SYMBOL vmlinux 0x274e461c skb_vlan_push -EXPORT_SYMBOL vmlinux 0x274ecc50 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x2753f733 tcp_v4_conn_request EXPORT_SYMBOL vmlinux 0x275deac2 i2c_smbus_write_word_data EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check EXPORT_SYMBOL vmlinux 0x2766675e md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x276d60b2 rtnl_notify EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string EXPORT_SYMBOL vmlinux 0x27810361 acpi_os_wait_events_complete EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init @@ -6991,73 +6980,78 @@ EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource EXPORT_SYMBOL vmlinux 0x27d266a9 uart_get_divisor EXPORT_SYMBOL vmlinux 0x27d456f3 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x27d7d653 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x27f468d4 phy_ethtool_set_link_ksettings EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek -EXPORT_SYMBOL vmlinux 0x283126e7 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x2820c845 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x283b268e kernel_recvmsg EXPORT_SYMBOL vmlinux 0x28487e18 pci_ep_cfs_add_epf_group EXPORT_SYMBOL vmlinux 0x28488fdb blk_mq_unique_tag EXPORT_SYMBOL vmlinux 0x284a7ba0 blk_rq_map_integrity_sg EXPORT_SYMBOL vmlinux 0x284faa6b __x86_indirect_thunk_r11 EXPORT_SYMBOL vmlinux 0x286c1d6f set_posix_acl EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 -EXPORT_SYMBOL vmlinux 0x2877f858 ip_route_input_noref -EXPORT_SYMBOL vmlinux 0x288a7b7e xfrm_input_resume -EXPORT_SYMBOL vmlinux 0x288fe1f3 xp_dma_unmap EXPORT_SYMBOL vmlinux 0x28aef183 simple_lookup -EXPORT_SYMBOL vmlinux 0x28b42b4d mr_mfc_find_parent EXPORT_SYMBOL vmlinux 0x28cc00e4 inode_add_bytes EXPORT_SYMBOL vmlinux 0x28d9cb33 shmem_aops -EXPORT_SYMBOL vmlinux 0x28de308d xp_alloc EXPORT_SYMBOL vmlinux 0x28e09af1 iosf_mbi_available +EXPORT_SYMBOL vmlinux 0x28e1965b kfree_skb_list +EXPORT_SYMBOL vmlinux 0x28ebc774 xp_can_alloc +EXPORT_SYMBOL vmlinux 0x28f1a0be netlink_capable +EXPORT_SYMBOL vmlinux 0x28f3b6b3 ppp_unregister_channel EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable EXPORT_SYMBOL vmlinux 0x28fed8bd truncate_inode_pages_final EXPORT_SYMBOL vmlinux 0x2901a9a2 __phy_resume EXPORT_SYMBOL vmlinux 0x2905cb8c dma_get_sgtable_attrs EXPORT_SYMBOL vmlinux 0x290c9ef8 inc_nlink +EXPORT_SYMBOL vmlinux 0x291c4eab inet_recvmsg EXPORT_SYMBOL vmlinux 0x291e3cee agp_generic_free_by_type EXPORT_SYMBOL vmlinux 0x291ee747 csum_and_copy_to_user EXPORT_SYMBOL vmlinux 0x29291f6f __vlan_find_dev_deep_rcu EXPORT_SYMBOL vmlinux 0x29332499 __x86_indirect_thunk_rsi +EXPORT_SYMBOL vmlinux 0x293c541b netif_rx_ni EXPORT_SYMBOL vmlinux 0x29461c29 pci_disable_msi EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop -EXPORT_SYMBOL vmlinux 0x29744bb5 __dynamic_netdev_dbg -EXPORT_SYMBOL vmlinux 0x297ba039 neigh_resolve_output EXPORT_SYMBOL vmlinux 0x29803bad tty_unregister_ldisc -EXPORT_SYMBOL vmlinux 0x298c3d64 phy_ethtool_get_sset_count EXPORT_SYMBOL vmlinux 0x2999eb62 seq_file_path EXPORT_SYMBOL vmlinux 0x299b6025 sync_file_create EXPORT_SYMBOL vmlinux 0x29ad8e33 x86_hyper_type +EXPORT_SYMBOL vmlinux 0x29b30455 dst_release EXPORT_SYMBOL vmlinux 0x29c09fc3 blk_cleanup_disk -EXPORT_SYMBOL vmlinux 0x29c8795c genlmsg_put +EXPORT_SYMBOL vmlinux 0x29d5f0a8 ip_sock_set_pktinfo EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack EXPORT_SYMBOL vmlinux 0x29ea7a8a lookup_one_len EXPORT_SYMBOL vmlinux 0x29fa305c intel_pmc_core_ipc +EXPORT_SYMBOL vmlinux 0x29fcf076 dev_add_offload EXPORT_SYMBOL vmlinux 0x2a03faa7 mipi_dsi_picture_parameter_set EXPORT_SYMBOL vmlinux 0x2a107f88 pci_read_vpd EXPORT_SYMBOL vmlinux 0x2a18463f blk_get_request EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a440549 phy_start EXPORT_SYMBOL vmlinux 0x2a53376d mipi_dsi_dcs_get_display_brightness_large -EXPORT_SYMBOL vmlinux 0x2a651298 security_path_rename +EXPORT_SYMBOL vmlinux 0x2a6f872d security_socket_getpeersec_dgram EXPORT_SYMBOL vmlinux 0x2a6fa0d0 __SCT__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x2a702221 unregister_netdevice_notifier_net EXPORT_SYMBOL vmlinux 0x2a89a57f mark_buffer_write_io_error EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get EXPORT_SYMBOL vmlinux 0x2aa00e26 intel_scu_ipc_dev_update EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aa17924 tcp_filter EXPORT_SYMBOL vmlinux 0x2aabcdc8 vmalloc_array EXPORT_SYMBOL vmlinux 0x2ab34daa devm_extcon_register_notifier_all EXPORT_SYMBOL vmlinux 0x2ab91e74 _dev_notice +EXPORT_SYMBOL vmlinux 0x2abea9ab __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x2ac61035 dev_get_by_napi_id EXPORT_SYMBOL vmlinux 0x2aca1b6d register_mii_timestamper EXPORT_SYMBOL vmlinux 0x2ad4ca5d scsi_scan_target -EXPORT_SYMBOL vmlinux 0x2aed6125 sock_wmalloc EXPORT_SYMBOL vmlinux 0x2b19c8be sg_alloc_table_from_pages_segment EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner -EXPORT_SYMBOL vmlinux 0x2b65f51e netdev_features_change EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer -EXPORT_SYMBOL vmlinux 0x2b6eaf1a sock_alloc EXPORT_SYMBOL vmlinux 0x2b6f0962 __cpu_dying_mask -EXPORT_SYMBOL vmlinux 0x2b73e3c1 xfrm_policy_byid EXPORT_SYMBOL vmlinux 0x2b740a1d md_wait_for_blocked_rdev EXPORT_SYMBOL vmlinux 0x2b80fa3c cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x2b8ade8f security_inode_listsecurity EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock EXPORT_SYMBOL vmlinux 0x2ba57acd bio_put EXPORT_SYMBOL vmlinux 0x2ba6bbb9 iov_iter_zero @@ -7066,53 +7060,48 @@ EXPORT_SYMBOL vmlinux 0x2bba33f0 pci_bus_alloc_resource EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset EXPORT_SYMBOL vmlinux 0x2bde25b9 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x2be510d1 xfrm_policy_unregister_afinfo EXPORT_SYMBOL vmlinux 0x2be540fe _dev_printk EXPORT_SYMBOL vmlinux 0x2be6e510 input_set_capability EXPORT_SYMBOL vmlinux 0x2bf13503 mmc_of_parse -EXPORT_SYMBOL vmlinux 0x2bf5e415 phy_aneg_done EXPORT_SYMBOL vmlinux 0x2bf9a85d jbd2_submit_inode_data -EXPORT_SYMBOL vmlinux 0x2c008162 inet_csk_reqsk_queue_add EXPORT_SYMBOL vmlinux 0x2c03ab81 mpage_readpage -EXPORT_SYMBOL vmlinux 0x2c05fdc1 __inet6_lookup_established -EXPORT_SYMBOL vmlinux 0x2c0ca21e __mod_lruvec_page_state EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c280bad tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x2c4f0bdc security_sb_clone_mnt_opts EXPORT_SYMBOL vmlinux 0x2c527b4d page_pool_put_page EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk -EXPORT_SYMBOL vmlinux 0x2c587442 dev_get_iflink EXPORT_SYMBOL vmlinux 0x2c71fbfb proc_dobool EXPORT_SYMBOL vmlinux 0x2c95e9fc nvdimm_bus_unlock EXPORT_SYMBOL vmlinux 0x2c994234 blk_queue_split EXPORT_SYMBOL vmlinux 0x2ca2c90b iget_locked EXPORT_SYMBOL vmlinux 0x2caf63d1 topology_phys_to_logical_die EXPORT_SYMBOL vmlinux 0x2caf6f31 dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x2cc9102d sock_i_ino EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd56bb7 neigh_resolve_output EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax EXPORT_SYMBOL vmlinux 0x2cf096dc __tracepoint_mmap_lock_released EXPORT_SYMBOL vmlinux 0x2cf0f2cc config_item_init_type_name -EXPORT_SYMBOL vmlinux 0x2cfca30e ndo_dflt_fdb_add EXPORT_SYMBOL vmlinux 0x2cfccfa1 dev_mc_add_global EXPORT_SYMBOL vmlinux 0x2d0e184e phy_attached_info_irq EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock -EXPORT_SYMBOL vmlinux 0x2d151769 qdisc_offload_dump_helper EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq -EXPORT_SYMBOL vmlinux 0x2d36fce4 xfrm_spd_getinfo EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font -EXPORT_SYMBOL vmlinux 0x2d527c7a skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x2d56038e xp_raw_get_data EXPORT_SYMBOL vmlinux 0x2d58200a input_get_keycode EXPORT_SYMBOL vmlinux 0x2d6669f0 lookup_one -EXPORT_SYMBOL vmlinux 0x2d66a58f napi_build_skb +EXPORT_SYMBOL vmlinux 0x2d678df3 cookie_timestamp_decode EXPORT_SYMBOL vmlinux 0x2d71d65a vga_switcheroo_unlock_ddc -EXPORT_SYMBOL vmlinux 0x2d721bbf skb_flow_dissect_meta -EXPORT_SYMBOL vmlinux 0x2d785e50 sock_create +EXPORT_SYMBOL vmlinux 0x2d80b36d inet_stream_ops EXPORT_SYMBOL vmlinux 0x2d83e6ab __traceiter_spi_transfer_stop EXPORT_SYMBOL vmlinux 0x2d8445b1 agp_backend_acquire EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr -EXPORT_SYMBOL vmlinux 0x2da4a269 ipv6_setsockopt EXPORT_SYMBOL vmlinux 0x2db17907 bio_init EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu EXPORT_SYMBOL vmlinux 0x2dda201e done_path_create @@ -7124,27 +7113,24 @@ EXPORT_SYMBOL vmlinux 0x2dea1184 __vfs_setxattr EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write EXPORT_SYMBOL vmlinux 0x2df2e560 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x2df75318 __skb_flow_dissect EXPORT_SYMBOL vmlinux 0x2df7f11c i2c_smbus_read_block_data EXPORT_SYMBOL vmlinux 0x2dfbd46d fscrypt_encrypt_block_inplace -EXPORT_SYMBOL vmlinux 0x2dfca86c xfrm_replay_seqhi EXPORT_SYMBOL vmlinux 0x2e02e0a4 dqput EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status EXPORT_SYMBOL vmlinux 0x2e176c3a input_mt_report_slot_state EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put -EXPORT_SYMBOL vmlinux 0x2e2b2abd skb_flow_dissect_tunnel_info EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat -EXPORT_SYMBOL vmlinux 0x2e31fb6e skb_expand_head EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk EXPORT_SYMBOL vmlinux 0x2e4e2134 blk_queue_max_segments -EXPORT_SYMBOL vmlinux 0x2e59e3de tcp_release_cb EXPORT_SYMBOL vmlinux 0x2e5e6ab0 md_done_sync EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put EXPORT_SYMBOL vmlinux 0x2e7a64b3 tty_vhangup EXPORT_SYMBOL vmlinux 0x2e7ad45f __SCK__tp_func_dma_fence_signaled EXPORT_SYMBOL vmlinux 0x2e7c99bb phy_connect -EXPORT_SYMBOL vmlinux 0x2e9f0239 tcp_prot EXPORT_SYMBOL vmlinux 0x2ea52d3e dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x2eb1eb26 sock_no_connect EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set EXPORT_SYMBOL vmlinux 0x2eca59e4 uart_get_baud_rate EXPORT_SYMBOL vmlinux 0x2ed0d9c3 create_empty_buffers @@ -7155,26 +7141,26 @@ EXPORT_SYMBOL vmlinux 0x2efa19e9 key_payload_reserve EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc EXPORT_SYMBOL vmlinux 0x2f20f648 lru_cache_add +EXPORT_SYMBOL vmlinux 0x2f2a29a1 ip_setsockopt EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f301f7d eth_header_parse_protocol EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device -EXPORT_SYMBOL vmlinux 0x2f4536ce fget_raw EXPORT_SYMBOL vmlinux 0x2f4bc016 gnet_stats_finish_copy -EXPORT_SYMBOL vmlinux 0x2f713bae tcp_select_initial_window EXPORT_SYMBOL vmlinux 0x2f758f88 flow_rule_match_control EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free -EXPORT_SYMBOL vmlinux 0x2f7b5524 kernel_sock_ip_overhead -EXPORT_SYMBOL vmlinux 0x2f8b3f42 build_skb_around -EXPORT_SYMBOL vmlinux 0x2fc5c351 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x2f81a2ae nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x2f918bbc sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x2fb8b1f5 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x2fd31553 netdev_class_remove_file_ns EXPORT_SYMBOL vmlinux 0x2fda22b8 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x2fdf2ec6 phy_start_cable_test_tdr EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier -EXPORT_SYMBOL vmlinux 0x2ff6147a dev_graft_qdisc EXPORT_SYMBOL vmlinux 0x30027d34 setattr_copy -EXPORT_SYMBOL vmlinux 0x300e7710 security_path_mkdir EXPORT_SYMBOL vmlinux 0x301304c2 __get_user_nocheck_8 -EXPORT_SYMBOL vmlinux 0x301a33a8 memory_cgrp_subsys -EXPORT_SYMBOL vmlinux 0x301b3860 tcp_seq_stop EXPORT_SYMBOL vmlinux 0x301bc87c mount_bdev +EXPORT_SYMBOL vmlinux 0x301cd731 rtnl_unicast EXPORT_SYMBOL vmlinux 0x302469f9 pci_find_bus +EXPORT_SYMBOL vmlinux 0x30332815 audit_log_start EXPORT_SYMBOL vmlinux 0x3052fecd ptp_convert_timestamp EXPORT_SYMBOL vmlinux 0x305a916c __x86_indirect_thunk_rdi EXPORT_SYMBOL vmlinux 0x306c1008 jbd2_journal_force_commit @@ -7185,8 +7171,6 @@ EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user EXPORT_SYMBOL vmlinux 0x30a97d7a __seq_open_private EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 -EXPORT_SYMBOL vmlinux 0x30b59036 inet6_add_offload -EXPORT_SYMBOL vmlinux 0x30b6f70c mini_qdisc_pair_init EXPORT_SYMBOL vmlinux 0x30c532dd thermal_cdev_update EXPORT_SYMBOL vmlinux 0x30c77ed7 proc_create_single_data EXPORT_SYMBOL vmlinux 0x30e18f8e mmc_retune_unpause @@ -7198,28 +7182,28 @@ EXPORT_SYMBOL vmlinux 0x31213766 insert_inode_locked4 EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 EXPORT_SYMBOL vmlinux 0x313297a3 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x313434ad xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x31356aff netdev_lower_get_next_private EXPORT_SYMBOL vmlinux 0x31549b2a __x86_indirect_thunk_r10 EXPORT_SYMBOL vmlinux 0x315eb2f0 __remove_inode_hash EXPORT_SYMBOL vmlinux 0x3163516e param_set_uint EXPORT_SYMBOL vmlinux 0x31798d37 jbd2_journal_release_jbd_inode EXPORT_SYMBOL vmlinux 0x318984d7 pci_fixup_cardbus -EXPORT_SYMBOL vmlinux 0x3196a8de tcp_filter EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring -EXPORT_SYMBOL vmlinux 0x31a3a03f kernel_sendpage -EXPORT_SYMBOL vmlinux 0x31b8ecb3 netdev_adjacent_change_commit EXPORT_SYMBOL vmlinux 0x31be64d7 iw_handler_get_thrspy EXPORT_SYMBOL vmlinux 0x31d49fb2 __genphy_config_aneg EXPORT_SYMBOL vmlinux 0x31e0b8ce __scsi_print_sense EXPORT_SYMBOL vmlinux 0x31eb7f9c key_alloc -EXPORT_SYMBOL vmlinux 0x31f94d46 ip_mc_inc_group EXPORT_SYMBOL vmlinux 0x31fed652 mmc_gpiod_request_ro -EXPORT_SYMBOL vmlinux 0x320b8f2b km_new_mapping EXPORT_SYMBOL vmlinux 0x32104b77 amd_iommu_domain_clear_gcr3 EXPORT_SYMBOL vmlinux 0x3213f038 mutex_unlock -EXPORT_SYMBOL vmlinux 0x321d1241 __skb_pad +EXPORT_SYMBOL vmlinux 0x3227518e tcf_exts_change EXPORT_SYMBOL vmlinux 0x322b233a bdevname EXPORT_SYMBOL vmlinux 0x325ba51a submit_bh EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x3276cd40 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x327b79e9 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x327bbc55 tc_setup_cb_call EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state EXPORT_SYMBOL vmlinux 0x32b1f2cb mdiobus_scan @@ -7227,25 +7211,24 @@ EXPORT_SYMBOL vmlinux 0x32ca8ba1 mdiobus_unregister EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string -EXPORT_SYMBOL vmlinux 0x330ea482 netdev_bind_sb_channel_queue -EXPORT_SYMBOL vmlinux 0x3324771e sock_rfree +EXPORT_SYMBOL vmlinux 0x32f76514 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x331102ab skb_vlan_push EXPORT_SYMBOL vmlinux 0x3324ef3b acpi_set_firmware_waking_vector -EXPORT_SYMBOL vmlinux 0x33310781 skb_headers_offset_update EXPORT_SYMBOL vmlinux 0x33353723 security_locked_down EXPORT_SYMBOL vmlinux 0x3338f60b param_ops_ushort -EXPORT_SYMBOL vmlinux 0x334ffc4e tcf_exts_destroy -EXPORT_SYMBOL vmlinux 0x3357ead6 tcf_block_get_ext EXPORT_SYMBOL vmlinux 0x336c3404 __tracepoint_write_msr EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33786097 mr_mfc_find_parent EXPORT_SYMBOL vmlinux 0x33845b92 scsi_print_sense EXPORT_SYMBOL vmlinux 0x33955c5f crypto_sha512_finup EXPORT_SYMBOL vmlinux 0x339b729d bioset_exit +EXPORT_SYMBOL vmlinux 0x339cafc5 __sk_backlog_rcv EXPORT_SYMBOL vmlinux 0x33a21a09 pv_ops -EXPORT_SYMBOL vmlinux 0x33a626d7 sock_init_data EXPORT_SYMBOL vmlinux 0x33b3320b dm_kcopyd_zero EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page EXPORT_SYMBOL vmlinux 0x33c7f451 xen_free_unpopulated_pages -EXPORT_SYMBOL vmlinux 0x33e9ee31 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x33d11e2b udp_seq_stop +EXPORT_SYMBOL vmlinux 0x33d8d37e tc_setup_flow_action EXPORT_SYMBOL vmlinux 0x33eaf424 bio_free_pages EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq @@ -7253,17 +7236,15 @@ EXPORT_SYMBOL vmlinux 0x33fd9da4 acpi_get_gpe_device EXPORT_SYMBOL vmlinux 0x34094dc5 put_disk EXPORT_SYMBOL vmlinux 0x340f9bec dentry_path_raw -EXPORT_SYMBOL vmlinux 0x3415bbcc xfrm_register_type -EXPORT_SYMBOL vmlinux 0x341e8912 __netlink_dump_start EXPORT_SYMBOL vmlinux 0x34211dfb seq_open_private EXPORT_SYMBOL vmlinux 0x342223e9 fscrypt_has_permitted_context EXPORT_SYMBOL vmlinux 0x3424daf8 __traceiter_dma_fence_enable_signal EXPORT_SYMBOL vmlinux 0x342b9805 blk_mq_alloc_tag_set -EXPORT_SYMBOL vmlinux 0x3431eb93 kernel_getsockname EXPORT_SYMBOL vmlinux 0x343bf451 is_acpi_device_node EXPORT_SYMBOL vmlinux 0x3441445f msrs_free -EXPORT_SYMBOL vmlinux 0x34438af6 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x344eb327 skb_unlink EXPORT_SYMBOL vmlinux 0x345da6e8 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x34681c42 tcp_md5_hash_skb_data EXPORT_SYMBOL vmlinux 0x3489859f acpi_enter_sleep_state_s4bios EXPORT_SYMBOL vmlinux 0x34907c71 buffer_migrate_page EXPORT_SYMBOL vmlinux 0x349cba85 strchr @@ -7274,28 +7255,32 @@ EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev EXPORT_SYMBOL vmlinux 0x34d95e51 md_finish_reshape EXPORT_SYMBOL vmlinux 0x34db050b _raw_spin_lock_irqsave -EXPORT_SYMBOL vmlinux 0x34e65f84 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x34e9b224 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x34ef29ad ppp_dev_name +EXPORT_SYMBOL vmlinux 0x34eff74e inet_unregister_protosw EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue EXPORT_SYMBOL vmlinux 0x34f89363 acpi_terminate_debugger EXPORT_SYMBOL vmlinux 0x34fbfec8 devm_ioport_unmap EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3526fa0d __skb_get_hash EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy EXPORT_SYMBOL vmlinux 0x3543a224 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x354aaa92 mr_rtm_dumproute EXPORT_SYMBOL vmlinux 0x354b4a1e acpi_ut_trace EXPORT_SYMBOL vmlinux 0x3550bc1d tty_devnum EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm -EXPORT_SYMBOL vmlinux 0x3572089a inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x357b4f47 netdev_adjacent_change_abort EXPORT_SYMBOL vmlinux 0x35851b1f md_cluster_ops -EXPORT_SYMBOL vmlinux 0x359206dd ethtool_rx_flow_rule_destroy EXPORT_SYMBOL vmlinux 0x35977003 mmc_cqe_request_done EXPORT_SYMBOL vmlinux 0x359c1506 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x35a14276 nf_getsockopt EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 EXPORT_SYMBOL vmlinux 0x35ac3d15 nobh_writepage EXPORT_SYMBOL vmlinux 0x35ea0209 pci_ep_cfs_remove_epc_group -EXPORT_SYMBOL vmlinux 0x35fa5a1f mptcp_subflow_reqsk_alloc EXPORT_SYMBOL vmlinux 0x360538f0 param_ops_string EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3615c257 km_report EXPORT_SYMBOL vmlinux 0x361ffa30 discard_new_inode EXPORT_SYMBOL vmlinux 0x36391038 clear_inode EXPORT_SYMBOL vmlinux 0x364850b1 down_write_killable @@ -7305,42 +7290,41 @@ EXPORT_SYMBOL vmlinux 0x3667e3a3 __tracepoint_kmem_cache_alloc_node EXPORT_SYMBOL vmlinux 0x367e68a1 blk_mq_complete_request EXPORT_SYMBOL vmlinux 0x36a04119 genphy_read_status -EXPORT_SYMBOL vmlinux 0x36b598d7 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x36a690e9 qdisc_put EXPORT_SYMBOL vmlinux 0x36b6ebbf down_killable EXPORT_SYMBOL vmlinux 0x36b8b560 flow_indr_dev_register EXPORT_SYMBOL vmlinux 0x36bca937 mmc_gpio_get_cd EXPORT_SYMBOL vmlinux 0x36ce56a4 mmc_register_driver -EXPORT_SYMBOL vmlinux 0x36d385e0 netdev_tc_map_to_queue_mask EXPORT_SYMBOL vmlinux 0x36de9fad dm_table_get_md +EXPORT_SYMBOL vmlinux 0x36f51db3 netpoll_parse_options EXPORT_SYMBOL vmlinux 0x36f7eec0 path_is_under +EXPORT_SYMBOL vmlinux 0x36f7f5e0 skb_tx_error EXPORT_SYMBOL vmlinux 0x36f99856 always_delete_dentry EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue -EXPORT_SYMBOL vmlinux 0x3722c45b netif_set_real_num_tx_queues EXPORT_SYMBOL vmlinux 0x3724d7d0 agp_generic_alloc_page EXPORT_SYMBOL vmlinux 0x3737d9a9 ZSTD_DStreamWorkspaceBound EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn EXPORT_SYMBOL vmlinux 0x37528133 scsi_bios_ptable EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe EXPORT_SYMBOL vmlinux 0x37746fde ZSTD_initDStream -EXPORT_SYMBOL vmlinux 0x37779700 inet_addr_type_table EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error -EXPORT_SYMBOL vmlinux 0x37880ef8 dev_set_group EXPORT_SYMBOL vmlinux 0x37a4b298 get_tz_trend EXPORT_SYMBOL vmlinux 0x37acb953 __SCK__tp_func_read_msr EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info EXPORT_SYMBOL vmlinux 0x37b8ef82 jbd2_journal_destroy EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37d7e10f ip_do_fragment EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date -EXPORT_SYMBOL vmlinux 0x37e208dc put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x37e547c0 sock_common_getsockopt EXPORT_SYMBOL vmlinux 0x37e6ce8b param_ops_byte +EXPORT_SYMBOL vmlinux 0x38068a9f ipv6_dev_mc_inc EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus EXPORT_SYMBOL vmlinux 0x382a932d kmem_cache_size -EXPORT_SYMBOL vmlinux 0x38397310 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x38454034 qdisc_offload_dump_helper EXPORT_SYMBOL vmlinux 0x384867e6 __tracepoint_rdpmc -EXPORT_SYMBOL vmlinux 0x384b4605 sk_capable EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll -EXPORT_SYMBOL vmlinux 0x387d0c8a skb_flow_dissect_ct EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388872f6 udp_seq_next EXPORT_SYMBOL vmlinux 0x388aa3c9 neigh_proc_dointvec_ms_jiffies EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue @@ -7353,7 +7337,6 @@ EXPORT_SYMBOL vmlinux 0x38d0cb42 page_zero_new_buffers EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq -EXPORT_SYMBOL vmlinux 0x38f54fc1 qdisc_watchdog_cancel EXPORT_SYMBOL vmlinux 0x38fb6c8d vmf_insert_pfn_prot EXPORT_SYMBOL vmlinux 0x39081193 __max_logical_packages EXPORT_SYMBOL vmlinux 0x390e347b jbd2_journal_submit_inode_data_buffers @@ -7363,24 +7346,21 @@ EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r EXPORT_SYMBOL vmlinux 0x396ff248 kthread_associate_blkcg -EXPORT_SYMBOL vmlinux 0x397ad6a5 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x39700a07 seg6_hmac_validate_skb EXPORT_SYMBOL vmlinux 0x39890bd9 edac_mc_find -EXPORT_SYMBOL vmlinux 0x398c1a7d tcp_sock_set_nodelay -EXPORT_SYMBOL vmlinux 0x399536e9 km_report EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r -EXPORT_SYMBOL vmlinux 0x39b2754a sock_no_listen EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and EXPORT_SYMBOL vmlinux 0x39c3cd17 devfreq_add_device -EXPORT_SYMBOL vmlinux 0x39c4247b dev_change_proto_down +EXPORT_SYMBOL vmlinux 0x39c47c45 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x39d2befd eth_header_cache EXPORT_SYMBOL vmlinux 0x39dfdfaf dcache_dir_open EXPORT_SYMBOL vmlinux 0x39e3c030 do_trace_read_msr EXPORT_SYMBOL vmlinux 0x39eb4fd3 give_up_console -EXPORT_SYMBOL vmlinux 0x39ff113b phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x39ff304c xfrm_state_delete EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify EXPORT_SYMBOL vmlinux 0x3a099605 __get_user_nocheck_4 EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc -EXPORT_SYMBOL vmlinux 0x3a1ee9cc __neigh_event_send EXPORT_SYMBOL vmlinux 0x3a29c23d dma_resv_reserve_shared EXPORT_SYMBOL vmlinux 0x3a2d1dfa rdmsr_safe_regs_on_cpu EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table @@ -7388,78 +7368,78 @@ EXPORT_SYMBOL vmlinux 0x3a42d72d pci_bus_write_config_dword EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized EXPORT_SYMBOL vmlinux 0x3a519e36 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x3a521d80 tcp_peek_len EXPORT_SYMBOL vmlinux 0x3a583d51 eisa_driver_register EXPORT_SYMBOL vmlinux 0x3a677037 __set_page_dirty_no_writeback EXPORT_SYMBOL vmlinux 0x3a732fe0 jbd2_log_start_commit EXPORT_SYMBOL vmlinux 0x3a928b65 rdmacg_try_charge -EXPORT_SYMBOL vmlinux 0x3aad6f7d xfrm_state_insert -EXPORT_SYMBOL vmlinux 0x3ab1dff1 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x3aafe31f __dst_destroy_metrics_generic EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer EXPORT_SYMBOL vmlinux 0x3abb0b07 cros_ec_get_next_event EXPORT_SYMBOL vmlinux 0x3abc6a1d pci_claim_resource EXPORT_SYMBOL vmlinux 0x3ac078f0 inode_insert5 +EXPORT_SYMBOL vmlinux 0x3ac725af kernel_sendmsg_locked EXPORT_SYMBOL vmlinux 0x3aca0190 _raw_write_lock_irq EXPORT_SYMBOL vmlinux 0x3ad5cda3 lockref_get_not_zero EXPORT_SYMBOL vmlinux 0x3ad772dc try_to_writeback_inodes_sb EXPORT_SYMBOL vmlinux 0x3ad7a5d5 acpi_evaluate_reference EXPORT_SYMBOL vmlinux 0x3ada9e06 acpi_check_region -EXPORT_SYMBOL vmlinux 0x3add15be xfrm_find_acq EXPORT_SYMBOL vmlinux 0x3ade3d65 flow_rule_match_ipv6_addrs EXPORT_SYMBOL vmlinux 0x3ae23f39 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x3af53868 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x3afaa3cb phy_ethtool_get_sset_count EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed EXPORT_SYMBOL vmlinux 0x3b029f48 acpi_install_fixed_event_handler -EXPORT_SYMBOL vmlinux 0x3b05e08d nf_unregister_net_hooks EXPORT_SYMBOL vmlinux 0x3b1ffdd0 __scsi_add_device EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode -EXPORT_SYMBOL vmlinux 0x3b43e9d4 nexthop_res_grp_activity_update EXPORT_SYMBOL vmlinux 0x3b51fea2 cdrom_check_events EXPORT_SYMBOL vmlinux 0x3b550e3f put_watch_queue -EXPORT_SYMBOL vmlinux 0x3b626a27 __sock_create EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint EXPORT_SYMBOL vmlinux 0x3b7fd79f hmm_range_fault EXPORT_SYMBOL vmlinux 0x3b83610f cpu_sibling_map -EXPORT_SYMBOL vmlinux 0x3b8ca856 inet_unregister_protosw EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3b946b6e netlink_ns_capable EXPORT_SYMBOL vmlinux 0x3b9dc107 iov_iter_revert EXPORT_SYMBOL vmlinux 0x3ba9f074 mpage_writepage -EXPORT_SYMBOL vmlinux 0x3bc60722 netdev_upper_dev_link EXPORT_SYMBOL vmlinux 0x3bcbd653 key_reject_and_link -EXPORT_SYMBOL vmlinux 0x3bd48ad1 ip_tunnel_header_ops -EXPORT_SYMBOL vmlinux 0x3bd6a5d4 skb_tx_error EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free -EXPORT_SYMBOL vmlinux 0x3bf6106f ip_fraglist_prepare EXPORT_SYMBOL vmlinux 0x3bfe6bfb dev_pm_opp_unregister_notifier EXPORT_SYMBOL vmlinux 0x3c0bb789 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x3c16a680 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x3c17b2f6 ip6_find_1stfragopt EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link -EXPORT_SYMBOL vmlinux 0x3c307912 netdev_warn +EXPORT_SYMBOL vmlinux 0x3c36eef6 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x3c3d8396 tcp_close EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf EXPORT_SYMBOL vmlinux 0x3c427f67 cpu_die_map EXPORT_SYMBOL vmlinux 0x3c481154 d_move EXPORT_SYMBOL vmlinux 0x3c5a8563 dquot_alloc_inode -EXPORT_SYMBOL vmlinux 0x3c60128c inet_frag_queue_insert EXPORT_SYMBOL vmlinux 0x3c6de49e inode_set_flags EXPORT_SYMBOL vmlinux 0x3c7cd8af mmc_alloc_host EXPORT_SYMBOL vmlinux 0x3c88f7ad __lock_buffer EXPORT_SYMBOL vmlinux 0x3c91db0a mdio_device_register -EXPORT_SYMBOL vmlinux 0x3ca73e98 tcp_v4_md5_lookup EXPORT_SYMBOL vmlinux 0x3cc1ccfb tcf_em_tree_destroy EXPORT_SYMBOL vmlinux 0x3cc65d33 md_unregister_thread EXPORT_SYMBOL vmlinux 0x3cd3624a mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0x3cd85b65 lock_sock_nested EXPORT_SYMBOL vmlinux 0x3cda93cd page_symlink EXPORT_SYMBOL vmlinux 0x3ce17d39 agp_generic_remove_memory EXPORT_SYMBOL vmlinux 0x3ce2310c fs_param_is_u32 EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ced78a9 sock_kfree_s EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d058cec inet_frag_destroy EXPORT_SYMBOL vmlinux 0x3d0695be iterate_supers_type EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d22e1d5 tcf_action_set_ctrlact EXPORT_SYMBOL vmlinux 0x3d258838 pci_disable_device EXPORT_SYMBOL vmlinux 0x3d4196fb inode_set_bytes EXPORT_SYMBOL vmlinux 0x3d56e7b3 utf8_unload EXPORT_SYMBOL vmlinux 0x3d75f7d7 phy_device_remove -EXPORT_SYMBOL vmlinux 0x3d7f5089 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x3d7ba110 ndo_dflt_fdb_dump EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled @@ -7467,45 +7447,49 @@ EXPORT_SYMBOL vmlinux 0x3db0f61e kmem_cache_create_usercopy EXPORT_SYMBOL vmlinux 0x3db37a2a jbd2_journal_get_undo_access EXPORT_SYMBOL vmlinux 0x3dbac4e0 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x3dbeebce inet_get_local_port_range EXPORT_SYMBOL vmlinux 0x3dc619d3 swake_up_locked EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies EXPORT_SYMBOL vmlinux 0x3ddc6c04 x86_bios_cpu_apicid EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head -EXPORT_SYMBOL vmlinux 0x3e064985 ip_options_compile -EXPORT_SYMBOL vmlinux 0x3e10e936 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x3dffa88f skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x3e08fc6d udp_seq_start EXPORT_SYMBOL vmlinux 0x3e1e0969 __scsi_execute EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule EXPORT_SYMBOL vmlinux 0x3e3df94f vme_irq_generate EXPORT_SYMBOL vmlinux 0x3e3e281d try_lookup_one_len -EXPORT_SYMBOL vmlinux 0x3e3f7969 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x3e520603 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x3e5c5c6b eth_validate_addr EXPORT_SYMBOL vmlinux 0x3e60e94a setattr_should_drop_suidgid EXPORT_SYMBOL vmlinux 0x3e612806 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x3e65f974 kernel_accept EXPORT_SYMBOL vmlinux 0x3e6a3250 __register_binfmt -EXPORT_SYMBOL vmlinux 0x3e6d9878 xsk_tx_peek_release_desc_batch -EXPORT_SYMBOL vmlinux 0x3e750707 init_net EXPORT_SYMBOL vmlinux 0x3e802744 blk_post_runtime_suspend EXPORT_SYMBOL vmlinux 0x3eaf08ff generic_setlease -EXPORT_SYMBOL vmlinux 0x3ebd7e62 dst_cow_metrics_generic EXPORT_SYMBOL vmlinux 0x3ec4ae95 pfifo_qdisc_ops EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up -EXPORT_SYMBOL vmlinux 0x3eeba25d nlmsg_notify EXPORT_SYMBOL vmlinux 0x3eeca0a8 vm_map_pages EXPORT_SYMBOL vmlinux 0x3eecb6c3 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x3ef6e342 skb_expand_head EXPORT_SYMBOL vmlinux 0x3ef73b4d pcie_capability_clear_and_set_word EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f074400 xfrm6_rcv_spi EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f24d178 skb_kill_datagram EXPORT_SYMBOL vmlinux 0x3f2ed2ef generic_block_bmap EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align EXPORT_SYMBOL vmlinux 0x3f59d1b7 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x3f5d15e1 netif_carrier_off EXPORT_SYMBOL vmlinux 0x3f5ef3f7 seq_escape EXPORT_SYMBOL vmlinux 0x3f624d6d scsi_host_busy +EXPORT_SYMBOL vmlinux 0x3f63ff84 sock_set_priority +EXPORT_SYMBOL vmlinux 0x3f6e6533 ppp_register_net_channel EXPORT_SYMBOL vmlinux 0x3f7907eb ps2_drain EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access -EXPORT_SYMBOL vmlinux 0x3f8ba43a tcp_get_cookie_sock -EXPORT_SYMBOL vmlinux 0x3f8c0250 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x3f8989cc register_nexthop_notifier EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set EXPORT_SYMBOL vmlinux 0x3fcdb9f6 noop_fsync EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region @@ -7514,17 +7498,17 @@ EXPORT_SYMBOL vmlinux 0x3feb2ed9 max8925_bulk_read EXPORT_SYMBOL vmlinux 0x3ffe96df dma_async_device_unregister EXPORT_SYMBOL vmlinux 0x4011b7a5 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x4025868c tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x4025e67f ppp_input_error +EXPORT_SYMBOL vmlinux 0x40359294 sock_cmsg_send EXPORT_SYMBOL vmlinux 0x4055a920 acpi_remove_fixed_event_handler EXPORT_SYMBOL vmlinux 0x405b969b vme_dma_list_add -EXPORT_SYMBOL vmlinux 0x405c4c3c udp_seq_next -EXPORT_SYMBOL vmlinux 0x40654471 udp_skb_destructor -EXPORT_SYMBOL vmlinux 0x406893b6 secure_tcpv6_ts_off EXPORT_SYMBOL vmlinux 0x4071f59e set_blocksize -EXPORT_SYMBOL vmlinux 0x40759fdd __skb_checksum_complete_head EXPORT_SYMBOL vmlinux 0x407ccd34 blk_mq_start_request EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate EXPORT_SYMBOL vmlinux 0x40a1d616 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x40a4132b xsk_clear_tx_need_wakeup EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc EXPORT_SYMBOL vmlinux 0x40b34725 da903x_query_status EXPORT_SYMBOL vmlinux 0x40b767a4 scsi_host_put @@ -7536,6 +7520,7 @@ EXPORT_SYMBOL vmlinux 0x40ebfb03 param_ops_ullong EXPORT_SYMBOL vmlinux 0x40f37b03 nla_reserve EXPORT_SYMBOL vmlinux 0x40f76a86 __vcalloc +EXPORT_SYMBOL vmlinux 0x410874d0 skb_flow_get_icmp_tci EXPORT_SYMBOL vmlinux 0x4119c93a notify_change EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin EXPORT_SYMBOL vmlinux 0x4135804c dquot_quotactl_sysfile_ops @@ -7547,48 +7532,48 @@ EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time EXPORT_SYMBOL vmlinux 0x41908d6c lookup_one_len_unlocked EXPORT_SYMBOL vmlinux 0x41912ae0 vfs_readlink -EXPORT_SYMBOL vmlinux 0x41a5f484 __dev_remove_pack EXPORT_SYMBOL vmlinux 0x41a89831 jbd2_journal_restart EXPORT_SYMBOL vmlinux 0x41ad1f4e input_mt_assign_slots EXPORT_SYMBOL vmlinux 0x41b1cd83 unregister_fib_notifier EXPORT_SYMBOL vmlinux 0x41b26484 cdrom_ioctl -EXPORT_SYMBOL vmlinux 0x41beead0 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x41ce50ec sock_set_rcvbuf EXPORT_SYMBOL vmlinux 0x41d7b6d2 load_nls_default EXPORT_SYMBOL vmlinux 0x41df6dea dma_sync_single_for_cpu EXPORT_SYMBOL vmlinux 0x41e02536 try_to_release_page +EXPORT_SYMBOL vmlinux 0x41e17108 __cgroup_bpf_run_filter_sk EXPORT_SYMBOL vmlinux 0x41ed3709 get_random_bytes EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot EXPORT_SYMBOL vmlinux 0x41f9b6b0 nvdimm_bus_lock EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse EXPORT_SYMBOL vmlinux 0x42160169 flush_workqueue -EXPORT_SYMBOL vmlinux 0x421e7783 xfrm_dst_ifdown EXPORT_SYMBOL vmlinux 0x421f7711 vfs_fadvise EXPORT_SYMBOL vmlinux 0x421f92e3 mipi_dsi_generic_read -EXPORT_SYMBOL vmlinux 0x422d41ca skb_clone_sk EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len EXPORT_SYMBOL vmlinux 0x4231f409 jbd2_journal_get_create_access EXPORT_SYMBOL vmlinux 0x423b5b9c jbd2_journal_start EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type -EXPORT_SYMBOL vmlinux 0x42584252 security_binder_transfer_file EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x425bd7fc udp_flush_pending_frames EXPORT_SYMBOL vmlinux 0x425ef673 truncate_pagecache_range -EXPORT_SYMBOL vmlinux 0x4260be28 ethtool_notify EXPORT_SYMBOL vmlinux 0x42689e2d seq_putc EXPORT_SYMBOL vmlinux 0x427131a5 __put_page EXPORT_SYMBOL vmlinux 0x4279de67 mmc_retune_release EXPORT_SYMBOL vmlinux 0x427b9e7e filemap_fdatawait_keep_errors EXPORT_SYMBOL vmlinux 0x4281ebc4 set_page_dirty_lock EXPORT_SYMBOL vmlinux 0x428794df mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x42b46126 dev_getbyhwaddr_rcu EXPORT_SYMBOL vmlinux 0x42b7247f vfs_create_mount EXPORT_SYMBOL vmlinux 0x42b796e4 dquot_reclaim_space_nodirty EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock -EXPORT_SYMBOL vmlinux 0x42c7ba6d sock_cmsg_send EXPORT_SYMBOL vmlinux 0x42dc216a tty_flip_buffer_push -EXPORT_SYMBOL vmlinux 0x42eea2df ip_frag_init +EXPORT_SYMBOL vmlinux 0x42df41a3 security_sk_clone EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42f77470 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x42fe8870 audit_log EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430bef7e netdev_warn EXPORT_SYMBOL vmlinux 0x43139543 ptp_schedule_worker EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate EXPORT_SYMBOL vmlinux 0x4329d533 flow_rule_match_enc_ipv4_addrs @@ -7596,8 +7581,11 @@ EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer EXPORT_SYMBOL vmlinux 0x433f0b06 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x4349372a netdev_has_upper_dev EXPORT_SYMBOL vmlinux 0x434fa6f9 dma_async_device_register EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x43518171 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0x4355194d netdev_unbind_sb_channel EXPORT_SYMBOL vmlinux 0x4369cef2 input_mt_report_finger_count EXPORT_SYMBOL vmlinux 0x4371c42a bd_abort_claiming EXPORT_SYMBOL vmlinux 0x4376c555 component_match_add_typed @@ -7605,46 +7593,42 @@ EXPORT_SYMBOL vmlinux 0x43829e12 unmap_mapping_range EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security EXPORT_SYMBOL vmlinux 0x438abc08 tty_kref_put -EXPORT_SYMBOL vmlinux 0x438bc5bd napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x43983497 xfrm_if_register_cb EXPORT_SYMBOL vmlinux 0x439913f6 pipe_unlock EXPORT_SYMBOL vmlinux 0x43a13937 bh_submit_read EXPORT_SYMBOL vmlinux 0x43bbc87d max8998_write_reg EXPORT_SYMBOL vmlinux 0x43c4cf9d pci_reenable_device EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember -EXPORT_SYMBOL vmlinux 0x43fa46bc netif_device_attach -EXPORT_SYMBOL vmlinux 0x440b781b xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x442a70ca xfrm_unregister_km EXPORT_SYMBOL vmlinux 0x4439e0f5 console_start EXPORT_SYMBOL vmlinux 0x44414ff2 iosf_mbi_unblock_punit_i2c_access EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table EXPORT_SYMBOL vmlinux 0x444e0c0b __set_page_dirty_nobuffers EXPORT_SYMBOL vmlinux 0x44512a97 locks_init_lock -EXPORT_SYMBOL vmlinux 0x44564696 security_unix_may_send EXPORT_SYMBOL vmlinux 0x44579239 vme_master_request EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x4472baec xfrm_register_type EXPORT_SYMBOL vmlinux 0x44902cff acpi_enable_event EXPORT_SYMBOL vmlinux 0x449317fa jbd2_journal_check_available_features -EXPORT_SYMBOL vmlinux 0x44970007 phy_print_status EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp -EXPORT_SYMBOL vmlinux 0x44a43e22 dev_get_by_name_rcu EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44ab7d2b tc_setup_cb_add EXPORT_SYMBOL vmlinux 0x44b2c19d fb_blank EXPORT_SYMBOL vmlinux 0x44b630c7 cdrom_open EXPORT_SYMBOL vmlinux 0x44e9909d serio_open EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44fe98e0 netdev_bind_sb_channel_queue EXPORT_SYMBOL vmlinux 0x45006cee default_red EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle -EXPORT_SYMBOL vmlinux 0x450f3a4a inet_frag_find EXPORT_SYMBOL vmlinux 0x4517518b __f_setown -EXPORT_SYMBOL vmlinux 0x4517fa78 tcf_idrinfo_destroy EXPORT_SYMBOL vmlinux 0x4523d78b pm8606_osc_disable EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr -EXPORT_SYMBOL vmlinux 0x4535dbc7 sk_stream_wait_close EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled EXPORT_SYMBOL vmlinux 0x453d8d45 ptp_clock_register EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update -EXPORT_SYMBOL vmlinux 0x4561f252 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x4564a949 security_sb_mnt_opts_compat EXPORT_SYMBOL vmlinux 0x4569de6e pmem_sector_size EXPORT_SYMBOL vmlinux 0x456f0b3c PDE_DATA EXPORT_SYMBOL vmlinux 0x45700b06 ps2_command @@ -7658,21 +7642,22 @@ EXPORT_SYMBOL vmlinux 0x45a7cdeb pci_read_config_byte EXPORT_SYMBOL vmlinux 0x45aea603 blkdev_put EXPORT_SYMBOL vmlinux 0x45b2841a vfs_get_link -EXPORT_SYMBOL vmlinux 0x45b52b6f ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x45b7ece6 pid_task +EXPORT_SYMBOL vmlinux 0x45c2e02b xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x45c46c08 tcf_idr_create_from_flags EXPORT_SYMBOL vmlinux 0x45d246da node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x45e6c530 __neigh_create EXPORT_SYMBOL vmlinux 0x45e8d7b5 native_write_cr0 +EXPORT_SYMBOL vmlinux 0x45eb2953 tcp_add_backlog EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys EXPORT_SYMBOL vmlinux 0x4616e368 dev_driver_string EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents EXPORT_SYMBOL vmlinux 0x461f3cc3 dma_map_page_attrs -EXPORT_SYMBOL vmlinux 0x46252fc1 sock_init_data_uid EXPORT_SYMBOL vmlinux 0x4629334c __preempt_count EXPORT_SYMBOL vmlinux 0x463219fb tcp_hashinfo EXPORT_SYMBOL vmlinux 0x4633c267 handle_edge_irq -EXPORT_SYMBOL vmlinux 0x4636821d tcp_simple_retransmit EXPORT_SYMBOL vmlinux 0x46370c5f buffer_check_dirty_writeback EXPORT_SYMBOL vmlinux 0x4642c2fa cont_write_begin -EXPORT_SYMBOL vmlinux 0x4654ff5e xfrm_unregister_type_offload EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size EXPORT_SYMBOL vmlinux 0x466c14a7 __delay EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill @@ -7681,17 +7666,16 @@ EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option EXPORT_SYMBOL vmlinux 0x469de114 param_ops_short EXPORT_SYMBOL vmlinux 0x469fd558 vfio_register_notifier -EXPORT_SYMBOL vmlinux 0x46a7a465 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x46a60a8b inet_sendmsg EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance EXPORT_SYMBOL vmlinux 0x46c67e37 show_init_ipc_ns EXPORT_SYMBOL vmlinux 0x46ccaa1d single_open_size EXPORT_SYMBOL vmlinux 0x46cf10eb cachemode2protval -EXPORT_SYMBOL vmlinux 0x46db6849 mr_vif_seq_next EXPORT_SYMBOL vmlinux 0x46fb40f8 dm_table_get_mode EXPORT_SYMBOL vmlinux 0x46ffee2f dev_uc_add -EXPORT_SYMBOL vmlinux 0x470483e3 dev_remove_offload EXPORT_SYMBOL vmlinux 0x47130bf2 btf_register EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x47320b36 tso_build_data EXPORT_SYMBOL vmlinux 0x47340d37 __vfs_removexattr EXPORT_SYMBOL vmlinux 0x4740b3bc xen_arch_unregister_cpu EXPORT_SYMBOL vmlinux 0x474ca6ac fasync_helper @@ -7701,11 +7685,10 @@ EXPORT_SYMBOL vmlinux 0x4763ea00 mdio_device_free EXPORT_SYMBOL vmlinux 0x4766b99f dev_uc_del EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev -EXPORT_SYMBOL vmlinux 0x4780937a sock_gettstamp EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap -EXPORT_SYMBOL vmlinux 0x47a20e76 nexthop_set_hw_flags EXPORT_SYMBOL vmlinux 0x47b8ade6 __SCK__tp_func_kmalloc EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c33c83 mr_mfc_seq_next EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier EXPORT_SYMBOL vmlinux 0x47cfd825 kstrtouint_from_user EXPORT_SYMBOL vmlinux 0x47d8d301 __cond_resched_rwlock_read @@ -7715,67 +7698,58 @@ EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work -EXPORT_SYMBOL vmlinux 0x482ac447 __pskb_copy_fclone EXPORT_SYMBOL vmlinux 0x483246cc rproc_remove_subdev EXPORT_SYMBOL vmlinux 0x48384f8c pci_dev_driver EXPORT_SYMBOL vmlinux 0x4841bdee strnchr -EXPORT_SYMBOL vmlinux 0x48430273 security_sk_classify_flow EXPORT_SYMBOL vmlinux 0x48476bcb intel_gtt_insert_page EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4851fb20 inet_add_protocol EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc EXPORT_SYMBOL vmlinux 0x4862983c set_nlink EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev -EXPORT_SYMBOL vmlinux 0x487415f8 netif_napi_add EXPORT_SYMBOL vmlinux 0x4878a1d8 __SCK__tp_func_mmap_lock_released EXPORT_SYMBOL vmlinux 0x48838de3 generic_ro_fops EXPORT_SYMBOL vmlinux 0x4884eb01 param_get_hexint EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim EXPORT_SYMBOL vmlinux 0x48a81d7e vfio_group_pin_pages EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b01432 neigh_seq_next EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave EXPORT_SYMBOL vmlinux 0x48c5dd72 config_group_find_item -EXPORT_SYMBOL vmlinux 0x48c7a591 netdev_set_sb_channel -EXPORT_SYMBOL vmlinux 0x48cf3ac5 __ip_options_compile EXPORT_SYMBOL vmlinux 0x48d20d46 mdiobus_register_device EXPORT_SYMBOL vmlinux 0x48d50e79 amd_iommu_register_ppr_notifier -EXPORT_SYMBOL vmlinux 0x48dbe169 skb_coalesce_rx_frag EXPORT_SYMBOL vmlinux 0x48dfd21a agp_backend_release +EXPORT_SYMBOL vmlinux 0x48e7be94 phy_ethtool_ksettings_set EXPORT_SYMBOL vmlinux 0x48f80945 mfd_remove_devices EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert EXPORT_SYMBOL vmlinux 0x494d6fb9 devm_pci_remap_cfg_resource EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x4951bb2e fget EXPORT_SYMBOL vmlinux 0x495e378d __pv_queued_spin_lock_slowpath EXPORT_SYMBOL vmlinux 0x4967e79f radix_tree_iter_resume EXPORT_SYMBOL vmlinux 0x496b1a97 cros_ec_prepare_tx -EXPORT_SYMBOL vmlinux 0x4976ac13 neigh_parms_alloc -EXPORT_SYMBOL vmlinux 0x497b9e3a unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x496f9e69 netpoll_cleanup EXPORT_SYMBOL vmlinux 0x498c3706 scsi_test_unit_ready EXPORT_SYMBOL vmlinux 0x498e9128 ZSTD_findDecompressedSize -EXPORT_SYMBOL vmlinux 0x499b4cb8 netlink_capable EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum -EXPORT_SYMBOL vmlinux 0x49a31e98 __dev_get_by_name EXPORT_SYMBOL vmlinux 0x49ad0ff6 input_open_device -EXPORT_SYMBOL vmlinux 0x49af4f69 security_inode_getsecctx EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan -EXPORT_SYMBOL vmlinux 0x49b6379f xsk_get_pool_from_qid -EXPORT_SYMBOL vmlinux 0x49c4eec9 xfrm_state_add EXPORT_SYMBOL vmlinux 0x49c59b87 iget5_locked EXPORT_SYMBOL vmlinux 0x49d7bad3 dev_addr_add -EXPORT_SYMBOL vmlinux 0x49dc1188 xfrm_lookup_with_ifid EXPORT_SYMBOL vmlinux 0x49e32adf vlan_filter_push_vids EXPORT_SYMBOL vmlinux 0x4a165127 kobject_put -EXPORT_SYMBOL vmlinux 0x4a28e8a3 sock_create_kern -EXPORT_SYMBOL vmlinux 0x4a2a1900 nf_log_register +EXPORT_SYMBOL vmlinux 0x4a2e5db5 skb_clone EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a3d6259 sk_common_release +EXPORT_SYMBOL vmlinux 0x4a419928 inet6_getname EXPORT_SYMBOL vmlinux 0x4a453f53 iowrite32 -EXPORT_SYMBOL vmlinux 0x4a56396e ipv6_dev_mc_dec -EXPORT_SYMBOL vmlinux 0x4a68222e inet_proto_csum_replace16 EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest EXPORT_SYMBOL vmlinux 0x4aa920ad scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x4aa9d424 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x4ab38917 skb_checksum EXPORT_SYMBOL vmlinux 0x4abb7d10 cpu_rmap_update -EXPORT_SYMBOL vmlinux 0x4abc9c5e seg6_hmac_net_exit EXPORT_SYMBOL vmlinux 0x4abd71fd mipi_dsi_detach EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 @@ -7785,19 +7759,19 @@ EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure EXPORT_SYMBOL vmlinux 0x4b0ca0c6 rproc_put EXPORT_SYMBOL vmlinux 0x4b15e0f9 nd_pfn_probe -EXPORT_SYMBOL vmlinux 0x4b32b203 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x4b41f76b netdev_port_same_parent_id EXPORT_SYMBOL vmlinux 0x4b4ce6ce dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x4b4e39ea __dev_kfree_skb_irq EXPORT_SYMBOL vmlinux 0x4b5e3a47 __get_user_nocheck_1 EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback EXPORT_SYMBOL vmlinux 0x4b61b82a drop_super EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg EXPORT_SYMBOL vmlinux 0x4b852b77 task_work_add EXPORT_SYMBOL vmlinux 0x4b8fcc60 fb_pan_display -EXPORT_SYMBOL vmlinux 0x4b97b447 dcb_setapp -EXPORT_SYMBOL vmlinux 0x4b9f2598 arp_tbl -EXPORT_SYMBOL vmlinux 0x4ba118c6 datagram_poll EXPORT_SYMBOL vmlinux 0x4baa3bb6 fwnode_mdiobus_phy_device_register EXPORT_SYMBOL vmlinux 0x4baf1cf1 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x4bc2e07b inet_listen +EXPORT_SYMBOL vmlinux 0x4bca604f dev_change_proto_down_reason EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node EXPORT_SYMBOL vmlinux 0x4be9c963 lookup_one_positive_unlocked EXPORT_SYMBOL vmlinux 0x4bebf60e jbd2_journal_inode_ranged_wait @@ -7806,35 +7780,40 @@ EXPORT_SYMBOL vmlinux 0x4c01f64d seq_release EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance EXPORT_SYMBOL vmlinux 0x4c0e0fdc convert_art_to_tsc_ns_duration -EXPORT_SYMBOL vmlinux 0x4c1d115c ip6_xmit EXPORT_SYMBOL vmlinux 0x4c236f6f __x86_indirect_thunk_r15 EXPORT_SYMBOL vmlinux 0x4c2eb07e devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x4c36aa83 build_skb EXPORT_SYMBOL vmlinux 0x4c38d4e0 utf8_strncasecmp_folded EXPORT_SYMBOL vmlinux 0x4c3de624 take_dentry_name_snapshot EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast EXPORT_SYMBOL vmlinux 0x4c639b52 readahead_expand +EXPORT_SYMBOL vmlinux 0x4c67d0e4 inet_dgram_connect EXPORT_SYMBOL vmlinux 0x4c6dd7f9 agp_bridge EXPORT_SYMBOL vmlinux 0x4c75b7c6 unpin_user_pages_dirty_lock EXPORT_SYMBOL vmlinux 0x4c8bcf33 stream_open -EXPORT_SYMBOL vmlinux 0x4c8c3565 tcf_idr_create_from_flags EXPORT_SYMBOL vmlinux 0x4c9d28b0 phys_base EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event EXPORT_SYMBOL vmlinux 0x4cd028ca acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0x4cd463db skb_store_bits +EXPORT_SYMBOL vmlinux 0x4cd5ad8f nf_log_register EXPORT_SYMBOL vmlinux 0x4cd5bc5e rdmsr_safe_regs EXPORT_SYMBOL vmlinux 0x4ceae601 get_cpu_entry_area +EXPORT_SYMBOL vmlinux 0x4cecc636 proto_register EXPORT_SYMBOL vmlinux 0x4cf819e6 module_layout +EXPORT_SYMBOL vmlinux 0x4cfc7bd5 eth_commit_mac_addr_change EXPORT_SYMBOL vmlinux 0x4d022133 __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x4d12c4cc xp_raw_get_dma EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info -EXPORT_SYMBOL vmlinux 0x4d2f2e91 sock_no_connect +EXPORT_SYMBOL vmlinux 0x4d43a0dc neigh_lookup EXPORT_SYMBOL vmlinux 0x4d47769b dquot_load_quota_sb EXPORT_SYMBOL vmlinux 0x4d4f4e86 fb_class EXPORT_SYMBOL vmlinux 0x4d50290b blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x4d567250 xfrm_input_unregister_afinfo EXPORT_SYMBOL vmlinux 0x4d723738 blk_queue_logical_block_size EXPORT_SYMBOL vmlinux 0x4d737d46 igrab EXPORT_SYMBOL vmlinux 0x4d924f20 memremap -EXPORT_SYMBOL vmlinux 0x4d96a434 inet_ioctl EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase -EXPORT_SYMBOL vmlinux 0x4dc26b1d alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x4dc24d96 reuseport_select_sock EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence EXPORT_SYMBOL vmlinux 0x4dcbb368 gnet_stats_copy_queue EXPORT_SYMBOL vmlinux 0x4de995ec gen_pool_dma_alloc_algo @@ -7843,44 +7822,49 @@ EXPORT_SYMBOL vmlinux 0x4dfa8d4b mutex_lock EXPORT_SYMBOL vmlinux 0x4e15523f pci_request_irq EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set -EXPORT_SYMBOL vmlinux 0x4e25b098 mini_qdisc_pair_swap EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno -EXPORT_SYMBOL vmlinux 0x4e4feb83 napi_gro_receive EXPORT_SYMBOL vmlinux 0x4e517eb9 cdev_alloc EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller EXPORT_SYMBOL vmlinux 0x4e620977 d_rehash +EXPORT_SYMBOL vmlinux 0x4e6500dc tcp_get_cookie_sock EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e8fcc4f sock_no_sendmsg EXPORT_SYMBOL vmlinux 0x4e98f46b phy_device_create +EXPORT_SYMBOL vmlinux 0x4e9deb03 skb_checksum_help EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb37bcb skb_dequeue EXPORT_SYMBOL vmlinux 0x4ebb19ac __destroy_inode EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 -EXPORT_SYMBOL vmlinux 0x4ec9b647 inet_frag_reasm_finish -EXPORT_SYMBOL vmlinux 0x4ed58df2 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x4ed9c08c dst_release_immediate +EXPORT_SYMBOL vmlinux 0x4ee3b291 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x4eedf07b mini_qdisc_pair_swap EXPORT_SYMBOL vmlinux 0x4ef0634f flow_rule_match_eth_addrs EXPORT_SYMBOL vmlinux 0x4f00afd3 kmem_cache_alloc_trace -EXPORT_SYMBOL vmlinux 0x4f0d6aa7 ppp_unregister_compressor EXPORT_SYMBOL vmlinux 0x4f13ba0a __SCK__tp_func_module_get EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f51a99b skb_tunnel_check_pmtu EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources -EXPORT_SYMBOL vmlinux 0x4f61bedd sk_stream_wait_memory -EXPORT_SYMBOL vmlinux 0x4f6990ae nf_ct_attach +EXPORT_SYMBOL vmlinux 0x4f6469f3 nlmsg_notify EXPORT_SYMBOL vmlinux 0x4f6e1d7e __tracepoint_dma_fence_enable_signal EXPORT_SYMBOL vmlinux 0x4f709989 security_binder_transfer_binder EXPORT_SYMBOL vmlinux 0x4f711f84 intel_scu_ipc_dev_iowrite8 -EXPORT_SYMBOL vmlinux 0x4f735953 rtnl_kfree_skbs EXPORT_SYMBOL vmlinux 0x4f75ee15 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x4f8943ce udp6_set_csum +EXPORT_SYMBOL vmlinux 0x4fa5c36a genlmsg_multicast_allns EXPORT_SYMBOL vmlinux 0x4fa9c45b padata_set_cpumask -EXPORT_SYMBOL vmlinux 0x4fb9cfc5 tcp_mmap +EXPORT_SYMBOL vmlinux 0x4fae06cb netdev_get_xmit_slave EXPORT_SYMBOL vmlinux 0x4fd171b1 no_seek_end_llseek EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command EXPORT_SYMBOL vmlinux 0x4fe3c4fb key_revoke EXPORT_SYMBOL vmlinux 0x4feefdd2 d_genocide +EXPORT_SYMBOL vmlinux 0x4ff86207 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x4ff9c96a security_sctp_sk_clone EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security EXPORT_SYMBOL vmlinux 0x5009c71d glob_match EXPORT_SYMBOL vmlinux 0x50159aaa generic_write_checks @@ -7889,12 +7873,10 @@ EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex EXPORT_SYMBOL vmlinux 0x50347ac1 pagevec_lookup_range_tag EXPORT_SYMBOL vmlinux 0x503496d9 pci_map_biosrom -EXPORT_SYMBOL vmlinux 0x503d5360 netdev_port_same_parent_id EXPORT_SYMBOL vmlinux 0x505353d1 acpi_match_device_ids EXPORT_SYMBOL vmlinux 0x50624917 sha1_init EXPORT_SYMBOL vmlinux 0x506cc1db free_task EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free -EXPORT_SYMBOL vmlinux 0x507dea6e dev_get_phys_port_name EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check EXPORT_SYMBOL vmlinux 0x50932ac7 __devm_mdiobus_register EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu @@ -7907,11 +7889,10 @@ EXPORT_SYMBOL vmlinux 0x50cf7585 hex2bin EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf EXPORT_SYMBOL vmlinux 0x50d68377 arch_phys_wc_del -EXPORT_SYMBOL vmlinux 0x50f23ddb nf_unregister_sockopt EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq EXPORT_SYMBOL vmlinux 0x5107701c __do_once_done -EXPORT_SYMBOL vmlinux 0x5110aa83 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x510b5b4d skb_vlan_untag EXPORT_SYMBOL vmlinux 0x511682ac twl6040_reg_write EXPORT_SYMBOL vmlinux 0x511ab1ae dquot_get_next_dqblk EXPORT_SYMBOL vmlinux 0x514d1a33 dev_mc_unsync @@ -7920,81 +7901,82 @@ EXPORT_SYMBOL vmlinux 0x517080d0 vfs_tmpfile EXPORT_SYMBOL vmlinux 0x517a23be flow_rule_match_vlan EXPORT_SYMBOL vmlinux 0x5180ef47 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x519fa88c inet_del_protocol EXPORT_SYMBOL vmlinux 0x51a511eb _raw_write_lock_bh EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51df7b63 xfrm_state_lookup_byaddr EXPORT_SYMBOL vmlinux 0x51f298e0 intel_scu_ipc_dev_ioread8 EXPORT_SYMBOL vmlinux 0x51f86a1a blk_limits_io_opt -EXPORT_SYMBOL vmlinux 0x52050934 km_policy_notify -EXPORT_SYMBOL vmlinux 0x5209f08e inet_getname +EXPORT_SYMBOL vmlinux 0x5200dfa2 genl_unregister_family EXPORT_SYMBOL vmlinux 0x521963ed jbd2_fc_release_bufs EXPORT_SYMBOL vmlinux 0x521cf15c rproc_coredump_add_custom_segment EXPORT_SYMBOL vmlinux 0x521fd5bb mmc_cqe_start_req EXPORT_SYMBOL vmlinux 0x522a9e66 phy_detach EXPORT_SYMBOL vmlinux 0x522b17eb __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x52396cea ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x524e13cf sock_alloc EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack -EXPORT_SYMBOL vmlinux 0x528f227b ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x527aaee5 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x52856601 ip_defrag EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write -EXPORT_SYMBOL vmlinux 0x52d22326 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x52ac6142 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x52b5ee45 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x52b60be9 pskb_extract EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52d812b2 neigh_destroy EXPORT_SYMBOL vmlinux 0x52dcb85b __traceiter_kmalloc EXPORT_SYMBOL vmlinux 0x52e03651 tty_register_ldisc EXPORT_SYMBOL vmlinux 0x52e4069e forget_cached_acl EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x53006f9e eth_prepare_mac_addr_change EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum EXPORT_SYMBOL vmlinux 0x531948ba fscrypt_put_encryption_info EXPORT_SYMBOL vmlinux 0x5319e1d4 fb_validate_mode EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x532612c1 __icmp_send EXPORT_SYMBOL vmlinux 0x533206b5 sort_r EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x5348f57c netdev_txq_to_tc EXPORT_SYMBOL vmlinux 0x534c1992 bio_endio EXPORT_SYMBOL vmlinux 0x534f236f default_llseek EXPORT_SYMBOL vmlinux 0x53569707 this_cpu_off -EXPORT_SYMBOL vmlinux 0x535c5a14 mr_rtm_dumproute EXPORT_SYMBOL vmlinux 0x535d2f61 __nla_put_64bit -EXPORT_SYMBOL vmlinux 0x536b4a8f inet_release EXPORT_SYMBOL vmlinux 0x537d3f56 __SCK__tp_func_kmem_cache_alloc_node -EXPORT_SYMBOL vmlinux 0x538ab2ab netlink_broadcast_filtered -EXPORT_SYMBOL vmlinux 0x538c8c14 skb_queue_head +EXPORT_SYMBOL vmlinux 0x53aa7a00 xfrm4_rcv_encap EXPORT_SYMBOL vmlinux 0x53b954a2 up_read EXPORT_SYMBOL vmlinux 0x53e50ffa first_ec -EXPORT_SYMBOL vmlinux 0x53eb08bc ip_output EXPORT_SYMBOL vmlinux 0x53f55f2d amd_iommu_flush_page EXPORT_SYMBOL vmlinux 0x53fa36d1 ZSTD_decompressBlock EXPORT_SYMBOL vmlinux 0x54175c5f acpi_read_bit_register EXPORT_SYMBOL vmlinux 0x5429d69c rproc_of_parse_firmware -EXPORT_SYMBOL vmlinux 0x54348a31 pfifo_fast_ops EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start -EXPORT_SYMBOL vmlinux 0x54420254 tcf_qevent_handle -EXPORT_SYMBOL vmlinux 0x54773c39 rtnl_link_get_net EXPORT_SYMBOL vmlinux 0x5478022f __fs_parse EXPORT_SYMBOL vmlinux 0x547e3344 acpi_disable EXPORT_SYMBOL vmlinux 0x54980398 __starget_for_each_device EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value EXPORT_SYMBOL vmlinux 0x54b22bb1 __SCT__tp_func_mmap_lock_acquire_returned EXPORT_SYMBOL vmlinux 0x54b7dc53 vme_register_error_handler -EXPORT_SYMBOL vmlinux 0x54bbd992 netdev_state_change EXPORT_SYMBOL vmlinux 0x54bd2a85 __mdiobus_write -EXPORT_SYMBOL vmlinux 0x54cd8938 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x54c87529 netlink_broadcast EXPORT_SYMBOL vmlinux 0x54de75d2 pci_select_bars EXPORT_SYMBOL vmlinux 0x54e2277e kmem_cache_free EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags EXPORT_SYMBOL vmlinux 0x54f8baf0 generic_set_encrypted_ci_d_ops EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit -EXPORT_SYMBOL vmlinux 0x550bb0eb rtnl_notify EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color EXPORT_SYMBOL vmlinux 0x5520fc9e __lock_page EXPORT_SYMBOL vmlinux 0x55385e2e __x86_indirect_thunk_r14 -EXPORT_SYMBOL vmlinux 0x553e1f6a xfrm_user_policy EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched -EXPORT_SYMBOL vmlinux 0x55602a7e sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0x555c3b4e __cgroup_bpf_run_filter_skb EXPORT_SYMBOL vmlinux 0x556422b3 ioremap_cache EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r EXPORT_SYMBOL vmlinux 0x556cca46 x86_apple_machine EXPORT_SYMBOL vmlinux 0x557d5431 init_special_inode EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey EXPORT_SYMBOL vmlinux 0x559bf800 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x55a207fa ether_setup EXPORT_SYMBOL vmlinux 0x55cec583 posix_acl_update_mode EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 EXPORT_SYMBOL vmlinux 0x55f7c4d8 backlight_device_unregister @@ -8003,66 +7985,58 @@ EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register -EXPORT_SYMBOL vmlinux 0x56523c2f sock_efree EXPORT_SYMBOL vmlinux 0x5658242b dquot_quota_on -EXPORT_SYMBOL vmlinux 0x565d38bb netif_set_real_num_rx_queues -EXPORT_SYMBOL vmlinux 0x5673a8d3 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x567d25f2 sock_diag_put_filterinfo EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask EXPORT_SYMBOL vmlinux 0x569edfc9 sb_set_blocksize EXPORT_SYMBOL vmlinux 0x56b69841 jbd2_journal_stop -EXPORT_SYMBOL vmlinux 0x56c59d65 netdev_rx_csum_fault EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg -EXPORT_SYMBOL vmlinux 0x56d695ee dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x56d20f59 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x56d33999 sock_common_setsockopt EXPORT_SYMBOL vmlinux 0x56f20aab set_pages_wb EXPORT_SYMBOL vmlinux 0x56f97219 ata_scsi_cmd_error_handler -EXPORT_SYMBOL vmlinux 0x56fa298c netdev_class_create_file_ns EXPORT_SYMBOL vmlinux 0x56faee58 pci_bus_type EXPORT_SYMBOL vmlinux 0x56ff389f mount_subtree -EXPORT_SYMBOL vmlinux 0x5705a640 __sk_receive_skb EXPORT_SYMBOL vmlinux 0x5724e20b filemap_fdatawrite_range -EXPORT_SYMBOL vmlinux 0x5727aca1 sk_mc_loop -EXPORT_SYMBOL vmlinux 0x57446afa call_netdevice_notifiers EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put EXPORT_SYMBOL vmlinux 0x575d21a8 unlock_rename -EXPORT_SYMBOL vmlinux 0x576c92f8 tcp_peek_len EXPORT_SYMBOL vmlinux 0x5774148f dm_table_event EXPORT_SYMBOL vmlinux 0x577e337b flow_indr_dev_setup_offload EXPORT_SYMBOL vmlinux 0x578a408b ZSTD_initDCtx +EXPORT_SYMBOL vmlinux 0x578f63ed dst_discard_out EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc EXPORT_SYMBOL vmlinux 0x5790b5be input_reset_device EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy EXPORT_SYMBOL vmlinux 0x579b0b66 fiemap_prep -EXPORT_SYMBOL vmlinux 0x57b550ca inet_sock_destruct EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write -EXPORT_SYMBOL vmlinux 0x57ddf18a poll_initwait +EXPORT_SYMBOL vmlinux 0x57c36169 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x57d25de8 sock_recvmsg EXPORT_SYMBOL vmlinux 0x57e6bf04 __tracepoint_read_msr EXPORT_SYMBOL vmlinux 0x57ee7780 pnp_disable_dev -EXPORT_SYMBOL vmlinux 0x57f28df0 mr_mfc_seq_next EXPORT_SYMBOL vmlinux 0x57f3056c pin_user_pages_unlocked EXPORT_SYMBOL vmlinux 0x57f98b4a dec_node_page_state +EXPORT_SYMBOL vmlinux 0x57fad189 __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0x580f5ff5 dcb_ieee_getapp_dscp_prio_mask_map EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm -EXPORT_SYMBOL vmlinux 0x584ab0b6 inet6_ioctl EXPORT_SYMBOL vmlinux 0x584b9c27 migrate_vma_finalize -EXPORT_SYMBOL vmlinux 0x585040cc cookie_ecn_ok EXPORT_SYMBOL vmlinux 0x5861ee09 uart_write_wakeup EXPORT_SYMBOL vmlinux 0x586c9c3c jbd2_journal_unlock_updates EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key -EXPORT_SYMBOL vmlinux 0x58831f3f tcp_init_sock EXPORT_SYMBOL vmlinux 0x58a18938 sg_alloc_append_table_from_pages EXPORT_SYMBOL vmlinux 0x58a78df9 pci_enable_device EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b0e5a0 __inet_stream_connect EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b65bcd neigh_carrier_down EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard EXPORT_SYMBOL vmlinux 0x58c59ae8 __blk_rq_map_sg -EXPORT_SYMBOL vmlinux 0x58ddfaf5 netif_receive_skb EXPORT_SYMBOL vmlinux 0x58e257f4 mmc_can_discard EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io -EXPORT_SYMBOL vmlinux 0x58ef8963 netdev_pick_tx EXPORT_SYMBOL vmlinux 0x59178810 setup_arg_pages EXPORT_SYMBOL vmlinux 0x59340337 read_cache_page_gfp EXPORT_SYMBOL vmlinux 0x593edc4b cpu_tlbstate_shared @@ -8073,11 +8047,13 @@ EXPORT_SYMBOL vmlinux 0x5985dd9b dquot_commit EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59a6548f alloc_fddidev EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59d9526c security_d_instantiate +EXPORT_SYMBOL vmlinux 0x59db6962 sock_release EXPORT_SYMBOL vmlinux 0x5a05dc32 pin_user_pages EXPORT_SYMBOL vmlinux 0x5a078973 phy_get_pause EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 -EXPORT_SYMBOL vmlinux 0x5a0f6f9b nf_register_sockopt EXPORT_SYMBOL vmlinux 0x5a109253 __mmap_lock_do_trace_acquire_returned EXPORT_SYMBOL vmlinux 0x5a1c45e3 mipi_dsi_dcs_get_power_mode EXPORT_SYMBOL vmlinux 0x5a20a0ca vme_dma_request @@ -8085,24 +8061,28 @@ EXPORT_SYMBOL vmlinux 0x5a392db8 flow_rule_match_tcp EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4a3d8c ip6mr_rule_default EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle -EXPORT_SYMBOL vmlinux 0x5a567cdf secpath_set EXPORT_SYMBOL vmlinux 0x5a5a2271 __cpu_online_mask -EXPORT_SYMBOL vmlinux 0x5a5a656b tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x5a6aab16 security_sock_rcv_skb EXPORT_SYMBOL vmlinux 0x5a6e7955 rt_mutex_base_init EXPORT_SYMBOL vmlinux 0x5a7cfaec touch_atime EXPORT_SYMBOL vmlinux 0x5a806c03 posix_lock_file EXPORT_SYMBOL vmlinux 0x5a82d8df pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x5a834c49 dcbnl_cee_notify EXPORT_SYMBOL vmlinux 0x5a8ae15a ZSTD_initDDict +EXPORT_SYMBOL vmlinux 0x5a8e9595 reuseport_attach_prog EXPORT_SYMBOL vmlinux 0x5a921311 strncmp EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst EXPORT_SYMBOL vmlinux 0x5ab14eb2 misc_register EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree -EXPORT_SYMBOL vmlinux 0x5aeb3d20 __skb_try_recv_datagram EXPORT_SYMBOL vmlinux 0x5afa5eb8 devm_nvmem_unregister +EXPORT_SYMBOL vmlinux 0x5afe4ad3 sock_gettstamp EXPORT_SYMBOL vmlinux 0x5aff3079 jbd2_journal_load EXPORT_SYMBOL vmlinux 0x5b0085a4 send_sig_info -EXPORT_SYMBOL vmlinux 0x5b1883ff eth_header +EXPORT_SYMBOL vmlinux 0x5b0f4df9 __sock_create +EXPORT_SYMBOL vmlinux 0x5b1def02 udp_read_sock +EXPORT_SYMBOL vmlinux 0x5b209623 dev_get_phys_port_id EXPORT_SYMBOL vmlinux 0x5b2ca8c7 remap_vmalloc_range EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr EXPORT_SYMBOL vmlinux 0x5b31208e tcf_em_unregister @@ -8111,30 +8091,30 @@ EXPORT_SYMBOL vmlinux 0x5b41291d fbcon_update_vcs EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap EXPORT_SYMBOL vmlinux 0x5b641283 arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x5b6ee6d3 xfrm6_protocol_deregister EXPORT_SYMBOL vmlinux 0x5b8239ca __x86_return_thunk -EXPORT_SYMBOL vmlinux 0x5b8f33d8 netif_set_xps_queue EXPORT_SYMBOL vmlinux 0x5bad96b7 iommu_get_msi_cookie EXPORT_SYMBOL vmlinux 0x5bb18e99 scsi_mode_sense -EXPORT_SYMBOL vmlinux 0x5bc678d1 phy_ethtool_set_eee EXPORT_SYMBOL vmlinux 0x5bca2e9b __tracepoint_kmem_cache_alloc -EXPORT_SYMBOL vmlinux 0x5bcbf325 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x5bcaf5c5 __sock_queue_rcv_skb EXPORT_SYMBOL vmlinux 0x5bd29f0c set_trace_device EXPORT_SYMBOL vmlinux 0x5bd42be3 vfs_dup_fs_context EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create -EXPORT_SYMBOL vmlinux 0x5bdab2a1 security_skb_classify_flow EXPORT_SYMBOL vmlinux 0x5bdb4d6a generic_write_end +EXPORT_SYMBOL vmlinux 0x5bdc2fd9 sk_stream_wait_close EXPORT_SYMBOL vmlinux 0x5be158a5 pci_alloc_irq_vectors_affinity EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub -EXPORT_SYMBOL vmlinux 0x5c0645af reuseport_detach_sock EXPORT_SYMBOL vmlinux 0x5c153fdc try_module_get EXPORT_SYMBOL vmlinux 0x5c1c0ddd generic_perform_write -EXPORT_SYMBOL vmlinux 0x5c2262ac xfrm_parse_spi EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c292e43 unix_attach_fds EXPORT_SYMBOL vmlinux 0x5c3542a2 scsi_report_device_reset EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull EXPORT_SYMBOL vmlinux 0x5c4c8d4b d_obtain_root EXPORT_SYMBOL vmlinux 0x5c52af54 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x5c5ccf2c ip6_route_me_harder EXPORT_SYMBOL vmlinux 0x5c637d83 devm_release_resource +EXPORT_SYMBOL vmlinux 0x5c7b7507 xfrm6_rcv_tnl EXPORT_SYMBOL vmlinux 0x5c845583 param_set_bint EXPORT_SYMBOL vmlinux 0x5c8781db pcim_enable_device EXPORT_SYMBOL vmlinux 0x5c8c2e9a jbd2_journal_abort @@ -8147,28 +8127,27 @@ EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state EXPORT_SYMBOL vmlinux 0x5d2dc740 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x5d367804 netdev_features_change EXPORT_SYMBOL vmlinux 0x5d3bae9c textsearch_prepare EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry EXPORT_SYMBOL vmlinux 0x5d51cb3c kmem_cache_alloc_node -EXPORT_SYMBOL vmlinux 0x5d58177c dev_getfirstbyhwtype EXPORT_SYMBOL vmlinux 0x5d6328e3 acpi_bus_get_status EXPORT_SYMBOL vmlinux 0x5d6f8011 scsi_vpd_lun_id EXPORT_SYMBOL vmlinux 0x5d7be2b0 jbd2_wait_inode_data -EXPORT_SYMBOL vmlinux 0x5d8b41d2 ip6tun_encaps -EXPORT_SYMBOL vmlinux 0x5dae995f mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x5d9b01c9 sock_no_linger +EXPORT_SYMBOL vmlinux 0x5da18e01 skb_copy_and_csum_datagram_msg EXPORT_SYMBOL vmlinux 0x5dffb495 ZSTD_decompress_usingDDict EXPORT_SYMBOL vmlinux 0x5e06bc5c refcount_dec_and_lock EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform EXPORT_SYMBOL vmlinux 0x5e12d2cd fwnode_phy_find_device EXPORT_SYMBOL vmlinux 0x5e15e965 backlight_device_set_brightness -EXPORT_SYMBOL vmlinux 0x5e2bf99e __ethtool_get_link_ksettings EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe EXPORT_SYMBOL vmlinux 0x5e379f46 sync_filesystem EXPORT_SYMBOL vmlinux 0x5e3f9da0 key_link EXPORT_SYMBOL vmlinux 0x5e41a577 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x5e55bd94 ethtool_rx_flow_rule_create EXPORT_SYMBOL vmlinux 0x5e5c54a3 clean_bdev_aliases -EXPORT_SYMBOL vmlinux 0x5e60c673 neigh_table_clear EXPORT_SYMBOL vmlinux 0x5e72b26e simple_transaction_set EXPORT_SYMBOL vmlinux 0x5e7c765d dquot_get_state EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align @@ -8183,9 +8162,11 @@ EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee1b767 skb_copy_and_csum_dev EXPORT_SYMBOL vmlinux 0x5ef3b486 xattr_full_name EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5f014986 security_socket_socketpair EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters EXPORT_SYMBOL vmlinux 0x5f138c2c generic_update_time EXPORT_SYMBOL vmlinux 0x5f18d9cd vfio_pin_pages @@ -8197,96 +8178,101 @@ EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption EXPORT_SYMBOL vmlinux 0x5f56663b rdmsrl_on_cpu EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f718103 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x5f7cd583 mr_mfc_find_any EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package EXPORT_SYMBOL vmlinux 0x5f99383a ioread64_hi_lo -EXPORT_SYMBOL vmlinux 0x5f9d5aa4 xp_free -EXPORT_SYMBOL vmlinux 0x5fbe8dfe alloc_etherdev_mqs EXPORT_SYMBOL vmlinux 0x5fc67252 ioread16_rep EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact EXPORT_SYMBOL vmlinux 0x5fc8d0b1 mipi_dsi_dcs_exit_sleep_mode -EXPORT_SYMBOL vmlinux 0x5fd1f17c genlmsg_multicast_allns -EXPORT_SYMBOL vmlinux 0x5fd1fcc2 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x5fdae242 vlan_ioctl_set EXPORT_SYMBOL vmlinux 0x5fe13529 __SCT__tp_func_spi_transfer_start EXPORT_SYMBOL vmlinux 0x5fefa30c pps_event EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen -EXPORT_SYMBOL vmlinux 0x60083c66 dev_close EXPORT_SYMBOL vmlinux 0x600d69df read_cache_pages EXPORT_SYMBOL vmlinux 0x60106d86 blk_mq_delay_run_hw_queue EXPORT_SYMBOL vmlinux 0x60140d4f proc_create_mount_point EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier -EXPORT_SYMBOL vmlinux 0x603d20ad ndisc_mc_map -EXPORT_SYMBOL vmlinux 0x603d8ac0 netdev_lower_get_next EXPORT_SYMBOL vmlinux 0x60423cc2 kill_block_super -EXPORT_SYMBOL vmlinux 0x604a3bf5 softnet_data EXPORT_SYMBOL vmlinux 0x604f7513 jbd2_journal_wipe EXPORT_SYMBOL vmlinux 0x60518834 __frontswap_store EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent EXPORT_SYMBOL vmlinux 0x6059e75c page_pool_destroy EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608b0030 sockfd_lookup EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton -EXPORT_SYMBOL vmlinux 0x609c8731 skb_seq_read EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60a5ba67 ppp_input EXPORT_SYMBOL vmlinux 0x60b27c05 find_vma EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60b62601 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x60b7127a nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x60d18c67 tcf_generic_walker EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get EXPORT_SYMBOL vmlinux 0x60f6af6d flow_indr_block_cb_alloc -EXPORT_SYMBOL vmlinux 0x60f6c810 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x6105a194 security_inode_setsecctx EXPORT_SYMBOL vmlinux 0x6105cf84 pci_scan_root_bus EXPORT_SYMBOL vmlinux 0x61073e4a acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0x610cfbc7 dev_change_flags +EXPORT_SYMBOL vmlinux 0x6123984a rtnl_kfree_skbs EXPORT_SYMBOL vmlinux 0x612802cf __dquot_free_space EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x6135b40b genlmsg_put EXPORT_SYMBOL vmlinux 0x614faf15 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x6153fb8a dev_remove_pack EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set EXPORT_SYMBOL vmlinux 0x6167e72c vmalloc_no_huge EXPORT_SYMBOL vmlinux 0x617c452b queued_read_lock_slowpath EXPORT_SYMBOL vmlinux 0x6185b747 radix_tree_gang_lookup_tag -EXPORT_SYMBOL vmlinux 0x61862131 tcp_sock_set_quickack EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x618dc252 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x618f1d91 phy_ethtool_get_strings EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer EXPORT_SYMBOL vmlinux 0x619dfcdc intel_scu_ipc_dev_readv EXPORT_SYMBOL vmlinux 0x61b2c48c vme_init_bridge EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull EXPORT_SYMBOL vmlinux 0x61bcb773 kill_pid +EXPORT_SYMBOL vmlinux 0x61ce65e1 dev_queue_xmit_accel EXPORT_SYMBOL vmlinux 0x61ddae7b device_get_mac_address EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final EXPORT_SYMBOL vmlinux 0x61e4f742 flow_rule_match_mpls EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61edab8e sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x61f87761 tcp_init_sock EXPORT_SYMBOL vmlinux 0x62089616 i2c_clients_command EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier EXPORT_SYMBOL vmlinux 0x621f3a69 ps2_init EXPORT_SYMBOL vmlinux 0x6226b9fa machine_to_phys_mapping EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single -EXPORT_SYMBOL vmlinux 0x62382910 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x622d5402 register_tcf_proto_ops EXPORT_SYMBOL vmlinux 0x624b211b pcie_set_mps EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister EXPORT_SYMBOL vmlinux 0x62742760 cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x627d9897 netdev_bonding_info_change EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name EXPORT_SYMBOL vmlinux 0x629079b3 dma_fence_signal_timestamp EXPORT_SYMBOL vmlinux 0x62949074 acpi_buffer_to_resource -EXPORT_SYMBOL vmlinux 0x62af756a tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x629bdf2a ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x62a7c578 mini_qdisc_pair_init EXPORT_SYMBOL vmlinux 0x62af7dc8 simple_dir_operations EXPORT_SYMBOL vmlinux 0x62bf6edf utf8agemin -EXPORT_SYMBOL vmlinux 0x62e7960a security_sock_rcv_skb -EXPORT_SYMBOL vmlinux 0x62e9a245 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x62cf53aa tcp_simple_retransmit EXPORT_SYMBOL vmlinux 0x62f184a1 vfs_setpos EXPORT_SYMBOL vmlinux 0x62f7e207 down_read_killable -EXPORT_SYMBOL vmlinux 0x62fb5a1a tcp_seq_next EXPORT_SYMBOL vmlinux 0x62fcb7da genphy_read_status_fixed EXPORT_SYMBOL vmlinux 0x62fcdeee input_mt_init_slots EXPORT_SYMBOL vmlinux 0x6309f6a2 vm_insert_page -EXPORT_SYMBOL vmlinux 0x630a7540 netdev_sk_get_lowest_dev EXPORT_SYMBOL vmlinux 0x6310cd7a amd_iommu_domain_enable_v2 EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put EXPORT_SYMBOL vmlinux 0x631d6bbe address_space_init_once EXPORT_SYMBOL vmlinux 0x633bae4a bio_uninit -EXPORT_SYMBOL vmlinux 0x63458f5c xfrm_lookup EXPORT_SYMBOL vmlinux 0x63574c2b generic_fill_statx_attr EXPORT_SYMBOL vmlinux 0x636257f7 get_ibs_caps EXPORT_SYMBOL vmlinux 0x6383b27c __x86_indirect_thunk_rdx @@ -8294,45 +8280,40 @@ EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region EXPORT_SYMBOL vmlinux 0x63ae3337 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x63aea9de security_path_mknod EXPORT_SYMBOL vmlinux 0x63af5516 cdev_device_add EXPORT_SYMBOL vmlinux 0x63b675d1 registered_fb EXPORT_SYMBOL vmlinux 0x63b6c01d pci_set_mwi EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight EXPORT_SYMBOL vmlinux 0x63c74723 has_capability +EXPORT_SYMBOL vmlinux 0x63cfab3b init_net EXPORT_SYMBOL vmlinux 0x63e14849 iov_iter_get_pages_alloc EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ef406d netdev_err EXPORT_SYMBOL vmlinux 0x63f15721 kmem_cache_create EXPORT_SYMBOL vmlinux 0x63f835ba on_each_cpu_cond_mask -EXPORT_SYMBOL vmlinux 0x63fe84fc xfrm_policy_flush -EXPORT_SYMBOL vmlinux 0x6407b17a phy_error -EXPORT_SYMBOL vmlinux 0x64125789 __neigh_set_probe_once EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off -EXPORT_SYMBOL vmlinux 0x641454fc phy_trigger_machine -EXPORT_SYMBOL vmlinux 0x641a6d81 phy_start_aneg EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout -EXPORT_SYMBOL vmlinux 0x6459b762 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x644f4cbd phy_mac_interrupt EXPORT_SYMBOL vmlinux 0x647ec8a3 nd_namespace_blk_validate -EXPORT_SYMBOL vmlinux 0x6480daad tcp_getsockopt EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 -EXPORT_SYMBOL vmlinux 0x64882301 neigh_parms_release EXPORT_SYMBOL vmlinux 0x648b1a6b pcie_ptm_enabled EXPORT_SYMBOL vmlinux 0x648d9e84 pci_read_config_word EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64a7e5b4 sock_bindtoindex EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape EXPORT_SYMBOL vmlinux 0x64d1e6e8 tty_port_close -EXPORT_SYMBOL vmlinux 0x64d9cec1 netlink_unicast EXPORT_SYMBOL vmlinux 0x64ece443 alloc_xenballooned_pages -EXPORT_SYMBOL vmlinux 0x64f5451a sk_stream_wait_connect -EXPORT_SYMBOL vmlinux 0x650bb395 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x65005508 rt_dst_clone EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src EXPORT_SYMBOL vmlinux 0x6519bf66 pci_get_subsys EXPORT_SYMBOL vmlinux 0x651a4139 test_taint EXPORT_SYMBOL vmlinux 0x652032cb mac_pton EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp -EXPORT_SYMBOL vmlinux 0x652eeb4f phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x65381326 unregister_netdevice_notifier_dev_net EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop EXPORT_SYMBOL vmlinux 0x65487097 __x86_indirect_thunk_rax @@ -8342,7 +8323,9 @@ EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc EXPORT_SYMBOL vmlinux 0x65a6c06f agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x65ab5587 inet_stream_connect EXPORT_SYMBOL vmlinux 0x65b992ac xen_alloc_p2m_entry +EXPORT_SYMBOL vmlinux 0x65c6f848 security_unix_stream_connect EXPORT_SYMBOL vmlinux 0x65cf8831 ZSTD_decompress_usingDict EXPORT_SYMBOL vmlinux 0x65d1bab2 acpi_bios_warning EXPORT_SYMBOL vmlinux 0x65d399fd md_bitmap_cond_end_sync @@ -8352,12 +8335,10 @@ EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer EXPORT_SYMBOL vmlinux 0x65fd29f7 jbd2_journal_try_to_free_buffers EXPORT_SYMBOL vmlinux 0x660d477b filemap_invalidate_lock_two -EXPORT_SYMBOL vmlinux 0x66103b80 xfrm_state_lookup_byspi EXPORT_SYMBOL vmlinux 0x66155ec9 mipi_dsi_device_register_full EXPORT_SYMBOL vmlinux 0x661656ca noop_llseek EXPORT_SYMBOL vmlinux 0x661997d4 copy_string_kernel EXPORT_SYMBOL vmlinux 0x661e99d5 iommu_dma_get_resv_regions -EXPORT_SYMBOL vmlinux 0x661f6f90 security_dentry_create_files_as EXPORT_SYMBOL vmlinux 0x6626afca down EXPORT_SYMBOL vmlinux 0x663182c9 acpi_get_gpe_status EXPORT_SYMBOL vmlinux 0x664016f2 pcim_pin_device @@ -8367,29 +8348,26 @@ EXPORT_SYMBOL vmlinux 0x66788820 gnet_stats_copy_app EXPORT_SYMBOL vmlinux 0x668b19a1 down_read EXPORT_SYMBOL vmlinux 0x668c545d mmc_free_host +EXPORT_SYMBOL vmlinux 0x669081f9 netdev_crit EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock -EXPORT_SYMBOL vmlinux 0x66b01bc6 __cpuhp_setup_state EXPORT_SYMBOL vmlinux 0x66b112d6 touch_buffer EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup -EXPORT_SYMBOL vmlinux 0x66bf09ce xsk_uses_need_wakeup EXPORT_SYMBOL vmlinux 0x66cca4f9 __x86_indirect_thunk_rcx -EXPORT_SYMBOL vmlinux 0x66d4c0df qdisc_reset EXPORT_SYMBOL vmlinux 0x66de6ad6 pcie_get_speed_cap EXPORT_SYMBOL vmlinux 0x66f13084 vme_dma_list_free -EXPORT_SYMBOL vmlinux 0x66fbbf9d __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x67022e47 netdev_adjacent_change_commit EXPORT_SYMBOL vmlinux 0x6704a57c dump_skip_to EXPORT_SYMBOL vmlinux 0x670ecece __x86_indirect_thunk_rbx EXPORT_SYMBOL vmlinux 0x671810f3 pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x671edeba napi_consume_skb EXPORT_SYMBOL vmlinux 0x6721fc7c security_cred_getsecid EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 -EXPORT_SYMBOL vmlinux 0x672d96a0 netdev_lower_state_changed -EXPORT_SYMBOL vmlinux 0x673112df reuseport_detach_prog EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init -EXPORT_SYMBOL vmlinux 0x6757d584 xfrm6_rcv_tnl EXPORT_SYMBOL vmlinux 0x676635cf pci_release_region EXPORT_SYMBOL vmlinux 0x67696735 complete_request_key EXPORT_SYMBOL vmlinux 0x676a14c6 convert_tsc_ns_to_art_duration +EXPORT_SYMBOL vmlinux 0x677e65f0 xfrm_state_insert EXPORT_SYMBOL vmlinux 0x6785457c md_check_no_bitmap EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc EXPORT_SYMBOL vmlinux 0x679e989e __block_write_begin @@ -8397,124 +8375,129 @@ EXPORT_SYMBOL vmlinux 0x67a3757e flow_block_cb_is_busy EXPORT_SYMBOL vmlinux 0x67ab0ca7 dev_addr_del EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b64cdc __kfree_skb EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67bcf1f8 inet_offloads EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read EXPORT_SYMBOL vmlinux 0x67cb3dc3 input_release_device -EXPORT_SYMBOL vmlinux 0x67dc714f dev_set_promiscuity -EXPORT_SYMBOL vmlinux 0x67e10b79 skb_prepare_seq_read EXPORT_SYMBOL vmlinux 0x67e368a6 __nla_reserve +EXPORT_SYMBOL vmlinux 0x67e8a769 dev_get_stats EXPORT_SYMBOL vmlinux 0x6803e612 __SCK__tp_func_kmem_cache_alloc EXPORT_SYMBOL vmlinux 0x6814f25f mmc_set_blocklen EXPORT_SYMBOL vmlinux 0x681b6670 is_firmware_framebuffer EXPORT_SYMBOL vmlinux 0x683a9560 __gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x683b85b9 sk_alloc +EXPORT_SYMBOL vmlinux 0x683efd53 kernel_listen EXPORT_SYMBOL vmlinux 0x68411db1 fb_firmware_edid -EXPORT_SYMBOL vmlinux 0x6841d24a netpoll_poll_dev EXPORT_SYMBOL vmlinux 0x684f9ce2 kernel_param_unlock EXPORT_SYMBOL vmlinux 0x6851664e wrmsrl_safe_on_cpu EXPORT_SYMBOL vmlinux 0x68788c76 lock_rename -EXPORT_SYMBOL vmlinux 0x68788e0f netif_rx_any_context EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval -EXPORT_SYMBOL vmlinux 0x6895066e udp_prot +EXPORT_SYMBOL vmlinux 0x68c033a0 inet_proto_csum_replace16 EXPORT_SYMBOL vmlinux 0x68c4b824 cpumask_any_but EXPORT_SYMBOL vmlinux 0x68d4dd4f devm_clk_put EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot EXPORT_SYMBOL vmlinux 0x6914a9a6 copy_page_to_iter -EXPORT_SYMBOL vmlinux 0x6915ddd7 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x69167586 skb_put EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free EXPORT_SYMBOL vmlinux 0x691feafb scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x693a4747 softnet_data +EXPORT_SYMBOL vmlinux 0x694059eb inet6_release EXPORT_SYMBOL vmlinux 0x69585523 __ksize EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x696dfa07 phy_ethtool_get_wol EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days EXPORT_SYMBOL vmlinux 0x697731ae pcie_get_mps EXPORT_SYMBOL vmlinux 0x697ed5f0 memcpy_and_pad EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 -EXPORT_SYMBOL vmlinux 0x69919a5b qdisc_warn_nonwc -EXPORT_SYMBOL vmlinux 0x69937f51 eth_validate_addr -EXPORT_SYMBOL vmlinux 0x699ba7e3 iptun_encaps +EXPORT_SYMBOL vmlinux 0x69986f8a dev_change_proto_down_generic EXPORT_SYMBOL vmlinux 0x699d22b2 d_add -EXPORT_SYMBOL vmlinux 0x699e071c sock_set_mark EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy EXPORT_SYMBOL vmlinux 0x69d43c45 posix_acl_chmod EXPORT_SYMBOL vmlinux 0x69d53cbc posix_acl_from_xattr EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le EXPORT_SYMBOL vmlinux 0x69de1b71 mipi_dsi_dcs_set_page_address EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window -EXPORT_SYMBOL vmlinux 0x69e2b185 ip6_mtu +EXPORT_SYMBOL vmlinux 0x69ea121b qdisc_reset +EXPORT_SYMBOL vmlinux 0x69f8ee8d xfrm_policy_flush EXPORT_SYMBOL vmlinux 0x69fe65ea filemap_fdatawait_range EXPORT_SYMBOL vmlinux 0x69fe9f7a starget_for_each_device EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree EXPORT_SYMBOL vmlinux 0x6a0a7536 bio_copy_data +EXPORT_SYMBOL vmlinux 0x6a1d514e eth_type_trans EXPORT_SYMBOL vmlinux 0x6a261b78 irq_stat +EXPORT_SYMBOL vmlinux 0x6a2f40bc netif_carrier_on EXPORT_SYMBOL vmlinux 0x6a422059 scsi_print_command EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages EXPORT_SYMBOL vmlinux 0x6a5d7453 __page_cache_alloc EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a68f616 ndisc_mc_map EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a719962 nf_register_net_hook EXPORT_SYMBOL vmlinux 0x6a878de1 bio_advance EXPORT_SYMBOL vmlinux 0x6a8a7a19 csum_and_copy_from_iter EXPORT_SYMBOL vmlinux 0x6a8f639c account_page_redirty +EXPORT_SYMBOL vmlinux 0x6a9a5fa7 xfrm_policy_bysel_ctx EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order EXPORT_SYMBOL vmlinux 0x6aa8cddf config_item_set_name EXPORT_SYMBOL vmlinux 0x6ab2811f bio_integrity_trim -EXPORT_SYMBOL vmlinux 0x6ad2dbfd mr_mfc_find_any_parent EXPORT_SYMBOL vmlinux 0x6ad7ca00 ps2_cmd_aborted EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device EXPORT_SYMBOL vmlinux 0x6aeb9efc ps2_handle_ack EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset EXPORT_SYMBOL vmlinux 0x6afdac73 devm_ioremap_np EXPORT_SYMBOL vmlinux 0x6b10bee1 _copy_to_user -EXPORT_SYMBOL vmlinux 0x6b27463a phy_ethtool_get_eee EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack EXPORT_SYMBOL vmlinux 0x6b310f4a do_clone_file_range +EXPORT_SYMBOL vmlinux 0x6b3117e2 __netlink_ns_capable EXPORT_SYMBOL vmlinux 0x6b35bcab filemap_map_pages -EXPORT_SYMBOL vmlinux 0x6b478566 skb_tunnel_check_pmtu -EXPORT_SYMBOL vmlinux 0x6b51354a phy_ethtool_get_strings EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable EXPORT_SYMBOL vmlinux 0x6b695cf1 zen_untrain_ret +EXPORT_SYMBOL vmlinux 0x6b75d327 dev_get_mac_address EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b886af5 pskb_trim_rcsum_slow EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list EXPORT_SYMBOL vmlinux 0x6b9d1c95 security_req_classify_flow EXPORT_SYMBOL vmlinux 0x6bbd1533 d_mark_dontcache EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev -EXPORT_SYMBOL vmlinux 0x6bd08347 dcb_ieee_getapp_default_prio_mask EXPORT_SYMBOL vmlinux 0x6bd0e573 down_interruptible +EXPORT_SYMBOL vmlinux 0x6bdd457a __udp_disconnect EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method EXPORT_SYMBOL vmlinux 0x6bfcd491 pci_find_parent_resource -EXPORT_SYMBOL vmlinux 0x6c19fb41 tcp_shutdown EXPORT_SYMBOL vmlinux 0x6c1f8022 dquot_claim_space_nodirty EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy -EXPORT_SYMBOL vmlinux 0x6c238b41 scm_detach_fds EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change EXPORT_SYMBOL vmlinux 0x6c28be5a vfio_info_add_capability -EXPORT_SYMBOL vmlinux 0x6c2989a0 xfrm_state_free EXPORT_SYMBOL vmlinux 0x6c2cb220 phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x6c393e94 mptcp_subflow_reqsk_alloc EXPORT_SYMBOL vmlinux 0x6c3c1b9b simple_pin_fs -EXPORT_SYMBOL vmlinux 0x6c3c2efe skb_free_datagram EXPORT_SYMBOL vmlinux 0x6c3f9608 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x6c4010bb __ip_select_ident EXPORT_SYMBOL vmlinux 0x6c4027b9 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x6c446bc2 inet_frag_pull_head EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb EXPORT_SYMBOL vmlinux 0x6c735461 fs_param_is_u64 -EXPORT_SYMBOL vmlinux 0x6c74a374 xfrm_state_walk EXPORT_SYMBOL vmlinux 0x6c76d8bb dget_parent -EXPORT_SYMBOL vmlinux 0x6c79ada1 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x6c77f517 kernel_sock_ip_overhead EXPORT_SYMBOL vmlinux 0x6c838730 request_firmware_into_buf -EXPORT_SYMBOL vmlinux 0x6c9392fa ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x6c9d27ac noop_qdisc EXPORT_SYMBOL vmlinux 0x6caadade md_error EXPORT_SYMBOL vmlinux 0x6cb2f5a1 cpumask_next_and EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk EXPORT_SYMBOL vmlinux 0x6cc09945 ioread32_rep -EXPORT_SYMBOL vmlinux 0x6cf43506 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x6ccab0fc rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x6cddce53 __skb_vlan_pop EXPORT_SYMBOL vmlinux 0x6cf5a469 dma_sync_sg_for_device EXPORT_SYMBOL vmlinux 0x6cf5d497 vme_slot_num -EXPORT_SYMBOL vmlinux 0x6d097964 ip_ct_attach -EXPORT_SYMBOL vmlinux 0x6d15c5ad tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x6d0183d1 dcb_setapp EXPORT_SYMBOL vmlinux 0x6d16c104 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x6d1921b1 netif_rx EXPORT_SYMBOL vmlinux 0x6d1b58a7 tty_hung_up_p EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies EXPORT_SYMBOL vmlinux 0x6d334118 __get_user_8 @@ -8522,58 +8505,50 @@ EXPORT_SYMBOL vmlinux 0x6d3f9fda dma_supported EXPORT_SYMBOL vmlinux 0x6d544437 iput EXPORT_SYMBOL vmlinux 0x6d58f69e agp3_generic_sizes -EXPORT_SYMBOL vmlinux 0x6d5c15df sock_bind_add EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut -EXPORT_SYMBOL vmlinux 0x6d901d00 tc_cleanup_flow_action EXPORT_SYMBOL vmlinux 0x6d9aeff6 flow_rule_match_ports EXPORT_SYMBOL vmlinux 0x6d9eb03b sync_blockdev -EXPORT_SYMBOL vmlinux 0x6da8a9b1 __sk_mem_reduce_allocated -EXPORT_SYMBOL vmlinux 0x6dad97eb inet_del_offload EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dc99fd4 reuseport_add_sock EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header -EXPORT_SYMBOL vmlinux 0x6dda9089 __dev_direct_xmit EXPORT_SYMBOL vmlinux 0x6de0c8c4 devfreq_register_notifier EXPORT_SYMBOL vmlinux 0x6dec1a94 con_is_visible EXPORT_SYMBOL vmlinux 0x6dee0768 tty_port_hangup EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction -EXPORT_SYMBOL vmlinux 0x6e004b00 netif_skb_features +EXPORT_SYMBOL vmlinux 0x6dfb8a09 ip6_output EXPORT_SYMBOL vmlinux 0x6e136e44 twl6040_clear_bits -EXPORT_SYMBOL vmlinux 0x6e268d84 sock_no_sendmsg EXPORT_SYMBOL vmlinux 0x6e38ea2e pnp_device_attach EXPORT_SYMBOL vmlinux 0x6e43d13d rproc_free -EXPORT_SYMBOL vmlinux 0x6e485042 skb_split EXPORT_SYMBOL vmlinux 0x6e58b387 simple_transaction_get -EXPORT_SYMBOL vmlinux 0x6e59de24 __netdev_alloc_skb EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run EXPORT_SYMBOL vmlinux 0x6e6476e7 pcie_relaxed_ordering_enabled EXPORT_SYMBOL vmlinux 0x6e6b9a82 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x6e71a567 skb_pull EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock -EXPORT_SYMBOL vmlinux 0x6e7540aa __dev_kfree_skb_irq -EXPORT_SYMBOL vmlinux 0x6e7827b9 nf_reinject EXPORT_SYMBOL vmlinux 0x6e7ba8a1 page_mapping -EXPORT_SYMBOL vmlinux 0x6e841389 cpu_info EXPORT_SYMBOL vmlinux 0x6e8788c1 gro_cells_init -EXPORT_SYMBOL vmlinux 0x6e94d219 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x6e8f7b68 sock_bind_add EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put EXPORT_SYMBOL vmlinux 0x6ea7575d acpi_dispatch_gpe -EXPORT_SYMBOL vmlinux 0x6ea85bff tcf_action_dump_1 EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig EXPORT_SYMBOL vmlinux 0x6ebe93f9 do_splice_direct +EXPORT_SYMBOL vmlinux 0x6ecd5390 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x6edeed71 sock_efree EXPORT_SYMBOL vmlinux 0x6ee4c535 amd_iommu_domain_set_gcr3 EXPORT_SYMBOL vmlinux 0x6ee7876e devfreq_unregister_opp_notifier EXPORT_SYMBOL vmlinux 0x6eec4dac dma_set_coherent_mask -EXPORT_SYMBOL vmlinux 0x6ef09dc5 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x6ef8b1b8 nf_reinject EXPORT_SYMBOL vmlinux 0x6efdcc8b generic_error_remove_page EXPORT_SYMBOL vmlinux 0x6f08c59a dev_mc_sync_multiple -EXPORT_SYMBOL vmlinux 0x6f292604 tcp_ld_RTO_revert -EXPORT_SYMBOL vmlinux 0x6f322584 skb_udp_tunnel_segment -EXPORT_SYMBOL vmlinux 0x6f33f6e0 netdev_unbind_sb_channel EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f4fe93e __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x6f543699 __netlink_dump_start EXPORT_SYMBOL vmlinux 0x6f5ab52f acpi_get_local_address EXPORT_SYMBOL vmlinux 0x6f5fbdd5 vme_slave_request EXPORT_SYMBOL vmlinux 0x6f6209e4 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x6f854d35 tcp_md5_hash_key EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats EXPORT_SYMBOL vmlinux 0x6f923155 btf_unregister @@ -8581,8 +8556,8 @@ EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert EXPORT_SYMBOL vmlinux 0x6fbf981d flow_rule_match_ip EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fce4b27 napi_gro_receive EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 -EXPORT_SYMBOL vmlinux 0x6fdd90c2 ppp_channel_index EXPORT_SYMBOL vmlinux 0x6fee5eb7 inode_get_bytes EXPORT_SYMBOL vmlinux 0x6ff47f5d block_write_begin EXPORT_SYMBOL vmlinux 0x6ff522bb dev_vprintk_emit @@ -8598,60 +8573,60 @@ EXPORT_SYMBOL vmlinux 0x7040fff9 rtc_lock EXPORT_SYMBOL vmlinux 0x70495ab1 fwnode_mdio_find_device EXPORT_SYMBOL vmlinux 0x705023b4 pnp_release_card_device -EXPORT_SYMBOL vmlinux 0x70532716 ping_prot +EXPORT_SYMBOL vmlinux 0x70518888 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x7051cc77 dev_get_iflink EXPORT_SYMBOL vmlinux 0x705490fe jbd2_fc_end_commit EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma -EXPORT_SYMBOL vmlinux 0x707268ec mr_table_alloc EXPORT_SYMBOL vmlinux 0x707bd994 __break_lease EXPORT_SYMBOL vmlinux 0x707cc1eb rproc_coredump_set_elf_info EXPORT_SYMBOL vmlinux 0x7081bc31 dma_unmap_sg_attrs EXPORT_SYMBOL vmlinux 0x709bf9b7 phy_sfp_probe EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup -EXPORT_SYMBOL vmlinux 0x70b7de9e nf_unregister_net_hook EXPORT_SYMBOL vmlinux 0x70d8a270 pci_request_regions_exclusive -EXPORT_SYMBOL vmlinux 0x70eb3d5f ip_check_defrag +EXPORT_SYMBOL vmlinux 0x70ec9841 xfrm4_protocol_register EXPORT_SYMBOL vmlinux 0x70fa3f06 devfreq_recommended_opp -EXPORT_SYMBOL vmlinux 0x71000eb3 proto_register +EXPORT_SYMBOL vmlinux 0x70fe808e inet6_ioctl +EXPORT_SYMBOL vmlinux 0x71063f79 fddi_type_trans EXPORT_SYMBOL vmlinux 0x71115cd7 bpf_prog_get_type_path EXPORT_SYMBOL vmlinux 0x711b7fe5 configfs_depend_item_unlocked EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc -EXPORT_SYMBOL vmlinux 0x71348bd2 dev_remove_pack -EXPORT_SYMBOL vmlinux 0x7138513f sock_no_sendmsg_locked EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x715cf90f dst_init EXPORT_SYMBOL vmlinux 0x7164bb3a kthread_create_on_cpu EXPORT_SYMBOL vmlinux 0x716f1185 balance_dirty_pages_ratelimited EXPORT_SYMBOL vmlinux 0x7171121c overflowgid -EXPORT_SYMBOL vmlinux 0x71768a5d netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x71765d36 ip_check_defrag EXPORT_SYMBOL vmlinux 0x718a4693 __SCT__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x71953af3 seg6_hmac_net_exit EXPORT_SYMBOL vmlinux 0x71a152b9 module_refcount EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy -EXPORT_SYMBOL vmlinux 0x71abf924 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x71ade78c skb_free_datagram EXPORT_SYMBOL vmlinux 0x71c53833 lookup_one_unlocked EXPORT_SYMBOL vmlinux 0x71c7acd1 param_set_hexint EXPORT_SYMBOL vmlinux 0x71dfc095 acpi_walk_resources EXPORT_SYMBOL vmlinux 0x71e18ff1 register_cdrom EXPORT_SYMBOL vmlinux 0x71f69a8e md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x720a04f7 passthru_features_check EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev EXPORT_SYMBOL vmlinux 0x72160101 input_enable_softrepeat EXPORT_SYMBOL vmlinux 0x721ed444 page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x72252bb3 nf_unregister_sockopt EXPORT_SYMBOL vmlinux 0x7230e16d jbd2_fc_begin_commit EXPORT_SYMBOL vmlinux 0x7238959c padata_do_serial EXPORT_SYMBOL vmlinux 0x7239071d stop_tty EXPORT_SYMBOL vmlinux 0x724ddac7 utf8version_is_supported -EXPORT_SYMBOL vmlinux 0x7262f41d alloc_fddidev +EXPORT_SYMBOL vmlinux 0x72583ef6 udp_seq_ops EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout -EXPORT_SYMBOL vmlinux 0x72789941 xfrm6_protocol_register EXPORT_SYMBOL vmlinux 0x729b8375 dev_printk_emit -EXPORT_SYMBOL vmlinux 0x72a79445 inet_protos EXPORT_SYMBOL vmlinux 0x72a960bb jbd2_fc_get_buf EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72c9f993 in6_dev_finish_destroy EXPORT_SYMBOL vmlinux 0x72d67266 block_is_partially_uptodate EXPORT_SYMBOL vmlinux 0x72d79d83 pgdir_shift -EXPORT_SYMBOL vmlinux 0x72e86f51 tcp_create_openreq_child EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type EXPORT_SYMBOL vmlinux 0x72f14ff7 acpi_get_object_info -EXPORT_SYMBOL vmlinux 0x72fa4a68 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x72f1943d pneigh_enqueue EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config EXPORT_SYMBOL vmlinux 0x7319063c tty_port_destroy EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal @@ -8659,13 +8634,15 @@ EXPORT_SYMBOL vmlinux 0x735578bc d_path EXPORT_SYMBOL vmlinux 0x7359b289 rc5t583_ext_power_req_config EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay -EXPORT_SYMBOL vmlinux 0x735b52fa inet_stream_ops EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x73655949 skb_trim EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738d526f skb_flow_dissect_meta EXPORT_SYMBOL vmlinux 0x739abc13 mmc_is_req_done EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range EXPORT_SYMBOL vmlinux 0x73bc5522 kobject_add EXPORT_SYMBOL vmlinux 0x73c36f9e bioset_init +EXPORT_SYMBOL vmlinux 0x73c85060 ipv6_dev_mc_dec EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable EXPORT_SYMBOL vmlinux 0x73e1701c from_kprojid EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi @@ -8673,44 +8650,35 @@ EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus -EXPORT_SYMBOL vmlinux 0x74230962 __xfrm_decode_session EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 EXPORT_SYMBOL vmlinux 0x74400ffb update_region EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx EXPORT_SYMBOL vmlinux 0x7456b792 configfs_register_subsystem EXPORT_SYMBOL vmlinux 0x7457710b mmc_can_gpio_ro -EXPORT_SYMBOL vmlinux 0x746cebe0 dev_get_mac_address EXPORT_SYMBOL vmlinux 0x747339cb btf_obj_id EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present EXPORT_SYMBOL vmlinux 0x7495ed04 blk_mq_start_hw_queues EXPORT_SYMBOL vmlinux 0x7496d6cf rproc_of_resm_mem_entry_init -EXPORT_SYMBOL vmlinux 0x74a2a52f xfrm_policy_bysel_ctx EXPORT_SYMBOL vmlinux 0x74a4d386 mmc_gpio_set_cd_wake -EXPORT_SYMBOL vmlinux 0x74a7f5f9 ethtool_virtdev_set_link_ksettings EXPORT_SYMBOL vmlinux 0x74b8b317 iunique EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 -EXPORT_SYMBOL vmlinux 0x74cc69af __scm_send +EXPORT_SYMBOL vmlinux 0x74cebb42 sock_dequeue_err_skb EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f5fd0a dev_set_mac_address_user EXPORT_SYMBOL vmlinux 0x75066bab inode_update_time EXPORT_SYMBOL vmlinux 0x7508132f blkdev_issue_write_same EXPORT_SYMBOL vmlinux 0x7513e49e alloc_fcdev -EXPORT_SYMBOL vmlinux 0x7513ee85 ip6_dst_hoplimit -EXPORT_SYMBOL vmlinux 0x75161e17 inet_offloads -EXPORT_SYMBOL vmlinux 0x751fa5ff sock_set_sndtimeo EXPORT_SYMBOL vmlinux 0x7530bb0c __SCT__tp_func_write_msr EXPORT_SYMBOL vmlinux 0x7538b132 agp_off -EXPORT_SYMBOL vmlinux 0x753ae74d unregister_netdev -EXPORT_SYMBOL vmlinux 0x754a9b28 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x753c3e9d udp_sendmsg EXPORT_SYMBOL vmlinux 0x754d539c strlen EXPORT_SYMBOL vmlinux 0x755f4ba3 blake2s_compress_generic -EXPORT_SYMBOL vmlinux 0x75803cff qdisc_tree_reduce_backlog EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object -EXPORT_SYMBOL vmlinux 0x758e06a3 kernel_sendmsg_locked -EXPORT_SYMBOL vmlinux 0x758ff326 skb_copy_and_csum_dev EXPORT_SYMBOL vmlinux 0x75943e25 i8253_lock +EXPORT_SYMBOL vmlinux 0x75bd669b nf_log_unregister EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next EXPORT_SYMBOL vmlinux 0x75c43fb9 devm_ioport_map EXPORT_SYMBOL vmlinux 0x75c6cc5b pci_prepare_to_sleep @@ -8718,11 +8686,13 @@ EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump EXPORT_SYMBOL vmlinux 0x75dd92b5 devfreq_resume_device EXPORT_SYMBOL vmlinux 0x75de7f89 devfreq_add_governor -EXPORT_SYMBOL vmlinux 0x75facded ppp_register_channel +EXPORT_SYMBOL vmlinux 0x75e5e095 dev_pick_tx_zero EXPORT_SYMBOL vmlinux 0x760a0f4f yield EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired EXPORT_SYMBOL vmlinux 0x762a1074 can_nice +EXPORT_SYMBOL vmlinux 0x763f49e9 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x7646b24f tcp_sock_set_keepintvl EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq EXPORT_SYMBOL vmlinux 0x764cadad dma_map_sg_attrs EXPORT_SYMBOL vmlinux 0x7652fb0f nd_region_acquire_lane @@ -8730,12 +8700,13 @@ EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages EXPORT_SYMBOL vmlinux 0x766ff299 pci_set_power_state -EXPORT_SYMBOL vmlinux 0x767bdf02 ppp_register_compressor EXPORT_SYMBOL vmlinux 0x767dce4b acpi_disable_all_gpes EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc EXPORT_SYMBOL vmlinux 0x767ea4ed pci_ep_cfs_add_epc_group EXPORT_SYMBOL vmlinux 0x76817a9f devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x768765e2 security_binder_transfer_file EXPORT_SYMBOL vmlinux 0x769a9144 vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0x769cec04 xfrm4_protocol_deregister EXPORT_SYMBOL vmlinux 0x769eb774 blk_mq_start_hw_queue EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check EXPORT_SYMBOL vmlinux 0x76b39cc0 uart_remove_one_port @@ -8743,63 +8714,60 @@ EXPORT_SYMBOL vmlinux 0x76c30af9 unregister_nls EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode EXPORT_SYMBOL vmlinux 0x76d5bec8 scsi_block_requests -EXPORT_SYMBOL vmlinux 0x76d87b53 ether_setup EXPORT_SYMBOL vmlinux 0x76f2ddfe blk_queue_segment_boundary EXPORT_SYMBOL vmlinux 0x76fb08a7 amd_iommu_unregister_ppr_notifier -EXPORT_SYMBOL vmlinux 0x7702aede ipv4_mtu EXPORT_SYMBOL vmlinux 0x770adc93 touchscreen_parse_properties EXPORT_SYMBOL vmlinux 0x77207463 fsync_bdev -EXPORT_SYMBOL vmlinux 0x772635f9 dev_add_pack EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource EXPORT_SYMBOL vmlinux 0x773cf491 __dec_zone_page_state EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x776f5dcb ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x7774c579 tcp_recvmsg EXPORT_SYMBOL vmlinux 0x777a47ff override_creds EXPORT_SYMBOL vmlinux 0x777d53f7 blk_queue_max_discard_sectors EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div EXPORT_SYMBOL vmlinux 0x77950c9d submit_bio_noacct -EXPORT_SYMBOL vmlinux 0x77a0734c ip6_fraglist_init -EXPORT_SYMBOL vmlinux 0x77ab487f pid_task +EXPORT_SYMBOL vmlinux 0x77a2188c skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x77a6c28a nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0x77afbf51 dev_open EXPORT_SYMBOL vmlinux 0x77bc13a0 strim EXPORT_SYMBOL vmlinux 0x77be46b2 config_item_put EXPORT_SYMBOL vmlinux 0x77c863a8 tty_unlock EXPORT_SYMBOL vmlinux 0x77d36751 input_match_device_id -EXPORT_SYMBOL vmlinux 0x77e439df ip6_find_1stfragopt EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt EXPORT_SYMBOL vmlinux 0x780763ae pm860x_bulk_read EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt EXPORT_SYMBOL vmlinux 0x781c07c4 rproc_detach EXPORT_SYMBOL vmlinux 0x7834defd vfio_group_unpin_pages -EXPORT_SYMBOL vmlinux 0x78374752 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x7840f4c3 skb_seq_read +EXPORT_SYMBOL vmlinux 0x784635d4 netdev_lower_get_next EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r -EXPORT_SYMBOL vmlinux 0x784fcaab qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x78528301 napi_get_frags EXPORT_SYMBOL vmlinux 0x785d964e bdev_read_only -EXPORT_SYMBOL vmlinux 0x7873bc00 audit_log EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7883ed0e skb_eth_push EXPORT_SYMBOL vmlinux 0x7889868f devm_mdiobus_alloc_size EXPORT_SYMBOL vmlinux 0x7889b9c6 devm_gen_pool_create -EXPORT_SYMBOL vmlinux 0x7894cf96 nf_hook_slow EXPORT_SYMBOL vmlinux 0x789affb1 frontswap_tmem_exclusive_gets EXPORT_SYMBOL vmlinux 0x789d2444 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x78a06943 tcf_block_get EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78aa40cb qdisc_tree_reduce_backlog EXPORT_SYMBOL vmlinux 0x78b1543b pci_bus_write_config_byte EXPORT_SYMBOL vmlinux 0x78b79ff7 truncate_inode_pages_range EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf -EXPORT_SYMBOL vmlinux 0x78d7417a nf_log_unregister +EXPORT_SYMBOL vmlinux 0x78bb41e7 nvmem_get_mac_address +EXPORT_SYMBOL vmlinux 0x78ce61b8 ip_tunnel_header_ops EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices -EXPORT_SYMBOL vmlinux 0x78ebe8d6 pskb_extract -EXPORT_SYMBOL vmlinux 0x78ede2c3 dev_open -EXPORT_SYMBOL vmlinux 0x78f88b91 dcbnl_cee_notify -EXPORT_SYMBOL vmlinux 0x79027520 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x78f21c8b tcp_rcv_established EXPORT_SYMBOL vmlinux 0x79068ebc register_md_personality EXPORT_SYMBOL vmlinux 0x790bafd4 blk_stack_limits EXPORT_SYMBOL vmlinux 0x7917e8d3 __page_frag_cache_drain -EXPORT_SYMBOL vmlinux 0x79279fb8 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x79252b99 dev_deactivate EXPORT_SYMBOL vmlinux 0x795352d3 dev_mc_flush -EXPORT_SYMBOL vmlinux 0x79573c30 tcp_sendmsg -EXPORT_SYMBOL vmlinux 0x79574673 sk_common_release EXPORT_SYMBOL vmlinux 0x795a5bdb kthread_bind EXPORT_SYMBOL vmlinux 0x795b1b87 key_unlink EXPORT_SYMBOL vmlinux 0x79709fca d_instantiate_new @@ -8807,42 +8775,37 @@ EXPORT_SYMBOL vmlinux 0x797d8d3f frontswap_register_ops EXPORT_SYMBOL vmlinux 0x7984eefc key_update EXPORT_SYMBOL vmlinux 0x798f46a0 vga_switcheroo_get_client_state -EXPORT_SYMBOL vmlinux 0x798f68b6 skb_copy EXPORT_SYMBOL vmlinux 0x7996b93f __mmap_lock_do_trace_start_locking EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size EXPORT_SYMBOL vmlinux 0x79a89a4a dev_mc_del_global -EXPORT_SYMBOL vmlinux 0x79ac5f9e inet6_getname EXPORT_SYMBOL vmlinux 0x79cb3f6b __SCK__tp_func_kmalloc_node EXPORT_SYMBOL vmlinux 0x79df9633 ioremap_encrypted EXPORT_SYMBOL vmlinux 0x79ec8f93 blk_start_plug -EXPORT_SYMBOL vmlinux 0x79ecbc00 dev_change_proto_down_generic -EXPORT_SYMBOL vmlinux 0x7a04e19b __netdev_notify_peers EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute EXPORT_SYMBOL vmlinux 0x7a121efe scsi_add_host_with_dma EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number -EXPORT_SYMBOL vmlinux 0x7a41ca02 passthru_features_check -EXPORT_SYMBOL vmlinux 0x7a5109f6 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x7a4fee95 build_skb_around EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists -EXPORT_SYMBOL vmlinux 0x7a699704 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x7a57f9a4 sock_alloc_send_pskb EXPORT_SYMBOL vmlinux 0x7a6e4880 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x7a6fae24 skb_copy_header EXPORT_SYMBOL vmlinux 0x7a710f29 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x7a756ff1 netlink_set_err EXPORT_SYMBOL vmlinux 0x7a75df4e __hw_addr_ref_sync_dev EXPORT_SYMBOL vmlinux 0x7a88da87 iosf_mbi_write -EXPORT_SYMBOL vmlinux 0x7a93411e tcp_splice_read +EXPORT_SYMBOL vmlinux 0x7a8ea3e8 sk_error_report EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 EXPORT_SYMBOL vmlinux 0x7a9672ef locks_copy_conflock EXPORT_SYMBOL vmlinux 0x7a9b5ca5 of_find_mipi_dsi_device_by_node EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree -EXPORT_SYMBOL vmlinux 0x7aa5803e dev_change_flags EXPORT_SYMBOL vmlinux 0x7ab45d25 dma_fence_array_create EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt -EXPORT_SYMBOL vmlinux 0x7ad94326 phy_init_eee EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7aee3faa inet6_del_protocol EXPORT_SYMBOL vmlinux 0x7aff77a3 __cpu_present_mask EXPORT_SYMBOL vmlinux 0x7b0aeebd tty_insert_flip_string_fixed_flag -EXPORT_SYMBOL vmlinux 0x7b163efb get_mem_cgroup_from_mm EXPORT_SYMBOL vmlinux 0x7b17f378 copy_page_from_iter EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit EXPORT_SYMBOL vmlinux 0x7b4cae92 vfs_get_fsid @@ -8850,40 +8813,36 @@ EXPORT_SYMBOL vmlinux 0x7b524afd key_validate EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update EXPORT_SYMBOL vmlinux 0x7b5d29b5 pci_match_id -EXPORT_SYMBOL vmlinux 0x7b5defe5 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x7b6b756f ipv4_dst_check EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace EXPORT_SYMBOL vmlinux 0x7b8bfdd1 cdrom_release -EXPORT_SYMBOL vmlinux 0x7b97fa8a skb_push EXPORT_SYMBOL vmlinux 0x7ba26f93 compat_ptr_ioctl -EXPORT_SYMBOL vmlinux 0x7bad9457 nf_log_unset EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids EXPORT_SYMBOL vmlinux 0x7bcca285 mdiobus_read_nested EXPORT_SYMBOL vmlinux 0x7bd0ae31 i2c_transfer -EXPORT_SYMBOL vmlinux 0x7bd61d1e sk_send_sigurg EXPORT_SYMBOL vmlinux 0x7bd86fa3 I_BDEV +EXPORT_SYMBOL vmlinux 0x7be3efbf eth_mac_addr +EXPORT_SYMBOL vmlinux 0x7bf958a5 skb_set_owner_w EXPORT_SYMBOL vmlinux 0x7c1093d1 param_ops_invbool EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement -EXPORT_SYMBOL vmlinux 0x7c1c9a4f security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x7c18745c phy_start_cable_test EXPORT_SYMBOL vmlinux 0x7c25e621 blk_mq_init_queue EXPORT_SYMBOL vmlinux 0x7c2eb688 fscrypt_fname_disk_to_usr EXPORT_SYMBOL vmlinux 0x7c2f1c86 pci_setup_cardbus EXPORT_SYMBOL vmlinux 0x7c362676 ethtool_get_phc_vclocks EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get EXPORT_SYMBOL vmlinux 0x7c478289 vga_switcheroo_client_probe_defer -EXPORT_SYMBOL vmlinux 0x7c4be385 skb_kill_datagram EXPORT_SYMBOL vmlinux 0x7c4e7cdc fs_lookup_param -EXPORT_SYMBOL vmlinux 0x7c60058a sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x7c72aa78 eth_gro_receive EXPORT_SYMBOL vmlinux 0x7c8515f3 jbd2_transaction_committed EXPORT_SYMBOL vmlinux 0x7c8674c6 seq_put_decimal_ll -EXPORT_SYMBOL vmlinux 0x7c9c455f xfrm_trans_queue EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next EXPORT_SYMBOL vmlinux 0x7cada883 devfreq_monitor_stop EXPORT_SYMBOL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet -EXPORT_SYMBOL vmlinux 0x7cb2946d __scm_destroy EXPORT_SYMBOL vmlinux 0x7cb3605b blk_queue_io_opt EXPORT_SYMBOL vmlinux 0x7cb6f976 agp_alloc_bridge -EXPORT_SYMBOL vmlinux 0x7cce0036 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x7cb9552e security_inode_invalidate_secctx EXPORT_SYMBOL vmlinux 0x7ccf617c serio_unregister_child_port EXPORT_SYMBOL vmlinux 0x7cd8d75e page_offset_base EXPORT_SYMBOL vmlinux 0x7cdcf89a devfreq_update_interval @@ -8895,29 +8854,27 @@ EXPORT_SYMBOL vmlinux 0x7cfa337b is_nd_dax EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation EXPORT_SYMBOL vmlinux 0x7d0529d2 blk_mq_start_stopped_hw_queues -EXPORT_SYMBOL vmlinux 0x7d069eee eth_gro_complete EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent EXPORT_SYMBOL vmlinux 0x7d3055d1 mount_single -EXPORT_SYMBOL vmlinux 0x7d331f09 netdev_lower_get_next_private_rcu EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit -EXPORT_SYMBOL vmlinux 0x7d4ca2fe udp_gro_receive EXPORT_SYMBOL vmlinux 0x7d4dd04e gnet_stats_copy_basic_hw EXPORT_SYMBOL vmlinux 0x7d51328d del_gendisk EXPORT_SYMBOL vmlinux 0x7d54e4af uart_resume_port EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift EXPORT_SYMBOL vmlinux 0x7d628444 memcpy_fromio EXPORT_SYMBOL vmlinux 0x7d6fcdfd thaw_bdev +EXPORT_SYMBOL vmlinux 0x7d71ced4 sock_create +EXPORT_SYMBOL vmlinux 0x7d74930c mr_vif_seq_next EXPORT_SYMBOL vmlinux 0x7d74d522 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7d9be5d7 ipv6_chk_addr_and_flags EXPORT_SYMBOL vmlinux 0x7dad6917 alloc_file_pseudo EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning EXPORT_SYMBOL vmlinux 0x7dca5f20 cdrom_dummy_generic_packet EXPORT_SYMBOL vmlinux 0x7dcbc69b flow_block_cb_alloc EXPORT_SYMBOL vmlinux 0x7dcf4135 __xa_insert EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe -EXPORT_SYMBOL vmlinux 0x7ddb2a18 xfrm_sad_getinfo -EXPORT_SYMBOL vmlinux 0x7ddf8a7a tc_setup_cb_destroy EXPORT_SYMBOL vmlinux 0x7ded888b blk_mq_kick_requeue_list EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args EXPORT_SYMBOL vmlinux 0x7df44163 textsearch_find_continuous @@ -8934,45 +8891,45 @@ EXPORT_SYMBOL vmlinux 0x7e8145df input_set_poll_interval EXPORT_SYMBOL vmlinux 0x7e8c70ae kthread_create_worker EXPORT_SYMBOL vmlinux 0x7e92606b blk_set_runtime_active -EXPORT_SYMBOL vmlinux 0x7e9ca7c9 udplite_prot EXPORT_SYMBOL vmlinux 0x7ea32741 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x7ea7a227 phy_error +EXPORT_SYMBOL vmlinux 0x7eb3b935 eth_header_cache_update EXPORT_SYMBOL vmlinux 0x7ed4bcf3 write_dirty_buffer -EXPORT_SYMBOL vmlinux 0x7eda78d8 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x7ed53a4e qdisc_watchdog_init EXPORT_SYMBOL vmlinux 0x7ee9a495 devm_clk_get -EXPORT_SYMBOL vmlinux 0x7ef2a385 mem_cgroup_from_task -EXPORT_SYMBOL vmlinux 0x7ef2f1aa dst_release EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table EXPORT_SYMBOL vmlinux 0x7f07418b __SCT__tp_func_kmem_cache_alloc_node EXPORT_SYMBOL vmlinux 0x7f14ac73 config_group_init EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs EXPORT_SYMBOL vmlinux 0x7f3afd3e mdiobus_write_nested -EXPORT_SYMBOL vmlinux 0x7f3dcb9a skb_mac_gso_segment EXPORT_SYMBOL vmlinux 0x7f41c9bb thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x7f49c5b3 dev_lstats_read EXPORT_SYMBOL vmlinux 0x7f4d7e70 __mdiobus_register EXPORT_SYMBOL vmlinux 0x7f52071a net_dim EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table EXPORT_SYMBOL vmlinux 0x7f668135 dquot_release -EXPORT_SYMBOL vmlinux 0x7f7844c7 inet_accept +EXPORT_SYMBOL vmlinux 0x7f683def tcf_exts_dump_stats EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f8002b0 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x7f85bf07 sock_no_mmap EXPORT_SYMBOL vmlinux 0x7f89d476 try_to_free_buffers -EXPORT_SYMBOL vmlinux 0x7f99e2e1 dev_get_phys_port_id +EXPORT_SYMBOL vmlinux 0x7f8bae9e __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x7f9888c4 inet_add_offload EXPORT_SYMBOL vmlinux 0x7fbe602c nvdimm_namespace_disk_name -EXPORT_SYMBOL vmlinux 0x7fc9954e ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x7fdb4f3b udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x7fdf1abc io_uring_get_socket EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node EXPORT_SYMBOL vmlinux 0x7fe50ffe devm_devfreq_register_notifier -EXPORT_SYMBOL vmlinux 0x7fe5b13e tcp_set_rcvlowat EXPORT_SYMBOL vmlinux 0x7ffd4068 mmc_retune_pause EXPORT_SYMBOL vmlinux 0x80037860 generic_file_direct_write EXPORT_SYMBOL vmlinux 0x800af0c9 nvdimm_namespace_locked EXPORT_SYMBOL vmlinux 0x801e8735 single_open -EXPORT_SYMBOL vmlinux 0x8026e55c dev_alloc_name -EXPORT_SYMBOL vmlinux 0x8032f1ed register_netdevice_notifier_dev_net EXPORT_SYMBOL vmlinux 0x80370177 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x803982cf unregister_netdevice_queue EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x8045b8cd udp_lib_rehash EXPORT_SYMBOL vmlinux 0x804af87c wrmsr_safe_on_cpu -EXPORT_SYMBOL vmlinux 0x8057576f phy_ethtool_set_link_ksettings -EXPORT_SYMBOL vmlinux 0x8064c10f tcp_md5_hash_key EXPORT_SYMBOL vmlinux 0x806dbf5d pci_bus_claim_resources EXPORT_SYMBOL vmlinux 0x808fc611 simple_open EXPORT_SYMBOL vmlinux 0x80935c82 tty_lock @@ -8981,9 +8938,9 @@ EXPORT_SYMBOL vmlinux 0x8097d969 blk_integrity_compare EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare EXPORT_SYMBOL vmlinux 0x80a7c730 fb_get_buffer_offset -EXPORT_SYMBOL vmlinux 0x80b586b2 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x80a83e0b ip6_mtu EXPORT_SYMBOL vmlinux 0x80bd8420 pci_irq_get_affinity -EXPORT_SYMBOL vmlinux 0x80be9741 vif_device_init +EXPORT_SYMBOL vmlinux 0x80bdac4c netdev_tc_map_to_queue_mask EXPORT_SYMBOL vmlinux 0x80c98300 pcim_iomap_table EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd EXPORT_SYMBOL vmlinux 0x80cd2469 scsi_rescan_device @@ -8996,149 +8953,138 @@ EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer EXPORT_SYMBOL vmlinux 0x81188c30 match_string EXPORT_SYMBOL vmlinux 0x811f25b1 generic_fillattr -EXPORT_SYMBOL vmlinux 0x812796d8 netif_rx_ni EXPORT_SYMBOL vmlinux 0x8128041d __devm_release_region -EXPORT_SYMBOL vmlinux 0x8134056e km_policy_expired EXPORT_SYMBOL vmlinux 0x81363124 pci_find_next_bus EXPORT_SYMBOL vmlinux 0x814705ab blk_mq_rq_cpu EXPORT_SYMBOL vmlinux 0x814b55f3 deactivate_locked_super EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal -EXPORT_SYMBOL vmlinux 0x815df761 pskb_trim_rcsum_slow EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page EXPORT_SYMBOL vmlinux 0x816347c6 agp_device_command EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information EXPORT_SYMBOL vmlinux 0x8185baa8 __alloc_pages EXPORT_SYMBOL vmlinux 0x81979bbc unlock_two_nondirectories -EXPORT_SYMBOL vmlinux 0x819bd500 ipv6_sock_mc_drop EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq EXPORT_SYMBOL vmlinux 0x81bedd71 i2c_smbus_xfer -EXPORT_SYMBOL vmlinux 0x81c80581 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x81c5a8b3 inet_protos EXPORT_SYMBOL vmlinux 0x81ce9941 intel_scu_ipc_dev_writev EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset EXPORT_SYMBOL vmlinux 0x81dfcbbd finish_open EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info EXPORT_SYMBOL vmlinux 0x81fdee33 mmc_get_card EXPORT_SYMBOL vmlinux 0x8200e119 vm_map_ram -EXPORT_SYMBOL vmlinux 0x820176c9 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x8214963b xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x8217e04c close_fd_get_file EXPORT_SYMBOL vmlinux 0x821bdc8b vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x822f7b3d inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x8231bed3 netif_tx_stop_all_queues EXPORT_SYMBOL vmlinux 0x823c19ea iosf_mbi_unregister_pmic_bus_access_notifier_unlocked +EXPORT_SYMBOL vmlinux 0x823ce888 xp_dma_unmap EXPORT_SYMBOL vmlinux 0x8243d13d zap_page_range EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec EXPORT_SYMBOL vmlinux 0x8272851f thaw_super EXPORT_SYMBOL vmlinux 0x828062b1 __frontswap_init -EXPORT_SYMBOL vmlinux 0x8299da91 arp_xmit EXPORT_SYMBOL vmlinux 0x82a2408f cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x82ade7d9 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x82be4115 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x82c5c93f sock_no_ioctl EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes -EXPORT_SYMBOL vmlinux 0x82cb2a1a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x82cbe140 fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x82e48625 tcf_qevent_dump EXPORT_SYMBOL vmlinux 0x82e7b9d1 page_pool_alloc_frag EXPORT_SYMBOL vmlinux 0x82e9f82f serial8250_set_isa_configurator EXPORT_SYMBOL vmlinux 0x83253110 param_ops_bool -EXPORT_SYMBOL vmlinux 0x835139bc udp_poll +EXPORT_SYMBOL vmlinux 0x83411e3b skb_dump EXPORT_SYMBOL vmlinux 0x83525a3b iov_iter_single_seg_count -EXPORT_SYMBOL vmlinux 0x835798d5 sock_recvmsg EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle EXPORT_SYMBOL vmlinux 0x83599202 seq_read -EXPORT_SYMBOL vmlinux 0x8362d90f skb_copy_datagram_from_iter -EXPORT_SYMBOL vmlinux 0x836f9fa3 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x835f9a04 inet_frag_find EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 EXPORT_SYMBOL vmlinux 0x839670ab dm_put_device -EXPORT_SYMBOL vmlinux 0x83adde89 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x83d49bbd tc_setup_cb_destroy EXPORT_SYMBOL vmlinux 0x83f354ab phy_device_free EXPORT_SYMBOL vmlinux 0x83f574c1 vga_switcheroo_register_handler EXPORT_SYMBOL vmlinux 0x83fe8d5a dma_resv_fini EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free -EXPORT_SYMBOL vmlinux 0x841317b2 __skb_free_datagram_locked EXPORT_SYMBOL vmlinux 0x8427cc7b _raw_spin_lock_irq EXPORT_SYMBOL vmlinux 0x84280f61 tty_do_resize EXPORT_SYMBOL vmlinux 0x842c8e9d ioread16 EXPORT_SYMBOL vmlinux 0x8455e3a7 dma_fence_signal_timestamp_locked -EXPORT_SYMBOL vmlinux 0x84673d83 tcp_read_sock -EXPORT_SYMBOL vmlinux 0x847ae710 xfrm_find_acq_byseq -EXPORT_SYMBOL vmlinux 0x8480704e inet_twsk_deschedule_put EXPORT_SYMBOL vmlinux 0x84823cf3 nla_strscpy +EXPORT_SYMBOL vmlinux 0x84868bbc tcf_exts_destroy EXPORT_SYMBOL vmlinux 0x848d372e iowrite8 -EXPORT_SYMBOL vmlinux 0x849b0982 tcp_check_req -EXPORT_SYMBOL vmlinux 0x84be6acf eth_get_headlen +EXPORT_SYMBOL vmlinux 0x848e2076 udp6_csum_init EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies EXPORT_SYMBOL vmlinux 0x84c4040c security_binder_set_context_mgr EXPORT_SYMBOL vmlinux 0x84c889c4 set_anon_super EXPORT_SYMBOL vmlinux 0x84d8db29 blk_rq_unmap_user -EXPORT_SYMBOL vmlinux 0x84fb9001 __skb_vlan_pop -EXPORT_SYMBOL vmlinux 0x84ff23aa vlan_ioctl_set -EXPORT_SYMBOL vmlinux 0x85013329 ip_sock_set_freebind EXPORT_SYMBOL vmlinux 0x8512fb1c __filemap_set_wb_err EXPORT_SYMBOL vmlinux 0x8518a4a6 _raw_spin_trylock_bh -EXPORT_SYMBOL vmlinux 0x851bba30 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x851a0610 dev_get_flags +EXPORT_SYMBOL vmlinux 0x8522a828 __scm_send EXPORT_SYMBOL vmlinux 0x8522d6bc strncpy_from_user -EXPORT_SYMBOL vmlinux 0x8527136d ip6_fraglist_prepare -EXPORT_SYMBOL vmlinux 0x8527ec20 tcp_sendpage -EXPORT_SYMBOL vmlinux 0x85392dcd lock_sock_nested EXPORT_SYMBOL vmlinux 0x854979ea insert_inode_locked EXPORT_SYMBOL vmlinux 0x855d8f30 rtc_add_groups -EXPORT_SYMBOL vmlinux 0x85632dab udp_lib_setsockopt EXPORT_SYMBOL vmlinux 0x8565084c blk_queue_bounce_limit EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked EXPORT_SYMBOL vmlinux 0x8569e77e jbd2_journal_get_write_access EXPORT_SYMBOL vmlinux 0x856a1cff register_mii_tstamp_controller EXPORT_SYMBOL vmlinux 0x856ca32b get_cached_acl_rcu EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85ac749d xsk_set_tx_need_wakeup EXPORT_SYMBOL vmlinux 0x85b4cf2f utf8nlen EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states EXPORT_SYMBOL vmlinux 0x85bb1084 unregister_mii_timestamper EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region EXPORT_SYMBOL vmlinux 0x85c18439 pcix_set_mmrbc -EXPORT_SYMBOL vmlinux 0x85c5f8bf ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x85d70009 ipv4_specific EXPORT_SYMBOL vmlinux 0x85d7e4d5 backlight_device_get_by_type EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e84c85 tcf_classify EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn EXPORT_SYMBOL vmlinux 0x85f999b3 mmc_card_is_blockaddr EXPORT_SYMBOL vmlinux 0x85fe29d7 path_is_mountpoint EXPORT_SYMBOL vmlinux 0x860287a1 seq_path EXPORT_SYMBOL vmlinux 0x8618b7d5 devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x862cc1b4 inet_rcv_saddr_equal EXPORT_SYMBOL vmlinux 0x863a276a color_table EXPORT_SYMBOL vmlinux 0x864da8a1 max8998_update_reg -EXPORT_SYMBOL vmlinux 0x8660420f rtnl_unicast -EXPORT_SYMBOL vmlinux 0x866186b4 neigh_xmit -EXPORT_SYMBOL vmlinux 0x86620468 napi_complete_done -EXPORT_SYMBOL vmlinux 0x866c2237 eth_header_cache +EXPORT_SYMBOL vmlinux 0x867047ae tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x867e51ec xfrm_policy_walk EXPORT_SYMBOL vmlinux 0x868acba5 get_options -EXPORT_SYMBOL vmlinux 0x86937cef ip6_frag_next +EXPORT_SYMBOL vmlinux 0x868fe52b sock_set_sndtimeo EXPORT_SYMBOL vmlinux 0x869a9798 vc_cons -EXPORT_SYMBOL vmlinux 0x869be82c mr_fill_mroute -EXPORT_SYMBOL vmlinux 0x86a13228 netdev_err -EXPORT_SYMBOL vmlinux 0x86b0bb8e eth_header_cache_update EXPORT_SYMBOL vmlinux 0x86b914bd module_put +EXPORT_SYMBOL vmlinux 0x86bc3be2 sock_edemux EXPORT_SYMBOL vmlinux 0x86bd5fe5 dcache_readdir +EXPORT_SYMBOL vmlinux 0x86bec51a gro_find_receive_by_type EXPORT_SYMBOL vmlinux 0x86c7272b iosf_mbi_read -EXPORT_SYMBOL vmlinux 0x86d500b8 security_sctp_bind_connect EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant EXPORT_SYMBOL vmlinux 0x86f27420 iosf_mbi_block_punit_i2c_access EXPORT_SYMBOL vmlinux 0x86fb4536 cpumask_any_and_distribute EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user EXPORT_SYMBOL vmlinux 0x8714563b csum_and_copy_from_user +EXPORT_SYMBOL vmlinux 0x8721c429 tcp_setsockopt EXPORT_SYMBOL vmlinux 0x873a923c jbd2_journal_finish_inode_data_buffers EXPORT_SYMBOL vmlinux 0x874158a5 generic_file_fsync EXPORT_SYMBOL vmlinux 0x874ee83e wait_on_page_bit_killable -EXPORT_SYMBOL vmlinux 0x8750ddbc sock_no_getname +EXPORT_SYMBOL vmlinux 0x8750cbc6 nf_log_unset EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed EXPORT_SYMBOL vmlinux 0x8768a39a pnpacpi_protocol EXPORT_SYMBOL vmlinux 0x876f5d19 xattr_supported_namespace EXPORT_SYMBOL vmlinux 0x87706d4e __put_user_nocheck_8 -EXPORT_SYMBOL vmlinux 0x8770859f netif_carrier_off EXPORT_SYMBOL vmlinux 0x87761528 __traceiter_kmem_cache_alloc EXPORT_SYMBOL vmlinux 0x877fb92f fb_set_var EXPORT_SYMBOL vmlinux 0x878469bd ZSTD_decompressStream EXPORT_SYMBOL vmlinux 0x8792f605 tty_port_raise_dtr_rts EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds -EXPORT_SYMBOL vmlinux 0x87af50ff tcp_stream_memory_free EXPORT_SYMBOL vmlinux 0x87b300f2 dquot_quota_on_mount -EXPORT_SYMBOL vmlinux 0x87b876a8 dev_get_by_name EXPORT_SYMBOL vmlinux 0x87b8798d sg_next -EXPORT_SYMBOL vmlinux 0x87c7c292 netdev_printk +EXPORT_SYMBOL vmlinux 0x87d2e24e inet_addr_type EXPORT_SYMBOL vmlinux 0x87d70881 amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0x87d8fcad ip6_err_gen_icmpv6_unreach EXPORT_SYMBOL vmlinux 0x87db19e3 get_thermal_instance EXPORT_SYMBOL vmlinux 0x87e6671b vga_client_register EXPORT_SYMBOL vmlinux 0x87f198c0 register_md_cluster_operations @@ -9146,7 +9092,7 @@ EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit EXPORT_SYMBOL vmlinux 0x882c5395 kmem_cache_alloc_bulk -EXPORT_SYMBOL vmlinux 0x88326ce5 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x88521eb1 inet_csk_reqsk_queue_add EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier EXPORT_SYMBOL vmlinux 0x8885b6dd vm_map_pages_zero EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 @@ -9154,122 +9100,115 @@ EXPORT_SYMBOL vmlinux 0x889b1370 _raw_read_trylock EXPORT_SYMBOL vmlinux 0x88aa82f8 pci_alloc_host_bridge EXPORT_SYMBOL vmlinux 0x88abb78b ZSTD_insertBlock -EXPORT_SYMBOL vmlinux 0x88c7c149 dev_get_port_parent_id EXPORT_SYMBOL vmlinux 0x88cff69f md_set_array_sectors EXPORT_SYMBOL vmlinux 0x88d4f818 dqget EXPORT_SYMBOL vmlinux 0x88d5ae68 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x88d8fd2b netif_rx_any_context EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free -EXPORT_SYMBOL vmlinux 0x88e56d19 udp6_set_csum EXPORT_SYMBOL vmlinux 0x88e77584 d_delete +EXPORT_SYMBOL vmlinux 0x8916613a xfrm_trans_queue_net EXPORT_SYMBOL vmlinux 0x891d6ddf nd_region_release_lane EXPORT_SYMBOL vmlinux 0x891e1751 simple_nosetlease EXPORT_SYMBOL vmlinux 0x89243b5b input_unregister_handle EXPORT_SYMBOL vmlinux 0x89283204 pps_register_source -EXPORT_SYMBOL vmlinux 0x892afffb sock_no_mmap EXPORT_SYMBOL vmlinux 0x892d5e90 get_fs_type EXPORT_SYMBOL vmlinux 0x893ec609 padata_do_parallel EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear EXPORT_SYMBOL vmlinux 0x8944949a cdrom_mode_sense EXPORT_SYMBOL vmlinux 0x894e4304 clk_bulk_get EXPORT_SYMBOL vmlinux 0x8962c793 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x8962d64e inet_addr_type_table EXPORT_SYMBOL vmlinux 0x89638baf fs_param_is_enum -EXPORT_SYMBOL vmlinux 0x89717df9 __qdisc_calculate_pkt_len -EXPORT_SYMBOL vmlinux 0x8977e31e sock_kzfree_s EXPORT_SYMBOL vmlinux 0x89940875 mutex_lock_interruptible EXPORT_SYMBOL vmlinux 0x89a23081 is_acpi_data_node -EXPORT_SYMBOL vmlinux 0x89a247bb kernel_connect EXPORT_SYMBOL vmlinux 0x89a24e4d pci_restore_state -EXPORT_SYMBOL vmlinux 0x89b62a6f skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x89a98d92 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x89b154a7 __napi_schedule EXPORT_SYMBOL vmlinux 0x89d007f0 amd_iommu_complete_ppr EXPORT_SYMBOL vmlinux 0x89d5a69e follow_down_one +EXPORT_SYMBOL vmlinux 0x89dd3cf0 __pskb_copy_fclone EXPORT_SYMBOL vmlinux 0x89df0987 kmem_cache_shrink EXPORT_SYMBOL vmlinux 0x89e21a27 sdev_prefix_printk EXPORT_SYMBOL vmlinux 0x89f3818d scsi_target_resume -EXPORT_SYMBOL vmlinux 0x89f4fd6b __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x8a07f27d __neigh_for_each_release EXPORT_SYMBOL vmlinux 0x8a084f30 no_llseek EXPORT_SYMBOL vmlinux 0x8a0faa67 iov_iter_npages EXPORT_SYMBOL vmlinux 0x8a115bca call_fib_notifiers EXPORT_SYMBOL vmlinux 0x8a194168 scsi_scan_host -EXPORT_SYMBOL vmlinux 0x8a23709d netdev_has_upper_dev_all_rcu EXPORT_SYMBOL vmlinux 0x8a23e3a5 kthread_stop EXPORT_SYMBOL vmlinux 0x8a25315a t10_pi_type3_ip -EXPORT_SYMBOL vmlinux 0x8a3322c8 inet_frags_fini EXPORT_SYMBOL vmlinux 0x8a35b432 sme_me_mask -EXPORT_SYMBOL vmlinux 0x8a3ed20b skb_realloc_headroom EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state -EXPORT_SYMBOL vmlinux 0x8a4f2e03 phy_ethtool_ksettings_get EXPORT_SYMBOL vmlinux 0x8a528285 pci_pme_active -EXPORT_SYMBOL vmlinux 0x8a5fc9dc phy_start_cable_test EXPORT_SYMBOL vmlinux 0x8a61b6da scsi_eh_restore_cmnd EXPORT_SYMBOL vmlinux 0x8a6c7139 acpi_mask_gpe EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags EXPORT_SYMBOL vmlinux 0x8a79664c mnt_set_expiry EXPORT_SYMBOL vmlinux 0x8a7aad30 __hw_addr_unsync_dev EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a9089d2 ip_mc_inc_group EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab -EXPORT_SYMBOL vmlinux 0x8aa15fb4 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x8a9a5418 tcf_action_exec EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer EXPORT_SYMBOL vmlinux 0x8acb6b15 param_set_int +EXPORT_SYMBOL vmlinux 0x8ad1f6a7 xp_alloc EXPORT_SYMBOL vmlinux 0x8ae8aa3d adjust_managed_page_count EXPORT_SYMBOL vmlinux 0x8afc0a69 mdio_bus_type EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict EXPORT_SYMBOL vmlinux 0x8b24f627 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x8b2ab601 proto_unregister EXPORT_SYMBOL vmlinux 0x8b2c0db0 scsi_print_result -EXPORT_SYMBOL vmlinux 0x8b4cc5aa xfrm_policy_hash_rebuild EXPORT_SYMBOL vmlinux 0x8b506bfe devfreq_unregister_notifier EXPORT_SYMBOL vmlinux 0x8b55273d fs_param_is_bool EXPORT_SYMBOL vmlinux 0x8b5bc5b3 pci_free_irq_vectors -EXPORT_SYMBOL vmlinux 0x8b606c36 skb_checksum EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid -EXPORT_SYMBOL vmlinux 0x8b6c9419 __skb_get_hash -EXPORT_SYMBOL vmlinux 0x8b6cf40f neigh_direct_output +EXPORT_SYMBOL vmlinux 0x8b690797 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x8b6f2e34 tcf_chain_get_by_act EXPORT_SYMBOL vmlinux 0x8b74a46f vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x8b757a16 tcf_qevent_destroy EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p EXPORT_SYMBOL vmlinux 0x8b83c5d2 pci_enable_msi EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample EXPORT_SYMBOL vmlinux 0x8b966b63 sn_rtc_cycles_per_second EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup EXPORT_SYMBOL vmlinux 0x8b9ea582 ZSTD_copyDCtx -EXPORT_SYMBOL vmlinux 0x8bcd1273 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x8ba70715 __inet6_lookup_established EXPORT_SYMBOL vmlinux 0x8bd577d0 acpi_ut_exit EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8be50dd7 xfrm_find_acq EXPORT_SYMBOL vmlinux 0x8bf2ab15 dquot_transfer -EXPORT_SYMBOL vmlinux 0x8bfe087d tcp_get_md5sig_pool -EXPORT_SYMBOL vmlinux 0x8c03c9e9 tcp_md5_do_del EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event EXPORT_SYMBOL vmlinux 0x8c2b27fe devm_free_irq EXPORT_SYMBOL vmlinux 0x8c326402 vma_set_file -EXPORT_SYMBOL vmlinux 0x8c3fbda7 ip_cmsg_recv_offset EXPORT_SYMBOL vmlinux 0x8c48e8a3 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x8c5838ef skb_vlan_pop EXPORT_SYMBOL vmlinux 0x8c59ad07 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x8c6200de inet_frag_queue_insert EXPORT_SYMBOL vmlinux 0x8c683fcd posix_acl_to_xattr EXPORT_SYMBOL vmlinux 0x8c735474 __insert_inode_hash EXPORT_SYMBOL vmlinux 0x8c7c4427 input_set_min_poll_interval -EXPORT_SYMBOL vmlinux 0x8c847644 __skb_checksum EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid EXPORT_SYMBOL vmlinux 0x8cb738c8 find_inode_nowait -EXPORT_SYMBOL vmlinux 0x8cbd5ce6 zerocopy_sg_from_iter -EXPORT_SYMBOL vmlinux 0x8cc5c840 sock_common_recvmsg EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep EXPORT_SYMBOL vmlinux 0x8cda4ab8 bio_kmalloc EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cdd50d9 nf_register_sockopt EXPORT_SYMBOL vmlinux 0x8ce41a92 __traceiter_mmap_lock_acquire_returned EXPORT_SYMBOL vmlinux 0x8d00375e elv_bio_merge_ok -EXPORT_SYMBOL vmlinux 0x8d16095e noop_qdisc -EXPORT_SYMBOL vmlinux 0x8d4bc405 inetdev_by_index -EXPORT_SYMBOL vmlinux 0x8d4e4499 seg6_hmac_info_lookup EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d56042b __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x8d56b895 neigh_event_ns EXPORT_SYMBOL vmlinux 0x8d57b12e unpin_user_page EXPORT_SYMBOL vmlinux 0x8d58e57c phy_validate_pause EXPORT_SYMBOL vmlinux 0x8d60652c __SCT__tp_func_mmap_lock_released EXPORT_SYMBOL vmlinux 0x8d6aff89 __put_user_nocheck_4 -EXPORT_SYMBOL vmlinux 0x8d6bd594 skb_put EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d74bfe9 sk_page_frag_refill EXPORT_SYMBOL vmlinux 0x8d7b078e mipi_dsi_dcs_set_column_address EXPORT_SYMBOL vmlinux 0x8d8590ba _dev_alert EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling @@ -9283,38 +9222,42 @@ EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy EXPORT_SYMBOL vmlinux 0x8e19ce45 input_register_handler -EXPORT_SYMBOL vmlinux 0x8e20cdf8 linkwatch_fire_event EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback EXPORT_SYMBOL vmlinux 0x8e388bb9 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x8e3a578b ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x8e3d15df __lock_sock_fast EXPORT_SYMBOL vmlinux 0x8e3e0f7d fault_in_readable EXPORT_SYMBOL vmlinux 0x8e3e5524 single_release +EXPORT_SYMBOL vmlinux 0x8e5f436d xfrm_replay_seqhi EXPORT_SYMBOL vmlinux 0x8e663d0f zalloc_cpumask_var_node -EXPORT_SYMBOL vmlinux 0x8e683304 inet6_bind EXPORT_SYMBOL vmlinux 0x8e7e4b0c file_remove_privs -EXPORT_SYMBOL vmlinux 0x8e85e342 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x8e89880e netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x8e8afa08 put_cmsg_scm_timestamping EXPORT_SYMBOL vmlinux 0x8e9385a9 bdi_set_max_ratio EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid EXPORT_SYMBOL vmlinux 0x8e9ee22e dma_find_channel EXPORT_SYMBOL vmlinux 0x8ea605ce blk_queue_update_dma_alignment EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler -EXPORT_SYMBOL vmlinux 0x8ee70023 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x8eee0397 nf_log_packet EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask -EXPORT_SYMBOL vmlinux 0x8f13d9c7 xfrm_input EXPORT_SYMBOL vmlinux 0x8f17ab77 __SCK__tp_func_rdpmc EXPORT_SYMBOL vmlinux 0x8f24704c register_shrinker EXPORT_SYMBOL vmlinux 0x8f25a0e3 dmaenginem_async_device_register EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f2b15af kfree_skb_partial EXPORT_SYMBOL vmlinux 0x8f2b9fc3 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x8f332b35 tcp_sendmsg EXPORT_SYMBOL vmlinux 0x8f66d6e1 finish_swait EXPORT_SYMBOL vmlinux 0x8f80bf11 acpi_install_gpe_raw_handler EXPORT_SYMBOL vmlinux 0x8f9650d8 scsi_is_target_device EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8fa362f9 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x8fa8a06d tcf_action_check_ctrlact EXPORT_SYMBOL vmlinux 0x8fdb0752 abort_creds EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush -EXPORT_SYMBOL vmlinux 0x90111507 neigh_update EXPORT_SYMBOL vmlinux 0x901410d8 simple_link EXPORT_SYMBOL vmlinux 0x9018e07d rproc_elf_find_loaded_rsc_table EXPORT_SYMBOL vmlinux 0x90272ffb vlan_dev_vlan_proto @@ -9329,28 +9272,30 @@ EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user EXPORT_SYMBOL vmlinux 0x90594547 vfs_dedupe_file_range EXPORT_SYMBOL vmlinux 0x906218c2 dquot_free_inode -EXPORT_SYMBOL vmlinux 0x9067f2fe xfrm_state_lookup EXPORT_SYMBOL vmlinux 0x907ea00e set_security_override +EXPORT_SYMBOL vmlinux 0x9089edba mr_table_alloc EXPORT_SYMBOL vmlinux 0x909001d0 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x90968fb9 tcp_req_err EXPORT_SYMBOL vmlinux 0x909aeee1 pci_alloc_dev -EXPORT_SYMBOL vmlinux 0x90aae501 tcf_qevent_init -EXPORT_SYMBOL vmlinux 0x90b9dcff xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x90b630c0 __cpuhp_remove_state EXPORT_SYMBOL vmlinux 0x90bf7965 request_key_rcu EXPORT_SYMBOL vmlinux 0x90cfd65e __breadahead EXPORT_SYMBOL vmlinux 0x90d5b9ac mark_buffer_dirty_inode EXPORT_SYMBOL vmlinux 0x90d75e3e pci_enable_atomic_ops_to_root EXPORT_SYMBOL vmlinux 0x90dc1eb1 inode_owner_or_capable EXPORT_SYMBOL vmlinux 0x90e273e2 cred_fscmp -EXPORT_SYMBOL vmlinux 0x9102b84b sk_stream_kill_queues -EXPORT_SYMBOL vmlinux 0x910775f1 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x90ff4f2b skb_flow_dissect_tunnel_info EXPORT_SYMBOL vmlinux 0x910be6ce mipi_dsi_driver_register_full EXPORT_SYMBOL vmlinux 0x910f24ba __page_symlink EXPORT_SYMBOL vmlinux 0x9114b616 __xa_alloc +EXPORT_SYMBOL vmlinux 0x913a8f14 poll_initwait EXPORT_SYMBOL vmlinux 0x9151ff08 jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x915b9064 tcp_ioctl EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb EXPORT_SYMBOL vmlinux 0x9166fada strncpy EXPORT_SYMBOL vmlinux 0x9176145b acpi_install_global_event_handler EXPORT_SYMBOL vmlinux 0x91963dc0 pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0x919ba8c6 ndo_dflt_fdb_add EXPORT_SYMBOL vmlinux 0x919bb4d6 filemap_fault EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 EXPORT_SYMBOL vmlinux 0x91a10c61 intel_scu_ipc_dev_simple_command @@ -9361,26 +9306,27 @@ EXPORT_SYMBOL vmlinux 0x91bd479d blk_sync_queue EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz EXPORT_SYMBOL vmlinux 0x91c0bf02 pci_get_domain_bus_and_slot -EXPORT_SYMBOL vmlinux 0x91cf2c1a __xfrm_state_destroy EXPORT_SYMBOL vmlinux 0x91ea71d9 pci_enable_wake EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync EXPORT_SYMBOL vmlinux 0x91fe40fe path_get EXPORT_SYMBOL vmlinux 0x920901c4 current_in_userns +EXPORT_SYMBOL vmlinux 0x9214ef17 skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x921df159 skb_page_frag_refill EXPORT_SYMBOL vmlinux 0x921e5dac dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x922160dd __ip_mc_inc_group EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear EXPORT_SYMBOL vmlinux 0x9237e9a0 watchdog_register_governor EXPORT_SYMBOL vmlinux 0x923ad491 wait_on_page_private_2 EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9244f6fd inet_release EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x925739d5 tcf_block_get_ext EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only EXPORT_SYMBOL vmlinux 0x925b7127 __tty_alloc_driver -EXPORT_SYMBOL vmlinux 0x92665407 udp_seq_stop EXPORT_SYMBOL vmlinux 0x9268b6c3 mmc_sw_reset EXPORT_SYMBOL vmlinux 0x92774cf8 __kfence_pool -EXPORT_SYMBOL vmlinux 0x927ee5f6 udp_lib_get_port EXPORT_SYMBOL vmlinux 0x927ff730 flow_block_cb_free -EXPORT_SYMBOL vmlinux 0x92827dd4 __netlink_kernel_create EXPORT_SYMBOL vmlinux 0x92897e3d default_idle EXPORT_SYMBOL vmlinux 0x928cbbaa __scsi_device_lookup_by_target EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user @@ -9389,12 +9335,11 @@ EXPORT_SYMBOL vmlinux 0x92997ed8 _printk EXPORT_SYMBOL vmlinux 0x92a51e56 acpi_debug_print_raw EXPORT_SYMBOL vmlinux 0x92a60c2c genphy_check_and_restart_aneg -EXPORT_SYMBOL vmlinux 0x92a6badc sock_pfree EXPORT_SYMBOL vmlinux 0x92a8cd40 md_reload_sb EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name -EXPORT_SYMBOL vmlinux 0x92bdf9db neigh_destroy EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92dc94b0 __sk_dst_check EXPORT_SYMBOL vmlinux 0x92e683f5 down_timeout EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs EXPORT_SYMBOL vmlinux 0x92f068f7 param_set_ullong @@ -9402,96 +9347,88 @@ EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get -EXPORT_SYMBOL vmlinux 0x93105771 genl_notify EXPORT_SYMBOL vmlinux 0x9318b539 fifo_set_limit EXPORT_SYMBOL vmlinux 0x9322f5d7 i8042_install_filter -EXPORT_SYMBOL vmlinux 0x933f0bbe genl_register_family EXPORT_SYMBOL vmlinux 0x934b6f80 blk_queue_physical_block_size EXPORT_SYMBOL vmlinux 0x93518bbe setattr_prepare EXPORT_SYMBOL vmlinux 0x93553e85 freeze_bdev -EXPORT_SYMBOL vmlinux 0x93584774 neigh_table_init EXPORT_SYMBOL vmlinux 0x935db005 mmc_can_gpio_cd EXPORT_SYMBOL vmlinux 0x93616740 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x93729b65 nf_hook_slow EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid EXPORT_SYMBOL vmlinux 0x937dbcda is_subdir EXPORT_SYMBOL vmlinux 0x93832e1f pnp_stop_dev EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule EXPORT_SYMBOL vmlinux 0x93a8b92d nvdimm_namespace_capacity -EXPORT_SYMBOL vmlinux 0x93abbc7a eth_type_trans EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier EXPORT_SYMBOL vmlinux 0x93c15103 generic_permission EXPORT_SYMBOL vmlinux 0x93d1ac76 pci_map_rom EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all -EXPORT_SYMBOL vmlinux 0x93de60bb security_inode_setsecctx -EXPORT_SYMBOL vmlinux 0x93e2af8e rt_dst_alloc EXPORT_SYMBOL vmlinux 0x93f0da31 pcie_capability_clear_and_set_dword -EXPORT_SYMBOL vmlinux 0x93f20cf6 dev_get_flags EXPORT_SYMBOL vmlinux 0x94049537 bmap +EXPORT_SYMBOL vmlinux 0x940ff327 dev_change_proto_down EXPORT_SYMBOL vmlinux 0x941b7fa7 agp_collect_device_status EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn EXPORT_SYMBOL vmlinux 0x9431040a mmc_command_done EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x9446de97 ip_route_me_harder EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked -EXPORT_SYMBOL vmlinux 0x94598131 tcp_md5_hash_skb_data -EXPORT_SYMBOL vmlinux 0x946437a3 udp_flush_pending_frames EXPORT_SYMBOL vmlinux 0x9465e95b genphy_resume -EXPORT_SYMBOL vmlinux 0x946bc9ef sock_register EXPORT_SYMBOL vmlinux 0x947243c9 convert_art_to_tsc_ns +EXPORT_SYMBOL vmlinux 0x94820184 security_sctp_bind_connect EXPORT_SYMBOL vmlinux 0x9487d3e1 ns_capable EXPORT_SYMBOL vmlinux 0x94921c9d i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x9493451c netlink_unicast EXPORT_SYMBOL vmlinux 0x9493fc86 node_states EXPORT_SYMBOL vmlinux 0x94961283 vunmap EXPORT_SYMBOL vmlinux 0x94b9ccf9 padata_free EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94d48b72 reuseport_migrate_sock EXPORT_SYMBOL vmlinux 0x94da1ce2 block_truncate_page EXPORT_SYMBOL vmlinux 0x94ddcef0 dev_uc_sync_multiple EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier -EXPORT_SYMBOL vmlinux 0x94eea9d8 fget -EXPORT_SYMBOL vmlinux 0x9502542d sock_kmalloc EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x9518eb38 register_netdev EXPORT_SYMBOL vmlinux 0x952e02b7 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x9535fa6f arp_create EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc EXPORT_SYMBOL vmlinux 0x954d6795 generic_parse_monolithic EXPORT_SYMBOL vmlinux 0x954f099c idr_preload -EXPORT_SYMBOL vmlinux 0x9552bc93 release_sock -EXPORT_SYMBOL vmlinux 0x95618ccc skb_copy_and_csum_datagram_msg EXPORT_SYMBOL vmlinux 0x956b3e07 ptp_find_pin_unlocked EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table EXPORT_SYMBOL vmlinux 0x95af0fbf console_stop EXPORT_SYMBOL vmlinux 0x95b070f2 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x95c909cd reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x95d181d1 dcb_ieee_getapp_prio_dscp_mask_map EXPORT_SYMBOL vmlinux 0x95fb7535 scsi_add_device EXPORT_SYMBOL vmlinux 0x96050dc8 __next_node_in EXPORT_SYMBOL vmlinux 0x9614efd4 page_pool_update_nid -EXPORT_SYMBOL vmlinux 0x961efcd8 sock_no_linger EXPORT_SYMBOL vmlinux 0x961fcf61 bio_chain EXPORT_SYMBOL vmlinux 0x9625695d acpi_install_gpe_block EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add EXPORT_SYMBOL vmlinux 0x9631ed4e devfreq_update_status EXPORT_SYMBOL vmlinux 0x96381336 request_key_with_auxdata -EXPORT_SYMBOL vmlinux 0x963da369 xp_can_alloc +EXPORT_SYMBOL vmlinux 0x963d770b dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x96655e20 fqdir_exit EXPORT_SYMBOL vmlinux 0x967b17d2 bio_add_pc_page EXPORT_SYMBOL vmlinux 0x96848186 scnprintf -EXPORT_SYMBOL vmlinux 0x9684c589 netdev_name_node_alt_destroy EXPORT_SYMBOL vmlinux 0x969e3eb4 elv_rb_del -EXPORT_SYMBOL vmlinux 0x969f2c12 inet_get_local_port_range -EXPORT_SYMBOL vmlinux 0x96a02d11 sock_no_sendpage_locked EXPORT_SYMBOL vmlinux 0x96a169b0 blk_rq_map_kern -EXPORT_SYMBOL vmlinux 0x96b1c1ba security_socket_getpeersec_dgram EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96bcb3f3 xfrm_input EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode -EXPORT_SYMBOL vmlinux 0x96c60ca5 security_sb_set_mnt_opts -EXPORT_SYMBOL vmlinux 0x96c7c907 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x96c801a7 xfrm_trans_queue EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string EXPORT_SYMBOL vmlinux 0x96d596cb fb_set_cmap EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo EXPORT_SYMBOL vmlinux 0x96eab78b iosf_mbi_modify EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x96fb2948 __tcp_md5_do_lookup EXPORT_SYMBOL vmlinux 0x970c00fc vga_set_legacy_decoding -EXPORT_SYMBOL vmlinux 0x972503ab security_inet_conn_request EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier -EXPORT_SYMBOL vmlinux 0x974674a8 netdev_refcnt_read EXPORT_SYMBOL vmlinux 0x9746eb89 ZSTD_decompressBegin_usingDict +EXPORT_SYMBOL vmlinux 0x974a1247 __nlmsg_put EXPORT_SYMBOL vmlinux 0x97546e49 pm860x_page_bulk_read EXPORT_SYMBOL vmlinux 0x975712e0 devfreq_update_target EXPORT_SYMBOL vmlinux 0x976047c0 blkdev_compat_ptr_ioctl @@ -9500,28 +9437,24 @@ EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update EXPORT_SYMBOL vmlinux 0x97a841aa textsearch_unregister +EXPORT_SYMBOL vmlinux 0x97ac3203 ethtool_notify EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s -EXPORT_SYMBOL vmlinux 0x97b57dcf tcf_classify EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list -EXPORT_SYMBOL vmlinux 0x97c5978e eth_header_parse -EXPORT_SYMBOL vmlinux 0x97d7b3bd peernet2id -EXPORT_SYMBOL vmlinux 0x97dcbbf1 default_qdisc_ops -EXPORT_SYMBOL vmlinux 0x97ded08c __skb_wait_for_more_packets EXPORT_SYMBOL vmlinux 0x97e2789a commit_creds EXPORT_SYMBOL vmlinux 0x97e69849 __traceiter_module_get EXPORT_SYMBOL vmlinux 0x97fe0be3 tty_port_free_xmit_buf EXPORT_SYMBOL vmlinux 0x9805bcca blk_pre_runtime_resume -EXPORT_SYMBOL vmlinux 0x980a993b register_netdev EXPORT_SYMBOL vmlinux 0x981959bd cdrom_get_media_event EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r EXPORT_SYMBOL vmlinux 0x985371e8 fb_find_mode +EXPORT_SYMBOL vmlinux 0x9861387d tcf_idrinfo_destroy EXPORT_SYMBOL vmlinux 0x98687ef3 flow_rule_match_enc_opts -EXPORT_SYMBOL vmlinux 0x98800a7d eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x987a7406 tcp_sock_set_keepidle EXPORT_SYMBOL vmlinux 0x988baef8 __bread_gfp -EXPORT_SYMBOL vmlinux 0x9892a334 brioctl_set EXPORT_SYMBOL vmlinux 0x989fa09a scsi_is_sdev_device EXPORT_SYMBOL vmlinux 0x98a3cd38 migrate_page EXPORT_SYMBOL vmlinux 0x98b8985e set_bh_page +EXPORT_SYMBOL vmlinux 0x98bcdc4d udp_prot EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc EXPORT_SYMBOL vmlinux 0x98d25ba2 pci_msi_vec_count @@ -9540,7 +9473,6 @@ EXPORT_SYMBOL vmlinux 0x996b89e3 i2c_smbus_write_i2c_block_data EXPORT_SYMBOL vmlinux 0x9971fa96 register_console EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle -EXPORT_SYMBOL vmlinux 0x9983cfe5 tcp_mtup_init EXPORT_SYMBOL vmlinux 0x9984716b scsicam_bios_param EXPORT_SYMBOL vmlinux 0x998fb77e __dquot_alloc_space EXPORT_SYMBOL vmlinux 0x9998c542 mmc_gpiod_request_cd_irq @@ -9552,35 +9484,35 @@ EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node EXPORT_SYMBOL vmlinux 0x99e0269a to_nd_pfn +EXPORT_SYMBOL vmlinux 0x99e28c79 netdev_info EXPORT_SYMBOL vmlinux 0x99e2d178 cdrom_get_last_written EXPORT_SYMBOL vmlinux 0x99e43ef0 mipi_dsi_dcs_write EXPORT_SYMBOL vmlinux 0x99ede207 sdev_disable_disk_events EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map -EXPORT_SYMBOL vmlinux 0x99f27f16 fib6_info_hw_flags_set EXPORT_SYMBOL vmlinux 0x99f7371c refcount_dec_and_mutex_lock EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align -EXPORT_SYMBOL vmlinux 0x99fa44b4 netpoll_send_udp -EXPORT_SYMBOL vmlinux 0x9a07d63c unix_detach_fds EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a2d691d netdev_reset_tc EXPORT_SYMBOL vmlinux 0x9a2eeee0 twl6040_get_pll EXPORT_SYMBOL vmlinux 0x9a49994d begin_new_exec EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a6bfd24 netdev_lower_get_next_private_rcu EXPORT_SYMBOL vmlinux 0x9a6d511d ps2_handle_response -EXPORT_SYMBOL vmlinux 0x9a714b8e inet6_register_protosw EXPORT_SYMBOL vmlinux 0x9a73b032 ZSTD_initDStream_usingDDict EXPORT_SYMBOL vmlinux 0x9a75a385 __tracepoint_mmap_lock_acquire_returned EXPORT_SYMBOL vmlinux 0x9a85d740 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x9a950a42 xfrm_policy_destroy EXPORT_SYMBOL vmlinux 0x9aa0d4a1 sync_dirty_buffer EXPORT_SYMBOL vmlinux 0x9aab48a9 add_to_pipe EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns -EXPORT_SYMBOL vmlinux 0x9acbe0a8 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x9acb2ee3 skb_eth_pop EXPORT_SYMBOL vmlinux 0x9ad7a582 iosf_mbi_assert_punit_acquired EXPORT_SYMBOL vmlinux 0x9adc7b4b blk_mq_run_hw_queue EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9b03f98d phy_ethtool_ksettings_get EXPORT_SYMBOL vmlinux 0x9b0bd170 pci_get_class -EXPORT_SYMBOL vmlinux 0x9b1a602d tcf_unregister_action EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe EXPORT_SYMBOL vmlinux 0x9b2ec52f backlight_device_register EXPORT_SYMBOL vmlinux 0x9b3254f5 bio_integrity_prep @@ -9588,70 +9520,73 @@ EXPORT_SYMBOL vmlinux 0x9b420478 utf8_strncasecmp EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc EXPORT_SYMBOL vmlinux 0x9b519a22 devm_devfreq_add_device -EXPORT_SYMBOL vmlinux 0x9b6acf76 udp_ioctl +EXPORT_SYMBOL vmlinux 0x9b618ce2 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x9b6c2787 unix_destruct_scm EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table EXPORT_SYMBOL vmlinux 0x9b74865f blk_mq_stop_hw_queue -EXPORT_SYMBOL vmlinux 0x9b9304bb kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x9b8fa980 inet_sk_set_state EXPORT_SYMBOL vmlinux 0x9b9eb858 unload_nls -EXPORT_SYMBOL vmlinux 0x9b9f55c1 security_tun_dev_attach EXPORT_SYMBOL vmlinux 0x9ba9eda7 pnp_device_detach EXPORT_SYMBOL vmlinux 0x9bb4e317 ioread32be +EXPORT_SYMBOL vmlinux 0x9bbbf40e xfrm_register_km EXPORT_SYMBOL vmlinux 0x9bcffbc0 unpin_user_page_range_dirty_lock EXPORT_SYMBOL vmlinux 0x9bd79a2c pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x9bdf0bbc inet_pton_with_scope EXPORT_SYMBOL vmlinux 0x9be87b1d d_obtain_alias EXPORT_SYMBOL vmlinux 0x9bf8afd7 mmc_can_secure_erase_trim EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node EXPORT_SYMBOL vmlinux 0x9c458a6a acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x9c518b55 netif_set_real_num_tx_queues EXPORT_SYMBOL vmlinux 0x9c58d871 mmc_start_request EXPORT_SYMBOL vmlinux 0x9c65b78a csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x9c7368c6 tcp_splice_read EXPORT_SYMBOL vmlinux 0x9c7489fd mark_info_dirty -EXPORT_SYMBOL vmlinux 0x9c7c0eae tcp_conn_request EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags EXPORT_SYMBOL vmlinux 0x9c8e5dd9 rproc_elf_load_rsc_table -EXPORT_SYMBOL vmlinux 0x9c8e7d74 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x9c97590f ppp_register_channel EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name EXPORT_SYMBOL vmlinux 0x9cb986f2 vmalloc_base EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl -EXPORT_SYMBOL vmlinux 0x9cdb2812 security_inet_conn_established EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net EXPORT_SYMBOL vmlinux 0x9ced41ad __SCT__tp_func_read_msr EXPORT_SYMBOL vmlinux 0x9ceeea6c make_kprojid EXPORT_SYMBOL vmlinux 0x9d099a39 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x9d0ab99c skb_dequeue_tail EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d30ea13 ipv6_dev_get_saddr EXPORT_SYMBOL vmlinux 0x9d4269ff jbd2_journal_start_commit EXPORT_SYMBOL vmlinux 0x9d432cbc d_find_any_alias EXPORT_SYMBOL vmlinux 0x9d5f547a mfd_remove_devices_late EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d631f8a put_cmsg EXPORT_SYMBOL vmlinux 0x9d6b2769 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x9d6d2c0f xfrm_unregister_type_offload EXPORT_SYMBOL vmlinux 0x9d70541a native_save_fl EXPORT_SYMBOL vmlinux 0x9d7e2569 block_write_full_page EXPORT_SYMBOL vmlinux 0x9d834422 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x9d87c9a4 netdev_set_tc_queue EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock EXPORT_SYMBOL vmlinux 0x9d97ab2c audit_log_object_context -EXPORT_SYMBOL vmlinux 0x9db462bc tcf_qevent_destroy EXPORT_SYMBOL vmlinux 0x9dbca380 scsi_register_driver EXPORT_SYMBOL vmlinux 0x9dc2a004 genphy_suspend -EXPORT_SYMBOL vmlinux 0x9dc99a79 security_sb_mnt_opts_compat -EXPORT_SYMBOL vmlinux 0x9dcb3b6d skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x9dd3b32c put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x9dda9db9 qdisc_class_hash_grow EXPORT_SYMBOL vmlinux 0x9de4b222 input_handler_for_each_handle -EXPORT_SYMBOL vmlinux 0x9de5cb09 netdev_change_features +EXPORT_SYMBOL vmlinux 0x9e02c46d unix_get_socket EXPORT_SYMBOL vmlinux 0x9e0b67c1 seq_put_decimal_ull EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler EXPORT_SYMBOL vmlinux 0x9e2a9924 pci_bus_assign_resources -EXPORT_SYMBOL vmlinux 0x9e375556 lock_page_memcg EXPORT_SYMBOL vmlinux 0x9e387bd9 mdio_device_remove EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy -EXPORT_SYMBOL vmlinux 0x9e50ed2a phy_do_ioctl_running EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read EXPORT_SYMBOL vmlinux 0x9e683f75 __cpu_possible_mask -EXPORT_SYMBOL vmlinux 0x9e75cf61 __napi_schedule_irqoff EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap @@ -9662,37 +9597,43 @@ EXPORT_SYMBOL vmlinux 0x9ee35485 pin_user_pages_locked EXPORT_SYMBOL vmlinux 0x9eef790e get_tree_single_reconf EXPORT_SYMBOL vmlinux 0x9ef0eee7 __SCT__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x9efc8ca3 nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x9efe5816 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x9f04b697 ip_frag_next EXPORT_SYMBOL vmlinux 0x9f05e84e vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0x9f126227 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x9f2017ec skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x9f30cfe4 neigh_for_each EXPORT_SYMBOL vmlinux 0x9f42680c get_user_pages_locked +EXPORT_SYMBOL vmlinux 0x9f433a94 xfrm_policy_insert EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy -EXPORT_SYMBOL vmlinux 0x9f673a4d neigh_seq_start -EXPORT_SYMBOL vmlinux 0x9f75d268 __sk_mem_raise_allocated -EXPORT_SYMBOL vmlinux 0x9f7c56f6 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x9f6e7011 skb_checksum_trimmed EXPORT_SYMBOL vmlinux 0x9f984513 strrchr -EXPORT_SYMBOL vmlinux 0x9f9e7389 sock_from_file +EXPORT_SYMBOL vmlinux 0x9fa51b1b __skb_gro_checksum_complete EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync -EXPORT_SYMBOL vmlinux 0x9fcddfac tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x9fae6bae inet_frag_reasm_finish EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce -EXPORT_SYMBOL vmlinux 0x9ff4693f inet_rcv_saddr_equal EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa00dd414 sk_capable EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 EXPORT_SYMBOL vmlinux 0xa022c739 call_usermodehelper_setup -EXPORT_SYMBOL vmlinux 0xa02307f6 ipv6_mc_check_mld EXPORT_SYMBOL vmlinux 0xa025ec62 pci_wake_from_d3 EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock EXPORT_SYMBOL vmlinux 0xa032cdde rproc_add_subdev EXPORT_SYMBOL vmlinux 0xa033d747 next_arg EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa04927b2 reuseport_detach_prog EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass EXPORT_SYMBOL vmlinux 0xa059f423 _dev_emerg EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute EXPORT_SYMBOL vmlinux 0xa0665b67 kmem_cache_alloc_node_trace EXPORT_SYMBOL vmlinux 0xa06875fb __acpi_mdiobus_register +EXPORT_SYMBOL vmlinux 0xa07347f4 nf_ip_checksum EXPORT_SYMBOL vmlinux 0xa07399db param_get_ulong EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup @@ -9703,57 +9644,50 @@ EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 EXPORT_SYMBOL vmlinux 0xa0ba5b59 fscrypt_setup_filename -EXPORT_SYMBOL vmlinux 0xa0c0e937 sk_alloc EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa1010fb0 km_query EXPORT_SYMBOL vmlinux 0xa104adb4 iov_iter_xarray EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max EXPORT_SYMBOL vmlinux 0xa10a9c51 clear_page_dirty_for_io EXPORT_SYMBOL vmlinux 0xa1282839 pci_disable_msix EXPORT_SYMBOL vmlinux 0xa13e780a gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xa17e90d4 dst_destroy EXPORT_SYMBOL vmlinux 0xa18145c3 get_tree_single -EXPORT_SYMBOL vmlinux 0xa195d86c alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0xa18c6eb3 ip6_dst_check EXPORT_SYMBOL vmlinux 0xa19cd332 pci_pme_capable -EXPORT_SYMBOL vmlinux 0xa1b1eabe tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xa1b00b1b inet_csk_clear_xmit_timers EXPORT_SYMBOL vmlinux 0xa1bedd72 amd_iommu_pc_get_max_counters EXPORT_SYMBOL vmlinux 0xa1c63a3f nd_pfn_validate EXPORT_SYMBOL vmlinux 0xa1c97f76 jbd2_journal_start_reserved EXPORT_SYMBOL vmlinux 0xa1d38118 vme_lm_request EXPORT_SYMBOL vmlinux 0xa1eba228 put_devmap_managed_page EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp -EXPORT_SYMBOL vmlinux 0xa2299c39 inet_put_port EXPORT_SYMBOL vmlinux 0xa22a96f7 current_task EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module EXPORT_SYMBOL vmlinux 0xa25b90ab utf8byte EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer -EXPORT_SYMBOL vmlinux 0xa2645de9 tcp_disconnect EXPORT_SYMBOL vmlinux 0xa2655940 pcix_get_max_mmrbc EXPORT_SYMBOL vmlinux 0xa26b0264 pci_biosrom_size -EXPORT_SYMBOL vmlinux 0xa278ce5e ip_fraglist_init EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active EXPORT_SYMBOL vmlinux 0xa29414aa iget_failed -EXPORT_SYMBOL vmlinux 0xa2967ed1 tcp_parse_options EXPORT_SYMBOL vmlinux 0xa2bb5278 blk_mq_queue_stopped EXPORT_SYMBOL vmlinux 0xa2c2102e tty_wait_until_sent EXPORT_SYMBOL vmlinux 0xa2c7969c dev_mc_add_excl -EXPORT_SYMBOL vmlinux 0xa2d8eb0e ip_sock_set_recverr -EXPORT_SYMBOL vmlinux 0xa31fb901 sock_wake_async +EXPORT_SYMBOL vmlinux 0xa2e57e21 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xa30348e1 km_state_notify EXPORT_SYMBOL vmlinux 0xa32ac869 iov_iter_discard EXPORT_SYMBOL vmlinux 0xa3345efb configfs_register_group EXPORT_SYMBOL vmlinux 0xa341a9c2 mdiobus_setup_mdiodev_from_board_info -EXPORT_SYMBOL vmlinux 0xa35719e2 __dst_destroy_metrics_generic -EXPORT_SYMBOL vmlinux 0xa3685773 __task_pid_nr_ns EXPORT_SYMBOL vmlinux 0xa37d50d8 bdi_alloc -EXPORT_SYMBOL vmlinux 0xa37f35b2 netlink_ack EXPORT_SYMBOL vmlinux 0xa384d723 flow_rule_match_enc_ipv6_addrs EXPORT_SYMBOL vmlinux 0xa38f21b9 amd_iommu_update_ga -EXPORT_SYMBOL vmlinux 0xa398b7a2 xfrm4_protocol_deregister EXPORT_SYMBOL vmlinux 0xa3b6c0d8 kobject_del EXPORT_SYMBOL vmlinux 0xa3b71840 tty_write_room EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch @@ -9768,96 +9702,104 @@ EXPORT_SYMBOL vmlinux 0xa4035c75 uart_suspend_port EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer EXPORT_SYMBOL vmlinux 0xa4191c0b memset_io -EXPORT_SYMBOL vmlinux 0xa465f423 netif_rx -EXPORT_SYMBOL vmlinux 0xa4688869 neigh_for_each +EXPORT_SYMBOL vmlinux 0xa446fc48 ip_route_input_noref EXPORT_SYMBOL vmlinux 0xa47a31c8 security_binder_transaction EXPORT_SYMBOL vmlinux 0xa4818e0a blk_mq_end_request EXPORT_SYMBOL vmlinux 0xa4844c41 kern_path -EXPORT_SYMBOL vmlinux 0xa4872720 xfrm_stateonly_find -EXPORT_SYMBOL vmlinux 0xa4a673dc eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0xa485c87a ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xa495e810 sk_free +EXPORT_SYMBOL vmlinux 0xa49ea92d tcp_connect EXPORT_SYMBOL vmlinux 0xa4ab1a27 write_cache_pages +EXPORT_SYMBOL vmlinux 0xa4b70a4e security_inode_init_security EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep EXPORT_SYMBOL vmlinux 0xa4c6afdf kset_unregister EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush EXPORT_SYMBOL vmlinux 0xa4f66d2f vfs_getattr EXPORT_SYMBOL vmlinux 0xa4faf62a acpi_disable_gpe -EXPORT_SYMBOL vmlinux 0xa4ffbc36 xfrm_state_delete_tunnel EXPORT_SYMBOL vmlinux 0xa507125e acpi_clear_gpe EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit EXPORT_SYMBOL vmlinux 0xa50bcff0 x86_cpu_to_apicid EXPORT_SYMBOL vmlinux 0xa515e5f3 pci_bus_read_dev_vendor_id EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply EXPORT_SYMBOL vmlinux 0xa5457562 seq_lseek +EXPORT_SYMBOL vmlinux 0xa54fef75 dev_change_carrier EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color EXPORT_SYMBOL vmlinux 0xa558d2d7 filemap_write_and_wait_range EXPORT_SYMBOL vmlinux 0xa55a86ef user_path_at_empty EXPORT_SYMBOL vmlinux 0xa56574e5 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xa576dfbd arp_send EXPORT_SYMBOL vmlinux 0xa57d43ed file_open_root EXPORT_SYMBOL vmlinux 0xa582f513 pagecache_get_page +EXPORT_SYMBOL vmlinux 0xa58318ae tcp_v4_do_rcv EXPORT_SYMBOL vmlinux 0xa5844aba param_get_int EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock -EXPORT_SYMBOL vmlinux 0xa59e5ef7 netdev_notice EXPORT_SYMBOL vmlinux 0xa5ac3e33 ZSTD_DCtxWorkspaceBound +EXPORT_SYMBOL vmlinux 0xa5ae45ab sk_mc_loop +EXPORT_SYMBOL vmlinux 0xa5b83e29 sock_no_accept +EXPORT_SYMBOL vmlinux 0xa5c0d52a xfrm_policy_byid EXPORT_SYMBOL vmlinux 0xa5c41cfc flow_rule_match_cvlan -EXPORT_SYMBOL vmlinux 0xa5d0e00b phy_stop EXPORT_SYMBOL vmlinux 0xa5d25c36 pci_get_device EXPORT_SYMBOL vmlinux 0xa5e16279 vmf_insert_mixed EXPORT_SYMBOL vmlinux 0xa5e55057 rdmsrl_safe_on_cpu -EXPORT_SYMBOL vmlinux 0xa5fb0325 netlink_broadcast EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab EXPORT_SYMBOL vmlinux 0xa6203224 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xa623fd0b inet_del_offload EXPORT_SYMBOL vmlinux 0xa625559a __blkdev_issue_discard EXPORT_SYMBOL vmlinux 0xa6257a2f complete EXPORT_SYMBOL vmlinux 0xa636a624 cdrom_number_of_slots EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds EXPORT_SYMBOL vmlinux 0xa65a29a4 devm_request_threaded_irq EXPORT_SYMBOL vmlinux 0xa6634a9e dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xa67b4c7b udp_pre_connect EXPORT_SYMBOL vmlinux 0xa67dddc5 ps2_sendbyte EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid -EXPORT_SYMBOL vmlinux 0xa697a4ca tso_count_descs +EXPORT_SYMBOL vmlinux 0xa694c029 tc_cleanup_flow_action +EXPORT_SYMBOL vmlinux 0xa697ffeb release_sock EXPORT_SYMBOL vmlinux 0xa69d5933 scsi_dma_map EXPORT_SYMBOL vmlinux 0xa6a2a0c4 iommu_get_dma_cookie EXPORT_SYMBOL vmlinux 0xa6a7239e devfreq_remove_governor -EXPORT_SYMBOL vmlinux 0xa6b6676a dcb_ieee_getapp_prio_dscp_mask_map -EXPORT_SYMBOL vmlinux 0xa6c48a9d tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0xa6b35316 tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0xa6e829d1 netdev_notify_peers EXPORT_SYMBOL vmlinux 0xa7095255 phy_suspend EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi EXPORT_SYMBOL vmlinux 0xa70fb761 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0xa71a7656 dev_set_allmulti EXPORT_SYMBOL vmlinux 0xa71d2e2c ioread16be EXPORT_SYMBOL vmlinux 0xa72035f9 xa_get_order +EXPORT_SYMBOL vmlinux 0xa7213c30 dev_pre_changeaddr_notify EXPORT_SYMBOL vmlinux 0xa72cfb7d ioremap_wt EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock EXPORT_SYMBOL vmlinux 0xa751b1a4 dma_alloc_attrs EXPORT_SYMBOL vmlinux 0xa755ef55 scsi_device_quiesce -EXPORT_SYMBOL vmlinux 0xa75b8e75 neigh_seq_stop -EXPORT_SYMBOL vmlinux 0xa75c1b1e ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0xa76016e7 napi_schedule_prep EXPORT_SYMBOL vmlinux 0xa7654ec0 __frontswap_load EXPORT_SYMBOL vmlinux 0xa77a5a79 twl6040_reg_read EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa78a7f65 xfrm_stateonly_find EXPORT_SYMBOL vmlinux 0xa78af5f3 ioread32 EXPORT_SYMBOL vmlinux 0xa796679d __SCT__tp_func_dma_fence_emit -EXPORT_SYMBOL vmlinux 0xa7be85aa ip_queue_xmit -EXPORT_SYMBOL vmlinux 0xa7bfae19 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xa7b6dfa4 pskb_expand_head EXPORT_SYMBOL vmlinux 0xa7c99478 fscrypt_decrypt_bio -EXPORT_SYMBOL vmlinux 0xa7cab4c0 skb_store_bits EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy -EXPORT_SYMBOL vmlinux 0xa7daddd0 build_skb +EXPORT_SYMBOL vmlinux 0xa7da2a22 tcp_v4_connect EXPORT_SYMBOL vmlinux 0xa7dd2c71 get_acl EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa803d0bc secpath_set EXPORT_SYMBOL vmlinux 0xa805ecfc acpi_release_global_lock EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec EXPORT_SYMBOL vmlinux 0xa81d3524 remove_proc_entry -EXPORT_SYMBOL vmlinux 0xa81d95b8 register_qdisc EXPORT_SYMBOL vmlinux 0xa836ba02 wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xa836de67 phy_request_interrupt EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags -EXPORT_SYMBOL vmlinux 0xa847fd98 ip4_datagram_connect EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox EXPORT_SYMBOL vmlinux 0xa85300fe kobject_get_unless_zero EXPORT_SYMBOL vmlinux 0xa853396b xa_extract EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load EXPORT_SYMBOL vmlinux 0xa85d40ba pci_stop_and_remove_bus_device EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa87d37e8 security_sctp_assoc_request EXPORT_SYMBOL vmlinux 0xa88cff32 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xa8964511 dcb_ieee_delapp EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free EXPORT_SYMBOL vmlinux 0xa89a19ab acpi_device_hid EXPORT_SYMBOL vmlinux 0xa89a1cf1 ipmi_dmi_get_slave_addr @@ -9882,27 +9824,27 @@ EXPORT_SYMBOL vmlinux 0xa97591ae loop_register_transfer EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap EXPORT_SYMBOL vmlinux 0xa9785b49 cpu_core_map -EXPORT_SYMBOL vmlinux 0xa98270df dcb_ieee_delapp EXPORT_SYMBOL vmlinux 0xa99b39c2 prandom_bytes -EXPORT_SYMBOL vmlinux 0xa9a751d6 inet_csk_complete_hashdance EXPORT_SYMBOL vmlinux 0xa9a77324 mipi_dsi_dcs_write_buffer EXPORT_SYMBOL vmlinux 0xa9c72303 amd_iommu_pc_get_max_banks -EXPORT_SYMBOL vmlinux 0xa9d077cc phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0xa9ce3c45 phy_ethtool_set_wol EXPORT_SYMBOL vmlinux 0xa9f4964a __mark_inode_dirty EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction EXPORT_SYMBOL vmlinux 0xaa0862e6 _dev_err +EXPORT_SYMBOL vmlinux 0xaa0b1d33 km_policy_notify EXPORT_SYMBOL vmlinux 0xaa0c318b vscnprintf EXPORT_SYMBOL vmlinux 0xaa1752fe pci_free_host_bridge EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol EXPORT_SYMBOL vmlinux 0xaa248552 bio_clone_fast EXPORT_SYMBOL vmlinux 0xaa2fcee9 rtc_add_group -EXPORT_SYMBOL vmlinux 0xaa322165 skb_queue_purge EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception EXPORT_SYMBOL vmlinux 0xaa44a707 cpumask_next +EXPORT_SYMBOL vmlinux 0xaa4bb0fb inet_addr_type_dev_table EXPORT_SYMBOL vmlinux 0xaa5345e1 pci_save_state EXPORT_SYMBOL vmlinux 0xaa5aa463 dm_kcopyd_copy EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name EXPORT_SYMBOL vmlinux 0xaa76c927 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xaa76d8bf inet_put_port EXPORT_SYMBOL vmlinux 0xaa791d78 inode_init_always EXPORT_SYMBOL vmlinux 0xaa7bd163 mark_page_accessed EXPORT_SYMBOL vmlinux 0xaa9ca28e agp_find_bridge @@ -9916,22 +9858,25 @@ EXPORT_SYMBOL vmlinux 0xaadb0c3a filemap_flush EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab07a10d xfrm_state_walk_done EXPORT_SYMBOL vmlinux 0xab2506a0 mmc_add_host EXPORT_SYMBOL vmlinux 0xab2b2d90 rproc_boot -EXPORT_SYMBOL vmlinux 0xab2c14eb tcf_idr_create +EXPORT_SYMBOL vmlinux 0xab31526f security_sb_set_mnt_opts EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init EXPORT_SYMBOL vmlinux 0xab382a61 fwnode_get_phy_id EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute EXPORT_SYMBOL vmlinux 0xab4e7aa4 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xab5b1973 seg6_hmac_info_add EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init -EXPORT_SYMBOL vmlinux 0xab69e2de __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0xab6a0e49 xfrm_lookup_route EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin -EXPORT_SYMBOL vmlinux 0xab6fb4c2 security_task_getsecid_subj EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options -EXPORT_SYMBOL vmlinux 0xaba902eb qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xab7f7a06 sock_wake_async +EXPORT_SYMBOL vmlinux 0xabcd85a6 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xabe0f03f udp_lib_unhash EXPORT_SYMBOL vmlinux 0xabeb9438 skb_flow_dissector_init EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s EXPORT_SYMBOL vmlinux 0xabf4cd22 page_pool_create @@ -9941,43 +9886,40 @@ EXPORT_SYMBOL vmlinux 0xac0d2850 blk_queue_max_write_same_sectors EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier EXPORT_SYMBOL vmlinux 0xac1c26b1 start_tty +EXPORT_SYMBOL vmlinux 0xac2195a4 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xac23548d sk_filter_trim_cap EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd EXPORT_SYMBOL vmlinux 0xac34ea22 rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0xac4aebb5 inet_csk_complete_hashdance EXPORT_SYMBOL vmlinux 0xac5236dd __SCK__tp_func_spi_transfer_start EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton -EXPORT_SYMBOL vmlinux 0xac5fdb25 netdev_has_any_upper_dev EXPORT_SYMBOL vmlinux 0xac717bdb clk_get -EXPORT_SYMBOL vmlinux 0xac80ac7a nf_log_set -EXPORT_SYMBOL vmlinux 0xaca04282 tcf_action_exec EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu EXPORT_SYMBOL vmlinux 0xacab97b6 simple_empty EXPORT_SYMBOL vmlinux 0xacd6c87b param_get_ullong EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache -EXPORT_SYMBOL vmlinux 0xacdacf81 nf_register_net_hooks EXPORT_SYMBOL vmlinux 0xacddd806 ptp_get_vclocks_index EXPORT_SYMBOL vmlinux 0xacdea0ac pnp_is_active -EXPORT_SYMBOL vmlinux 0xace56b44 xfrm_policy_alloc EXPORT_SYMBOL vmlinux 0xacea8173 acpi_debug_print EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info -EXPORT_SYMBOL vmlinux 0xacf7c15f udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0xacfdacf3 udp_gro_receive EXPORT_SYMBOL vmlinux 0xad0196bd kthread_destroy_worker EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad048d7a inet_csk_reset_keepalive_timer EXPORT_SYMBOL vmlinux 0xad0896bc refresh_frequency_limits EXPORT_SYMBOL vmlinux 0xad0b276a pnp_start_dev EXPORT_SYMBOL vmlinux 0xad0ec080 pci_dev_put EXPORT_SYMBOL vmlinux 0xad1036a2 amd_iommu_activate_guest_mode EXPORT_SYMBOL vmlinux 0xad1a1596 phy_reset_after_clk_enable -EXPORT_SYMBOL vmlinux 0xad1d43e6 eth_gro_receive EXPORT_SYMBOL vmlinux 0xad2a654f vfs_iter_write EXPORT_SYMBOL vmlinux 0xad357133 __traceiter_kmalloc_node -EXPORT_SYMBOL vmlinux 0xad4b1955 dev_trans_start -EXPORT_SYMBOL vmlinux 0xad4cfb58 __xfrm_route_forward EXPORT_SYMBOL vmlinux 0xad4f2193 pci_scan_bridge EXPORT_SYMBOL vmlinux 0xad536c91 x86_cpu_to_acpiid EXPORT_SYMBOL vmlinux 0xad5698ce mmc_detect_change +EXPORT_SYMBOL vmlinux 0xad5df9dc iterate_fd EXPORT_SYMBOL vmlinux 0xad5f06f5 agp_bind_memory EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function @@ -9986,7 +9928,6 @@ EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final EXPORT_SYMBOL vmlinux 0xadb1396c from_kprojid_munged -EXPORT_SYMBOL vmlinux 0xadb233df xfrm_policy_register_afinfo EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long EXPORT_SYMBOL vmlinux 0xadc044b7 vfio_set_irqs_validate_and_prepare EXPORT_SYMBOL vmlinux 0xadcba50b ZSTD_findFrameCompressedSize @@ -9996,73 +9937,73 @@ EXPORT_SYMBOL vmlinux 0xade0841d pci_enable_msix_range EXPORT_SYMBOL vmlinux 0xade360ee generic_remap_file_range_prep EXPORT_SYMBOL vmlinux 0xade4ff66 flow_indr_dev_unregister -EXPORT_SYMBOL vmlinux 0xade97d7c netdev_master_upper_dev_get -EXPORT_SYMBOL vmlinux 0xadee31dd security_task_getsecid_obj EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot -EXPORT_SYMBOL vmlinux 0xae025168 sk_stream_error EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc EXPORT_SYMBOL vmlinux 0xae0ccafd end_buffer_read_sync -EXPORT_SYMBOL vmlinux 0xae21bc62 __skb_ext_del EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert EXPORT_SYMBOL vmlinux 0xae36c97f clk_bulk_get_all EXPORT_SYMBOL vmlinux 0xae494ea2 blk_get_queue EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae5b0ca6 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xae8ab18a qdisc_watchdog_cancel EXPORT_SYMBOL vmlinux 0xae9a0211 kern_unmount +EXPORT_SYMBOL vmlinux 0xae9b4493 free_netdev EXPORT_SYMBOL vmlinux 0xae9fe27c blk_post_runtime_resume EXPORT_SYMBOL vmlinux 0xaea472f7 genphy_config_eee_advert EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid EXPORT_SYMBOL vmlinux 0xaeb082ad _raw_read_unlock_bh EXPORT_SYMBOL vmlinux 0xaeb913c9 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xaeba6b0e netdev_set_num_tc EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name -EXPORT_SYMBOL vmlinux 0xaed9eefe kfree_skb_partial EXPORT_SYMBOL vmlinux 0xaef1271d mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xaf00334d tso_start EXPORT_SYMBOL vmlinux 0xaf0d4cea __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xaf174b1c tcp_v4_md5_hash_skb EXPORT_SYMBOL vmlinux 0xaf183cad fixed_size_llseek EXPORT_SYMBOL vmlinux 0xaf19a588 jbd2_journal_blocks_per_page EXPORT_SYMBOL vmlinux 0xaf28ff0d generic_listxattr -EXPORT_SYMBOL vmlinux 0xaf2cb495 skb_recv_datagram EXPORT_SYMBOL vmlinux 0xaf354bbe cpu_tss_rw EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level -EXPORT_SYMBOL vmlinux 0xaf533124 eth_mac_addr -EXPORT_SYMBOL vmlinux 0xaf6b4922 qdisc_watchdog_init EXPORT_SYMBOL vmlinux 0xaf6c36b4 generic_file_llseek EXPORT_SYMBOL vmlinux 0xaf876c97 jbd2_journal_set_features EXPORT_SYMBOL vmlinux 0xafa0d05f key_task_permission EXPORT_SYMBOL vmlinux 0xafa32685 acpi_register_debugger -EXPORT_SYMBOL vmlinux 0xafa64bb1 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0xafa56999 gro_find_complete_by_type EXPORT_SYMBOL vmlinux 0xafad531e tty_port_alloc_xmit_buf EXPORT_SYMBOL vmlinux 0xafb864c1 refcount_dec_and_lock_irqsave EXPORT_SYMBOL vmlinux 0xafc08054 dotdot_name +EXPORT_SYMBOL vmlinux 0xafc3196b km_policy_expired +EXPORT_SYMBOL vmlinux 0xafd25b93 xfrm_sad_getinfo EXPORT_SYMBOL vmlinux 0xafd3d63d genphy_read_lpa EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported EXPORT_SYMBOL vmlinux 0xafd744c6 __x86_indirect_thunk_rbp -EXPORT_SYMBOL vmlinux 0xaff778cb dev_set_alias -EXPORT_SYMBOL vmlinux 0xb002168d ip_mc_check_igmp EXPORT_SYMBOL vmlinux 0xb00978c9 param_ops_hexint +EXPORT_SYMBOL vmlinux 0xb012514d skb_try_coalesce EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq -EXPORT_SYMBOL vmlinux 0xb02bc4a2 udp_seq_ops +EXPORT_SYMBOL vmlinux 0xb024c0e4 dev_remove_offload EXPORT_SYMBOL vmlinux 0xb02df2d6 __traceiter_rdpmc EXPORT_SYMBOL vmlinux 0xb0498d90 tty_port_block_til_ready EXPORT_SYMBOL vmlinux 0xb04a43ad __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xb058ca07 dim_calc_stats EXPORT_SYMBOL vmlinux 0xb05ab3da regset_get +EXPORT_SYMBOL vmlinux 0xb05d7159 mr_dump EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0650858 ip6_fraglist_init EXPORT_SYMBOL vmlinux 0xb0709799 __tracepoint_spi_transfer_start -EXPORT_SYMBOL vmlinux 0xb0770973 inet_csk_accept EXPORT_SYMBOL vmlinux 0xb095bdf8 prepare_to_swait_event -EXPORT_SYMBOL vmlinux 0xb09c9fe4 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xb098f263 phy_ethtool_get_eee EXPORT_SYMBOL vmlinux 0xb09fe694 submit_bio EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation EXPORT_SYMBOL vmlinux 0xb0ad64ff md_write_end EXPORT_SYMBOL vmlinux 0xb0b96b0a simple_setattr EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return -EXPORT_SYMBOL vmlinux 0xb0cee168 ppp_input EXPORT_SYMBOL vmlinux 0xb0e10781 get_option EXPORT_SYMBOL vmlinux 0xb0e1cd01 agp_generic_destroy_page EXPORT_SYMBOL vmlinux 0xb0e602eb memmove EXPORT_SYMBOL vmlinux 0xb0e70ffa get_user_pages_remote EXPORT_SYMBOL vmlinux 0xb0eb0167 pci_scan_single_device EXPORT_SYMBOL vmlinux 0xb0f389ee utf8_normalize -EXPORT_SYMBOL vmlinux 0xb0f83b39 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xb0fd1911 ping_prot EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare EXPORT_SYMBOL vmlinux 0xb119abb7 tty_hangup EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on @@ -10071,7 +10012,6 @@ EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 EXPORT_SYMBOL vmlinux 0xb169d281 flow_block_cb_decref -EXPORT_SYMBOL vmlinux 0xb1797b7e tcp_seq_start EXPORT_SYMBOL vmlinux 0xb17c8793 mdio_find_bus EXPORT_SYMBOL vmlinux 0xb1883ab4 sg_miter_start EXPORT_SYMBOL vmlinux 0xb1924457 mmc_of_parse_voltage @@ -10079,12 +10019,12 @@ EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress EXPORT_SYMBOL vmlinux 0xb1d3a15c blk_finish_plug EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e1e0b8 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xb1e6cf5e netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0xb1f224fd ipv6_push_frag_opts EXPORT_SYMBOL vmlinux 0xb1f6f7eb pci_disable_link_state_locked EXPORT_SYMBOL vmlinux 0xb1fe2ac8 phy_driver_register -EXPORT_SYMBOL vmlinux 0xb203f3b3 neigh_changeaddr -EXPORT_SYMBOL vmlinux 0xb213d127 tcf_exts_dump_stats EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu -EXPORT_SYMBOL vmlinux 0xb21b6fe3 inet_recvmsg EXPORT_SYMBOL vmlinux 0xb220af6d pcim_set_mwi EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload EXPORT_SYMBOL vmlinux 0xb23027c1 kstrtos16_from_user @@ -10093,15 +10033,20 @@ EXPORT_SYMBOL vmlinux 0xb24af53b pci_set_master EXPORT_SYMBOL vmlinux 0xb2601486 __SCT__tp_func_dma_fence_enable_signal EXPORT_SYMBOL vmlinux 0xb287e647 vfs_mknod -EXPORT_SYMBOL vmlinux 0xb292fc22 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0xb28a4162 __sk_receive_skb EXPORT_SYMBOL vmlinux 0xb29e3a30 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0xb29f79dc phy_init_eee +EXPORT_SYMBOL vmlinux 0xb2a0c425 phy_aneg_done EXPORT_SYMBOL vmlinux 0xb2a925f5 padata_alloc_shell EXPORT_SYMBOL vmlinux 0xb2bb875e input_inject_event EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2c5c05f inet6_unregister_protosw EXPORT_SYMBOL vmlinux 0xb2c96edc convert_art_ns_to_tsc EXPORT_SYMBOL vmlinux 0xb2d447e7 mdio_device_reset EXPORT_SYMBOL vmlinux 0xb2da8d7e blkdev_get_by_dev EXPORT_SYMBOL vmlinux 0xb2dfdf3c kset_register +EXPORT_SYMBOL vmlinux 0xb2e4b711 napi_gro_frags +EXPORT_SYMBOL vmlinux 0xb2e52180 tso_count_descs EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove EXPORT_SYMBOL vmlinux 0xb2fabf63 efi @@ -10113,26 +10058,27 @@ EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 EXPORT_SYMBOL vmlinux 0xb325ac16 __block_write_full_page EXPORT_SYMBOL vmlinux 0xb32a5973 acpi_ut_status_exit -EXPORT_SYMBOL vmlinux 0xb33e2d6c xsk_set_tx_need_wakeup -EXPORT_SYMBOL vmlinux 0xb3550a04 qdisc_put +EXPORT_SYMBOL vmlinux 0xb32ba048 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xb3385955 rtnl_create_link EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock EXPORT_SYMBOL vmlinux 0xb374ae9d inode_init_once EXPORT_SYMBOL vmlinux 0xb3863a67 acpi_set_gpe_wake_mask EXPORT_SYMBOL vmlinux 0xb38e468a genphy_read_abilities EXPORT_SYMBOL vmlinux 0xb3a2dfdf nmi_panic +EXPORT_SYMBOL vmlinux 0xb3b03abe genl_notify EXPORT_SYMBOL vmlinux 0xb3bd68cc security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0xb3be327a ip4_datagram_connect EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string EXPORT_SYMBOL vmlinux 0xb3d35b15 vfs_dedupe_file_range_one EXPORT_SYMBOL vmlinux 0xb3e886fe get_user_pages -EXPORT_SYMBOL vmlinux 0xb3f0f78b xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xb3f1263c __netif_schedule EXPORT_SYMBOL vmlinux 0xb3f49446 kstrtos8_from_user EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul EXPORT_SYMBOL vmlinux 0xb3f5e170 filp_close EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method -EXPORT_SYMBOL vmlinux 0xb422c40d xfrm_init_state +EXPORT_SYMBOL vmlinux 0xb410566d netif_device_attach EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked -EXPORT_SYMBOL vmlinux 0xb42f154f xsk_clear_rx_need_wakeup EXPORT_SYMBOL vmlinux 0xb4343171 d_alloc EXPORT_SYMBOL vmlinux 0xb43ecf47 filemap_check_errors EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present @@ -10143,21 +10089,22 @@ EXPORT_SYMBOL vmlinux 0xb489b114 filemap_fdatawait_range_keep_errors EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts EXPORT_SYMBOL vmlinux 0xb4a2edf6 gro_cells_receive +EXPORT_SYMBOL vmlinux 0xb4a56fe2 neigh_changeaddr EXPORT_SYMBOL vmlinux 0xb4a705ff __ps2_command -EXPORT_SYMBOL vmlinux 0xb4aa92e1 sock_enable_timestamps -EXPORT_SYMBOL vmlinux 0xb4acbc09 sock_set_rcvbuf EXPORT_SYMBOL vmlinux 0xb4d33079 locks_free_lock EXPORT_SYMBOL vmlinux 0xb4e4d6a9 proc_create -EXPORT_SYMBOL vmlinux 0xb4ebf92e nf_hook_slow_list EXPORT_SYMBOL vmlinux 0xb4f13d2a abort EXPORT_SYMBOL vmlinux 0xb50b3748 __SCK__tp_func_spi_transfer_stop EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated EXPORT_SYMBOL vmlinux 0xb54a3053 seq_bprintf -EXPORT_SYMBOL vmlinux 0xb55b7402 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xb55fbf20 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xb56b5f01 skb_copy EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb578ed29 fqdir_init EXPORT_SYMBOL vmlinux 0xb5897829 wait_on_page_private_2_killable EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5910325 skb_headers_offset_update EXPORT_SYMBOL vmlinux 0xb596e30b __nla_reserve_64bit EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy @@ -10166,55 +10113,60 @@ EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags EXPORT_SYMBOL vmlinux 0xb5dc5938 i2c_smbus_read_i2c_block_data_or_emulated EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work -EXPORT_SYMBOL vmlinux 0xb5eb7bf9 inet_sendpage -EXPORT_SYMBOL vmlinux 0xb60178a2 sock_alloc_file -EXPORT_SYMBOL vmlinux 0xb6136710 reuseport_add_sock EXPORT_SYMBOL vmlinux 0xb61d6fc2 down_read_interruptible EXPORT_SYMBOL vmlinux 0xb6244bed jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xb62a369a pneigh_lookup EXPORT_SYMBOL vmlinux 0xb62ddfe0 super_setup_bdi_name -EXPORT_SYMBOL vmlinux 0xb6306006 __tcp_md5_do_lookup EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable -EXPORT_SYMBOL vmlinux 0xb63e8bbf __dev_get_by_index -EXPORT_SYMBOL vmlinux 0xb64da4df sk_dst_check EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port EXPORT_SYMBOL vmlinux 0xb674a534 acpi_unmap_cpu -EXPORT_SYMBOL vmlinux 0xb6775cce tcp_setsockopt EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt EXPORT_SYMBOL vmlinux 0xb67c9280 utf8cursor EXPORT_SYMBOL vmlinux 0xb67d65ed jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xb67df116 phy_start_aneg EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse EXPORT_SYMBOL vmlinux 0xb680888e pm860x_reg_write -EXPORT_SYMBOL vmlinux 0xb6894a73 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xb68ad06e ip_sock_set_freebind EXPORT_SYMBOL vmlinux 0xb69116d1 make_kuid EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin EXPORT_SYMBOL vmlinux 0xb6ab2f08 pci_write_config_byte EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach EXPORT_SYMBOL vmlinux 0xb6af3808 blk_pre_runtime_suspend EXPORT_SYMBOL vmlinux 0xb6b09666 from_kgid_munged +EXPORT_SYMBOL vmlinux 0xb6b6bced dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xb6c8fea7 tcp_create_openreq_child EXPORT_SYMBOL vmlinux 0xb6cd5c4c kobject_init +EXPORT_SYMBOL vmlinux 0xb6e17e16 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xb6e2f492 kernel_bind EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute EXPORT_SYMBOL vmlinux 0xb6e65c02 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0xb6e719e4 tcp_seq_start EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb713f0dc __sk_mem_schedule EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync EXPORT_SYMBOL vmlinux 0xb722fe3a pci_msix_vec_count EXPORT_SYMBOL vmlinux 0xb724163f generic_file_write_iter -EXPORT_SYMBOL vmlinux 0xb732eaf4 arp_send EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb743d729 netlink_net_capable EXPORT_SYMBOL vmlinux 0xb7564df5 dev_uc_init EXPORT_SYMBOL vmlinux 0xb7593ddc iosf_mbi_unregister_pmic_bus_access_notifier EXPORT_SYMBOL vmlinux 0xb75cbcb3 xen_alloc_unpopulated_pages EXPORT_SYMBOL vmlinux 0xb76ae464 phy_register_fixup_for_uid EXPORT_SYMBOL vmlinux 0xb784154f utf8_casefold_hash EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict -EXPORT_SYMBOL vmlinux 0xb791d669 security_inode_listsecurity EXPORT_SYMBOL vmlinux 0xb79230bd set_anon_super_fc EXPORT_SYMBOL vmlinux 0xb7bfc6d6 dquot_destroy EXPORT_SYMBOL vmlinux 0xb7c0f443 sort EXPORT_SYMBOL vmlinux 0xb7c69f48 rproc_shutdown EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7c7c26e ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xb7ceca62 genl_register_family EXPORT_SYMBOL vmlinux 0xb7dafb3a prepare_to_swait_exclusive EXPORT_SYMBOL vmlinux 0xb7efbf6f tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xb801af2b phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xb80a1e85 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xb80cc9e7 security_sk_classify_flow EXPORT_SYMBOL vmlinux 0xb83129db ZSTD_decompressContinue EXPORT_SYMBOL vmlinux 0xb83c0cfd write_one_page EXPORT_SYMBOL vmlinux 0xb8494164 fs_context_for_mount @@ -10232,8 +10184,6 @@ EXPORT_SYMBOL vmlinux 0xb8948902 __alloc_disk_node EXPORT_SYMBOL vmlinux 0xb895ef5d page_readlink EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse -EXPORT_SYMBOL vmlinux 0xb89e930f nf_ip_checksum -EXPORT_SYMBOL vmlinux 0xb89f8503 skb_checksum_trimmed EXPORT_SYMBOL vmlinux 0xb8adb9b9 twl6040_get_vibralr_status EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link EXPORT_SYMBOL vmlinux 0xb8b6ff44 dev_uc_unsync @@ -10241,19 +10191,17 @@ EXPORT_SYMBOL vmlinux 0xb8c85cbe of_find_mipi_dsi_host_by_node EXPORT_SYMBOL vmlinux 0xb8d06e8a md_bitmap_unplug EXPORT_SYMBOL vmlinux 0xb8d80491 sync_inode_metadata -EXPORT_SYMBOL vmlinux 0xb8e208d2 tcp_rcv_state_process EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max -EXPORT_SYMBOL vmlinux 0xb9196805 dev_pick_tx_cpu_id EXPORT_SYMBOL vmlinux 0xb9314c99 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0xb93f05fe neigh_seq_start EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab EXPORT_SYMBOL vmlinux 0xb9478d90 hdmi_drm_infoframe_unpack_only -EXPORT_SYMBOL vmlinux 0xb94d87d2 tcf_idr_release EXPORT_SYMBOL vmlinux 0xb94dc32f simple_fill_super EXPORT_SYMBOL vmlinux 0xb94e25bc dquot_load_quota_inode -EXPORT_SYMBOL vmlinux 0xb95ca38e nf_log_packet +EXPORT_SYMBOL vmlinux 0xb94f8b52 napi_build_skb EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse EXPORT_SYMBOL vmlinux 0xb97f7045 acpi_install_gpe_handler EXPORT_SYMBOL vmlinux 0xb9864172 param_set_byte @@ -10263,62 +10211,58 @@ EXPORT_SYMBOL vmlinux 0xb9977e1b vfs_unlink EXPORT_SYMBOL vmlinux 0xb99a7c5c dmaengine_get_unmap_data EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark -EXPORT_SYMBOL vmlinux 0xb9c93372 seg6_push_hmac -EXPORT_SYMBOL vmlinux 0xb9da7fbd sock_common_setsockopt EXPORT_SYMBOL vmlinux 0xb9e02605 flow_block_cb_lookup EXPORT_SYMBOL vmlinux 0xb9e276cf wrmsr_safe_regs_on_cpu EXPORT_SYMBOL vmlinux 0xb9e7429c memcpy_toio EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba0fb39c xsk_tx_release EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le -EXPORT_SYMBOL vmlinux 0xba1e709b udp6_seq_ops -EXPORT_SYMBOL vmlinux 0xba21d219 sock_kfree_s EXPORT_SYMBOL vmlinux 0xba223343 nonseekable_open EXPORT_SYMBOL vmlinux 0xba260445 pci_back_from_sleep EXPORT_SYMBOL vmlinux 0xba3891d6 max8925_reg_write +EXPORT_SYMBOL vmlinux 0xba3fb3d6 security_task_getsecid_obj EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4a0e20 ip_frag_init EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len EXPORT_SYMBOL vmlinux 0xba55d7e3 writeback_inodes_sb EXPORT_SYMBOL vmlinux 0xba5c1dcd open_with_fake_path +EXPORT_SYMBOL vmlinux 0xba655a2b tcp_seq_stop EXPORT_SYMBOL vmlinux 0xba78855d wait_on_page_bit -EXPORT_SYMBOL vmlinux 0xba7d1732 dst_discard_out +EXPORT_SYMBOL vmlinux 0xba7bf5c0 alloc_skb_with_frags EXPORT_SYMBOL vmlinux 0xba8fbd64 _raw_spin_lock -EXPORT_SYMBOL vmlinux 0xba9967f1 qdisc_watchdog_schedule_range_ns -EXPORT_SYMBOL vmlinux 0xbaa33958 xfrm_state_register_afinfo EXPORT_SYMBOL vmlinux 0xbaa704fb dquot_alloc +EXPORT_SYMBOL vmlinux 0xbaa8b20a security_inet_conn_request EXPORT_SYMBOL vmlinux 0xbab19d7d mark_buffer_dirty -EXPORT_SYMBOL vmlinux 0xbad73058 tcf_block_netif_keep_dst -EXPORT_SYMBOL vmlinux 0xbae72c1e skb_vlan_untag EXPORT_SYMBOL vmlinux 0xbaf3d4ff key_instantiate_and_link -EXPORT_SYMBOL vmlinux 0xbaf43bc7 sock_common_getsockopt -EXPORT_SYMBOL vmlinux 0xbaf445f0 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xbaf4b6d0 ___pskb_trim EXPORT_SYMBOL vmlinux 0xbaf68d62 vfs_fsync EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset EXPORT_SYMBOL vmlinux 0xbb06748d mipi_dsi_dcs_set_display_on EXPORT_SYMBOL vmlinux 0xbb13595e smp_call_function_many EXPORT_SYMBOL vmlinux 0xbb1bac24 acpi_unregister_debugger EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command -EXPORT_SYMBOL vmlinux 0xbb2761f7 kernel_sock_shutdown EXPORT_SYMBOL vmlinux 0xbb35675b __bitmap_intersects EXPORT_SYMBOL vmlinux 0xbb3b4fbe jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xbb3b9003 skb_clone_sk EXPORT_SYMBOL vmlinux 0xbb457c3e kiocb_set_cancel_fn EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer EXPORT_SYMBOL vmlinux 0xbb5b7394 d_drop EXPORT_SYMBOL vmlinux 0xbb776539 kill_fasync +EXPORT_SYMBOL vmlinux 0xbb7b3433 inet_dgram_ops EXPORT_SYMBOL vmlinux 0xbb83df00 input_mt_drop_unused EXPORT_SYMBOL vmlinux 0xbb841e70 dquot_set_dqblk EXPORT_SYMBOL vmlinux 0xbb8e169a vga_switcheroo_handler_flags EXPORT_SYMBOL vmlinux 0xbb9e3075 agp_generic_mask_memory EXPORT_SYMBOL vmlinux 0xbb9ed3bf mutex_trylock EXPORT_SYMBOL vmlinux 0xbba2735a lookup_positive_unlocked -EXPORT_SYMBOL vmlinux 0xbbc2dfa4 skb_checksum_help +EXPORT_SYMBOL vmlinux 0xbbbd3cb6 phy_print_status EXPORT_SYMBOL vmlinux 0xbbcb81b4 seq_open EXPORT_SYMBOL vmlinux 0xbbcdb883 vga_con EXPORT_SYMBOL vmlinux 0xbbd8be97 jbd2_journal_ack_err EXPORT_SYMBOL vmlinux 0xbbdb1216 __nd_driver_register EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order EXPORT_SYMBOL vmlinux 0xbbf9b306 acpi_bus_unregister_driver -EXPORT_SYMBOL vmlinux 0xbc07c342 security_path_unlink EXPORT_SYMBOL vmlinux 0xbc0b22e9 param_array_ops EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit EXPORT_SYMBOL vmlinux 0xbc25cf7a kthread_create_worker_on_cpu @@ -10327,51 +10271,48 @@ EXPORT_SYMBOL vmlinux 0xbc2a6a24 key_type_keyring EXPORT_SYMBOL vmlinux 0xbc309e7a phy_attached_print EXPORT_SYMBOL vmlinux 0xbc60e40a get_task_cred -EXPORT_SYMBOL vmlinux 0xbc6a431c __neigh_create EXPORT_SYMBOL vmlinux 0xbc7c8576 i2c_get_adapter -EXPORT_SYMBOL vmlinux 0xbc9ab6c5 ip_do_fragment +EXPORT_SYMBOL vmlinux 0xbc8c7f1b tcp_mmap EXPORT_SYMBOL vmlinux 0xbc9c83bc inode_permission -EXPORT_SYMBOL vmlinux 0xbca8659b seg6_hmac_info_del EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf -EXPORT_SYMBOL vmlinux 0xbcace55d tc_setup_flow_action EXPORT_SYMBOL vmlinux 0xbcadb667 d_alloc_anon +EXPORT_SYMBOL vmlinux 0xbcb88b99 sock_setsockopt EXPORT_SYMBOL vmlinux 0xbcd6f671 vga_get EXPORT_SYMBOL vmlinux 0xbcecb32a jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xbcf161cd peernet2id +EXPORT_SYMBOL vmlinux 0xbcf6d731 ip6_dst_hoplimit EXPORT_SYMBOL vmlinux 0xbd11a891 cdrom_mode_select EXPORT_SYMBOL vmlinux 0xbd1c4e56 bioset_init_from_src -EXPORT_SYMBOL vmlinux 0xbd23b8a9 skb_dump EXPORT_SYMBOL vmlinux 0xbd393ca3 ioread64be_lo_hi EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init EXPORT_SYMBOL vmlinux 0xbd48928f open_exec EXPORT_SYMBOL vmlinux 0xbd5556e0 md_check_recovery +EXPORT_SYMBOL vmlinux 0xbd5f3fa2 neigh_parms_alloc EXPORT_SYMBOL vmlinux 0xbd675e7d pagevec_lookup_range EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 EXPORT_SYMBOL vmlinux 0xbd6dd58e mmc_unregister_driver EXPORT_SYMBOL vmlinux 0xbd7f682b unregister_cdrom -EXPORT_SYMBOL vmlinux 0xbdafb659 dcb_getapp +EXPORT_SYMBOL vmlinux 0xbd99d6a2 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xbdb2fa8a xfrm4_rcv EXPORT_SYMBOL vmlinux 0xbdb9beb0 generic_pipe_buf_try_steal EXPORT_SYMBOL vmlinux 0xbdc5553d vme_register_bridge EXPORT_SYMBOL vmlinux 0xbdfb6dbb __fentry__ EXPORT_SYMBOL vmlinux 0xbe0110e7 acpi_set_gpe -EXPORT_SYMBOL vmlinux 0xbe118b61 tcp_v4_conn_request EXPORT_SYMBOL vmlinux 0xbe1427af __printk_cpu_unlock -EXPORT_SYMBOL vmlinux 0xbe263fc9 xfrm_policy_walk -EXPORT_SYMBOL vmlinux 0xbe29a481 mr_vif_seq_idx EXPORT_SYMBOL vmlinux 0xbe2e85d9 mmc_erase -EXPORT_SYMBOL vmlinux 0xbe31ac4b inet6_del_offload -EXPORT_SYMBOL vmlinux 0xbe42d889 sock_alloc_send_skb EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state -EXPORT_SYMBOL vmlinux 0xbe63ad4b inet_dgram_ops EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit EXPORT_SYMBOL vmlinux 0xbe6f33f6 wireless_spy_update EXPORT_SYMBOL vmlinux 0xbe7e05a8 acpi_tb_install_and_load_table -EXPORT_SYMBOL vmlinux 0xbe88c263 __skb_gro_checksum_complete -EXPORT_SYMBOL vmlinux 0xbe8d172c dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0xbe83a23f sock_init_data_uid +EXPORT_SYMBOL vmlinux 0xbe8b2fd4 sock_no_sendpage_locked EXPORT_SYMBOL vmlinux 0xbe9f6798 migrate_page_copy EXPORT_SYMBOL vmlinux 0xbe9f7dd0 pci_iomap_range EXPORT_SYMBOL vmlinux 0xbea56643 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xbeb4ef3b skb_queue_purge +EXPORT_SYMBOL vmlinux 0xbebb7b38 km_new_mapping EXPORT_SYMBOL vmlinux 0xbec97084 configfs_unregister_subsystem EXPORT_SYMBOL vmlinux 0xbed1b1b4 crypto_sha256_finup EXPORT_SYMBOL vmlinux 0xbed66b99 nd_device_notify @@ -10380,15 +10321,17 @@ EXPORT_SYMBOL vmlinux 0xbf064e91 dm_io EXPORT_SYMBOL vmlinux 0xbf1bd4c2 phy_register_fixup_for_id EXPORT_SYMBOL vmlinux 0xbf2b2933 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xbf2c6a5f tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xbf314f84 tcp_gro_complete EXPORT_SYMBOL vmlinux 0xbf3193ec acpi_unregister_ioapic EXPORT_SYMBOL vmlinux 0xbf512dcb proc_set_size EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init -EXPORT_SYMBOL vmlinux 0xbf65e900 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0xbf5bdd8f tcp_sock_set_quickack EXPORT_SYMBOL vmlinux 0xbf67801e md_update_sb EXPORT_SYMBOL vmlinux 0xbf6999fe fscrypt_free_inode -EXPORT_SYMBOL vmlinux 0xbf8880d0 udp_read_sock EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set -EXPORT_SYMBOL vmlinux 0xbfa77eba netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0xbfaaeff8 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0xbfb16b4b tcp_conn_request EXPORT_SYMBOL vmlinux 0xbfbc8931 pci_unmap_rom EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep EXPORT_SYMBOL vmlinux 0xbfcd6331 pci_dev_get @@ -10396,251 +10339,261 @@ EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer EXPORT_SYMBOL vmlinux 0xbfff19e5 seq_vprintf EXPORT_SYMBOL vmlinux 0xc00eb145 freeze_super -EXPORT_SYMBOL vmlinux 0xc0167eac rtnetlink_put_metrics EXPORT_SYMBOL vmlinux 0xc01cd90c param_set_bool EXPORT_SYMBOL vmlinux 0xc0364007 fault_in_writeable EXPORT_SYMBOL vmlinux 0xc03ba958 __cleancache_put_page EXPORT_SYMBOL vmlinux 0xc03d4dc9 blk_dump_rq_flags -EXPORT_SYMBOL vmlinux 0xc04343ed seg6_hmac_validate_skb -EXPORT_SYMBOL vmlinux 0xc0574553 reuseport_select_sock EXPORT_SYMBOL vmlinux 0xc06adea9 fwnode_get_mac_address EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked -EXPORT_SYMBOL vmlinux 0xc078b587 ip_defrag EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb -EXPORT_SYMBOL vmlinux 0xc092d237 neigh_lookup -EXPORT_SYMBOL vmlinux 0xc0932f18 ipv6_chk_prefix EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key EXPORT_SYMBOL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 EXPORT_SYMBOL vmlinux 0xc0b2bc48 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xc0b83a75 __skb_checksum EXPORT_SYMBOL vmlinux 0xc0bca0f1 ZSTD_nextSrcSizeToDecompress EXPORT_SYMBOL vmlinux 0xc0bd20f3 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xc0eda5e1 xfrm_state_walk EXPORT_SYMBOL vmlinux 0xc0f92b84 bio_copy_data_iter EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor -EXPORT_SYMBOL vmlinux 0xc1039f97 nf_getsockopt EXPORT_SYMBOL vmlinux 0xc105bf9c vfs_statfs EXPORT_SYMBOL vmlinux 0xc111ae64 intel_gtt_get EXPORT_SYMBOL vmlinux 0xc1194a98 generic_pipe_buf_get EXPORT_SYMBOL vmlinux 0xc1365323 acpi_enable_all_wakeup_gpes EXPORT_SYMBOL vmlinux 0xc142b901 get_phy_device EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data -EXPORT_SYMBOL vmlinux 0xc14dde94 sk_ns_capable EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq EXPORT_SYMBOL vmlinux 0xc16410b9 ZSTD_getDictID_fromDDict +EXPORT_SYMBOL vmlinux 0xc16682fd neigh_connected_output EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem -EXPORT_SYMBOL vmlinux 0xc183ac8f gro_find_complete_by_type EXPORT_SYMBOL vmlinux 0xc18cf1b3 truncate_inode_pages -EXPORT_SYMBOL vmlinux 0xc1966c74 inet_select_addr -EXPORT_SYMBOL vmlinux 0xc1a2ffe5 nf_log_bind_pf EXPORT_SYMBOL vmlinux 0xc1af0d84 pcie_port_service_register EXPORT_SYMBOL vmlinux 0xc1b42f25 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xc1cdfad9 netdev_class_create_file_ns EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d746eb __cpuhp_setup_state_cpuslocked EXPORT_SYMBOL vmlinux 0xc1d76ca9 _copy_from_iter EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget EXPORT_SYMBOL vmlinux 0xc1ddde2b ptp_clock_unregister EXPORT_SYMBOL vmlinux 0xc1f0ba96 alloc_pages_vma EXPORT_SYMBOL vmlinux 0xc1f851b8 param_ops_charp -EXPORT_SYMBOL vmlinux 0xc220474f unregister_netdevice_queue -EXPORT_SYMBOL vmlinux 0xc22750dc xfrm_policy_delete -EXPORT_SYMBOL vmlinux 0xc2413135 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xc2154a9d netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xc224abae boot_cpu_data +EXPORT_SYMBOL vmlinux 0xc22c3dcd default_qdisc_ops EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup EXPORT_SYMBOL vmlinux 0xc24ab696 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xc24ad787 __xfrm_state_destroy EXPORT_SYMBOL vmlinux 0xc257ddb8 mdiobus_free -EXPORT_SYMBOL vmlinux 0xc261cd80 neigh_ifdown EXPORT_SYMBOL vmlinux 0xc267960e utf8_validate +EXPORT_SYMBOL vmlinux 0xc26b48b6 sock_no_sendmsg_locked EXPORT_SYMBOL vmlinux 0xc278c965 cpu_all_bits -EXPORT_SYMBOL vmlinux 0xc28edd94 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0xc281be3a ip_local_deliver EXPORT_SYMBOL vmlinux 0xc29bf967 strspn EXPORT_SYMBOL vmlinux 0xc2a17ebe seqno_fence_ops -EXPORT_SYMBOL vmlinux 0xc2af1cc2 nexthop_bucket_set_hw_flags EXPORT_SYMBOL vmlinux 0xc2d4b691 mmc_set_data_timeout EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f9cfbf netdev_rx_csum_fault EXPORT_SYMBOL vmlinux 0xc2fa4f58 param_get_charp EXPORT_SYMBOL vmlinux 0xc2fac886 dump_align EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state -EXPORT_SYMBOL vmlinux 0xc309b9b4 napi_consume_skb EXPORT_SYMBOL vmlinux 0xc310b981 strnstr -EXPORT_SYMBOL vmlinux 0xc3123e21 inet_frag_pull_head EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier -EXPORT_SYMBOL vmlinux 0xc331b9f1 tcf_get_next_proto EXPORT_SYMBOL vmlinux 0xc335f715 __bio_clone_fast EXPORT_SYMBOL vmlinux 0xc33b19cf bio_integrity_alloc -EXPORT_SYMBOL vmlinux 0xc34f0ede tcp_v4_destroy_sock EXPORT_SYMBOL vmlinux 0xc356ee41 invalidate_mapping_pages EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc3743f98 inet_confirm_addr EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy -EXPORT_SYMBOL vmlinux 0xc3837cda udp_disconnect +EXPORT_SYMBOL vmlinux 0xc384447d __netdev_notify_peers EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer EXPORT_SYMBOL vmlinux 0xc3903106 sched_autogroup_create_attach -EXPORT_SYMBOL vmlinux 0xc3963dea inet6_protos -EXPORT_SYMBOL vmlinux 0xc39d0c1b nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xc39c1c55 udp_poll +EXPORT_SYMBOL vmlinux 0xc3a33d55 __ip_queue_xmit EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3b3c03f udp_set_csum EXPORT_SYMBOL vmlinux 0xc3bc72ad trace_print_array_seq EXPORT_SYMBOL vmlinux 0xc3c08436 param_set_long +EXPORT_SYMBOL vmlinux 0xc3c300eb __scm_destroy EXPORT_SYMBOL vmlinux 0xc3cb4b93 vfs_parse_fs_param -EXPORT_SYMBOL vmlinux 0xc3e912c3 dst_destroy -EXPORT_SYMBOL vmlinux 0xc3fb0df4 genl_unregister_family +EXPORT_SYMBOL vmlinux 0xc3d099b9 qdisc_offload_graft_helper EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc4054434 ip_fraglist_init EXPORT_SYMBOL vmlinux 0xc41173a2 vme_irq_free EXPORT_SYMBOL vmlinux 0xc4128ab8 mod_node_page_state EXPORT_SYMBOL vmlinux 0xc413d785 devfreq_monitor_resume EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost -EXPORT_SYMBOL vmlinux 0xc43c7e6f neigh_event_ns +EXPORT_SYMBOL vmlinux 0xc45500e0 __skb_free_datagram_locked EXPORT_SYMBOL vmlinux 0xc460f02c file_modified EXPORT_SYMBOL vmlinux 0xc46ba346 input_set_abs_params +EXPORT_SYMBOL vmlinux 0xc47123e7 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0xc4746e32 netdev_notice EXPORT_SYMBOL vmlinux 0xc476ccd9 nd_btt_arena_is_valid EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 EXPORT_SYMBOL vmlinux 0xc48bf8c2 __d_drop +EXPORT_SYMBOL vmlinux 0xc48dee5a __zerocopy_sg_from_iter EXPORT_SYMBOL vmlinux 0xc49b43f5 request_firmware_nowait EXPORT_SYMBOL vmlinux 0xc4a64df0 get_user_pages_unlocked -EXPORT_SYMBOL vmlinux 0xc4aaa568 inet_dgram_connect EXPORT_SYMBOL vmlinux 0xc4ae915e arch_touch_nmi_watchdog -EXPORT_SYMBOL vmlinux 0xc4b6ca81 phy_mac_interrupt -EXPORT_SYMBOL vmlinux 0xc4b7df33 __inet_hash EXPORT_SYMBOL vmlinux 0xc4bc3cce vfs_create -EXPORT_SYMBOL vmlinux 0xc4bf9544 skb_page_frag_refill EXPORT_SYMBOL vmlinux 0xc4cc42af filp_open EXPORT_SYMBOL vmlinux 0xc4cdc804 from_kuid +EXPORT_SYMBOL vmlinux 0xc4d7bcb0 dev_get_phys_port_name +EXPORT_SYMBOL vmlinux 0xc4e0a466 skb_queue_tail EXPORT_SYMBOL vmlinux 0xc4e95bef pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0xc4f8fcd4 netdev_emerg EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath -EXPORT_SYMBOL vmlinux 0xc52e9d87 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0xc540477b tcp_check_req EXPORT_SYMBOL vmlinux 0xc54eda2b phy_disconnect +EXPORT_SYMBOL vmlinux 0xc550d53a skb_find_text EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc5620aa5 netdev_has_any_upper_dev EXPORT_SYMBOL vmlinux 0xc5712d19 blk_cleanup_queue EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc580fdea skb_realloc_headroom EXPORT_SYMBOL vmlinux 0xc58d5a90 kstrtoll_from_user EXPORT_SYMBOL vmlinux 0xc58fd1af eisa_driver_unregister EXPORT_SYMBOL vmlinux 0xc597c3aa vlan_vid_del EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on EXPORT_SYMBOL vmlinux 0xc5cfb1a7 mnt_drop_write_file -EXPORT_SYMBOL vmlinux 0xc5d602ec ip_sock_set_pktinfo EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last EXPORT_SYMBOL vmlinux 0xc603ba55 __SCK__tp_func_write_msr EXPORT_SYMBOL vmlinux 0xc609ec4d mipi_dsi_dcs_set_display_brightness EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus -EXPORT_SYMBOL vmlinux 0xc61b279e skb_add_rx_frag EXPORT_SYMBOL vmlinux 0xc61b2ea2 phy_set_asym_pause EXPORT_SYMBOL vmlinux 0xc61ca65e iowrite64be_hi_lo +EXPORT_SYMBOL vmlinux 0xc61f7136 ip_options_rcv_srr EXPORT_SYMBOL vmlinux 0xc622556f prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc6230fe0 udp_disconnect EXPORT_SYMBOL vmlinux 0xc631580a console_unlock EXPORT_SYMBOL vmlinux 0xc63164eb jbd2_journal_clear_features EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup EXPORT_SYMBOL vmlinux 0xc64c0e76 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0xc64e8761 __skb_try_recv_datagram EXPORT_SYMBOL vmlinux 0xc65a9197 blk_mq_delay_run_hw_queues EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add EXPORT_SYMBOL vmlinux 0xc66f7e75 inode_io_list_del -EXPORT_SYMBOL vmlinux 0xc6818a47 sock_set_reuseaddr EXPORT_SYMBOL vmlinux 0xc68f6bb1 mmc_hw_reset EXPORT_SYMBOL vmlinux 0xc6910aa0 do_trace_rdpmc EXPORT_SYMBOL vmlinux 0xc694c164 mmc_release_host -EXPORT_SYMBOL vmlinux 0xc6a244e4 km_state_expired +EXPORT_SYMBOL vmlinux 0xc69b7de7 register_netdevice EXPORT_SYMBOL vmlinux 0xc6a8a688 ww_mutex_lock EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r -EXPORT_SYMBOL vmlinux 0xc6cb4b5e netdev_upper_dev_unlink EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6dc2902 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xc6dd3acb phy_config_aneg EXPORT_SYMBOL vmlinux 0xc6ed6dbc __d_lookup_done EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key EXPORT_SYMBOL vmlinux 0xc6f8aaec mipi_dsi_host_unregister EXPORT_SYMBOL vmlinux 0xc700489d iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xc701e9f0 netdev_change_features +EXPORT_SYMBOL vmlinux 0xc70209c2 xsk_set_rx_need_wakeup EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write -EXPORT_SYMBOL vmlinux 0xc71ccfd8 inet6_release +EXPORT_SYMBOL vmlinux 0xc711263c netif_schedule_queue EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port -EXPORT_SYMBOL vmlinux 0xc72a54eb tcp_v4_mtu_reduced -EXPORT_SYMBOL vmlinux 0xc7637d96 xsk_tx_completed -EXPORT_SYMBOL vmlinux 0xc773a7f9 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xc731c209 sock_create_lite EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain EXPORT_SYMBOL vmlinux 0xc78931a4 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xc797066f register_netdevice_notifier_dev_net EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock EXPORT_SYMBOL vmlinux 0xc7acea9a mount_nodev EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group -EXPORT_SYMBOL vmlinux 0xc7f0c32b security_sb_clone_mnt_opts EXPORT_SYMBOL vmlinux 0xc7fd6bfe truncate_pagecache EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one -EXPORT_SYMBOL vmlinux 0xc826be72 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xc815abca __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0xc81f0464 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xc82902bb skb_recv_datagram EXPORT_SYMBOL vmlinux 0xc82c6e84 vmalloc_to_page EXPORT_SYMBOL vmlinux 0xc82fc563 empty_aops +EXPORT_SYMBOL vmlinux 0xc8347046 tcp_sock_set_nodelay EXPORT_SYMBOL vmlinux 0xc83be868 iw_handler_set_spy -EXPORT_SYMBOL vmlinux 0xc8464991 tcp_mss_to_mtu EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85ccedc tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xc8710428 eth_platform_get_mac_address EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes EXPORT_SYMBOL vmlinux 0xc879a1ab con_set_default_unimap -EXPORT_SYMBOL vmlinux 0xc87de1ee netdev_set_tc_queue EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd EXPORT_SYMBOL vmlinux 0xc897b7d8 __i2c_smbus_xfer EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8af53cf skb_ext_add EXPORT_SYMBOL vmlinux 0xc8b2d2d1 mipi_dsi_attach -EXPORT_SYMBOL vmlinux 0xc8be91bf reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0xc8b7dbae xp_dma_map +EXPORT_SYMBOL vmlinux 0xc8cd4a8c sock_no_bind +EXPORT_SYMBOL vmlinux 0xc8dbf6ad tcf_unregister_action EXPORT_SYMBOL vmlinux 0xc8dcc62a krealloc EXPORT_SYMBOL vmlinux 0xc8e3acff thread_group_exited EXPORT_SYMBOL vmlinux 0xc8e50939 no_seek_end_llseek_size EXPORT_SYMBOL vmlinux 0xc8f052b0 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xc9041bfb security_inode_getsecctx EXPORT_SYMBOL vmlinux 0xc9216a82 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0xc92899f2 tcp_v4_send_check EXPORT_SYMBOL vmlinux 0xc92ade81 security_lock_kernel_down -EXPORT_SYMBOL vmlinux 0xc92f4bdb inet_register_protosw EXPORT_SYMBOL vmlinux 0xc932a547 __SCK__tp_func_kmem_cache_free EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources -EXPORT_SYMBOL vmlinux 0xc948cf86 fqdir_init -EXPORT_SYMBOL vmlinux 0xc95033d3 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xc94d5a9f phy_ethtool_get_stats EXPORT_SYMBOL vmlinux 0xc9560775 fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0xc95d3e93 eth_gro_complete EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab -EXPORT_SYMBOL vmlinux 0xc979a31d security_sctp_sk_clone EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev EXPORT_SYMBOL vmlinux 0xc9831ad7 flow_keys_dissector EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev -EXPORT_SYMBOL vmlinux 0xc9ac1884 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0xc9ac72df __sock_cmsg_send EXPORT_SYMBOL vmlinux 0xc9b33111 cpumask_any_distribute EXPORT_SYMBOL vmlinux 0xc9b34292 mpage_writepages EXPORT_SYMBOL vmlinux 0xc9bb9477 mntget EXPORT_SYMBOL vmlinux 0xc9bfdad6 from_kuid_munged +EXPORT_SYMBOL vmlinux 0xc9d1736f skb_prepare_seq_read EXPORT_SYMBOL vmlinux 0xc9df0003 rproc_resource_cleanup EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9df83a2 inet_shutdown EXPORT_SYMBOL vmlinux 0xc9f34c1d acpi_acquire_global_lock EXPORT_SYMBOL vmlinux 0xca0f000a locks_remove_posix EXPORT_SYMBOL vmlinux 0xca15413f ZSTD_resetDStream EXPORT_SYMBOL vmlinux 0xca1f3532 phy_drivers_unregister EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free EXPORT_SYMBOL vmlinux 0xca342187 vfs_iocb_iter_read -EXPORT_SYMBOL vmlinux 0xca40c77f ip_tunnel_parse_protocol EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function EXPORT_SYMBOL vmlinux 0xca48b7fd tty_check_change +EXPORT_SYMBOL vmlinux 0xca7218af linkwatch_fire_event EXPORT_SYMBOL vmlinux 0xca7b1fac __find_get_block EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception EXPORT_SYMBOL vmlinux 0xcad4d5ec scsi_host_get +EXPORT_SYMBOL vmlinux 0xcad5f4ca netdev_alert EXPORT_SYMBOL vmlinux 0xcadba0e4 get_vm_area -EXPORT_SYMBOL vmlinux 0xcaf07887 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xcadc4bd0 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xcadd4ad3 icmp6_send EXPORT_SYMBOL vmlinux 0xcaf2c603 scsi_sd_pm_domain EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu -EXPORT_SYMBOL vmlinux 0xcb25678d inet_sk_rebuild_header -EXPORT_SYMBOL vmlinux 0xcb322809 tcp_sync_mss EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb4115f5 unregister_netdev EXPORT_SYMBOL vmlinux 0xcb4b89be scsi_ioctl EXPORT_SYMBOL vmlinux 0xcb54fd35 jbd2_fc_end_commit_fallback EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power -EXPORT_SYMBOL vmlinux 0xcb7d348d gro_find_receive_by_type EXPORT_SYMBOL vmlinux 0xcb94348a inc_node_page_state EXPORT_SYMBOL vmlinux 0xcb9aee40 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xcb9c935e netdev_state_change +EXPORT_SYMBOL vmlinux 0xcbaf805a security_tun_dev_attach EXPORT_SYMBOL vmlinux 0xcbc88a23 ZSTD_isFrame -EXPORT_SYMBOL vmlinux 0xcbd43f75 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xcbd47b7d eth_header EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbd6425a inet6_offloads EXPORT_SYMBOL vmlinux 0xcbe53c46 convert_art_to_tsc -EXPORT_SYMBOL vmlinux 0xcbf049b9 netdev_txq_to_tc EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul EXPORT_SYMBOL vmlinux 0xcc23002a hdmi_infoframe_pack_only @@ -10651,43 +10604,41 @@ EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible EXPORT_SYMBOL vmlinux 0xcc57205b mode_strip_sgid EXPORT_SYMBOL vmlinux 0xcc5c2df4 trace_print_symbols_seq -EXPORT_SYMBOL vmlinux 0xcc5c8bbc tcp_make_synack EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock EXPORT_SYMBOL vmlinux 0xcc5e79ee vlan_vids_del_by_dev -EXPORT_SYMBOL vmlinux 0xcc747030 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xcc5f7887 datagram_poll EXPORT_SYMBOL vmlinux 0xcc757a68 md_write_start -EXPORT_SYMBOL vmlinux 0xcc85313d tcf_generic_walker EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccad36ce kernel_connect +EXPORT_SYMBOL vmlinux 0xccb2857d mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0xccc73afc netlink_kernel_release EXPORT_SYMBOL vmlinux 0xccc77dad blk_pm_runtime_init EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start EXPORT_SYMBOL vmlinux 0xccef37e4 ZSTD_DStreamOutSize -EXPORT_SYMBOL vmlinux 0xccf01c5c xfrm_policy_insert EXPORT_SYMBOL vmlinux 0xccfb7972 ilookup +EXPORT_SYMBOL vmlinux 0xccfb7c06 cpu_info EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed -EXPORT_SYMBOL vmlinux 0xccfe593b inet_csk_reset_keepalive_timer EXPORT_SYMBOL vmlinux 0xcd01b8e6 acpi_attach_data EXPORT_SYMBOL vmlinux 0xcd046226 scsi_report_bus_reset EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed EXPORT_SYMBOL vmlinux 0xcd279169 nla_find -EXPORT_SYMBOL vmlinux 0xcd31f7fc mini_qdisc_pair_block_init -EXPORT_SYMBOL vmlinux 0xcd4d4811 udp_set_csum -EXPORT_SYMBOL vmlinux 0xcd676d83 xfrm_policy_walk_done -EXPORT_SYMBOL vmlinux 0xcd72a62b netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xcd4da528 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xcd791f51 nf_log_trace +EXPORT_SYMBOL vmlinux 0xcd83c434 sock_no_listen +EXPORT_SYMBOL vmlinux 0xcd8b3ff4 __pskb_pull_tail EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception -EXPORT_SYMBOL vmlinux 0xcda2b992 xfrm_policy_unregister_afinfo -EXPORT_SYMBOL vmlinux 0xcdaaaf25 sk_wait_data +EXPORT_SYMBOL vmlinux 0xcd9b93c0 tcp_prot EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel EXPORT_SYMBOL vmlinux 0xcdcb8e48 blk_queue_chunk_sectors -EXPORT_SYMBOL vmlinux 0xcddef325 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xcde5a55d __skb_recv_datagram EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev EXPORT_SYMBOL vmlinux 0xcde8de32 jbd2_trans_will_send_data_barrier EXPORT_SYMBOL vmlinux 0xcdf0cc9b phy_write_mmd EXPORT_SYMBOL vmlinux 0xcdfd00a4 param_get_string +EXPORT_SYMBOL vmlinux 0xce080501 tcp_v4_md5_lookup EXPORT_SYMBOL vmlinux 0xce12bcbf pci_scan_bus EXPORT_SYMBOL vmlinux 0xce16714d set_binfmt -EXPORT_SYMBOL vmlinux 0xce16b780 skb_find_text -EXPORT_SYMBOL vmlinux 0xce246602 __kfree_skb EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r @@ -10713,31 +10664,36 @@ EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port EXPORT_SYMBOL vmlinux 0xcf0ca603 clk_hw_get_clk EXPORT_SYMBOL vmlinux 0xcf1341e0 agp_create_memory -EXPORT_SYMBOL vmlinux 0xcf28ae0a inet_frag_kill EXPORT_SYMBOL vmlinux 0xcf2a6966 up EXPORT_SYMBOL vmlinux 0xcf30dcee cpufreq_get_policy -EXPORT_SYMBOL vmlinux 0xcf43ff14 dev_add_offload +EXPORT_SYMBOL vmlinux 0xcf3b2bc0 inet_rtx_syn_ack EXPORT_SYMBOL vmlinux 0xcf447a3e keyring_clear EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf55a036 __dev_remove_pack EXPORT_SYMBOL vmlinux 0xcf5fc6d0 __SCK__tp_func_mmap_lock_start_locking -EXPORT_SYMBOL vmlinux 0xcf658d7b netlink_ns_capable EXPORT_SYMBOL vmlinux 0xcf7295b0 fb_get_mode +EXPORT_SYMBOL vmlinux 0xcf82d2d9 nf_unregister_net_hooks EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos EXPORT_SYMBOL vmlinux 0xcfa7e913 posix_acl_valid EXPORT_SYMBOL vmlinux 0xcfbf6153 __serio_register_driver EXPORT_SYMBOL vmlinux 0xcfc9deaf atomic_dec_and_mutex_lock EXPORT_SYMBOL vmlinux 0xcfccc6dd ihold +EXPORT_SYMBOL vmlinux 0xcfd40fdd __inet_hash EXPORT_SYMBOL vmlinux 0xcfd80990 mdio_driver_register EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned -EXPORT_SYMBOL vmlinux 0xd024eb70 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xcfe2354a __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xcffed0a2 tcp_disconnect +EXPORT_SYMBOL vmlinux 0xd01fddb6 iptun_encaps EXPORT_SYMBOL vmlinux 0xd02a0377 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xd0317d77 ppp_unregister_compressor EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06d2d28 phy_trigger_machine EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump EXPORT_SYMBOL vmlinux 0xd0951117 bdev_check_media_change EXPORT_SYMBOL vmlinux 0xd09a2dad kmem_cache_alloc -EXPORT_SYMBOL vmlinux 0xd0a37c73 netdev_update_features +EXPORT_SYMBOL vmlinux 0xd0a6469a security_path_mkdir EXPORT_SYMBOL vmlinux 0xd0ae5f55 __printk_cpu_trylock EXPORT_SYMBOL vmlinux 0xd0b4d0a5 simple_transaction_release EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface @@ -10745,52 +10701,63 @@ EXPORT_SYMBOL vmlinux 0xd0c0b771 from_kgid EXPORT_SYMBOL vmlinux 0xd0da656b __stack_chk_fail EXPORT_SYMBOL vmlinux 0xd0f284b8 mmiotrace_printk -EXPORT_SYMBOL vmlinux 0xd0fe4590 register_netdevice +EXPORT_SYMBOL vmlinux 0xd0f63485 netif_skb_features EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key EXPORT_SYMBOL vmlinux 0xd10a0a5f kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xd11317bc security_path_rename EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize EXPORT_SYMBOL vmlinux 0xd14ae1b1 inc_zone_page_state EXPORT_SYMBOL vmlinux 0xd164ec9c devm_request_any_context_irq EXPORT_SYMBOL vmlinux 0xd175db6a scsi_dma_unmap EXPORT_SYMBOL vmlinux 0xd1769161 kobject_get EXPORT_SYMBOL vmlinux 0xd17a7f41 sync_inodes_sb -EXPORT_SYMBOL vmlinux 0xd17db64b __skb_checksum_complete EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough EXPORT_SYMBOL vmlinux 0xd1883305 nd_dev_to_uuid EXPORT_SYMBOL vmlinux 0xd189718e scsi_set_medium_removal EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd19a2997 zerocopy_sg_from_iter EXPORT_SYMBOL vmlinux 0xd19ffe01 d_tmpfile EXPORT_SYMBOL vmlinux 0xd1a1a74b pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xd1c359b6 netif_receive_skb_core EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string EXPORT_SYMBOL vmlinux 0xd1d944f0 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0xd1ddf6ad memory_cgrp_subsys EXPORT_SYMBOL vmlinux 0xd1e66f5a dev_pm_opp_register_notifier -EXPORT_SYMBOL vmlinux 0xd1ee93af sock_no_sendpage -EXPORT_SYMBOL vmlinux 0xd1f208f4 netdev_adjacent_change_prepare EXPORT_SYMBOL vmlinux 0xd1f60a89 arch_io_free_memtype_wc EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings EXPORT_SYMBOL vmlinux 0xd1fa2e52 set_pages_uc -EXPORT_SYMBOL vmlinux 0xd2049047 sock_release +EXPORT_SYMBOL vmlinux 0xd1feb2d0 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xd2142fcb dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xd2182380 skb_mac_gso_segment EXPORT_SYMBOL vmlinux 0xd21c5139 iowrite64_lo_hi EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd228b1c4 ip_fraglist_prepare EXPORT_SYMBOL vmlinux 0xd22ae529 bio_devname +EXPORT_SYMBOL vmlinux 0xd23fa164 security_skb_classify_flow EXPORT_SYMBOL vmlinux 0xd24163e3 backlight_device_get_by_name EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd25faa42 __ip4_datagram_connect EXPORT_SYMBOL vmlinux 0xd2779731 blk_limits_io_min EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy EXPORT_SYMBOL vmlinux 0xd2822c36 jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0xd287d10e tcf_idr_release EXPORT_SYMBOL vmlinux 0xd29359a8 md_bitmap_startwrite -EXPORT_SYMBOL vmlinux 0xd29e6f19 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xd298b935 inet6_protos EXPORT_SYMBOL vmlinux 0xd2adc816 simple_rename +EXPORT_SYMBOL vmlinux 0xd2b8f901 sk_net_capable EXPORT_SYMBOL vmlinux 0xd2bc5c46 __get_user_nocheck_2 EXPORT_SYMBOL vmlinux 0xd2c848f9 uart_register_driver +EXPORT_SYMBOL vmlinux 0xd2c936b0 __skb_recv_udp EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2ce8289 tcf_exts_terse_dump EXPORT_SYMBOL vmlinux 0xd2d7a581 __register_nls EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep -EXPORT_SYMBOL vmlinux 0xd2f21040 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xd32cd66b netif_napi_add +EXPORT_SYMBOL vmlinux 0xd333fbde netdev_adjacent_change_prepare EXPORT_SYMBOL vmlinux 0xd338cee0 mipi_dsi_driver_unregister EXPORT_SYMBOL vmlinux 0xd338ea7e __SCT__tp_func_kmem_cache_alloc EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key @@ -10800,40 +10767,43 @@ EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state EXPORT_SYMBOL vmlinux 0xd38cd261 __default_kernel_pte_mask +EXPORT_SYMBOL vmlinux 0xd391c25b __cpuhp_remove_state_cpuslocked EXPORT_SYMBOL vmlinux 0xd3966f43 scsi_command_normalize_sense EXPORT_SYMBOL vmlinux 0xd3a6cd52 tcf_em_register EXPORT_SYMBOL vmlinux 0xd3b04763 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xd3cc97c5 ipv6_mc_check_mld EXPORT_SYMBOL vmlinux 0xd3e30125 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xd3e4511d sk_reset_timer EXPORT_SYMBOL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear -EXPORT_SYMBOL vmlinux 0xd3f66a22 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xd3f5137b nf_ct_attach EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal EXPORT_SYMBOL vmlinux 0xd41bae8c mdiobus_alloc_size -EXPORT_SYMBOL vmlinux 0xd426315c mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0xd4231a22 udp_ioctl EXPORT_SYMBOL vmlinux 0xd428b80a phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xd43ebec6 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0xd442b1e9 __skb_ext_del EXPORT_SYMBOL vmlinux 0xd443e5e6 __nla_reserve_nohdr EXPORT_SYMBOL vmlinux 0xd44a906b dquot_quota_off EXPORT_SYMBOL vmlinux 0xd44e6059 add_watch_to_object +EXPORT_SYMBOL vmlinux 0xd4542daa kfree_skb_reason EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system -EXPORT_SYMBOL vmlinux 0xd485aa90 rawv6_mh_filter_register EXPORT_SYMBOL vmlinux 0xd488bcd4 vga_remove_vgacon -EXPORT_SYMBOL vmlinux 0xd4b3fbe4 security_sock_graft EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table -EXPORT_SYMBOL vmlinux 0xd4df4d52 dst_init -EXPORT_SYMBOL vmlinux 0xd4e2ebce inet_stream_connect +EXPORT_SYMBOL vmlinux 0xd4eea615 udp6_seq_ops EXPORT_SYMBOL vmlinux 0xd4fa2b69 textsearch_destroy EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare EXPORT_SYMBOL vmlinux 0xd5115676 get_bitmap_from_slot EXPORT_SYMBOL vmlinux 0xd511b25f vga_switcheroo_client_fb_set EXPORT_SYMBOL vmlinux 0xd518287e bdi_register +EXPORT_SYMBOL vmlinux 0xd51e459c __sk_queue_drop_skb EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources EXPORT_SYMBOL vmlinux 0xd5357a52 t10_pi_type3_crc -EXPORT_SYMBOL vmlinux 0xd54b40f0 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0xd5368c1c xfrm_lookup EXPORT_SYMBOL vmlinux 0xd56f417d request_firmware EXPORT_SYMBOL vmlinux 0xd570ca03 flow_rule_match_enc_control -EXPORT_SYMBOL vmlinux 0xd58d5876 xp_dma_sync_for_cpu_slow EXPORT_SYMBOL vmlinux 0xd58e70dd net_rand_noise EXPORT_SYMBOL vmlinux 0xd5940e5a scsi_host_alloc EXPORT_SYMBOL vmlinux 0xd5987e58 dev_uc_add_excl @@ -10841,21 +10811,25 @@ EXPORT_SYMBOL vmlinux 0xd5ad8bdd pcim_iomap EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state EXPORT_SYMBOL vmlinux 0xd5bc2495 block_commit_write -EXPORT_SYMBOL vmlinux 0xd5d0aa6e inet6_csk_route_req -EXPORT_SYMBOL vmlinux 0xd5d58153 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0xd5c5aafb xfrm_state_alloc EXPORT_SYMBOL vmlinux 0xd5d73c71 simple_rmdir EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k EXPORT_SYMBOL vmlinux 0xd610eaeb pcibios_bus_to_resource EXPORT_SYMBOL vmlinux 0xd61addae user_path_create EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd63101a9 __ip_options_compile EXPORT_SYMBOL vmlinux 0xd631a2cc rdmacg_uncharge EXPORT_SYMBOL vmlinux 0xd63fd8d1 utf8nagemax EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state EXPORT_SYMBOL vmlinux 0xd64e9c6e redirty_page_for_writepage -EXPORT_SYMBOL vmlinux 0xd6648d63 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xd6571c4c dev_disable_lro EXPORT_SYMBOL vmlinux 0xd66c8184 add_device_randomness +EXPORT_SYMBOL vmlinux 0xd675e71c sock_from_file +EXPORT_SYMBOL vmlinux 0xd67959dc unregister_qdisc +EXPORT_SYMBOL vmlinux 0xd681dea7 __cgroup_bpf_run_filter_sock_ops EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68ac0d5 tcp_parse_options EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table EXPORT_SYMBOL vmlinux 0xd6928da2 pci_iomap @@ -10863,7 +10837,7 @@ EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read EXPORT_SYMBOL vmlinux 0xd6b2ed5f generate_pm_trace EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz -EXPORT_SYMBOL vmlinux 0xd6c6a527 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xd6b48f46 security_old_inode_init_security EXPORT_SYMBOL vmlinux 0xd6d185ca pipe_lock EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc @@ -10872,47 +10846,46 @@ EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute EXPORT_SYMBOL vmlinux 0xd7206ac6 rproc_elf_sanity_check -EXPORT_SYMBOL vmlinux 0xd72d0782 sock_alloc_send_pskb EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid EXPORT_SYMBOL vmlinux 0xd73e921a param_set_short EXPORT_SYMBOL vmlinux 0xd7482f05 vcalloc -EXPORT_SYMBOL vmlinux 0xd74b7200 iterate_fd +EXPORT_SYMBOL vmlinux 0xd76fe18c inet6_bind EXPORT_SYMBOL vmlinux 0xd7750280 mipi_dsi_compression_mode -EXPORT_SYMBOL vmlinux 0xd78636da inet_frags_init EXPORT_SYMBOL vmlinux 0xd7966bd3 vme_master_mmap +EXPORT_SYMBOL vmlinux 0xd7a37033 tso_build_hdr EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi -EXPORT_SYMBOL vmlinux 0xd7e436c3 tcp_gro_complete EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7f1f1c7 tcp_child_process EXPORT_SYMBOL vmlinux 0xd7f64599 fc_mount EXPORT_SYMBOL vmlinux 0xd7f83541 scsi_free_host_dev EXPORT_SYMBOL vmlinux 0xd7fb1068 genphy_read_mmd_unsupported EXPORT_SYMBOL vmlinux 0xd803b5d7 genphy_aneg_done EXPORT_SYMBOL vmlinux 0xd813ae7c would_dump -EXPORT_SYMBOL vmlinux 0xd8346ee9 dev_queue_xmit_accel +EXPORT_SYMBOL vmlinux 0xd82c6629 xfrm_user_policy EXPORT_SYMBOL vmlinux 0xd83aa11a jbd2_fc_wait_bufs -EXPORT_SYMBOL vmlinux 0xd83ae5f7 xfrm_input_register_afinfo EXPORT_SYMBOL vmlinux 0xd842301c bdi_put EXPORT_SYMBOL vmlinux 0xd844f8a4 scsi_get_device_flags_keyed EXPORT_SYMBOL vmlinux 0xd846c315 acpi_write_bit_register EXPORT_SYMBOL vmlinux 0xd8475776 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xd849e676 nf_unregister_net_hook EXPORT_SYMBOL vmlinux 0xd84ad932 mdio_device_create -EXPORT_SYMBOL vmlinux 0xd860ff8d sock_no_socketpair -EXPORT_SYMBOL vmlinux 0xd8777b29 netdev_alert -EXPORT_SYMBOL vmlinux 0xd877c755 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xd856fcbe ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xd858905a dev_get_by_index_rcu EXPORT_SYMBOL vmlinux 0xd878e153 blk_mq_run_hw_queues EXPORT_SYMBOL vmlinux 0xd878fe46 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xd87ee768 tcp_shutdown EXPORT_SYMBOL vmlinux 0xd88304fd PageMovable +EXPORT_SYMBOL vmlinux 0xd888bd3b skb_push EXPORT_SYMBOL vmlinux 0xd8906d4f writeback_inodes_sb_nr EXPORT_SYMBOL vmlinux 0xd8941b18 path_put EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone EXPORT_SYMBOL vmlinux 0xd8a3409a wake_up_process -EXPORT_SYMBOL vmlinux 0xd8a65c0b dst_release_immediate EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b2c07d xfrm_policy_delete EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font EXPORT_SYMBOL vmlinux 0xd8c4fe75 blk_mq_stop_hw_queues -EXPORT_SYMBOL vmlinux 0xd8c583bc __skb_gso_segment EXPORT_SYMBOL vmlinux 0xd8c97eae pci_assign_resource EXPORT_SYMBOL vmlinux 0xd8cef6e1 clear_user EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk @@ -10924,12 +10897,13 @@ EXPORT_SYMBOL vmlinux 0xd92d380e dma_unmap_resource EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object EXPORT_SYMBOL vmlinux 0xd933f209 __SCT__tp_func_rdpmc +EXPORT_SYMBOL vmlinux 0xd941ec91 ip_sock_set_recverr EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy EXPORT_SYMBOL vmlinux 0xd951cc7f serio_interrupt EXPORT_SYMBOL vmlinux 0xd96fcfcb mmc_gpio_get_ro EXPORT_SYMBOL vmlinux 0xd971c6c4 xen_arch_register_cpu +EXPORT_SYMBOL vmlinux 0xd97d0559 xfrm_state_delete_tunnel EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages -EXPORT_SYMBOL vmlinux 0xd9866ab8 tcf_idr_cleanup EXPORT_SYMBOL vmlinux 0xd9969457 block_page_mkwrite EXPORT_SYMBOL vmlinux 0xd9a44d0a nobh_write_end EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head @@ -10939,31 +10913,24 @@ EXPORT_SYMBOL vmlinux 0xd9ccd9c2 __SCK__tp_func_dma_fence_emit EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e57786 skb_queue_head EXPORT_SYMBOL vmlinux 0xd9f1a44f __blkdev_issue_zeroout -EXPORT_SYMBOL vmlinux 0xda10fda3 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xd9f80d80 inet_csk_accept EXPORT_SYMBOL vmlinux 0xda1ddef1 acpi_mark_gpe_for_wake EXPORT_SYMBOL vmlinux 0xda26b8ea __irq_regs EXPORT_SYMBOL vmlinux 0xda350c2a vfs_parse_fs_string EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open EXPORT_SYMBOL vmlinux 0xda3d842c processors -EXPORT_SYMBOL vmlinux 0xda47e122 tcp_v4_do_rcv EXPORT_SYMBOL vmlinux 0xda57f1b5 unregister_framebuffer EXPORT_SYMBOL vmlinux 0xda58db8d generic_copy_file_range -EXPORT_SYMBOL vmlinux 0xda718854 sock_no_ioctl EXPORT_SYMBOL vmlinux 0xda72a7ec ZSTD_nextInputType EXPORT_SYMBOL vmlinux 0xda803d6f dquot_scan_active EXPORT_SYMBOL vmlinux 0xda89ea3b ip_idents_reserve EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region EXPORT_SYMBOL vmlinux 0xdad13544 ptrs_per_p4d -EXPORT_SYMBOL vmlinux 0xdad22778 xfrm4_protocol_register EXPORT_SYMBOL vmlinux 0xdadf4701 scsi_device_set_state -EXPORT_SYMBOL vmlinux 0xdae1e8d0 sock_no_recvmsg -EXPORT_SYMBOL vmlinux 0xdae39ff1 __napi_alloc_skb EXPORT_SYMBOL vmlinux 0xdafc34fe ata_std_end_eh -EXPORT_SYMBOL vmlinux 0xdb06f2b9 dev_lstats_read -EXPORT_SYMBOL vmlinux 0xdb07dee9 sk_error_report EXPORT_SYMBOL vmlinux 0xdb087779 migrate_page_states -EXPORT_SYMBOL vmlinux 0xdb0c98ec reuseport_attach_prog EXPORT_SYMBOL vmlinux 0xdb16b170 topology_phys_to_logical_pkg EXPORT_SYMBOL vmlinux 0xdb2f0a9f devm_rproc_add EXPORT_SYMBOL vmlinux 0xdb428f0f register_fib_notifier @@ -10971,29 +10938,32 @@ EXPORT_SYMBOL vmlinux 0xdb6cdf26 elv_rb_former_request EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free EXPORT_SYMBOL vmlinux 0xdb95e185 intel_scu_ipc_dev_command_with_size +EXPORT_SYMBOL vmlinux 0xdba693c1 __netlink_kernel_create EXPORT_SYMBOL vmlinux 0xdbc1ea6a rproc_elf_load_segments EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler -EXPORT_SYMBOL vmlinux 0xdbdb85b2 tcp_child_process EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource EXPORT_SYMBOL vmlinux 0xdbfa3743 ps2_begin_command EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc3cebad skb_add_rx_frag EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv EXPORT_SYMBOL vmlinux 0xdc4be329 dcache_dir_close EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier EXPORT_SYMBOL vmlinux 0xdc534577 ll_rw_block EXPORT_SYMBOL vmlinux 0xdc5736d5 acpi_register_ioapic -EXPORT_SYMBOL vmlinux 0xdc57de4c ip_route_me_harder -EXPORT_SYMBOL vmlinux 0xdc654bb7 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xdc66005c nf_log_unbind_pf EXPORT_SYMBOL vmlinux 0xdc972d1c d_alloc_name +EXPORT_SYMBOL vmlinux 0xdc9dcd9f inet6_del_offload EXPORT_SYMBOL vmlinux 0xdca85924 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xdcaf32ce kernel_sendpage EXPORT_SYMBOL vmlinux 0xdcb25202 phy_find_first EXPORT_SYMBOL vmlinux 0xdcb5bff3 i2c_smbus_write_byte_data EXPORT_SYMBOL vmlinux 0xdcb9303f devm_ioremap_wc EXPORT_SYMBOL vmlinux 0xdcd14cec jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xdcd75491 netdev_name_node_alt_destroy +EXPORT_SYMBOL vmlinux 0xdcdbca22 __skb_wait_for_more_packets EXPORT_SYMBOL vmlinux 0xdcdc0040 slhc_compress EXPORT_SYMBOL vmlinux 0xdce310c0 set_pages_array_uc EXPORT_SYMBOL vmlinux 0xdce53443 simple_unlink -EXPORT_SYMBOL vmlinux 0xdcfd4aee ipv6_dev_mc_inc EXPORT_SYMBOL vmlinux 0xdd00447a acpi_resource_to_address64 EXPORT_SYMBOL vmlinux 0xdd07727b mmc_can_trim EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm @@ -11003,65 +10973,65 @@ EXPORT_SYMBOL vmlinux 0xdd3efe2a key_put EXPORT_SYMBOL vmlinux 0xdd47326a block_read_full_page EXPORT_SYMBOL vmlinux 0xdd47b8cc blk_rq_count_integrity_sg -EXPORT_SYMBOL vmlinux 0xdd6038e7 udp6_csum_init +EXPORT_SYMBOL vmlinux 0xdd4faf12 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0xdd510b14 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xdd614d0a sock_no_sendpage EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd686e75 fd_install EXPORT_SYMBOL vmlinux 0xdd75e200 device_add_disk +EXPORT_SYMBOL vmlinux 0xdd776c47 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0xdd7e9315 tcp_fastopen_defer_connect EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld -EXPORT_SYMBOL vmlinux 0xdd9c4868 ppp_input_error EXPORT_SYMBOL vmlinux 0xdd9eb7b7 pcim_iomap_regions EXPORT_SYMBOL vmlinux 0xdda12a8a scsi_register_interface EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level EXPORT_SYMBOL vmlinux 0xddafdd31 vm_node_stat EXPORT_SYMBOL vmlinux 0xddb1f385 simple_statfs +EXPORT_SYMBOL vmlinux 0xddc9d49a inet_frag_reasm_prepare EXPORT_SYMBOL vmlinux 0xddcba955 follow_pfn EXPORT_SYMBOL vmlinux 0xddcbe1f3 acpi_ut_value_exit -EXPORT_SYMBOL vmlinux 0xdde593e7 sock_i_uid EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done EXPORT_SYMBOL vmlinux 0xddf9503d param_set_ushort EXPORT_SYMBOL vmlinux 0xddfa0b50 __mod_node_page_state -EXPORT_SYMBOL vmlinux 0xde029927 inet_addr_type EXPORT_SYMBOL vmlinux 0xde0fdeff proc_set_user EXPORT_SYMBOL vmlinux 0xde1ebc42 sget EXPORT_SYMBOL vmlinux 0xde22bb0c kill_pgrp EXPORT_SYMBOL vmlinux 0xde233c8d param_ops_long EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive EXPORT_SYMBOL vmlinux 0xde303b43 blkdev_issue_discard -EXPORT_SYMBOL vmlinux 0xde309aa4 put_cmsg -EXPORT_SYMBOL vmlinux 0xde36f7f4 __neigh_for_each_release -EXPORT_SYMBOL vmlinux 0xde3df6ab tcf_register_action -EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats -EXPORT_SYMBOL vmlinux 0xde4dcc62 scm_fp_dup EXPORT_SYMBOL vmlinux 0xde4eeab5 __register_nmi_handler -EXPORT_SYMBOL vmlinux 0xde517484 tcp_mtu_to_mss EXPORT_SYMBOL vmlinux 0xde546e39 iterate_dir +EXPORT_SYMBOL vmlinux 0xde57bd5b dev_set_alias EXPORT_SYMBOL vmlinux 0xde6c3024 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0xde6f95e7 kernel_sendpage_locked EXPORT_SYMBOL vmlinux 0xde6fcb1d agp3_generic_tlbflush -EXPORT_SYMBOL vmlinux 0xde744225 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xde75c1b2 call_netdevice_notifiers EXPORT_SYMBOL vmlinux 0xde784629 phy_device_register EXPORT_SYMBOL vmlinux 0xde80cd09 ioremap EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size -EXPORT_SYMBOL vmlinux 0xde9bf5fa neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xde9ea190 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xdeab75e8 sock_sendmsg EXPORT_SYMBOL vmlinux 0xdeb2d01f cad_pid EXPORT_SYMBOL vmlinux 0xdeb84357 blk_set_queue_depth EXPORT_SYMBOL vmlinux 0xdebac924 __cleancache_invalidate_page EXPORT_SYMBOL vmlinux 0xdebfac29 dev_mc_add EXPORT_SYMBOL vmlinux 0xdecffe22 fb_prepare_logo EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator -EXPORT_SYMBOL vmlinux 0xdeee617b kernel_bind EXPORT_SYMBOL vmlinux 0xdef227a6 pci_request_selected_regions_exclusive EXPORT_SYMBOL vmlinux 0xdef25e0a remove_watch_from_object EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode EXPORT_SYMBOL vmlinux 0xdef8d0ae __SCT__tp_func_kfree -EXPORT_SYMBOL vmlinux 0xdefc4ad2 tcp_sock_set_user_timeout -EXPORT_SYMBOL vmlinux 0xdefc5884 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0xdef9bc10 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xdf0ba20a eth_header_parse +EXPORT_SYMBOL vmlinux 0xdf1caa5f napi_gro_flush EXPORT_SYMBOL vmlinux 0xdf1f0fa1 flush_signals EXPORT_SYMBOL vmlinux 0xdf256037 kstrtou8_from_user -EXPORT_SYMBOL vmlinux 0xdf259cb6 pneigh_enqueue EXPORT_SYMBOL vmlinux 0xdf26fb99 dev_mc_del EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last EXPORT_SYMBOL vmlinux 0xdf2ebb87 _raw_read_unlock_irqrestore EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf4b5f0f tcp_md5_do_add EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies EXPORT_SYMBOL vmlinux 0xdf713313 blkdev_get_by_path @@ -11073,19 +11043,19 @@ EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies EXPORT_SYMBOL vmlinux 0xdf981166 blk_mq_init_allocated_queue EXPORT_SYMBOL vmlinux 0xdf9db712 d_set_fallthru -EXPORT_SYMBOL vmlinux 0xdfb0a585 phy_start EXPORT_SYMBOL vmlinux 0xdfb6e7fd d_find_alias EXPORT_SYMBOL vmlinux 0xdfb759f4 generic_file_open +EXPORT_SYMBOL vmlinux 0xdfb95eb9 xsk_tx_completed EXPORT_SYMBOL vmlinux 0xdfca1c71 load_nls EXPORT_SYMBOL vmlinux 0xdfcc992c current_work EXPORT_SYMBOL vmlinux 0xdfd261f5 __post_watch_notification -EXPORT_SYMBOL vmlinux 0xdfdcb268 inet_del_protocol EXPORT_SYMBOL vmlinux 0xdfdfa9e7 utf8nfdi EXPORT_SYMBOL vmlinux 0xdfe4db53 flow_rule_alloc EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes -EXPORT_SYMBOL vmlinux 0xe008ffc6 ipv6_dev_find +EXPORT_SYMBOL vmlinux 0xe003b9b9 xp_free EXPORT_SYMBOL vmlinux 0xe0112fc4 __x86_indirect_thunk_r9 +EXPORT_SYMBOL vmlinux 0xe017c0a6 nf_hook_slow_list EXPORT_SYMBOL vmlinux 0xe02ba436 trace_print_hex_seq EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase EXPORT_SYMBOL vmlinux 0xe033cb29 native_queued_spin_lock_slowpath @@ -11094,67 +11064,77 @@ EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 EXPORT_SYMBOL vmlinux 0xe04b28c0 blkdev_issue_zeroout EXPORT_SYMBOL vmlinux 0xe054f62e mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xe07b3f46 neigh_sysctl_register EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range EXPORT_SYMBOL vmlinux 0xe091c977 list_sort EXPORT_SYMBOL vmlinux 0xe0955f76 utf8_casefold EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start -EXPORT_SYMBOL vmlinux 0xe0a4e1df __ip_dev_find +EXPORT_SYMBOL vmlinux 0xe0a476db inet_csk_prepare_forced_close EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0c91922 tcp_read_sock EXPORT_SYMBOL vmlinux 0xe0cc04df dquot_operations EXPORT_SYMBOL vmlinux 0xe0d46b09 intel_gmch_probe +EXPORT_SYMBOL vmlinux 0xe0e3de2b __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xe0e4d8ae phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xe0ea0f81 xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0xe11397ec tcp_time_wait EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial EXPORT_SYMBOL vmlinux 0xe113da28 fscrypt_free_bounce_page EXPORT_SYMBOL vmlinux 0xe11ca997 ZSTD_getDictID_fromDict +EXPORT_SYMBOL vmlinux 0xe120386f __fib6_flush_trees EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release -EXPORT_SYMBOL vmlinux 0xe125697e inet_addr_type_dev_table EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors EXPORT_SYMBOL vmlinux 0xe13d07c5 free_buffer_head EXPORT_SYMBOL vmlinux 0xe140bbac locks_copy_lock +EXPORT_SYMBOL vmlinux 0xe15b4c9b __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0xe1720cbf dev_get_by_index +EXPORT_SYMBOL vmlinux 0xe172db42 inet_frags_fini EXPORT_SYMBOL vmlinux 0xe18ce9fe vm_iomap_memory EXPORT_SYMBOL vmlinux 0xe19694d1 blk_rq_init +EXPORT_SYMBOL vmlinux 0xe1aa2156 inet_frag_kill EXPORT_SYMBOL vmlinux 0xe1bee700 __traceiter_read_msr +EXPORT_SYMBOL vmlinux 0xe1cc8aeb get_mem_cgroup_from_mm EXPORT_SYMBOL vmlinux 0xe1ccf5b6 capable_wrt_inode_uidgid EXPORT_SYMBOL vmlinux 0xe1cee9e7 elv_rb_latter_request EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format EXPORT_SYMBOL vmlinux 0xe1dd7a47 dquot_quota_sync -EXPORT_SYMBOL vmlinux 0xe1df28b4 tcf_chain_put_by_act -EXPORT_SYMBOL vmlinux 0xe1f940f6 nf_setsockopt EXPORT_SYMBOL vmlinux 0xe2076255 cfb_fillrect EXPORT_SYMBOL vmlinux 0xe213ecc0 param_get_uint EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek -EXPORT_SYMBOL vmlinux 0xe2235430 tcf_block_put_ext -EXPORT_SYMBOL vmlinux 0xe22c1d6a tcp_req_err +EXPORT_SYMBOL vmlinux 0xe224a70b udp_push_pending_frames EXPORT_SYMBOL vmlinux 0xe22c67c5 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xe2314b1e dev_pick_tx_cpu_id EXPORT_SYMBOL vmlinux 0xe240f6e9 proc_create_data -EXPORT_SYMBOL vmlinux 0xe24345b7 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0xe24cb516 neigh_parms_release EXPORT_SYMBOL vmlinux 0xe24fcf3d legacy_pic EXPORT_SYMBOL vmlinux 0xe265d59c dev_uc_sync EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap EXPORT_SYMBOL vmlinux 0xe27b3742 devm_extcon_unregister_notifier -EXPORT_SYMBOL vmlinux 0xe294f5b5 xfrm4_rcv_encap -EXPORT_SYMBOL vmlinux 0xe2a60a2f xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0xe28cc0d1 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xe29a3517 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0xe29e1bfe netpoll_print_options EXPORT_SYMBOL vmlinux 0xe2a6da2a simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xe2bc1634 netdev_upper_dev_link EXPORT_SYMBOL vmlinux 0xe2c20445 tty_insert_flip_string_flags EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp EXPORT_SYMBOL vmlinux 0xe2da641c __tracepoint_kmalloc EXPORT_SYMBOL vmlinux 0xe2e28fc0 __traceiter_write_msr +EXPORT_SYMBOL vmlinux 0xe2f3aa0b inet_bind EXPORT_SYMBOL vmlinux 0xe2fbddf0 tty_port_carrier_raised EXPORT_SYMBOL vmlinux 0xe2fbdf3e fs_param_is_string EXPORT_SYMBOL vmlinux 0xe2fe8f25 cfb_copyarea EXPORT_SYMBOL vmlinux 0xe3143ab5 crypto_sha1_finup -EXPORT_SYMBOL vmlinux 0xe31caebc ipv6_chk_custom_prefix -EXPORT_SYMBOL vmlinux 0xe329ab96 inet_add_offload -EXPORT_SYMBOL vmlinux 0xe329d7df __dev_set_mtu EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest -EXPORT_SYMBOL vmlinux 0xe347f224 sock_bindtoindex EXPORT_SYMBOL vmlinux 0xe34bbb0f sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xe34cab09 sock_pfree EXPORT_SYMBOL vmlinux 0xe352278d pcim_iounmap -EXPORT_SYMBOL vmlinux 0xe3717d31 __napi_schedule +EXPORT_SYMBOL vmlinux 0xe3739294 dev_add_pack +EXPORT_SYMBOL vmlinux 0xe3888b28 security_task_getsecid_subj EXPORT_SYMBOL vmlinux 0xe391d545 nd_btt_version EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 EXPORT_SYMBOL vmlinux 0xe3b58463 dma_resv_add_excl_fence @@ -11162,15 +11142,13 @@ EXPORT_SYMBOL vmlinux 0xe3c792e6 dquot_resume EXPORT_SYMBOL vmlinux 0xe3d857ea __cpu_active_mask EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region -EXPORT_SYMBOL vmlinux 0xe3fd41b3 sock_no_shutdown EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 -EXPORT_SYMBOL vmlinux 0xe403cd6b sk_reset_timer EXPORT_SYMBOL vmlinux 0xe406de09 __vfs_getxattr EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock -EXPORT_SYMBOL vmlinux 0xe414574c xfrm_state_walk_done EXPORT_SYMBOL vmlinux 0xe419bc99 iowrite32be +EXPORT_SYMBOL vmlinux 0xe4281795 mem_cgroup_from_task EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 EXPORT_SYMBOL vmlinux 0xe4475a99 tcf_em_tree_validate EXPORT_SYMBOL vmlinux 0xe454b358 generic_delete_inode @@ -11179,17 +11157,15 @@ EXPORT_SYMBOL vmlinux 0xe47dcc9e flow_rule_match_icmp EXPORT_SYMBOL vmlinux 0xe4837998 elevator_alloc EXPORT_SYMBOL vmlinux 0xe4938355 _dev_warn -EXPORT_SYMBOL vmlinux 0xe4a88ed7 __netlink_ns_capable EXPORT_SYMBOL vmlinux 0xe4bc2c2f hdmi_drm_infoframe_pack -EXPORT_SYMBOL vmlinux 0xe4c582a2 ppp_unit_number EXPORT_SYMBOL vmlinux 0xe4d80bf4 acpi_enable -EXPORT_SYMBOL vmlinux 0xe50fadea dev_change_carrier +EXPORT_SYMBOL vmlinux 0xe4edfed1 __sk_mem_reclaim EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq EXPORT_SYMBOL vmlinux 0xe5271ae4 register_framebuffer EXPORT_SYMBOL vmlinux 0xe52c693b ps2_sliced_command EXPORT_SYMBOL vmlinux 0xe5368fc1 __nla_put_nohdr EXPORT_SYMBOL vmlinux 0xe549ca78 generic_fadvise -EXPORT_SYMBOL vmlinux 0xe553f7c9 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xe567dce7 reuseport_alloc EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet EXPORT_SYMBOL vmlinux 0xe581c0ed path_has_submounts EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end @@ -11198,49 +11174,47 @@ EXPORT_SYMBOL vmlinux 0xe59e13c0 cfb_imageblit EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen -EXPORT_SYMBOL vmlinux 0xe5d00e08 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xe5d44843 xfrm_policy_walk_done EXPORT_SYMBOL vmlinux 0xe5d76162 max8998_bulk_read EXPORT_SYMBOL vmlinux 0xe5d89702 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xe5dfec2b __dynamic_ibdev_dbg EXPORT_SYMBOL vmlinux 0xe5f0e907 touchscreen_report_pos -EXPORT_SYMBOL vmlinux 0xe5f1ca2e fqdir_exit -EXPORT_SYMBOL vmlinux 0xe5f6477e dev_activate EXPORT_SYMBOL vmlinux 0xe5fa7584 iov_iter_bvec EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any EXPORT_SYMBOL vmlinux 0xe6173f69 configfs_remove_default_groups EXPORT_SYMBOL vmlinux 0xe61a29cf zpool_unregister_driver -EXPORT_SYMBOL vmlinux 0xe61aa773 xfrm_state_update EXPORT_SYMBOL vmlinux 0xe63c896b __check_sticky EXPORT_SYMBOL vmlinux 0xe6452d95 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xe64ce9b5 ip6_xmit EXPORT_SYMBOL vmlinux 0xe6611500 trace_event_printf -EXPORT_SYMBOL vmlinux 0xe67bd1d4 dev_pick_tx_zero -EXPORT_SYMBOL vmlinux 0xe684ed6d sk_net_capable +EXPORT_SYMBOL vmlinux 0xe6719cdd seg6_push_hmac EXPORT_SYMBOL vmlinux 0xe68efe41 _raw_write_lock EXPORT_SYMBOL vmlinux 0xe691ac7f ZSTD_decompressBegin EXPORT_SYMBOL vmlinux 0xe692d894 pci_disable_ptm EXPORT_SYMBOL vmlinux 0xe699b4e5 inode_needs_sync -EXPORT_SYMBOL vmlinux 0xe6a739b5 xp_dma_map EXPORT_SYMBOL vmlinux 0xe6b86610 __scsi_iterate_devices EXPORT_SYMBOL vmlinux 0xe6bf29f9 seq_escape_mem EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6db195d netdev_lower_state_changed EXPORT_SYMBOL vmlinux 0xe6eee608 generic_file_splice_read EXPORT_SYMBOL vmlinux 0xe6fa06a2 rename_lock EXPORT_SYMBOL vmlinux 0xe6fa427e page_get_link EXPORT_SYMBOL vmlinux 0xe6fbc6e8 agp_generic_type_to_mask_type -EXPORT_SYMBOL vmlinux 0xe705a24b xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xe6fcd842 consume_skb EXPORT_SYMBOL vmlinux 0xe70877d4 acpi_remove_sci_handler EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe7270c70 xfrm_lookup_with_ifid EXPORT_SYMBOL vmlinux 0xe72790a2 fwnode_irq_get EXPORT_SYMBOL vmlinux 0xe7324b9a utf8nfdicf +EXPORT_SYMBOL vmlinux 0xe737be63 __ip_mc_dec_group EXPORT_SYMBOL vmlinux 0xe747c7fb __devm_request_region EXPORT_SYMBOL vmlinux 0xe75cd1b0 flow_rule_match_enc_ip EXPORT_SYMBOL vmlinux 0xe7669197 dma_sync_sg_for_cpu EXPORT_SYMBOL vmlinux 0xe7730700 vfs_mkobj -EXPORT_SYMBOL vmlinux 0xe77d7406 tcf_exts_change EXPORT_SYMBOL vmlinux 0xe77e134a param_set_invbool EXPORT_SYMBOL vmlinux 0xe785bcea disk_stack_limits EXPORT_SYMBOL vmlinux 0xe7861d37 mdio_driver_unregister EXPORT_SYMBOL vmlinux 0xe787698f acpi_processor_register_performance -EXPORT_SYMBOL vmlinux 0xe78bec60 __xfrm_state_delete EXPORT_SYMBOL vmlinux 0xe78e4261 __dquot_transfer EXPORT_SYMBOL vmlinux 0xe79272a1 pci_try_set_mwi EXPORT_SYMBOL vmlinux 0xe795d845 validate_slab_cache @@ -11248,101 +11222,104 @@ EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range EXPORT_SYMBOL vmlinux 0xe7a48bd9 vc_resize EXPORT_SYMBOL vmlinux 0xe7ab1ecc _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0xe7baaa8f xfrm6_rcv EXPORT_SYMBOL vmlinux 0xe7c0e14e dma_async_tx_descriptor_init EXPORT_SYMBOL vmlinux 0xe7c1a648 d_exact_alias EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d5a982 __cgroup_bpf_run_filter_sock_addr EXPORT_SYMBOL vmlinux 0xe7e51ca1 find_inode_rcu EXPORT_SYMBOL vmlinux 0xe7fc0137 cleancache_register_ops EXPORT_SYMBOL vmlinux 0xe805dce3 pci_get_slot EXPORT_SYMBOL vmlinux 0xe80d0e12 devm_pci_remap_cfgspace EXPORT_SYMBOL vmlinux 0xe819b479 blk_integrity_register EXPORT_SYMBOL vmlinux 0xe82981f9 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xe82f5b39 register_qdisc EXPORT_SYMBOL vmlinux 0xe8330a5a call_usermodehelper_exec EXPORT_SYMBOL vmlinux 0xe8568e92 d_make_root EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table EXPORT_SYMBOL vmlinux 0xe874ff93 input_flush_device EXPORT_SYMBOL vmlinux 0xe8792f5d fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0xe882a755 napi_complete_done EXPORT_SYMBOL vmlinux 0xe8875ada flow_rule_match_enc_keyid -EXPORT_SYMBOL vmlinux 0xe8894c9f phy_ethtool_nway_reset EXPORT_SYMBOL vmlinux 0xe88e3bcd pcie_port_service_unregister EXPORT_SYMBOL vmlinux 0xe891bbd6 clear_nlink -EXPORT_SYMBOL vmlinux 0xe898ff6a ip6_output EXPORT_SYMBOL vmlinux 0xe8a0ebc1 dquot_drop EXPORT_SYMBOL vmlinux 0xe8b237cb set_user_nice EXPORT_SYMBOL vmlinux 0xe8b63c18 sb_min_blocksize EXPORT_SYMBOL vmlinux 0xe8b85a79 nobh_write_begin EXPORT_SYMBOL vmlinux 0xe8b98295 put_ipc_ns -EXPORT_SYMBOL vmlinux 0xe8cdde23 tso_build_data EXPORT_SYMBOL vmlinux 0xe8e882ec __tty_insert_flip_char EXPORT_SYMBOL vmlinux 0xe8f001e9 init_task -EXPORT_SYMBOL vmlinux 0xe8f3adec kernel_accept EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks EXPORT_SYMBOL vmlinux 0xe8fc400a agp_unbind_memory EXPORT_SYMBOL vmlinux 0xe909997a bitmap_print_list_to_buf EXPORT_SYMBOL vmlinux 0xe914e41e strcpy EXPORT_SYMBOL vmlinux 0xe91feb7d scsi_report_opcode -EXPORT_SYMBOL vmlinux 0xe9278e9e netdev_lower_get_next_private EXPORT_SYMBOL vmlinux 0xe932e9e2 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xe939aca6 unregister_tcf_proto_ops EXPORT_SYMBOL vmlinux 0xe93d6ac8 generic_pipe_buf_release EXPORT_SYMBOL vmlinux 0xe94b1635 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xe950c6bf inet_select_addr EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino EXPORT_SYMBOL vmlinux 0xe956ff31 iter_file_splice_write EXPORT_SYMBOL vmlinux 0xe9571427 con_is_bound EXPORT_SYMBOL vmlinux 0xe9757d2b vfio_unpin_pages -EXPORT_SYMBOL vmlinux 0xe97f5adc xfrm_state_unregister_afinfo EXPORT_SYMBOL vmlinux 0xe98029b7 pm_vt_switch_required EXPORT_SYMBOL vmlinux 0xe9855a47 ptp_cancel_worker_sync EXPORT_SYMBOL vmlinux 0xe985c837 sg_miter_skip -EXPORT_SYMBOL vmlinux 0xe99907b2 napi_gro_frags EXPORT_SYMBOL vmlinux 0xe9a5e67f intel_graphics_stolen_res EXPORT_SYMBOL vmlinux 0xe9aaf799 vm_event_states EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark EXPORT_SYMBOL vmlinux 0xe9b9a6b8 configfs_unregister_group -EXPORT_SYMBOL vmlinux 0xe9cd60cf phy_get_eee_err +EXPORT_SYMBOL vmlinux 0xe9bc211d phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0xe9c73d0e qdisc_watchdog_schedule_range_ns EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9ef901f skb_checksum_setup EXPORT_SYMBOL vmlinux 0xe9f31626 padata_free_shell EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize -EXPORT_SYMBOL vmlinux 0xe9f7beac netpoll_poll_enable -EXPORT_SYMBOL vmlinux 0xe9fbfc29 xp_raw_get_data EXPORT_SYMBOL vmlinux 0xe9ffc063 down_trylock EXPORT_SYMBOL vmlinux 0xea39c308 vfs_rmdir EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int -EXPORT_SYMBOL vmlinux 0xea3cfcf6 sock_queue_err_skb EXPORT_SYMBOL vmlinux 0xea53fb0f con_copy_unimap EXPORT_SYMBOL vmlinux 0xea61eef9 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea654e59 alloc_netdev_mqs EXPORT_SYMBOL vmlinux 0xea6594a2 migrate_vma_pages -EXPORT_SYMBOL vmlinux 0xea6a2de2 inet_csk_prepare_forced_close -EXPORT_SYMBOL vmlinux 0xea6ab62a qdisc_class_hash_grow -EXPORT_SYMBOL vmlinux 0xea6e8ff9 inet_listen EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled -EXPORT_SYMBOL vmlinux 0xea75012f tcf_idr_check_alloc EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer -EXPORT_SYMBOL vmlinux 0xea930664 inet6_unregister_protosw -EXPORT_SYMBOL vmlinux 0xeaa1ba5d __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0xeaa3485a ppp_unit_number EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict EXPORT_SYMBOL vmlinux 0xeac1bde6 vlan_filter_drop_vids -EXPORT_SYMBOL vmlinux 0xeac39488 netdev_bonding_info_change EXPORT_SYMBOL vmlinux 0xeac6763a phy_resume +EXPORT_SYMBOL vmlinux 0xead44e7f kernel_getpeername EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeaff0597 rt_dst_alloc EXPORT_SYMBOL vmlinux 0xeaff61ac framebuffer_release EXPORT_SYMBOL vmlinux 0xeb078aee _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xeb086321 tcp_initialize_rcv_mss EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc EXPORT_SYMBOL vmlinux 0xeb2391c9 gen_new_estimator EXPORT_SYMBOL vmlinux 0xeb31aee8 acpi_trace_point EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end EXPORT_SYMBOL vmlinux 0xeb409483 scmd_printk -EXPORT_SYMBOL vmlinux 0xeb427262 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xeb421e98 netlink_ack +EXPORT_SYMBOL vmlinux 0xeb43dd3e inet6_csk_route_req EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact EXPORT_SYMBOL vmlinux 0xeb6788fd dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0xeb7e99ec scm_detach_fds EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb833252 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xeb8a82ea __sk_mem_raise_allocated EXPORT_SYMBOL vmlinux 0xeb93013f file_update_time EXPORT_SYMBOL vmlinux 0xeb97998c rproc_coredump_add_segment EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint EXPORT_SYMBOL vmlinux 0xebb6883e blk_queue_max_write_zeroes_sectors EXPORT_SYMBOL vmlinux 0xebbb5688 inode_init_owner -EXPORT_SYMBOL vmlinux 0xebccec1c tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xebbf2541 dst_dev_put +EXPORT_SYMBOL vmlinux 0xebce93bb dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xebdc71e5 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xebe29b46 tcp_sendpage EXPORT_SYMBOL vmlinux 0xebe2b446 rproc_da_to_va EXPORT_SYMBOL vmlinux 0xebeb20ea __nla_put EXPORT_SYMBOL vmlinux 0xebf1c6e8 devm_iounmap @@ -11350,29 +11327,34 @@ EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace EXPORT_SYMBOL vmlinux 0xec2c9f35 blk_mq_tag_to_rq EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec3c85f8 kernel_getsockname EXPORT_SYMBOL vmlinux 0xec430182 unregister_console EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys -EXPORT_SYMBOL vmlinux 0xec60d9c6 pskb_expand_head +EXPORT_SYMBOL vmlinux 0xec680f83 tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0xec74463c sock_rfree EXPORT_SYMBOL vmlinux 0xec7456ba scsi_eh_finish_cmd EXPORT_SYMBOL vmlinux 0xec7e94cb page_mapped +EXPORT_SYMBOL vmlinux 0xec844593 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0xeca73822 lock_page_memcg EXPORT_SYMBOL vmlinux 0xeca7be0a input_set_timestamp EXPORT_SYMBOL vmlinux 0xecac8407 __memcpy EXPORT_SYMBOL vmlinux 0xecb7c35b devm_kvasprintf EXPORT_SYMBOL vmlinux 0xecb7c48a phy_read_mmd +EXPORT_SYMBOL vmlinux 0xecb9fa86 phy_free_interrupt EXPORT_SYMBOL vmlinux 0xecc120c0 pagecache_write_end EXPORT_SYMBOL vmlinux 0xecd27eb3 __put_user_ns EXPORT_SYMBOL vmlinux 0xecdcabd2 copy_user_generic_unrolled EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xece862d4 inet_frags_init EXPORT_SYMBOL vmlinux 0xecf9ca45 follow_down EXPORT_SYMBOL vmlinux 0xecfb1e40 page_pool_put_page_bulk EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed06b732 __netdev_alloc_skb EXPORT_SYMBOL vmlinux 0xed0b58b0 __tracepoint_module_get -EXPORT_SYMBOL vmlinux 0xed168cd5 skb_clone EXPORT_SYMBOL vmlinux 0xed1eeb25 tty_port_close_end EXPORT_SYMBOL vmlinux 0xed238617 __put_cred EXPORT_SYMBOL vmlinux 0xed262522 may_setattr -EXPORT_SYMBOL vmlinux 0xed3474a2 dev_set_threaded EXPORT_SYMBOL vmlinux 0xed34ebbc acpi_any_gpe_status_set EXPORT_SYMBOL vmlinux 0xed4821c0 jbd2__journal_restart EXPORT_SYMBOL vmlinux 0xed5376c5 __printk_wait_on_cpu_lock @@ -11381,25 +11363,28 @@ EXPORT_SYMBOL vmlinux 0xed62c8d4 pci_release_resource EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable EXPORT_SYMBOL vmlinux 0xed668258 user_revoke -EXPORT_SYMBOL vmlinux 0xed68cd71 unregister_nexthop_notifier EXPORT_SYMBOL vmlinux 0xed6e1230 devm_extcon_unregister_notifier_all EXPORT_SYMBOL vmlinux 0xed7f53da dev_uc_flush +EXPORT_SYMBOL vmlinux 0xed81be66 sk_stream_error EXPORT_SYMBOL vmlinux 0xed9bd49c unpin_user_pages -EXPORT_SYMBOL vmlinux 0xeda4e717 skb_pull EXPORT_SYMBOL vmlinux 0xedaa719b __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xedafec87 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xedb039c3 udplite_prot EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp EXPORT_SYMBOL vmlinux 0xedc03953 iounmap -EXPORT_SYMBOL vmlinux 0xedce8e10 mr_table_dump EXPORT_SYMBOL vmlinux 0xedd3e1a4 dput EXPORT_SYMBOL vmlinux 0xeddb3bfa set_create_files_as EXPORT_SYMBOL vmlinux 0xede11ad7 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0xede185e1 phy_get_eee_err EXPORT_SYMBOL vmlinux 0xedee6639 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xedf32b8c tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0xedf63321 skb_copy_datagram_iter EXPORT_SYMBOL vmlinux 0xee0206b2 input_mt_get_slot_by_key -EXPORT_SYMBOL vmlinux 0xee02adae neigh_carrier_down EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable EXPORT_SYMBOL vmlinux 0xee33beb5 __test_set_page_writeback EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode -EXPORT_SYMBOL vmlinux 0xee701466 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xee755b79 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xee7ca953 netpoll_send_skb EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices EXPORT_SYMBOL vmlinux 0xee883b06 __vmalloc_array @@ -11408,41 +11393,47 @@ EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder EXPORT_SYMBOL vmlinux 0xee9749e4 md_bitmap_update_sb EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap -EXPORT_SYMBOL vmlinux 0xeeb0849e register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xeeac85c5 tcp_sync_mss EXPORT_SYMBOL vmlinux 0xeeb35212 get_tsc_ns_now EXPORT_SYMBOL vmlinux 0xeec9a1b4 dma_resv_add_shared_fence EXPORT_SYMBOL vmlinux 0xeecf2b58 end_buffer_write_sync EXPORT_SYMBOL vmlinux 0xeed72f2d amd_iommu_flush_tlb -EXPORT_SYMBOL vmlinux 0xef1e6b87 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xeee45620 sock_create_kern EXPORT_SYMBOL vmlinux 0xef209413 textsearch_register EXPORT_SYMBOL vmlinux 0xef213a1d invalidate_bdev +EXPORT_SYMBOL vmlinux 0xef25c816 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0xef269a93 tcp_poll EXPORT_SYMBOL vmlinux 0xef2ab3ae rproc_set_firmware -EXPORT_SYMBOL vmlinux 0xef2bb6da close_fd_get_file -EXPORT_SYMBOL vmlinux 0xef3551c0 security_socket_socketpair -EXPORT_SYMBOL vmlinux 0xef575301 inet_bind +EXPORT_SYMBOL vmlinux 0xef5747c8 __netif_napi_del +EXPORT_SYMBOL vmlinux 0xef5ad976 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0xef68dfac sock_enable_timestamps EXPORT_SYMBOL vmlinux 0xef697d16 misc_deregister EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override EXPORT_SYMBOL vmlinux 0xef9ca6a2 __bforget +EXPORT_SYMBOL vmlinux 0xef9d4111 security_dentry_init_security EXPORT_SYMBOL vmlinux 0xefa34e00 md_integrity_register EXPORT_SYMBOL vmlinux 0xefa9ff54 tty_port_tty_set EXPORT_SYMBOL vmlinux 0xefabb8b4 release_pages EXPORT_SYMBOL vmlinux 0xefaeca87 proc_remove EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work EXPORT_SYMBOL vmlinux 0xefb80ad6 config_item_get_unless_zero -EXPORT_SYMBOL vmlinux 0xefb86198 __netif_schedule +EXPORT_SYMBOL vmlinux 0xefc00946 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xefc4e6e3 tcf_exts_num_actions EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xeffbc99e skb_csum_hwoffload_help EXPORT_SYMBOL vmlinux 0xeffff9ad pci_resize_resource EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list EXPORT_SYMBOL vmlinux 0xf0125506 phy_attached_info +EXPORT_SYMBOL vmlinux 0xf02025c4 netdev_name_node_alt_create EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout EXPORT_SYMBOL vmlinux 0xf03b86e8 migrate_vma_setup EXPORT_SYMBOL vmlinux 0xf05c32ad rdmsr_on_cpus EXPORT_SYMBOL vmlinux 0xf05db845 mmc_put_card EXPORT_SYMBOL vmlinux 0xf05f6492 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xf06817dd dev_trans_start EXPORT_SYMBOL vmlinux 0xf06bdf8a set_disk_ro -EXPORT_SYMBOL vmlinux 0xf07a5db9 unregister_netdevice_notifier_net -EXPORT_SYMBOL vmlinux 0xf0828a4f xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xf0809e00 nf_register_net_hooks EXPORT_SYMBOL vmlinux 0xf095963e phy_modify_paged EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page EXPORT_SYMBOL vmlinux 0xf0a71b1b revert_creds @@ -11450,6 +11441,7 @@ EXPORT_SYMBOL vmlinux 0xf0d83adb dev_addr_init EXPORT_SYMBOL vmlinux 0xf0db9dcd register_key_type EXPORT_SYMBOL vmlinux 0xf0e5623a t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0xf104633b skb_udp_tunnel_segment EXPORT_SYMBOL vmlinux 0xf115be77 phy_set_sym_pause EXPORT_SYMBOL vmlinux 0xf11b6cf6 send_sig EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early @@ -11460,29 +11452,32 @@ EXPORT_SYMBOL vmlinux 0xf1848ee2 acpi_install_sci_handler EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1984429 xfrm_spd_getinfo EXPORT_SYMBOL vmlinux 0xf1992b35 serio_rescan EXPORT_SYMBOL vmlinux 0xf1a68107 acpi_processor_preregister_performance EXPORT_SYMBOL vmlinux 0xf1c4d86d pci_find_resource +EXPORT_SYMBOL vmlinux 0xf1d90840 tcf_action_dump_1 EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy -EXPORT_SYMBOL vmlinux 0xf1dffec4 xfrm_state_delete EXPORT_SYMBOL vmlinux 0xf1e046cc panic -EXPORT_SYMBOL vmlinux 0xf1e57887 dev_getbyhwaddr_rcu EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun -EXPORT_SYMBOL vmlinux 0xf1eb79e9 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xf1f54e94 __skb_pad +EXPORT_SYMBOL vmlinux 0xf203c2b0 sock_init_data EXPORT_SYMBOL vmlinux 0xf210d707 rio_query_mport EXPORT_SYMBOL vmlinux 0xf22f9489 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0xf2300fb9 netif_tx_wake_queue EXPORT_SYMBOL vmlinux 0xf232d050 __cancel_dirty_page EXPORT_SYMBOL vmlinux 0xf23dc4ab arch_debugfs_dir EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in EXPORT_SYMBOL vmlinux 0xf24b3da8 shrink_dcache_parent EXPORT_SYMBOL vmlinux 0xf2564528 sdev_enable_disk_events -EXPORT_SYMBOL vmlinux 0xf27c77ad sock_edemux EXPORT_SYMBOL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf297f061 tcf_register_action EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r -EXPORT_SYMBOL vmlinux 0xf2aaf105 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xf2ad393e rt6_lookup +EXPORT_SYMBOL vmlinux 0xf2b63caf brioctl_set EXPORT_SYMBOL vmlinux 0xf2b81b64 arch_io_reserve_memtype_wc EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate EXPORT_SYMBOL vmlinux 0xf2ca80b2 pnp_register_card_driver @@ -11494,29 +11489,38 @@ EXPORT_SYMBOL vmlinux 0xf3057f3d vlan_for_each EXPORT_SYMBOL vmlinux 0xf30965ac iosf_mbi_register_pmic_bus_access_notifier EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf339bc1e inet_sk_rebuild_header EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34c95c1 skb_coalesce_rx_frag EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf362eb84 dcb_getapp +EXPORT_SYMBOL vmlinux 0xf36e3d9f udp_skb_destructor EXPORT_SYMBOL vmlinux 0xf36f42a9 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xf37aa466 __skb_checksum_complete EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused -EXPORT_SYMBOL vmlinux 0xf398d4b8 netdev_crit EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3ab50c6 netlbl_calipso_ops_register EXPORT_SYMBOL vmlinux 0xf3af5225 mipi_dsi_dcs_soft_reset EXPORT_SYMBOL vmlinux 0xf3b30a06 utf8version_latest EXPORT_SYMBOL vmlinux 0xf3d2816d page_symlink_inode_operations EXPORT_SYMBOL vmlinux 0xf3d4c651 kthread_blkcg +EXPORT_SYMBOL vmlinux 0xf3d699ce tcp_openreq_init_rwin EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource EXPORT_SYMBOL vmlinux 0xf3e6402e __bitmap_equal EXPORT_SYMBOL vmlinux 0xf3fc8a70 ns_capable_noaudit EXPORT_SYMBOL vmlinux 0xf4102303 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xf4134bf6 xfrm_state_add EXPORT_SYMBOL vmlinux 0xf4136d7a drop_super_exclusive EXPORT_SYMBOL vmlinux 0xf41483fb rproc_get_by_phandle -EXPORT_SYMBOL vmlinux 0xf426f2d2 tcp_v4_send_check EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf44cd56b rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xf46c89a1 rtnl_link_get_net EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const EXPORT_SYMBOL vmlinux 0xf48eddfa simple_write_begin +EXPORT_SYMBOL vmlinux 0xf492893b inet_accept EXPORT_SYMBOL vmlinux 0xf495fec7 fscrypt_ioctl_get_policy EXPORT_SYMBOL vmlinux 0xf4a565fd wrmsr_on_cpus EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced @@ -11524,29 +11528,29 @@ EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area EXPORT_SYMBOL vmlinux 0xf4d0d727 seq_hex_dump EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e0226c ip6_dst_alloc EXPORT_SYMBOL vmlinux 0xf4e2bea0 devm_devfreq_unregister_notifier EXPORT_SYMBOL vmlinux 0xf4e528cb filemap_page_mkwrite EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock EXPORT_SYMBOL vmlinux 0xf5042ca4 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0xf50e0ab6 xfrm6_input_addr EXPORT_SYMBOL vmlinux 0xf51ba369 acpi_dev_hid_uid_match EXPORT_SYMBOL vmlinux 0xf530ac80 mod_zone_page_state EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy -EXPORT_SYMBOL vmlinux 0xf550e8f2 tcf_block_get -EXPORT_SYMBOL vmlinux 0xf5594d95 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xf541c9e6 mr_fill_mroute EXPORT_SYMBOL vmlinux 0xf559b97b file_write_and_wait_range EXPORT_SYMBOL vmlinux 0xf56a6a72 configfs_depend_item -EXPORT_SYMBOL vmlinux 0xf570cb50 inet_pton_with_scope -EXPORT_SYMBOL vmlinux 0xf57ee063 tcp_close -EXPORT_SYMBOL vmlinux 0xf58f0e29 sock_no_accept EXPORT_SYMBOL vmlinux 0xf58fd7d7 dentry_open -EXPORT_SYMBOL vmlinux 0xf5909a32 tcf_qevent_dump EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed EXPORT_SYMBOL vmlinux 0xf599b3e8 make_bad_inode EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc EXPORT_SYMBOL vmlinux 0xf5a5c84c msrs_alloc EXPORT_SYMBOL vmlinux 0xf5abdc4e block_write_end EXPORT_SYMBOL vmlinux 0xf5add0ae ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf5e11d6e tcp_ld_RTO_revert EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5ed9d23 napi_disable +EXPORT_SYMBOL vmlinux 0xf5fd8dc5 tcf_qevent_init EXPORT_SYMBOL vmlinux 0xf60ab926 acpi_get_event_status EXPORT_SYMBOL vmlinux 0xf6153eb6 iov_iter_alignment EXPORT_SYMBOL vmlinux 0xf61c4d3e serio_close @@ -11555,43 +11559,42 @@ EXPORT_SYMBOL vmlinux 0xf63b4206 disk_start_io_acct EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf66876a8 dev_load EXPORT_SYMBOL vmlinux 0xf6763d90 blk_put_request +EXPORT_SYMBOL vmlinux 0xf6793f0e mr_mfc_find_any_parent EXPORT_SYMBOL vmlinux 0xf67bb33c tty_register_device EXPORT_SYMBOL vmlinux 0xf67ee54e simple_transaction_read EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier -EXPORT_SYMBOL vmlinux 0xf6975090 inet_shutdown EXPORT_SYMBOL vmlinux 0xf69c0ad0 fs_param_is_fd EXPORT_SYMBOL vmlinux 0xf69e1a85 agp_copy_info +EXPORT_SYMBOL vmlinux 0xf6b7958c icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0xf6bb1328 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xf6c0a854 arp_tbl EXPORT_SYMBOL vmlinux 0xf6d2a13f pps_lookup_dev EXPORT_SYMBOL vmlinux 0xf6d3db5e dquot_initialize EXPORT_SYMBOL vmlinux 0xf6d3f09c jbd2_journal_init_jbd_inode EXPORT_SYMBOL vmlinux 0xf6e9ecea dm_register_target EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit -EXPORT_SYMBOL vmlinux 0xf6edf5d7 km_query EXPORT_SYMBOL vmlinux 0xf6f1852c bh_uptodate_or_lock -EXPORT_SYMBOL vmlinux 0xf6f3660c sock_set_reuseport EXPORT_SYMBOL vmlinux 0xf6f6421b acpi_processor_notify_smm EXPORT_SYMBOL vmlinux 0xf6f7dd6c rproc_add EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor -EXPORT_SYMBOL vmlinux 0xf70eea71 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0xf7107033 nf_setsockopt EXPORT_SYMBOL vmlinux 0xf71fabb5 mipi_dsi_dcs_set_pixel_format EXPORT_SYMBOL vmlinux 0xf721ba28 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xf7327cfb xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0xf73511f1 dev_activate EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier EXPORT_SYMBOL vmlinux 0xf73df868 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xf7439dae poll_freewait EXPORT_SYMBOL vmlinux 0xf74fee86 devm_devfreq_register_opp_notifier EXPORT_SYMBOL vmlinux 0xf757d730 param_ops_uint -EXPORT_SYMBOL vmlinux 0xf7613703 nf_log_trace -EXPORT_SYMBOL vmlinux 0xf765801a sockfd_lookup -EXPORT_SYMBOL vmlinux 0xf7695556 dev_set_mtu EXPORT_SYMBOL vmlinux 0xf7721833 serio_reconnect EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check -EXPORT_SYMBOL vmlinux 0xf78dc5b0 dev_set_mac_address_user EXPORT_SYMBOL vmlinux 0xf796e2ad sget_fc -EXPORT_SYMBOL vmlinux 0xf79add0e rtnl_create_link EXPORT_SYMBOL vmlinux 0xf79ca3bb acpi_remove_gpe_block -EXPORT_SYMBOL vmlinux 0xf7a79dd0 tc_setup_cb_add -EXPORT_SYMBOL vmlinux 0xf7b2d0d2 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0xf7b4902e netdev_update_features EXPORT_SYMBOL vmlinux 0xf7d31de9 kstrtoul_from_user EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table EXPORT_SYMBOL vmlinux 0xf7ef9a79 iosf_mbi_punit_release @@ -11606,54 +11609,55 @@ EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev EXPORT_SYMBOL vmlinux 0xf8330546 fs_context_for_submount -EXPORT_SYMBOL vmlinux 0xf83780e0 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xf836d0bf tc_setup_cb_reoffload EXPORT_SYMBOL vmlinux 0xf848bfa2 wait_for_key_construction EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key EXPORT_SYMBOL vmlinux 0xf859896f scsi_target_quiesce EXPORT_SYMBOL vmlinux 0xf85d7d6d mipi_dsi_dcs_enter_sleep_mode EXPORT_SYMBOL vmlinux 0xf871fd96 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xf877d5f5 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xf87d820b tcp_v4_mtu_reduced EXPORT_SYMBOL vmlinux 0xf87ebe91 pci_clear_mwi EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table EXPORT_SYMBOL vmlinux 0xf8b40dd3 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xf8b6d007 nexthop_res_grp_activity_update EXPORT_SYMBOL vmlinux 0xf8bf8e22 ZSTD_DDictWorkspaceBound +EXPORT_SYMBOL vmlinux 0xf8cd1b71 xfrm_state_free EXPORT_SYMBOL vmlinux 0xf8ceccc6 nd_region_to_nstype EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 -EXPORT_SYMBOL vmlinux 0xf8d9fcb3 dev_pre_changeaddr_notify EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var EXPORT_SYMBOL vmlinux 0xf906c78f remap_pfn_range EXPORT_SYMBOL vmlinux 0xf90a1e85 __x86_indirect_thunk_r8 EXPORT_SYMBOL vmlinux 0xf90d9d6b vga_switcheroo_unregister_client EXPORT_SYMBOL vmlinux 0xf9298db7 devm_clk_hw_register_clkdev -EXPORT_SYMBOL vmlinux 0xf938fc5e netlink_kernel_release EXPORT_SYMBOL vmlinux 0xf93ce196 max8998_bulk_write EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt EXPORT_SYMBOL vmlinux 0xf9418c06 param_ops_int -EXPORT_SYMBOL vmlinux 0xf946766a __lock_sock_fast -EXPORT_SYMBOL vmlinux 0xf94809b6 tcf_get_next_chain -EXPORT_SYMBOL vmlinux 0xf9514ac1 unix_destruct_scm -EXPORT_SYMBOL vmlinux 0xf95ed518 __alloc_skb +EXPORT_SYMBOL vmlinux 0xf95461d8 netpoll_setup EXPORT_SYMBOL vmlinux 0xf971cea8 utf8len EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write EXPORT_SYMBOL vmlinux 0xf9764dff update_devfreq EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep -EXPORT_SYMBOL vmlinux 0xf9b1955b in_dev_finish_destroy -EXPORT_SYMBOL vmlinux 0xf9b2f717 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xf9a6924c ip_queue_xmit EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat EXPORT_SYMBOL vmlinux 0xf9ca2eb4 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xf9dfcbc0 sock_no_shutdown EXPORT_SYMBOL vmlinux 0xf9e0a37a genphy_write_mmd_unsupported EXPORT_SYMBOL vmlinux 0xf9fd2771 dma_free_attrs EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end EXPORT_SYMBOL vmlinux 0xfa0925ca i2c_put_adapter EXPORT_SYMBOL vmlinux 0xfa1b8941 pm860x_page_reg_write EXPORT_SYMBOL vmlinux 0xfa1cc3ac cdev_device_del +EXPORT_SYMBOL vmlinux 0xfa220c52 ipv6_dev_find EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node EXPORT_SYMBOL vmlinux 0xfa2e5f32 i2c_smbus_pec EXPORT_SYMBOL vmlinux 0xfa35312b d_invalidate EXPORT_SYMBOL vmlinux 0xfa3cc3a5 jbd2_journal_free_reserved EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier EXPORT_SYMBOL vmlinux 0xfa643598 file_path +EXPORT_SYMBOL vmlinux 0xfa6c5bb8 mroute6_is_socket EXPORT_SYMBOL vmlinux 0xfa80c4d8 ps2_end_command -EXPORT_SYMBOL vmlinux 0xfa81c214 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xfa85668b security_unix_may_send EXPORT_SYMBOL vmlinux 0xfa873ad0 prandom_seed EXPORT_SYMBOL vmlinux 0xfa888b7b crypto_sha512_update EXPORT_SYMBOL vmlinux 0xfa8c0160 d_splice_alias @@ -11669,7 +11673,7 @@ EXPORT_SYMBOL vmlinux 0xfadf32d0 free_inode_nonrcu EXPORT_SYMBOL vmlinux 0xfaf55fc3 param_get_ushort EXPORT_SYMBOL vmlinux 0xfaf7f8f2 blkdev_issue_flush -EXPORT_SYMBOL vmlinux 0xfb10f462 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0xfb12267b netdev_upper_dev_unlink EXPORT_SYMBOL vmlinux 0xfb1b5b8f nd_device_unregister EXPORT_SYMBOL vmlinux 0xfb1cd63f __inode_add_bytes EXPORT_SYMBOL vmlinux 0xfb203847 pci_free_irq @@ -11678,80 +11682,75 @@ EXPORT_SYMBOL vmlinux 0xfb34bbcb fifo_create_dflt EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf EXPORT_SYMBOL vmlinux 0xfb406035 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xfb4c7ac7 inet_csk_reqsk_queue_drop_and_put EXPORT_SYMBOL vmlinux 0xfb4ce158 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0xfb531c01 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xfb56bf9c __xfrm_policy_check EXPORT_SYMBOL vmlinux 0xfb578fc5 memset EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending -EXPORT_SYMBOL vmlinux 0xfb71175c inet6_offloads EXPORT_SYMBOL vmlinux 0xfb796754 __tracepoint_dma_fence_emit -EXPORT_SYMBOL vmlinux 0xfb838314 netdev_master_upper_dev_link -EXPORT_SYMBOL vmlinux 0xfb918c3a sock_wfree +EXPORT_SYMBOL vmlinux 0xfb9e1e5b sk_stream_wait_connect EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock EXPORT_SYMBOL vmlinux 0xfbab1bb1 ioread8_rep EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense -EXPORT_SYMBOL vmlinux 0xfbadb1fd skb_queue_tail EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout EXPORT_SYMBOL vmlinux 0xfbcb1119 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0xfbdb8c39 inet_getname EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index EXPORT_SYMBOL vmlinux 0xfbf4e532 device_match_acpi_dev -EXPORT_SYMBOL vmlinux 0xfc023802 xp_set_rxq_info -EXPORT_SYMBOL vmlinux 0xfc077739 consume_skb -EXPORT_SYMBOL vmlinux 0xfc1edd39 skb_eth_pop +EXPORT_SYMBOL vmlinux 0xfc175ac2 ip6_fraglist_prepare EXPORT_SYMBOL vmlinux 0xfc268268 bio_reset EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit EXPORT_SYMBOL vmlinux 0xfc34149f fwnode_graph_parse_endpoint EXPORT_SYMBOL vmlinux 0xfc399557 utf8_load EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap EXPORT_SYMBOL vmlinux 0xfc3d53cb __put_user_nocheck_1 -EXPORT_SYMBOL vmlinux 0xfc3f6de8 __sock_queue_rcv_skb EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read EXPORT_SYMBOL vmlinux 0xfc446e5a forget_all_cached_acls EXPORT_SYMBOL vmlinux 0xfc7721ef mdiobus_get_phy -EXPORT_SYMBOL vmlinux 0xfc8cf0a0 fd_install +EXPORT_SYMBOL vmlinux 0xfc83d673 netdev_sk_get_lowest_dev EXPORT_SYMBOL vmlinux 0xfc94456d send_sig_mceerr -EXPORT_SYMBOL vmlinux 0xfc9eae31 rawv6_mh_filter_unregister EXPORT_SYMBOL vmlinux 0xfcb49325 fput EXPORT_SYMBOL vmlinux 0xfcbf79c8 unlock_page +EXPORT_SYMBOL vmlinux 0xfcc23c56 netdev_printk EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check EXPORT_SYMBOL vmlinux 0xfcd35fa2 iov_iter_get_pages -EXPORT_SYMBOL vmlinux 0xfcd797ec tcp_v4_connect EXPORT_SYMBOL vmlinux 0xfce31937 simple_release_fs EXPORT_SYMBOL vmlinux 0xfce5aee2 pci_request_region EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq EXPORT_SYMBOL vmlinux 0xfcfa048c vfs_get_super +EXPORT_SYMBOL vmlinux 0xfd06b88d phy_stop EXPORT_SYMBOL vmlinux 0xfd08adeb dquot_file_open +EXPORT_SYMBOL vmlinux 0xfd3ef50e ip_mc_leave_group EXPORT_SYMBOL vmlinux 0xfd4ba06c to_ndd EXPORT_SYMBOL vmlinux 0xfd5185f2 input_allocate_device -EXPORT_SYMBOL vmlinux 0xfd58f876 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0xfd72db5b skb_copy_and_hash_datagram_iter EXPORT_SYMBOL vmlinux 0xfd73a8e7 zpool_register_driver -EXPORT_SYMBOL vmlinux 0xfd7c5b72 __ip4_datagram_connect EXPORT_SYMBOL vmlinux 0xfd93ee35 ioremap_wc EXPORT_SYMBOL vmlinux 0xfda5d9a3 vga_switcheroo_register_client EXPORT_SYMBOL vmlinux 0xfda9581f prandom_u32 EXPORT_SYMBOL vmlinux 0xfdb34f99 vfs_clone_file_range EXPORT_SYMBOL vmlinux 0xfdb6576f acpi_set_debugger_thread_id -EXPORT_SYMBOL vmlinux 0xfdba40f5 io_uring_get_socket EXPORT_SYMBOL vmlinux 0xfdc5317a dma_ops EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display EXPORT_SYMBOL vmlinux 0xfdd4216d pcibios_align_resource -EXPORT_SYMBOL vmlinux 0xfdd59abf tcp_sock_set_keepidle EXPORT_SYMBOL vmlinux 0xfddc7f7a mmc_card_alternative_gpt_sector -EXPORT_SYMBOL vmlinux 0xfde02f0b unlock_page_memcg EXPORT_SYMBOL vmlinux 0xfde1cc5a __module_get EXPORT_SYMBOL vmlinux 0xfdfb792f amd_iommu_pc_supported EXPORT_SYMBOL vmlinux 0xfe01097a serial8250_do_set_termios EXPORT_SYMBOL vmlinux 0xfe018a78 phy_get_c45_ids EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier EXPORT_SYMBOL vmlinux 0xfe052363 ioread64_lo_hi -EXPORT_SYMBOL vmlinux 0xfe144ecb xfrm6_rcv EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe35b206 sock_queue_err_skb EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz -EXPORT_SYMBOL vmlinux 0xfe66bdbd ip_mc_join_group EXPORT_SYMBOL vmlinux 0xfe69957c agp_allocate_memory EXPORT_SYMBOL vmlinux 0xfe6b1621 get_cached_acl +EXPORT_SYMBOL vmlinux 0xfe7a15d3 sk_stop_timer_sync EXPORT_SYMBOL vmlinux 0xfe8c0218 uart_unregister_driver EXPORT_SYMBOL vmlinux 0xfe8c61f0 _raw_read_lock EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer @@ -11759,31 +11758,30 @@ EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 EXPORT_SYMBOL vmlinux 0xfe9fcba1 pci_write_config_dword EXPORT_SYMBOL vmlinux 0xfea0019c simple_dir_inode_operations -EXPORT_SYMBOL vmlinux 0xfea984e4 reuseport_alloc EXPORT_SYMBOL vmlinux 0xfeaad0b2 ptp_clock_event +EXPORT_SYMBOL vmlinux 0xfeaf52ed tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xfeb4fb8b skb_copy_and_csum_bits EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info -EXPORT_SYMBOL vmlinux 0xfed6459f neigh_sysctl_unregister -EXPORT_SYMBOL vmlinux 0xfeda8c89 rt_dst_clone +EXPORT_SYMBOL vmlinux 0xfecd7dba ip_mc_join_group EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfeebd164 sock_i_uid EXPORT_SYMBOL vmlinux 0xfef216eb _raw_spin_trylock EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start EXPORT_SYMBOL vmlinux 0xff282521 rfkill_register -EXPORT_SYMBOL vmlinux 0xff3b74a8 icmpv6_ndo_send -EXPORT_SYMBOL vmlinux 0xff3eba47 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xff2a1467 __dev_set_mtu EXPORT_SYMBOL vmlinux 0xff52848a __SCT__tp_func_kmem_cache_free EXPORT_SYMBOL vmlinux 0xff592b41 md_bitmap_free EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap EXPORT_SYMBOL vmlinux 0xff6cc07c dev_mc_init EXPORT_SYMBOL vmlinux 0xff75389d vfs_mkdir -EXPORT_SYMBOL vmlinux 0xff7c5e1c tcp_timewait_state_process EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead EXPORT_SYMBOL vmlinux 0xff8ba4e9 flow_block_cb_priv -EXPORT_SYMBOL vmlinux 0xff8e59a2 tcp_sock_set_syncnt -EXPORT_SYMBOL vmlinux 0xff91979a inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xff8c709a xfrm_register_type_offload EXPORT_SYMBOL vmlinux 0xff92550d scsi_get_host_dev EXPORT_SYMBOL vmlinux 0xff97cda6 genphy_loopback +EXPORT_SYMBOL vmlinux 0xffadac3d tcf_block_put EXPORT_SYMBOL vmlinux 0xffae3f55 set_bdi_congested EXPORT_SYMBOL vmlinux 0xffaeb22e _copy_from_iter_nocache EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free @@ -11791,7 +11789,9 @@ EXPORT_SYMBOL vmlinux 0xffc808bc keyring_alloc EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt EXPORT_SYMBOL vmlinux 0xffcd7f49 iosf_mbi_punit_acquire +EXPORT_SYMBOL vmlinux 0xffd16e18 udp_sk_rx_dst_set EXPORT_SYMBOL vmlinux 0xffd7e915 vga_put +EXPORT_SYMBOL vmlinux 0xffe1213a __alloc_skb EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn EXPORT_SYMBOL vmlinux 0xfff5b680 input_event EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x2c8b5dbf camellia_ecb_enc_16way @@ -12184,24 +12184,24 @@ EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfdec4f66 kvm_vcpu_yield_to EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe67d13c kvm_apic_match_dest EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe8d00bc kvm_is_visible_gfn -EXPORT_SYMBOL_GPL crypto/af_alg 0x04de7786 af_alg_register_type -EXPORT_SYMBOL_GPL crypto/af_alg 0x0d21d932 af_alg_release_parent -EXPORT_SYMBOL_GPL crypto/af_alg 0x1b0bb2a5 af_alg_sendpage -EXPORT_SYMBOL_GPL crypto/af_alg 0x4511a883 af_alg_poll -EXPORT_SYMBOL_GPL crypto/af_alg 0x47e2818b af_alg_free_sg -EXPORT_SYMBOL_GPL crypto/af_alg 0x5070539a af_alg_count_tsgl -EXPORT_SYMBOL_GPL crypto/af_alg 0x5eb3131d af_alg_accept -EXPORT_SYMBOL_GPL crypto/af_alg 0x63d8107d af_alg_free_resources -EXPORT_SYMBOL_GPL crypto/af_alg 0x9606ba99 af_alg_release -EXPORT_SYMBOL_GPL crypto/af_alg 0xa28fe8ed af_alg_unregister_type -EXPORT_SYMBOL_GPL crypto/af_alg 0xa2fbfaa9 af_alg_make_sg -EXPORT_SYMBOL_GPL crypto/af_alg 0xa8bb71a4 af_alg_get_rsgl -EXPORT_SYMBOL_GPL crypto/af_alg 0xb2fabb41 af_alg_wait_for_data -EXPORT_SYMBOL_GPL crypto/af_alg 0xba44c391 af_alg_pull_tsgl -EXPORT_SYMBOL_GPL crypto/af_alg 0xe19b1b60 af_alg_wmem_wakeup -EXPORT_SYMBOL_GPL crypto/af_alg 0xea2b9461 af_alg_sendmsg -EXPORT_SYMBOL_GPL crypto/af_alg 0xf00744d0 af_alg_async_cb -EXPORT_SYMBOL_GPL crypto/af_alg 0xfae3acfe af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x14d34a20 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x236aa263 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x40d197ec af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x40ebeb12 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x43369907 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x4afc8314 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x5ac0a75d af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x62d2ae50 af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x71e48a5a af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x770e903e af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x78754218 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x7bcb4bc8 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x9a7d8faf af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xab39e1bc af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xc4cfbca8 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xcd814ebb af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xd2ce5875 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0xda27964e af_alg_wmem_wakeup EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x7430f97c tpm_key_create EXPORT_SYMBOL_GPL crypto/asymmetric_keys/asym_tpm 0x9a7242c7 asym_tpm_subtype EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x61d12e71 async_memcpy @@ -12437,87 +12437,87 @@ EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xef089e02 bcma_core_set_clockmode EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xef14f7bb bcma_host_pci_up EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf9dc6015 bcma_chipco_b_mii_write -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x002ab4c9 btbcm_finalize -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x1ada1245 btbcm_setup_apple -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x457ada40 btbcm_setup_patchram -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x6c3450a0 btbcm_write_pcm_int_params -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x71e61cff btbcm_set_bdaddr -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb9c3810e btbcm_read_pcm_int_params -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xec92e843 btbcm_check_bdaddr -EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xf8f43050 btbcm_initialize -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x03a09b9c btintel_set_bdaddr -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x0571a66c btintel_secure_send_result -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x136a3b3a btintel_set_event_mask_mfg -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2aed2bd7 btintel_load_ddc_config -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x344fe745 btintel_check_bdaddr -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x4e1ab657 btintel_read_version -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x53344bd2 btintel_exit_mfg -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5f401f96 btintel_enter_mfg -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6b09f0e1 btintel_download_firmware -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x72528ad5 btintel_bootup -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbbeacdc2 btintel_send_intel_reset -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xcaeb7884 btintel_read_boot_params -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xcb395df5 btintel_configure_setup -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd1db6bc1 btintel_regmap_init -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf38ea4b3 btintel_version_info -EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xfa990cbc btintel_set_diag -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x001b473e btmrvl_check_evtpkt -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x262c4efb btmrvl_send_module_cfg_cmd -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3b768bbe btmrvl_remove_card -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x681aae71 btmrvl_enable_hs -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7096cc6f btmrvl_add_card -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x773de91a btmrvl_interrupt -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x791aa38f btmrvl_enable_ps -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa067a26e btmrvl_process_event -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb8e3418f btmrvl_register_hdev -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xef6ac403 btmrvl_send_hscfg_cmd -EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf0cae16f btmrvl_pscan_window_reporting -EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7453743c qca_uart_setup -EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x88cd0651 qca_send_pre_shutdown_cmd -EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x897f9dbc qca_set_bdaddr -EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xaf245144 qca_set_bdaddr_rome -EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xc0c459f0 qca_read_soc_version -EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x2ff6ca7c btrtl_initialize -EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x41e52a23 btrtl_shutdown_realtek -EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x72e494a8 btrtl_get_uart_settings -EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x9bdab7d5 btrtl_download_firmware -EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xac3adbce btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x092e342f btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x3a59e133 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x50557245 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x561ad568 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x563bc8b4 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x798a9275 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x9d386f98 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xbe88e3c1 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x31c590a2 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x355f2056 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3876ae29 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x46961e06 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5352ba8b btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x674660fc btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6f9bb237 btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x70b882a5 btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x71216339 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x75497ed0 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x97304681 btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc416a0a3 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xcbd543b0 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe0351477 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe50d6b7d btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf4913c56 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x0bbb4c16 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x11d2a94f btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6721220d btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x798acd80 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8d036731 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8e0b943a btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc13fca48 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc77b99d9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xcfff23f9 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd81a4a67 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf5873df5 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x1121bc7f qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x6ea94f49 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7d763970 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xb81ea015 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xde6ce310 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x107eed6f btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x81cf49bf btrtl_download_firmware EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free -EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xdf64b352 btrtl_setup_realtek -EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x0ff89955 h4_recv_buf -EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x1f558035 hci_uart_unregister_device -EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x3c72884b hci_uart_register_device -EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x94a346aa hci_uart_tx_wakeup -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x1109125c mhi_force_rddm_mode -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x188f749a mhi_pm_resume -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x270b5f0d mhi_get_free_desc_count -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x289186a8 mhi_soc_reset -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x2d0bf5d4 mhi_get_exec_env -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x32f2d6a2 mhi_notify -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x3c78e516 mhi_queue_skb -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x4b559d89 mhi_driver_unregister -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x55a0f09e mhi_queue_dma -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x5ac01fcc mhi_free_controller -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x61495a88 mhi_unprepare_after_power_down -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x69ba6623 mhi_poll -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x6f52b69a mhi_register_controller -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x71068cdb mhi_unregister_controller -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x7eae0a4f mhi_device_get -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x820f5a16 mhi_prepare_for_transfer -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0x9f23b3a9 mhi_power_down -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa4ce3789 mhi_queue_is_full -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa64b1e7e mhi_pm_suspend -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa6e8741c mhi_unprepare_from_transfer -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xa830d9e5 mhi_download_rddm_image -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xaa33395b mhi_get_mhi_state -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xae2da161 mhi_pm_resume_force -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xb66bd04d mhi_queue_buf -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xbce29a0f mhi_alloc_controller -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xdda86715 mhi_device_get_sync -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xdea23aaa __mhi_driver_register -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xe4421708 mhi_device_put -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xe460235c mhi_prepare_for_power_up -EXPORT_SYMBOL_GPL drivers/bus/mhi/core/mhi 0xe48e312d mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xc72c9b3e btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xd6209d37 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xd72f7ba9 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xfae989b3 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x1c3f27d3 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x9328477c hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xce40c08c hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xd6506db0 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1109125c mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x188f749a mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x270b5f0d mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x289186a8 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2d0bf5d4 mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x32f2d6a2 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3c78e516 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x4b559d89 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x55a0f09e mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x5ac01fcc mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x61495a88 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x69ba6623 mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6f52b69a mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x71068cdb mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7eae0a4f mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x820f5a16 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x9f23b3a9 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa4ce3789 mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa64b1e7e mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa6e8741c mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa830d9e5 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xaa33395b mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xae2da161 mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xb66bd04d mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xbce29a0f mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xdda86715 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xdea23aaa __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe4421708 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe460235c mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe48e312d mhi_async_power_up EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0015d0e4 comedi_load_firmware EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x04b1c756 comedi_nsamples_left EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown @@ -13319,18 +13319,18 @@ EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0x9d5bb034 zpa2326_isreg_writeable EXPORT_SYMBOL_GPL drivers/iio/pressure/zpa2326 0xa92d0e8f zpa2326_isreg_precious EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x02356bb4 rtrs_iu_post_rdma_write_imm -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x1fe5a86e rtrs_send_hb_ack -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x2763ec5c rtrs_post_recv_empty -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x2c6243ac rtrs_iu_post_send -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4230fc0c rtrs_iu_post_recv -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x68f3ba05 rtrs_cq_qp_destroy -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x849aa4cd rtrs_start_hb -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9b27dfb7 rtrs_iu_free -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd3fda9f8 rtrs_stop_hb -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd8d3dc27 rtrs_cq_qp_create -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf68a9c13 rtrs_init_hb -EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xfe7d2427 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x00665d69 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x28561bd4 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x533c458f rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x927f46b1 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb1ef9843 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xbe320e89 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc9e670db rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xcb87665f rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xce78dec5 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd383cda9 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd46ac1b5 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd526352b rtrs_cq_qp_create EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x3a3b2299 input_ff_create_memless EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xe3cb7433 matrix_keypad_parse_properties EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x0ea903b9 rmi_2d_sensor_rel_report @@ -13949,25 +13949,25 @@ EXPORT_SYMBOL_GPL drivers/media/pci/intel/ipu6/intel-ipu6 0xed9ec43f ipu_trace_uninit EXPORT_SYMBOL_GPL drivers/media/pci/intel/ipu6/intel-ipu6 0xf19708cf ipu_send_put_token EXPORT_SYMBOL_GPL drivers/media/pci/intel/ipu6/intel-ipu6 0xf4be7a05 ipu_recv_get_token -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1104fc48 mantis_frontend_soft_reset -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x15d90e6b mantis_uart_init -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2a133afe mantis_stream_control -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3231fa5d mantis_input_exit -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3edf49d4 mantis_pci_exit -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x55d93b06 mantis_ca_exit -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x68a6a83a mantis_uart_exit -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x75894bd8 mantis_frontend_power -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x78dc4ff2 mantis_gpio_set_bits -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8019939f mantis_dvb_init -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x83f94232 mantis_i2c_init -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x902238c4 mantis_ca_init -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9cfb9b13 mantis_dvb_exit -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9f1b4abe mantis_i2c_exit -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa28d0fb9 mantis_dma_init -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbe6f0735 mantis_dma_exit -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc46a3dd2 mantis_get_mac -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd46c4f86 mantis_pci_init -EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xfa23c52d mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x11fe9a20 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2312f251 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2a041675 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2d740516 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x35acb947 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x455532c0 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x471d5a63 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x63ef1760 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x71adfc5a mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x73075a14 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x81db746e mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x89f954e4 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xb3371c1f mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xccfd29f5 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xce3b4749 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd738b42d mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xdf516de9 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe9f7ef33 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xfbbc58dc mantis_input_exit EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x14ecc057 saa7134_ts_queue_setup EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1cd5bc09 saa7134_ts_buffer_init EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2a621711 saa7134_stop_streaming @@ -13987,13 +13987,13 @@ EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd702e4f1 saa7134_ts_stop_streaming EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe6c79a61 saa7134_enum_input EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf85f6e4e saa7134_ts_buffer_prepare -EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x1a9c201d ttpci_budget_debiread -EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x4bd0bd30 ttpci_budget_deinit -EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x5dd8aae6 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x34ac6fcf ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x5e23ff3a ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x62261c44 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x778af236 ttpci_budget_deinit EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xb44239a0 ttpci_budget_set_video_port -EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xd20d0203 ttpci_budget_init -EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xd77af1bf ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xc7a3aecb ttpci_budget_init EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xe4aeb725 ttpci_budget_irq10_handler EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0x6134b342 mccic_resume EXPORT_SYMBOL_GPL drivers/media/platform/marvell-ccic/mcam-core 0xb859fa05 mccic_register @@ -14063,8 +14063,8 @@ EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd4efe27b cx231xx_dev_init EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe40b7c91 cx231xx_enable_i2c_port_3 EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xfb411fad cx231xx_send_gpio_cmd -EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0xaa999f39 mxl111sf_demod_attach -EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xf9f69470 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x23297532 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xeab23078 mxl111sf_tuner_attach EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x02bed6ba em28xx_write_reg EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x34b62b10 em28xx_read_reg EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x3c9fe40c em28xx_set_mode @@ -14854,102 +14854,102 @@ EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa11fd0b5 mux_control_states EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xabb22d3b devm_mux_chip_register EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xaed12e60 mux_chip_register -EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x9ce637a7 arcnet_led_event -EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x9e8f8275 devm_arcnet_led_init -EXPORT_SYMBOL_GPL drivers/net/bareudp 0xcf35502a bareudp_dev_create -EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x0bcfbf09 c_can_power_down -EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x16801d04 unregister_c_can_dev -EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x52b6d830 free_c_can_dev -EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xaff954c3 c_can_power_up -EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xbaccfd67 register_c_can_dev -EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xbea0a2cd alloc_c_can_dev -EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x787218d4 free_cc770dev -EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x97862ec5 alloc_cc770dev -EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xae873a83 unregister_cc770dev -EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb8ea8ae8 register_cc770dev -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x086dbc1f safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x27be3698 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xa537944e devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/bareudp 0xf304ea3b bareudp_dev_create +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x2b01c279 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x61904963 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x89c96c6d c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x8d51d2a7 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xbfeb5aa7 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xf1318373 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x51eb073d free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x87b590be alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xc907ed4e register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xf2b9bb34 unregister_cc770dev EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x15fa7da5 can_rx_offload_threaded_irq_finish -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x165d797f alloc_canfd_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1773460d can_rx_offload_del -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x178de11e can_rx_offload_add_timestamp -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1887eb3a can_bus_off -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1ec38695 can_rx_offload_get_echo_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x29d37c51 close_candev -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x32594c2f unregister_candev -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x405ead7a can_skb_get_frame_len -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4f492c79 can_rx_offload_add_fifo -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x57f44efe can_change_state -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5ebfa31d can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1230bfc4 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1c6c29b2 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1ee5ac06 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2fba4f12 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3097e632 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x40a43eea can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x418f9150 can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x43d4ebcc alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4ab50f6c can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4f60d4a6 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5b6a2465 can_rx_offload_queue_tail EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x66ce6cfc alloc_can_err_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7139460f can_put_echo_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x719cf004 can_rx_offload_irq_offload_timestamp -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7522263d can_change_mtu -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8e15cd56 can_rx_offload_queue_sorted -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa442d9e2 can_rx_offload_add_manual -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbfc998fd alloc_candev_mqs -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd1cb1990 can_dropped_invalid_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd2977511 alloc_can_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xdec0a0c7 free_candev -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe22a27c5 open_candev -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xeb7d0f05 can_rx_offload_irq_offload_fifo -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xed8125e1 can_get_echo_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xeff94b68 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6bc404af register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x70452b04 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8ac1609d can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa01b4ec2 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa3cbc8c5 can_dropped_invalid_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xaafc796c can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb5cdc00b can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb8e7c959 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb99da1bb close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb9c70c2e can_rx_offload_queue_sorted +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc074517e unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc3aeb409 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc3de8c6d can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd1d53520 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd8d66ee9 can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd9eb33e5 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xeb92b50b alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xedb3cc9f can_rx_offload_irq_offload_timestamp EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf12d9387 can_fd_dlc2len -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfade0384 register_candev -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfcdceb50 can_free_echo_skb -EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfea33324 can_rx_offload_irq_finish -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x03fbcda4 m_can_class_suspend -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x3ee333ae m_can_class_register -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x675f3fbe m_can_init_ram -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fd4c61b m_can_class_unregister -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x8d4d7ad8 m_can_class_resume -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x933ef17b m_can_class_get_clocks -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x9c1f9299 m_can_class_free_dev -EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xa639db98 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfb687191 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1b4ad9ac m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x4a9608c8 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x4f8441fd m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x6186afe0 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x9428ed8c m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xa7edd28f m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd8ae8253 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xfbe55915 m_can_init_ram EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt -EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5b554988 alloc_sja1000dev -EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x9b4bacb1 register_sja1000dev -EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd623bb3c unregister_sja1000dev -EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf6b9e7be free_sja1000dev -EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x14cbf085 lan9303_indirect_phy_ops -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x00064fc7 ksz_phy_write16 -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0828a71d ksz_enable_port -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x19d1f08c ksz_init_mib_timer -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2191ff98 ksz_port_mdb_add -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3804ad2c ksz_port_bridge_leave -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x45745470 ksz_port_fast_age -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4d45e66f ksz_port_mdb_del -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5f3df541 ksz_update_port_member -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x654b90df ksz_get_ethtool_stats -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6ab4ede0 ksz_port_fdb_dump -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6d8a95f5 ksz_mac_link_down -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc95580a1 ksz_phy_read16 -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe1b35cb5 ksz_port_bridge_join -EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf02a3161 ksz_sset_count -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x09a24f13 realtek_smi_write_reg_noack -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x0da2b226 rtl8366_vlan_add -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x1083464d rtl8366_enable_vlan -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x256710db rtl8366_set_pvid -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x3a39b6ff rtl8366_reset_vlan -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x4185fd1b rtl8366_set_vlan -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x445ec1c5 rtl8366_get_sset_count -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x7ae4bf39 rtl8366_mc_is_used -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x7b01d4be rtl8366_vlan_filtering -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xa393130a rtl8366_enable_vlan4k -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xcc333dba rtl8366_init_vlan -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xd80d1cf7 rtl8366rb_variant -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xde53723f rtl8366_get_ethtool_stats -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xe4ee62b1 rtl8366_get_strings -EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xf81fa783 rtl8366_vlan_del -EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x45699095 i40e_client_device_unregister -EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x73f14214 i40e_client_device_register -EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x17a1a2a6 ice_del_rdma_qset -EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x1b7d6b96 ice_rdma_request_reset -EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x1e869e95 ice_rdma_update_vsi_filter -EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x6ccc2aec ice_add_rdma_qset -EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x907a9dfe ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xa34063c9 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb0558475 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xbb47670d alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf4983dca register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0xf3973d55 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x05442cd5 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1035848f ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1dc4f69a ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x44a3d742 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4e0451cd ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4efd1a06 ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x57a4f467 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5a1ef402 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5f80a08f ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xdd7a8724 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe1b16933 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe23ae116 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf0e656ef ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf1dfbf94 ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x0839de6a rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x0be56541 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x385c2e2d rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x3cd273bb realtek_smi_write_reg_noack +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x5c4926ac rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x758ce406 rtl8366_init_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x85dbb44e rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x8879c31d rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0x9a4183cb rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xaee82352 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xb002f47c rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xda01aa4a rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xdb45b0ca rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xef79e7b3 rtl8366_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek-smi 0xf98fbe60 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x141d31e6 i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x20b5a7cf i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x0c5c4b5f ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x0d2cdf67 ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x587a36f9 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x5e3a4a4e ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xa91c233b ice_rdma_update_vsi_filter EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00519687 mlx4_pd_free EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x03bb0f6f mlx4_unregister_vlan EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x03cbc55e mlx4_db_free @@ -14959,34 +14959,35 @@ EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b66c025 mlx4_unregister_mac EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b7046ad mlx4_mr_hw_get_mpt EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0dc45573 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1291fef4 mlx4_free_cmd_mailbox EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12a69e5c mlx4_multicast_detach EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x149ba92e mlx4_CLOSE_PORT EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x150adaf8 mlx4_wol_read EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15dd82c2 mlx4_multicast_promisc_add EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1754b7b8 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c685c7e mlx4_phys_to_slaves_pport EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c80f63f mlx4_bf_alloc EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ec0a6d7 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x20cc652c mlx4_vf_get_enable_smi_admin EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x22b1b28e mlx4_map_sw_to_hw_steering_id EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x249b523b __mlx4_unregister_mac EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2911ea43 mlx4_bf_free -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29b56a45 mlx4_vf_set_enable_smi_admin -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f37526b mlx4_phys_to_slaves_pport EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3232c8d1 mlx4_get_admin_guid EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x33d3ad49 mlx4_wol_write EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x341410d0 mlx4_find_cached_mac -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34623856 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3421b016 __mlx4_cmd EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x348fdf14 mlx4_mr_free EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35345caf mlx4_qp_remove -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35eb875e mlx4_set_vf_rate EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3766ce0e mlx4_mtt_cleanup EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x37907c7f mlx4_replace_zero_macs EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x39cfb758 mlx4_mr_alloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a4684f1 mlx4_set_vf_link_state EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ae50c1a mlx4_set_admin_guid EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3c211820 mlx4_mw_free EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f352c7d mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4056091c mlx4_get_counter_stats EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4144a1f7 mlx4_cq_resize EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x418c7678 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44689225 mlx4_get_active_ports EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x492a4f8a mlx4_cq_modify EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x494b8e1d mlx4_srq_alloc EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4ba2a409 mlx4_mr_rereg_mem_cleanup @@ -14995,15 +14996,16 @@ EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x500f26df mlx4_get_base_gid_ix EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5090a686 mlx4_srq_query EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x524a9cea mlx4_bond -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x554b6878 mlx4_free_cmd_mailbox EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5623e114 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5694e55c mlx4_set_vf_link_state EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a2da533 mlx4_port_map_set -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5dcc3ded mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5d6bfd56 mlx4_vf_set_enable_smi_admin EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e5a6f1a mlx4_register_vlan EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x601241ee mlx4_srq_lookup -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x605fe0aa mlx4_slave_convert_port EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63dffbd2 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x69b262af mlx4_phys_to_slave_port EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6af2cf37 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b12484e mlx4_slave_convert_port EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c1ef2cd mlx4_xrcd_free EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6f9c5b4a mlx4_buf_free EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fa49c5d mlx4_mtt_init @@ -15015,20 +15017,17 @@ EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7347660b mlx4_qp_free EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x735f24b5 mlx4_cq_free EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75a41b07 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78f5957a mlx4_set_vf_vlan EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7946e078 mlx4_counter_alloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d41f16d mlx4_vf_smi_enabled -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d874bad mlx4_get_slave_default_vlan EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f55bfba __mlx4_register_mac EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ffe9ede mlx4_buf_alloc EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80ef12d1 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8201ce03 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x864528e5 mlx4_get_slave_default_vlan EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c4d471e mlx4_unicast_attach EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d099315 mlx4_flow_steer_promisc_remove -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8e0f3f0a __mlx4_cmd EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8e487841 mlx4_qp_alloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f292a91 mlx4_alloc_cmd_mailbox EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f88d4bd mlx4_SYNC_TPT -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x903fe6ca mlx4_phys_to_slaves_pport_actv -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9113223e mlx4_vf_get_enable_smi_admin EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91796f73 mlx4_register_interface EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9196a182 mlx4_write_mtt EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9297f0e0 mlx4_flow_attach @@ -15043,21 +15042,22 @@ EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa3b9f1f mlx4_unicast_detach EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab114c36 mlx4_mr_hw_put_mpt EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xac16f5be mlx4_config_roce_v2_port -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1b97960 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0fbdf29 mlx4_alloc_cmd_mailbox EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6ff3c06 mlx4_unicast_promisc_add -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba9ebc5d mlx4_get_vf_stats -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc1ae2573 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7065cbd mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb82b917a mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe368e93 mlx4_set_vf_spoofchk EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2df59a6 mlx4_qp_release_range EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc38a7b66 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc3d6b2fc mlx4_get_vf_stats EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc41de15c mlx4_hw_rule_sz EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5ccb5df mlx4_db_alloc EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5da93f9 mlx4_flow_detach -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5ed0d25 mlx4_get_counter_stats EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc81dd594 mlx4_config_dev_retrieval EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc82139db mlx4_get_devlink_port EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca002cac mlx4_flow_steer_promisc_add EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xccfa5b4c mlx4_update_qp -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcef8b479 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd1e27daf mlx4_set_vf_rate EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd3649494 mlx4_mr_hw_change_pd EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4e0dce2 mlx4_pd_alloc EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd60455b9 mlx4_multicast_promisc_remove @@ -15066,85 +15066,85 @@ EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd8a2cee mlx4_qp_modify EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe010347d mlx4_map_sw_to_hw_steering_mode EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe2809530 mlx4_get_base_qpn -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeaf82940 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeeeb4a6f mlx4_phys_to_slaves_pport_actv EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef84a954 mlx4_unicast_promisc_remove EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf8b4f140 mlx4_cq_alloc EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd49297a mlx4_mr_hw_write_mpt EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfece6af4 mlx4_alloc_hwq_res -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00c1fe3c mlx5_query_hca_vport_context -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01aafcab mlx5_set_port_pause -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0618fdf7 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0023582a mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0120a04c mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x045d143b mlx5_modify_nic_vport_promisc EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c2ef720 mlx5_query_nic_vport_node_guid -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10887596 mlx5_set_port_prio_tc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10fae954 mlx5_query_port_vl_hw_cap -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11e3dc0a mlx5_set_port_caps -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1283f7f7 mlx5_nic_vport_unaffiliate_multiport -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x13ca0fa3 mlx5_query_port_ets_rate_limit -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14d259f7 mlx5_core_access_reg -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1b3b9bd2 mlx5_dm_sw_icm_dealloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d69ddff mlx5_modify_port_ets_rate_limit -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b9fbe5d mlx5_frag_buf_free -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x35dac20d mlx5_set_port_wol -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37dd6688 mlx5_query_nic_vport_mac_list -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3834b042 mlx5_core_modify_hca_vport_context -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b49df01 mlx5_query_port_admin_status -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ba492aa mlx5_db_alloc_node -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f216712 mlx5_query_nic_vport_mtu -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x41088328 mlx5_nic_vport_enable_roce -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x421f275e mlx5_core_reserved_gids_count -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x42be3974 mlx5_query_hca_vport_pkey -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45dddc1c mlx5_query_hca_vport_system_image_guid -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x464c349a mlx5_query_port_pfc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x470dc650 mlx5_query_mac_address -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4aaf3be3 mlx5_set_port_admin_status -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50f07367 mlx5_core_query_sq_state -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5108200e mlx5_query_port_wol -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5592a2f4 mlx5_query_port_oper_mtu -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c5f1779 mlx5_query_nic_vport_system_image_guid -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f8ce7cc mlx5_frag_buf_alloc_node -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x615a2572 mlx5_db_free -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61f9e856 mlx5_eswitch_get_total_vports -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x698fdab0 mlx5_db_alloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ce38085 mlx5_set_port_tc_bw_alloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6fa0180c mlx5_accel_esp_modify_xfrm -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7149713f mlx5_query_port_pause -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77e3d8e1 mlx5_query_port_tc_bw_alloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d0a0099 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ad62151 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0bafe1bf mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d1f7e7f mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dc2cc87 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c42c395 mlx5_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x21085125 mlx5_accel_esp_modify_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25ccb8ef mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x260155f0 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2737d9a2 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2750fc43 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x293fd605 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3016b638 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x313bd9af mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33d3b068 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3564dcdd mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x359fa127 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3cbf3340 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3d87e2bd mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e20dbc5 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fa754b9 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e9a3a44 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4eeebdea mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50293976 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x516af37d mlx5_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57e26e7c mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5cbe6a33 mlx5_accel_esp_create_xfrm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62718be7 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65b817ef mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x67b5401e mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6af601d6 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b8a3fb1 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e1cf558 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ec9db76 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71617971 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c6fd28e mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x812cb6bc mlx5_query_min_inline EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83101838 mlx5_query_nic_vport_promisc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8954bd1a mlx5_query_port_max_mtu -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b57f5b4 mlx5_accel_esp_destroy_xfrm -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b69959e mlx5_eswitch_mode -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9572def1 mlx5_accel_ipsec_device_caps -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95fa8dee mlx5_nic_vport_affiliate_multiport -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x99b93e49 mlx5_accel_esp_create_xfrm -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9bb6478d mlx5_modify_nic_vport_mtu -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa64f8a44 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x849bba79 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8962bee1 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x896e6d03 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a78db20 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91b0a94c mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91d4b238 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x950fe8e5 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98609a9b mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9e031255 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa198f105 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa1c46126 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa4d0f472 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6089f15 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6a50b59 mlx5_accel_esp_destroy_xfrm EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa75f49d6 mlx5_fill_page_array -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0ee060c mlx5_modify_nic_vport_mac_address -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb1cccabb mlx5_query_nic_system_image_guid -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb51648ea mlx5_nic_vport_query_local_lb -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb66a23d6 mlx5_buf_free -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba948135 mlx5_query_nic_vport_min_inline -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb69f0b2 mlx5_set_port_mtu -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbcff5900 mlx5_dm_sw_icm_alloc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbfe91d70 mlx5_query_nic_vport_mac_address -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc15eaab1 mlx5_query_nic_vport_qkey_viol_cntr -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1ffa287 mlx5_query_hca_vport_node_guid -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcabcf45e mlx5_set_port_tc_group -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2ab1f2a mlx5_query_hca_vport_gid -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd717e877 mlx5_query_module_eeprom_by_page -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde46ad73 mlx5_query_port_ptys -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0685a06 mlx5_modify_nic_vport_vlans -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe21f350b mlx5_modify_nic_vport_promisc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe22f7c4d mlx5_query_port_tc_group -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4c605cd mlx5_modify_nic_vport_mac_list -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7b2e352 mlx5_query_min_inline -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec3b9c92 mlx5_query_port_prio_tc -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef44ae87 mlx5_core_query_ib_ppcnt -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf81529d8 mlx5_query_module_eeprom -EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb0203fe mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb109cc06 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb74ef4bf mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb9831466 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd6b5302 mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe8d95b0 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1b8d87a mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce9c46c9 mlx5_accel_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd0863765 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2494d22 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd28a6400 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe456b8a6 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe70ba9ab mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe81d37a6 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9b7df75 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1e99a88 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4e5a8a6 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf7cd5569 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa960c5d mlx5_core_query_vport_counter EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x08c8bc9c ks8851_remove_common EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x85f3337e ks8851_probe_common EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xfbf873f9 ks8851_suspend @@ -15152,28 +15152,28 @@ EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xdb315f29 devm_regmap_init_encx24j600 EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xe8c8c6c2 regmap_encx24j600_spi_read -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x07dab2c2 ocelot_cls_flower_replace -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x29ddf927 __ocelot_write_ix -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2e6e4a7f ocelot_phylink_mac_link_up -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3098b50e ocelot_port_readl -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3ac8320e ocelot_cls_flower_destroy -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4235adea ocelot_port_writel -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x48d7edd1 ocelot_port_rmwl -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x50f119f0 __ocelot_read_ix -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x77507fc5 ocelot_phylink_mac_link_down -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa2f8dad3 ocelot_regfields_init -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb5385d97 __ocelot_rmw_ix -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd48fe78b ocelot_cls_flower_stats -EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe25e4dfb ocelot_regmap_init -EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x37a69be9 stmmac_suspend -EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x3f960f0e stmmac_dvr_remove -EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x492364fa stmmac_bus_clks_config -EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x61c1bd3b stmmac_resume -EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x6f4d7ed6 stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1141e9eb ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x32ba23b3 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x38e6a75c ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6b56a3c8 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x789c1973 __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x83a47c50 ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x88d0b6ea ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8e7e5682 ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90eac7be ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa4e11d45 ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xaa623192 __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb3ca1792 __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdefb0223 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x4033dab7 stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x8a96404d stmmac_bus_clks_config EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr -EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xcda44e4b stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xaa4d2fe5 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xb0e37963 stmmac_suspend EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd1cc24db stmmac_set_mac_addr -EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xfd07dffd stmmac_resume_runtime +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xdec4320b stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xf2bd3798 stmmac_resume_runtime +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xf76b49fa stmmac_init_tstamp_counter EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x3a294ade stmmac_pltfr_pm_ops EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xb3475743 stmmac_probe_config_dt EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xb6faec10 stmmac_pltfr_remove @@ -15183,17 +15183,17 @@ EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x309993ae w5100_pm_ops EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x4cbdb5c0 w5100_ops_priv EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xc7594590 w5100_remove -EXPORT_SYMBOL_GPL drivers/net/geneve 0xbf471830 geneve_dev_create_fb -EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7f8026a4 ipvlan_link_delete -EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fe3a409 ipvlan_count_rx -EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x845043fd ipvlan_link_setup -EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xb413a93d ipvlan_link_new -EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xb441b1ae ipvlan_link_register -EXPORT_SYMBOL_GPL drivers/net/macsec 0xca9433c9 macsec_pn_wrapped -EXPORT_SYMBOL_GPL drivers/net/macvlan 0x25a9eabb macvlan_common_setup -EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4136f29f macvlan_common_newlink -EXPORT_SYMBOL_GPL drivers/net/macvlan 0xe675e9cc macvlan_dellink -EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf05c5ff4 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/geneve 0xe0e0bffc geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x0d85739a ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x6949d16f ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xe4e9771a ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xe8bf0117 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xf3226a87 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/macsec 0xae52f042 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0726a58c macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x616969e5 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x69a5708e macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xd7ec1506 macvlan_link_register EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0x088c3754 mdio_i2c_alloc EXPORT_SYMBOL_GPL drivers/net/net_failover 0x488179dc net_failover_destroy EXPORT_SYMBOL_GPL drivers/net/net_failover 0x818cae9b net_failover_create @@ -15272,15 +15272,15 @@ EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam -EXPORT_SYMBOL_GPL drivers/net/tap 0x1fc8d8b6 tap_handle_frame -EXPORT_SYMBOL_GPL drivers/net/tap 0x2412414f tap_queue_resize -EXPORT_SYMBOL_GPL drivers/net/tap 0x3d84434e tap_del_queues -EXPORT_SYMBOL_GPL drivers/net/tap 0x4ad45c70 tap_get_socket -EXPORT_SYMBOL_GPL drivers/net/tap 0x5102e235 tap_destroy_cdev -EXPORT_SYMBOL_GPL drivers/net/tap 0x7a1a8ca9 tap_free_minor -EXPORT_SYMBOL_GPL drivers/net/tap 0x7cced025 tap_get_minor -EXPORT_SYMBOL_GPL drivers/net/tap 0xbf29fc35 tap_create_cdev -EXPORT_SYMBOL_GPL drivers/net/tap 0xfd14f4b1 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x00647323 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x18868a4d tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x399c86c5 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x43d5333b tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x46c6906f tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x4f9b7e69 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x773f25d9 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x9e2c5842 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0xffa7dc09 tap_destroy_cdev EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x38dfcda4 usbnet_cdc_status EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5f73a390 usbnet_cdc_update_filter EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6af5fc55 usbnet_ether_cdc_bind @@ -15298,7 +15298,7 @@ EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xbf0ec0e9 cdc_ncm_rx_verify_nth32 EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd96d4826 cdc_ncm_rx_verify_ndp32 EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xff236c12 cdc_ncm_tx_fixup -EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0xccd2508a rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0xf6061383 rtl8152_get_version EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x041d9f27 rndis_unbind EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x61f7d677 rndis_command EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7656e2cd rndis_tx_fixup @@ -15339,16 +15339,16 @@ EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xed1ecd2c usbnet_resume EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xed6d7867 usbnet_probe EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf89b8c2a usbnet_write_cmd_async -EXPORT_SYMBOL_GPL drivers/net/vxlan 0x0c5cfb58 vxlan_fdb_replay -EXPORT_SYMBOL_GPL drivers/net/vxlan 0x58de1e33 vxlan_dev_create -EXPORT_SYMBOL_GPL drivers/net/vxlan 0x831cef47 vxlan_fdb_clear_offload -EXPORT_SYMBOL_GPL drivers/net/vxlan 0xfb257f94 vxlan_fdb_find_uc -EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x4705023f libipw_rx_any -EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x32e93f8e il_prep_station -EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6eb876e4 il_dealloc_bcast_stations -EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x77ae2145 il_remove_station -EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc414baf9 il_mac_tx_last_beacon -EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf5f1dadd _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/vxlan 0x6bc2ae06 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xe99de9d8 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xf39b6d2b vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan 0xfdd8a7bf vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0xdc786b4d libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x24b144dc il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6790410b il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe64ff40 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd7225ebc _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf887012c il_remove_station EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x01fe00ee iwl_set_soc_latency EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x04208877 iwl_get_shared_mem_conf EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0a292514 iwl_acpi_get_dsm_u8 @@ -15444,7 +15444,7 @@ EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0x2a6267b8 iwl_mei_get_ownership EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0x4ceac14c iwl_mei_is_connected EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0x4e00000b iwl_mei_host_associated -EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0x6112ca55 iwl_mei_tx_copy_to_csme +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0x74408029 iwl_mei_tx_copy_to_csme EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0x793ece1d iwl_mei_unregister_complete EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0x7d8730a9 iwl_mei_set_nic_info EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0xa571d81a iwl_mei_start_unregister @@ -15453,15 +15453,15 @@ EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0xe3e860df iwl_mei_device_down EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0xe897851a iwl_mei_register EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/mei/iwlmei 0xee3e060e iwl_mei_set_country_code -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x152345a5 p54_register_common -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x1ee284af p54_free_common -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x33c02d66 p54_parse_eeprom -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4975e6f0 p54_unregister_common -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x50648b5c p54_free_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x593ad006 p54_parse_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xb22d6406 p54_read_eeprom -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xda969a0e p54_rx -EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xe6cf2663 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x427aa419 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7f0a4cc1 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x86a31882 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa62c9130 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa6acd22f p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xe065db4e p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xeb22c334 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xebc71ce5 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xfbe9832d p54_free_skb EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x040946e8 lbs_resume EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x051b3961 lbs_get_firmware EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0f6852fa lbs_notify_command_response @@ -15480,596 +15480,596 @@ EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xaff47a9a lbs_host_to_card_done EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb9f34a60 lbs_queue_event EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x088eba65 lbtf_cmd_response_rx -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x4be51095 lbtf_rx -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x6643640d lbtf_send_tx_feedback -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x860f77b3 lbtf_cmd_copyback -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x8c7f70a8 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x20c3cfe6 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x2b35c7c7 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x5db49cad lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x5f90760c lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x98e4193b __lbtf_cmd EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xcf56ccda __lbtf_cmd -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe40ee1b6 lbtf_bcn_sent -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xf994335c lbtf_remove_card -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x099220cc mwifiex_process_hs_config -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0d9f5525 mwifiex_multi_chan_resync -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1a0ad89f mwifiex_fw_dump_event -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1a6918ce mwifiex_reinit_sw -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x43a46603 mwifiex_dnld_fw -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x461d9bb1 mwifiex_add_virtual_intf -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x53eaf22d mwifiex_init_shutdown_fw -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5f5dcc06 mwifiex_deauthenticate_all -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x647757b8 mwifiex_cancel_hs -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6c89f4d5 mwifiex_add_card -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6ea48874 mwifiex_upload_device_dump -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7190c8c6 _mwifiex_dbg -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7222d6ff mwifiex_shutdown_sw -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7462bbf7 mwifiex_handle_rx_packet -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x79c572cb mwifiex_disable_auto_ds -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x97f408dd mwifiex_del_virtual_intf -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa2971f73 mwifiex_remove_card -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa9deab95 mwifiex_queue_main_work -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xae4e4174 mwifiex_main_process -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc0b17c4e mwifiex_enable_hs -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd08012ab mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xd3d4df0b lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xd8c2e381 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe1ce5146 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x08bb7131 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x15e513b5 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x19d939ea mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x222b7b92 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x352d8c18 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x40597d4e mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x42226b4e mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x48bd0482 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5f97a12e mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6fa98b45 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x757707d6 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x75856b03 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7da8f918 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x826c6d59 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xac80a2f4 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb182b743 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbb8f7387 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc60d9b1b mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xccb13f60 mwifiex_fw_dump_event EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xeb12f888 mwifiex_write_data_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xef4be4f6 mwifiex_prepare_fw_dump_info -EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf3cd5cb1 mwifiex_process_sleep_confirm_resp -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x012f7de1 mt76_tx_status_skb_add -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x03005c40 __mt76_set_tx_blocked -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x04a9e9a5 mt76_unregister_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x04c6f65f mt76_mcu_skb_send_and_get_msg -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0eac0a88 mt76_sta_pre_rcu_remove -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x115d2dc1 mt76_update_survey -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x129ea80e mt76_pci_disable_aspm -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x12e3c098 mt76_csa_finish -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1369baeb mt76_tx_status_unlock -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x136d1a6d mt76_update_survey_active_time -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1428aabf mt76_sw_scan -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x16f0b6bc mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd57844ab mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe910ab48 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xeefd2ef5 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf03e7a4f mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf7f86b34 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x023eae83 __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x08e0d420 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0b3a78f7 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x10017a1c mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1414e7d0 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1467d215 mt76_tx_status_lock EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1977dc66 mt76_get_survey -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1df8a082 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1c3d3295 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1dd12c69 mt76_free_device EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1f976fc6 mt76_free_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x21776bee mt76_txq_schedule_all -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2245b8bc mt76_tx_status_check -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x253a8221 mt76_has_tx_pending -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x27522018 mt76_get_sar_power -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x28ce8a9b mt76_register_phy -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x297c68ce mt76_init_sar_power -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2deb1d60 __mt76_sta_remove -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3065a598 mt76_rx_aggr_stop -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x333b1c7e mt76_seq_puts_array -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x347a5ccc mt76_set_stream_caps -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3a12374a mt76_skb_adjust_pad -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3c2a40cf mt76_tx_status_skb_done -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x427fd32d mt76_wake_tx_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x44accedc mt76_rx_poll_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x477af8f9 mt76_rx_aggr_start -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4b212296 __tracepoint_mac_txdone -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4ba3df80 mt76_dma_attach -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x505c7b34 mt76_set_channel -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5a0ee403 mt76_tx_worker_run -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5ede8ef5 mt76_csa_check -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x600e96c9 mt76_sw_scan_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x61359bf9 mt76_insert_ccmp_hdr -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6807d7d8 mt76_stop_tx_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x69329491 mt76_mcu_msg_alloc -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6bc5eff2 mt76_alloc_phy -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6d03c793 mt76_eeprom_override -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6fe3813d mt76_dma_rx_poll -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x74c09f63 __mt76_tx_complete_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x75a6eade mt76_mcu_send_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x79374a07 mt76_get_antenna -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7d081dbc mt76_set_tim -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7d7ac91e ____mt76_poll_msec -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8174727a mt76_release_buffered_frames -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x81b1ae86 mt76_mcu_rx_event -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x84c7f4bd mt76_put_txwi -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x85da33b3 __traceiter_mac_txdone -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8fcfd098 mt76_get_of_eeprom -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x900ca882 __tracepoint_dev_irq -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x917e18ff mt76_init_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9989eaed mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1fa3e56f mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2e41b1a0 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x34b6047c mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x36e4d2a1 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x38053cd2 mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x384f866d mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x409a36c5 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x44dea82f mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x49c07385 __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x49e54eda mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4f6aaa70 __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x54094bed mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5c6073cd mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5eb9a986 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x62fc4005 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x64e74ee0 mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x650f9f08 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6540602e mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x668bc390 mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x674ebd6d mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x684f3c33 ____mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x68f72f4e mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x697f401c mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x69d405b5 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6c6ba121 __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6dc28bee mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7070ffb7 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x72176ed4 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x76cf98f5 mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x770c4c49 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x77e109b9 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b510d51 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8271e137 mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x84e44ed2 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x87c91c37 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x88e0d04e mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8d1f61d2 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8deddcbd mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9030bc2e mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x94999fdc mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x961011f2 mt76_token_release EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9a5471af mt76_sar_capa -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9c477a8d mt76_get_rate -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa651905a mt76_tx -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa906dc26 mt76_queue_tx_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf45bdd6 mt76_mcu_get_response -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf5adcb7 mt76_get_txpower -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf645006 mt76_token_consume -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb762e383 __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9c2f0e2d mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa31ba322 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa35ffcd5 mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa6c116b8 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf0d4372 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb4f03c50 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb56696b0 mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb81446fb mt76_tx_status_skb_add EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbb31a266 __SCT__tp_func_mac_txdone -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbb81ead0 mt76_dma_cleanup -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbc76c17c mt76_txq_schedule -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc29e9356 mt76_register_debugfs_fops -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc4b4f183 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbd8f2c15 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbfadc8f8 mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbfbdef09 mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc3b1556b mt76_set_irq_mask EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc9c62696 mt76_register_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcdf2749d __traceiter_dev_irq -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xce6b5d7d mt76_alloc_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd0c6d658 mt76_sta_state -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd650b411 mt76_tx_check_agg_ssn -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe0603dee mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc8247972 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc87fff04 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd103f31e mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd41a9c1a mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd46ebe35 __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd4f20105 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd864913f mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdd3d9948 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xde9f663e mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe1a2643b mt76_insert_ccmp_hdr EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe4105d53 mt76_eeprom_init EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe45628cb __SCT__tp_func_dev_irq -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe67ed7e7 mt76_tx_status_skb_get -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe8783766 mt76_mcu_send_and_get_msg -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe9633861 mt76_unregister_phy -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xefd5b9a7 __mt76_poll -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf118e491 mt76_get_min_avg_rssi -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf3649217 __SCK__tp_func_mac_txdone -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfb85bc1f mt76_token_release -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfc96f1e4 mt76_get_rate_power_limits -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x06ecf48c mt76_connac_mcu_alloc_sta_req -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0a4b7c3b mt76_connac_mcu_set_hif_suspend -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1e3fdaa6 mt76_connac_mcu_wtbl_ba_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x211ab0e1 mt76_connac_mcu_coredump_event -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x226a8b20 mt76_connac_sta_state_dp -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2bc5f2a2 mt76_connac_mcu_set_rts_thresh -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3363f4bc mt76_connac_mcu_update_arp_filter -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x40728f32 mt76_connac_mcu_set_deep_sleep -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x448407d2 mt76_connac_mcu_wtbl_generic_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x45d1fd83 mt76_connac_mcu_sta_ba -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x565a1d89 mt76_connac_mcu_sched_scan_req -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5715e8ad mt76_connac_mcu_start_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5ccdacd4 mt76_connac_mcu_patch_sem_ctrl -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6456b569 mt76_connac_pm_dequeue_skbs -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6701397d mt76_connac_pm_wake -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x72ee9c15 mt76_connac_mcu_update_gtk_rekey -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7381140d mt76_connac_mcu_sta_cmd -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7ac5cfc9 mt76_connac_mcu_start_patch -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x87ea425a mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe605eb75 mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe80ad606 mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeab02e64 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeaff01b6 mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xee4b4e8d mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf6c81957 __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf881b827 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf91610e1 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfa2e04c5 mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfb72df79 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x034d5fdc mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x085a71d3 mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x098b5927 mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0faaf59b mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0fab278b mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0fd11e97 mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1608c60e mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x19a51888 mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1d6696e7 mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2ea6e1b0 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2ec6e66b mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2ed4c3eb mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x345de369 mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x37bffb57 mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x38d6b747 mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x392379b2 mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4977524f mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4f8709fa mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x507d9971 mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x55709f7f mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5aa6ba53 mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6b01b366 mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7272619d mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7d2f75bf mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7e5cda3a mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x829c1f60 mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x869aacb1 mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8706253d mt76_connac_mcu_get_nic_capability EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x908ca40c mt76_connac_wowlan_support -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x95aaafdf mt76_connac_mcu_set_channel_domain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9beb0e9c mt76_connac_mcu_sta_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9ffd0422 mt76_connac_mcu_init_download -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa17da18a mt76_connac_mcu_chip_config -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa58e895c mt76_connac_mcu_set_vif_ps -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa6dd1c2f mt76_connac_mcu_uni_add_bss -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa8bf3735 mt76_connac_mcu_sta_ba_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xae3a5e82 mt76_connac_mcu_hw_scan -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb80c269c mt76_connac_mcu_uni_add_dev -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbfcf2835 mt76_connac_mcu_alloc_wtbl_req -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc2610fae mt76_connac_mcu_wtbl_ht_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc652c202 mt76_connac_mcu_wtbl_hdr_trans_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xcc5bf44b mt76_connac_free_pending_tx_skbs -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd59ab302 mt76_connac_mcu_add_nested_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd8d5ebd3 mt76_connac_mcu_sched_scan_enable -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xdec19b91 mt76_connac_mcu_set_suspend_iter -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe4cc7759 mt76_connac_power_save_sched -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe688d78b mt76_connac_mcu_set_mac_enable -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xee8d048c mt76_connac_mcu_get_nic_capability -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf3368382 mt76_connac_mcu_beacon_loss_iter -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf4a65165 mt76_connac_mcu_cancel_hw_scan -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf8975083 mt76_connac_pm_queue_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf93cee44 mt76_connac_mcu_set_rate_txpower -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfb40c9f6 mt76_connac_mcu_sta_basic_tlv -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x5713715c mt76s_deinit -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x9459ec8b mt76s_alloc_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xa9a48683 mt76s_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x03626659 mt76u_alloc_mcu_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x130ddb91 mt76u_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3dcf7235 mt76u_alloc_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x454133cd mt76u_stop_tx -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x745dd3f3 mt76u_resume_rx -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x75187373 mt76u_queues_deinit -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x765678ed mt76u_stop_rx -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xebda8df0 mt76u_vendor_request -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xfad4b76c mt76u_single_wr -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0978fc1a mt7615_update_channel -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x11fd9280 mt7615_tx_token_put -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1efcec09 mt7615_mac_sta_remove -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x209bfc1e mt7615_sta_ps -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x26d10174 mt7615_mac_set_rates -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x39d9bfad mt7615_ops -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x44e91597 mt7615_mcu_reg_rr -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x664b672e mt7615_register_ext_phy -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6d9cb338 mt7615_thermal_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7a82f6e8 mt7615_mac_write_txwi -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7cd85654 __mt7663_load_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7f9902b2 mt7615_init_debugfs -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8350b311 mt7615_mcu_reg_wr -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8ae5c7c5 mt7615_queue_rx_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x94c72672 mt7615_init_txpower -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x94e7e499 mt7615_mac_sta_add -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9a96f672 mt7615_init_work -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9b87fa3b mt7615_eeprom_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9edee706 mt7615_mcu_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa4c0ab58 mt7615_mcu_fill_msg -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa912325c mt7615_mcu_parse_response -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbb690b6c mt7615_txp_skb_unmap -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbcea91f8 mt7615_init_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbeea3d5a mt7622_trigger_hif_int -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcdc6a8d7 mt7615_wait_for_mcu_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd69ca0cb mt7615_mac_sta_poll -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe0c6a8fb mt7615_mcu_exit -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf50cf492 mt7615_unregister_ext_phy -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf83e5639 mt7615_mcu_restart -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0x7077a7c1 mt7615_dma_reset -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x0956ce18 mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x944b8ee3 mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x94b1f537 mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9722def7 mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa36fa998 mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa5ea80bc mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb182b70b mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb4e7948c mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb8398eb3 mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbc27095f mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbc9a3396 mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc33abb57 mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd0907cbb mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd300e4c0 mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xea2e8190 mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf6ec9c0b mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x0716f29f mt76s_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x89bf5773 mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xece5cc76 mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x0bbc9b1f mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3461ad1c mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3b5aacb3 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x612ce869 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x63c68459 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8eda3e15 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xc7483df0 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xe44e3415 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xfb0fdb08 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x12598ae6 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x229c463e mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3196078b mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x35e597bd mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3eb0721d mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x44b99c1e mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x56d23935 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x57a94a08 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5f745c1a mt7615_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6405cdc9 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x719291cd mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x880b473c mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x88929891 mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8b82e576 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9455fb6f mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9648b36d mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xaaf9c54d mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb5ad177b __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb730733e mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc0a731a9 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc1dc276f mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc8e8839c mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc983b1cc mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdf659ea7 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe1f604ef mt7615_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe6ff405f mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe984c880 mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf39b1f26 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf750249e mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0xe4507859 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x021f7c8f mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1365c167 mt7663_usb_sdio_tx_complete_skb EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x68f5dc6f mt7663_usb_sdio_tx_status_data -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x75a1a24b mt7663_usb_sdio_tx_complete_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xc236c2c0 mt7663_usb_sdio_register_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x0647d810 mt76x0_config -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x0d7bc1f4 mt76x0_init_hardware -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x814b24b4 mt76x0_register_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x9d343e4b mt76x0_phy_calibrate -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xcaf9a4a7 mt76x0_chip_onoff -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xe431db72 mt76x0_mac_stop -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x017dcc0d mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x86d03c61 mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xdc464e9c mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x08fd2611 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x23faed91 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x4e232716 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x64159a51 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xaad4c7a5 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xf200f820 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x00392022 mt76x02_mcu_msg_send EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x068d4996 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x06984fac mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x084b6cd2 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0b1c4063 mt76x02_configure_filter EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0e729e91 mt76x02_set_ethtool_fwver -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0f8e5a10 mt76x02_phy_dfs_adjust_agc -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1bf4c6d2 mt76x02_init_beacon_config -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1ceafe82 mt76x02_get_rx_gain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1ee172bc mt76x02_sta_rate_tbl_update -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1f987ef5 mt76x02_ampdu_action -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x24140083 mt76x02_update_beacon_iter -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x295efea7 mt76x02_dma_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x29d42f5d mt76x02_queue_rx_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2b9dcbb6 mt76x02_eeprom_parse_hw_cap -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2d8ff5f6 mt76x02_mac_write_txwi -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2e0dce3f mt76x02_tx_status_data -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2f2c3e11 mt76x02_edcca_init -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2f5b4261 mt76x02_phy_adjust_vga_gain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x313ef2c2 mt76x02_remove_hdr_pad -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x31f57271 mt76x02_mac_shared_key_setup -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d22bcb mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x12244a1f mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1a5329eb mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1b423bc3 mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x218b450f mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x258bf364 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x25aa9b1d mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x338df1b4 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x349b038b mt76x02_set_tx_ackto EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x39198d2a mt76x02_init_agc_gain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x39c6cc47 mt76x02_sta_remove -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3ed161cd mt76x02_eeprom_copy -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x42b557e6 mt76x02_set_rts_threshold -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x48ec9783 mt76x02_configure_filter -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4cfc05fd mt76x02_init_debugfs -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4d1a0160 mt76x02_mac_cc_reset -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4ed71ffe mt76x02_phy_set_txpower -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4fca43b7 mt76x02_mac_start -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5489b870 mt76x02_resync_beacon_timer -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5563403d mt76x02_remove_interface -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5815e6b7 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x361e5b50 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3e9b2c1d mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3f113198 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4196626b mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x47cbe227 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x57c143ce mt76x02_conf_tx EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5c8b0688 mt76x02_tx -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5e398a59 mt76x02_rx_poll_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x64c4ad8f mt76x02_set_coverage_class -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6596fb02 mt76x02_conf_tx -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6928ca8b mt76x02_mcu_calibrate -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6a11400c mt76x02_init_device -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6a9f08ae mt76x02_phy_set_band -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6bfb1ac2 mt76x02_mcu_function_select -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x71b764e5 mt76x02_bss_info_changed -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x72e6d424 mt76x02_set_key -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x73d0ac1a mt76x02_get_lna_gain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7b202815 mt76x02_mcu_parse_response -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x89e66a23 mt76x02_mac_set_beacon -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8ad2962e mt76x02_tx_complete_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8b80ce30 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5ef23bc0 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x61ae13f6 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x66041985 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6c389f91 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x717bc48c mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x73f1e51f mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x74f747ee mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7f2b52cb mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x814752b6 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x83a6fbb8 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8629f761 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8bf7f0a0 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8d4e6a29 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9072f6ec mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9180494a mt76x02_set_ethtool_fwver EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x95dddbfb mt76x02_add_interface -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9ac75092 mt76x02_mac_reset_counters -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9ed8625c mt76x02_phy_set_txdac -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa2afbe94 mt76x02_dma_disable -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa8f8c07e mt76x02_tx_prepare_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb8421e35 mt76x02_mac_wcid_setup -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc0322780 mt76x02_mcu_msg_send -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc1d69dfd mt76x02_get_efuse_data -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc3339a2a mt76x02_tx_set_txpwr_auto -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcb706db7 mt76x02_mac_setaddr -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd29443bc mt76x02_update_channel -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd2ac920f mt76x02_ext_pa_enabled -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd92051db mt76x02_mcu_set_radio_state -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdb5a667b mt76x02_dfs_init_params -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdbfd4f7b mt76x02e_init_beacon_config -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe6d60876 mt76x02_mcu_cleanup -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf9079c3f mt76x02_phy_set_bw -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf989d27c mt76x02_enqueue_buffered_bc -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfaa7a6d9 mt76x02_reconfig_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfe903884 mt76x02_sw_scan_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x177ded42 mt76x02u_exit_beacon_config -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x2230356c mt76x02u_tx_prepare_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x26172baa mt76x02u_init_beacon_config -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x6dd48d8a mt76x02u_mcu_fw_send_data -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x87cb28e6 mt76x02u_tx_complete_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xbb1e320d mt76x02u_init_mcu -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xbc887f47 mt76x02u_mcu_fw_reset -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xff23be3e mt76x02u_mac_start -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x03a55a1d mt76x2_mac_stop -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x196df0e1 mt76x2_phy_set_txpower -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1c759caa mt76x2_get_power_info -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1e4cd19f mt76x2_mcu_set_channel -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4f885e38 mt76x2_mcu_tssi_comp -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x57f98945 mt76x2_get_temp_comp -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6371d696 mt76x2_get_rate_power -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x65cd8c29 mt76x2_reset_wlan -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6628b7d1 mt76x2_mcu_init_gain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7904073f mt76_write_mac_initvals -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x859d0f35 mt76x2_init_txpower -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa64da6dd mt76x2_configure_tx_delay -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xabdb8c26 mt76x2_mcu_load_cr -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xad9072bc mt76x2_phy_update_channel_gain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb319ac68 mt76x2_read_rx_gain -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc1fcf017 mt76x2_phy_set_txpower_regs -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd2c24394 mt76x2_phy_tssi_compensate -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xdc92ee24 mt76x2_apply_gain_adj -EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe675c923 mt76x2_eeprom_init -EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x04e35a9b wilc_cfg80211_init -EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x0e98cfbf wilc_handle_isr -EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x1780b0db chip_wakeup -EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x35dd705e host_wakeup_notify -EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x41a0c2d4 chip_allow_sleep -EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x749075cd wilc_netdev_cleanup -EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xa902c3b3 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x97fcac39 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x989fe4c6 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9d5dfda5 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa19c1357 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa27bd99a mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa42da5e5 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa4de8c66 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa5385982 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa6f50faa mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa82d5e81 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa92534c5 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xaca64a8f mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xad483b76 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xad69cb82 mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xae18f130 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbd8e59e0 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc8d5b970 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc8debb68 mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xccfaf38f mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd0952dac mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd78c3d10 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd8e38764 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdea6732a mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xef682ab8 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xefa4e429 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf0088d9d mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf26d21d1 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf37ba20e mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf69bd529 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf77781d6 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf879b62f mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf8b4e38e mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfb34bfa1 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x490d566d mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x535ac7c3 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5ae62255 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7aac2942 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x9945ddac mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xa4c3ae53 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xbae63069 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xeb0229c2 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x183eee31 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1a042c04 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2c6f06c5 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x606977cd mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x71d5483d mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x88031e75 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x88151ab0 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9f08667b mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa2910bf5 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xaa79a870 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xbd643e03 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xcd47f113 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xdced7578 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xddc55d01 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xde9e509e mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe18ae9cd mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe460a59d mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe50c4331 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf433282f mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x45134f33 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x4b1ffa55 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x79cb200f chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x8aa23b29 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xb032cfcd chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xb37f2ca0 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xfbbcd18f wilc_netdev_cleanup EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string -EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x3cf90068 qtnf_core_attach -EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x783ff578 qtnf_wake_all_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7b9db382 qtnf_core_detach -EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf31ee916 qtnf_trans_handle_rx_ctl_packet -EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf3ab1774 qtnf_classify_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf7ae8934 qtnf_get_debugfs_dir -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x040b7cd4 rt2800_link_tuner -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x04b24f40 rt2800_sta_add -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0b235b5e rt2800_pre_reset_hw -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0e571481 rt2800_ampdu_action -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x14451b7f rt2800_probe_hw -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x19c6f8e1 rt2800_write_beacon -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x229de8c5 rt2800_config -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x235e8f86 rt2800_get_txwi_rxwi_size -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2383716d rt2800_efuse_detect -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3124af60 rt2800_txdone_entry -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x35cdab61 rt2800_read_eeprom_efuse -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3c49ade8 rt2800_txstatus_pending -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x405c943b rt2800_link_stats -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4a417c08 rt2800_reset_tuner -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5265d52d rt2800_get_survey -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x53bdc4af rt2800_mcu_request -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x549307d7 rt2800_txdone_nostatus -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x57818055 rt2800_config_shared_key -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x61225d6e rt2800_process_rxwi -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x617f4ba4 rt2800_get_key_seq -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x684cf9d4 rt2800_rfkill_poll -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6d6c1cea rt2800_wait_wpdma_ready -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7f7fcd05 rt2800_disable_radio -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x84d8fa22 rt2800_txdone -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x872a7336 rt2800_wait_csr_ready -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x899b5f84 rt2800_config_pairwise_key -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8d435f78 rt2800_clear_beacon -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9ae17cd6 rt2800_watchdog -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa06bb6af rt2800_conf_tx -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa23d9fef rt2800_disable_wpdma -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaac7ec0d rt2800_txstatus_timeout -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb0b2c023 rt2800_load_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb22ac3b8 rt2800_config_erp -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xba29df42 rt2800_gain_calibration -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc3f20d3d rt2800_set_rts_threshold -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc930e4a2 rt2800_check_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcd89a328 rt2800_get_tsf -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdc8dec8f rt2800_sta_remove -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xde66973a rt2800_enable_radio -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe1a4ed7f rt2800_write_tx_data -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe2c2064d rt2800_config_intf -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xef0e89b4 rt2800_vco_calibration -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf4cfc929 rt2800_config_filter -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xff99386a rt2800_config_ant -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x032cdd72 rt2800mmio_write_tx_desc -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x050fb14e rt2800mmio_get_dma_done -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x14471a26 rt2800mmio_kick_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1e9ee6fc rt2800mmio_queue_init -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x24320b9b rt2800mmio_get_entry_state -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x30252f95 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x3779968b qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x4f460d74 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x5e08dd93 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x6405dd21 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x787cffbb qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x8149b680 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x007a5171 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x04cc9710 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0941fee3 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0d6c2049 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x19e684f6 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1fbc01fc rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x271bcbbb rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2f1f63d6 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x30640491 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3553d791 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3690f035 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x39cb92c9 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x52211b74 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6596f4bb rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x74d8ef9d rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7629a4d9 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7aeba57b rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7b019604 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7e5bfdf7 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x81f2b3fb rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x83c613e2 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8588a52a rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8b1c99d1 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9103ef28 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x920030d8 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xaf0dce81 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb6e87c53 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbc2607ca rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc08deb6a rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc28d608a rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc59618e4 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc5b826db rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc62cb10b rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc9076dd0 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcce6a613 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd24b432d rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd298e076 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd9b7e7f0 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe6379c3f rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe88be7d0 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xea220ab6 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xedab92ef rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf4639a35 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfbc416a0 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2809e832 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2d11f3ea rt2800mmio_clear_entry EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x350e5890 rt2800mmio_init_registers -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3bc33476 rt2800mmio_probe_hw EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x422f45ef rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x448f812e rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4c55ffd7 rt2800mmio_fill_rxdone EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5677dbf9 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x58c634bd rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5cc4ebc6 rt2800mmio_stop_queue EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x74db6590 rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x62021204 rt2800mmio_init_queues EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97e3c029 rt2800mmio_autowake_tasklet EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3c8921 rt2800mmio_txstatus_tasklet -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc475d8a5 rt2800mmio_start_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd6d466f3 rt2800mmio_fill_rxdone -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe343d0f1 rt2800mmio_init_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe37975a0 rt2800mmio_clear_entry -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe38808a0 rt2800mmio_stop_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf5048ab7 rt2800mmio_toggle_irq -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x008434a7 rt2x00mac_bss_info_changed -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x02abaf48 rt2x00mac_set_antenna -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x09119e9f rt2x00lib_txdone_noinfo -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0a248a0a rt2x00mac_get_ringparam -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0c55fb62 rt2x00lib_txdone_nomatch -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x118c26d6 rt2x00queue_start_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x17ef3f46 rt2x00queue_unmap_skb -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x195eab26 rt2x00mac_start -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1f5b272b rt2x00queue_stop_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2c42dfc9 rt2x00lib_rxdone -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x31303c4b rt2x00lib_set_mac_address -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4289503e rt2x00lib_dmadone -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x46fd0c92 rt2x00lib_pretbtt -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4e211973 rt2x00queue_flush_queues -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4e4e24d8 rt2x00mac_set_tim -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x51353ef9 rt2x00lib_probe_dev -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x53287560 rt2x00queue_stop_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5599312b rt2x00mac_set_key -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x575ff43c rt2x00mac_sw_scan_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5b16c199 rt2x00mac_add_interface -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5fa1ba68 rt2x00queue_start_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x61631521 rt2x00mac_tx_frames_pending -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x639408c9 rt2x00mac_config -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6493235a rt2x00queue_unpause_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x693a6895 rt2x00queue_pause_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6a6c988e rt2x00queue_map_txskb -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7ae36d1e rt2x00mac_rfkill_poll -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x82e7e882 rt2x00mac_stop -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x86a9b7ef rt2x00queue_for_each_entry -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x89db86be rt2x00mac_get_antenna -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8a198ab6 rt2x00queue_flush_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8f290d58 rt2x00lib_txdone -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x93fa3d1a rt2x00lib_suspend -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa03cbf64 rt2x00mac_tx -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa0f05d88 rt2x00mac_get_stats -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb59b4325 rt2x00mac_sw_scan_start -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc92a446c rt2x00lib_dmastart -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc97f7d9d rt2x00mac_flush -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xca4324f2 rt2x00mac_conf_tx -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xce882a0d rt2x00mac_reconfig_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd2813731 rt2x00lib_beacondone -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd63ddfb4 rt2x00lib_remove_dev -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe802cbf5 rt2x00queue_get_entry -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xeb5689d2 rt2x00lib_resume -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xecf19eff rt2x00mac_configure_filter -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xefe61d55 rt2x00lib_get_bssidx -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfcac8c85 rt2x00mac_remove_interface -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x003cbf8f rt2x00mmio_rxdone -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x25e3d6da rt2x00mmio_flush_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x7bb503d8 rt2x00mmio_initialize -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xaf70f308 rt2x00mmio_uninitialize -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xcb74600f rt2x00mmio_regbusy_read -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x2df78e27 rt2x00pci_probe -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x6c4bdba2 rt2x00pci_pm_ops -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x77fa3308 rt2x00pci_remove -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1ff4f96a rt2x00usb_vendor_request_buff -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3867e2bb rt2x00usb_kick_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3ba190ea rt2x00usb_register_read_async -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3cfd464f rt2x00usb_resume -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x507503d9 rt2x00usb_probe -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8185d9b1 rt2x00usb_watchdog -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8f9bf6f8 rt2x00usb_initialize -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9027d635 rt2x00usb_vendor_req_buff_lock -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9452773d rt2x00usb_flush_queue -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x94f0d7f9 rt2x00usb_clear_entry -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x96ba6450 rt2x00usb_uninitialize -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9815cc92 rt2x00usb_disconnect -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbc2a3a26 rt2x00usb_suspend -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbcd1ad10 rt2x00usb_regbusy_read -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc0dcc4cf rt2x00usb_vendor_request -EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc8302709 rt2x00usb_disable_radio -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5a2382fd dm_restorepowerindex -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6b24e6a2 rtl92c_set_p2p_ps_offload_cmd -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa9f26818 dm_writepowerindex -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb66b2c44 dm_savepowerindex -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0a814d21 rtl8723_phy_pi_mode_switch -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x160769da rtl8723_dm_init_edca_turbo -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x242a5b43 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa027b712 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xad5ece61 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xcce6dbdf rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe4233e5e rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe9db11d3 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xeded5200 rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xfa94f1cf rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xfe84014f rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x122886be rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x186958c7 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1c2a7b30 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x21645eaa rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2d32039e rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x305e8d2d rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3278846e rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x38ae15cb rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3ee078c5 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x40b34f13 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x47ab0e4e rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4bb10485 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4c4b268e rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x504af434 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x57bd0221 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x58e6175e rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x63a81e03 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x65d0b5ac rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7d1fb5d6 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7e58affe rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x835b2bc0 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x87a1f831 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x893bf303 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8bd6e24f rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8c02de8b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9028c57d rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x902d8ffb rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x93ce3075 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x95f9f539 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9b95ffc1 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa1243014 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa4a373c7 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb1742721 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb26a4c8f rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb770a642 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbc9a8ae0 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc2014d36 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc7213cf2 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcae825ed rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd2fd7f15 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd5d7a065 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd7fab3ab rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe13d7ec1 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe90da207 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf081053f rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfa258fe3 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfcd0c648 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x12bcfa44 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x64badb3a rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x66d99e23 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x7c2607de rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x8c3c9d1a rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x5cf92448 rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x7a95305d rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x9ad78de1 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x00c1e60f rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x05cd672c rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0ea54191 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x15407866 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x34ea3f38 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x52dfd8b7 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x54f5d188 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9d0d6078 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xaf6de895 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb3628308 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xba67bb06 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbd9d6e42 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd7765a09 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd882b98f rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe00b147a rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe2426292 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4cfda996 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc4bf4438 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcb920fd1 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcd56aa0b rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x049df8e9 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2be69602 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x370aca0c rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x386a3f04 rtl8723_phy_reload_mac_registers EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x42e0e16a rtl8723_phy_path_a_fill_iqk_matrix -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4ac03581 rtl8723_phy_reload_adda_registers -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4cd0958d rtl8723ae_firmware_selfreset -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x594909b1 rtl8723_enable_fw_download -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5e8b8e3b rtl8723_phy_path_adda_on -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6753ba1c rtl8723_dm_init_dynamic_bb_powersaving -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7888adea rtl8723_phy_rf_serial_read -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x789c0078 rtl8723_phy_init_bb_rf_reg_def -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x834463b3 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5d19a5b3 rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x75ff5136 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7a488dd5 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7b7bc729 rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8685ac9b rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x889e4d0e rtl8723ae_firmware_selfreset EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8baf8913 rtl8723_phy_set_sw_chnl_cmdarray -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8e87e36d rtl8723_phy_txpwr_idx_to_dbm -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa04fa1ae rtl8723_save_adda_registers -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa341c5f6 rtl8723_phy_save_mac_registers -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xadd43611 rtl8723_write_fw -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb0638941 rtl8723be_firmware_selfreset -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb0cb4e21 rtl8723_phy_set_bb_reg -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc0690ba2 rtl8723_fw_free_to_go -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc0bbc826 rtl8723_phy_path_a_standby -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd589b5a7 rtl8723_dm_init_dynamic_txpower -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xda8d0f35 rtl8723_phy_mac_setting_calibration -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe8480db9 rtl8723_phy_rf_serial_write -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xebb01990 rtl8723_phy_reload_mac_registers -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xfae134a7 rtl8723_cmd_send_packet -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x08527157 rtl_recognize_peer -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0ebae0c6 rtl_swlps_beacon -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x11a6018a rtl_init_rx_config -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x291ed623 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa130c5df rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa7073c27 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa8441aee rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa9c8d52f rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb72d275d rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbfad675e rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc8e8ccad rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xdb585336 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xdf36af4b rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xdf5fd1b9 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe59476f1 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xea5a6868 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xec0ae1b9 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf04745e2 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xfc68b25d rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x014b50b5 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x08287534 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0a95daf5 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x171c91fd read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2002f293 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x211ecc78 rtl_lps_enter EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d32cdfc rtl_lps_change_work_callback EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2fa43999 rtl_lps_enter -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4ce3f940 rtl_tx_report_handler EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5169fe7a rtl_get_hwinfo -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5458474f rtl_deinit_core -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5876e2c0 rtl_ops -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6c85a347 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5af3cb12 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5ef2d8cc rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x65aea3db rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6ccb7941 rtl_efuse_ops_init EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6db3ba37 rtl_update_beacon_work_callback -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7802c9ec rtl_tx_mgmt_proc -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7b2df11c rtl_p2p_info -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7e8f07d2 rtl_fw_block_write -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x82bb2639 rtl_init_core -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x834e1261 rtl_set_tx_report -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x85a23467 read_efuse_byte -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9199a346 rtl_tx_ackqueue -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x92b75afc rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6f824c8c rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x712926bc rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x781d88af rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8cef1bc3 rtl_tx_report_handler EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xab87d7ee rtl_efuse_ops_init -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb8dd1542 rtl_ips_nic_on -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb9fedd8e rtl_fw_page_write -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd9a7d434 rtl_get_hal_edca_param -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdb8b12eb rtl_deinit_rfkill -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdc1cd61d rtl_action_proc -EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf199ae51 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9c3c255d rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9e05d03e rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa469794a rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa6d69554 rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa9d7e6bf rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbc992c07 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc7cb452b rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd2349893 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xef5c1e39 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xffa47630 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xffd71baa rtl_p2p_info EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled -EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x1884aaae rsi_91x_init -EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x625fbdcc rsi_hal_device_init -EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x8735a482 rsi_91x_deinit -EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xc50ff733 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x14779cde rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x1fdd4e58 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x2137ab3c rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x2f30f22a rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x9db49216 rsi_91x_deinit EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg -EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xf25a62e0 rsi_mac80211_detach -EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x2f217376 cw1200_core_release -EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x5b9f7a9f cw1200_irq_handler -EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x79306026 cw1200_can_suspend -EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xad9dfc74 cw1200_core_probe -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x9791510e wl1251_free_hw -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xa280f5eb wl1251_init_ieee80211 -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xad55d782 wl1251_alloc_hw -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x02fe0951 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x545b7141 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x8ed54b76 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x9b120bd8 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xf92f62c7 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x0a19c090 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x475b9617 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x75c32b9c wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x05285f24 wl1271_cmd_test EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x07616b5e wlcore_event_max_tx_failure -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1000d4d7 wl1271_acx_pm_config -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x11f283bc wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0c6a4f97 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0e2fcef8 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1e470a3b wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1fc41f75 wlcore_disable_interrupts_nosync EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x21749108 wlcore_cmd_generic_cfg -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x28137455 wl1271_tx_min_rate_get -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2d3a372b wlcore_event_ba_rx_constraint -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x34a4f540 wlcore_scan_sched_scan_results -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3e68e30c wlcore_event_sched_scan_completed -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x411d2c2e wlcore_probe -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5098ab0d wl1271_acx_init_mem_config -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x52961245 wl1271_cmd_test -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5605e42c wlcore_disable_interrupts_nosync -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x57c59362 wlcore_event_rssi_trigger -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5eb182e4 wlcore_boot_upload_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6297be80 wlcore_translate_addr -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6323c349 wlcore_cmd_wait_for_event_or_timeout -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x73c7df8a wlcore_set_key -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x757e0ff7 wlcore_scan_sched_scan_ssid_list -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x81b1b4f4 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x225bd7e0 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x29e0736b wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x318f50c1 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x36f82c00 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3fad13f1 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x52b7daa3 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5890cf82 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5899dde5 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x629a171b wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x64959a43 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x65361b24 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6a8f278f wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6cbf6345 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x798d140e wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7beebe23 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7f4d349e wlcore_event_ba_rx_constraint EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x87cc3658 wl1271_acx_set_ht_capabilities -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9135d1ed wlcore_boot_run_firmware -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x92621cf3 wl1271_debugfs_update_stats -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x98ee110f wlcore_alloc_hw -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa265e6fe wlcore_event_roc_complete -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa7949134 wlcore_event_inactive_sta -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xab0a45b2 wl1271_tx_flush -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xad777251 wlcore_set_partition -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xaed617ee wl1271_acx_sleep_auth -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb4aea22a wlcore_set_scan_chan_params -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb7ec181f wl1271_cmd_data_path -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb8945bf3 wlcore_disable_interrupts -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb95d4d2d wlcore_remove -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbdc05710 wl1271_cmd_configure -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc25e27bf wlcore_event_channel_switch -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc515dac2 wlcore_event_dummy_packet -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xca8fa863 wlcore_event_soft_gemini_sense -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd43eef4c wl12xx_cmd_build_probe_req -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdda97479 wl12xx_acx_mem_cfg -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe003d2d9 wlcore_enable_interrupts -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe5cb640b wlcore_free_hw -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe8b30e8e wlcore_boot_upload_nvs -EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf1b2b790 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8646eba3 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9079014d wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x91bc4838 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x992680bf wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9c808973 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa0f065f2 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa3470a2f wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa5949cef wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa883a807 wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb53cccff wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbbd6f040 wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc1791f18 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc331205c wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc598eefb wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc5ad9cc6 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc6308e70 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc8f7d7a5 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcb40f8fc wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe9220537 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xeb9e4311 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf3790331 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfd89eb75 wlcore_cmd_generic_cfg EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x074b2933 nfc_mei_phy_free EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x677ccdc9 mei_phy_ops EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x7190e168 nfc_mei_phy_alloc @@ -16313,15 +16313,15 @@ EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xd7752b86 wmi_set_block EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xef571d8e wmidev_block_query EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xf18bdd75 wmi_install_notify_handler -EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x2d45f6fc bq27xxx_battery_update -EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x98d5f58b bq27xxx_battery_teardown -EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xb1b167da bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x0a0ed4ae bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x26ba3013 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xaa1f668e bq27xxx_battery_setup EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xb86b9e93 pcf50633_mbc_get_status EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xec3a30a2 pcf50633_mbc_get_usb_online_status EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xf666bba2 pcf50633_mbc_usb_curlim_set -EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x17f80c94 rapl_remove_package -EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x6a9a185c rapl_add_package -EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x742786df rapl_find_package_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x3d2e5ee3 rapl_add_package +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x5742402f rapl_find_package_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0xbf19a2bc rapl_remove_package EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x38854b00 mc13xxx_fixed_regulator_ops EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x9955a7aa mc13xxx_regulator_ops EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xc8148cb2 mc13xxx_fixed_regulator_set_voltage @@ -16336,53 +16336,53 @@ EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf14f5684 qcom_glink_ssr_notify EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x041135e0 cxgbi_device_find_by_lldev -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0657ed77 cxgbi_create_conn -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0a9ad3c4 cxgbi_create_session -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0bd279e6 cxgbi_device_find_by_netdev -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0f800bea cxgbi_sock_select_mss -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x192618fe cxgbi_sock_closed -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1ba2706f cxgbi_sock_skb_entail -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1f2451c6 cxgbi_iscsi_cleanup -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2134a567 cxgbi_ep_poll -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x23eb07f8 cxgbi_sock_rcv_wr_ack -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x25686904 cxgbi_ep_disconnect -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x30d09bce cxgbi_bind_conn -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3e8b4f89 cxgbi_ddp_ppm_setup -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4e87c85f cxgbi_conn_pdu_ready -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x593d2001 cxgbi_destroy_session -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5a3e4842 cxgbi_sock_act_open_req_arp_failure -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5b801f4c cxgbi_device_portmap_create -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x625ce6b3 cxgbi_ep_connect -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7de61a54 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x08a6f406 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x13ca50d8 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x17488e60 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1c56884c cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1dd6de13 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2793e8be cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f12213e cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x39da364c cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3b82b056 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x465fac4a cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4710a8c8 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4b398766 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f1570c2 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5cb256e1 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6c278d09 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6c73535f cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x73363460 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7c2cd9d3 cxgbi_set_host_param EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c5a667f cxgbi_device_portmap_cleanup -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f092b84 cxgbi_get_host_param -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x94215ca3 cxgbi_get_conn_stats -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x94a5ca37 cxgbi_hbas_remove -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9bc5684d cxgbi_sock_purge_wr_queue -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9cd1ea8a cxgbi_cleanup_task -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9e578709 cxgbi_sock_fail_act_open -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa03c8eed cxgbi_conn_xmit_pdu -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa68189c1 cxgbi_sock_check_wr_invariants -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb393e97a cxgbi_device_find_by_netdev_rcu -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb883f102 cxgbi_device_unregister -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbd1efb53 cxgbi_set_conn_param -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbdba0e55 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x87674fd9 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x878cfdf7 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8d1375f8 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f74bcc6 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9015dce0 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x91009d7f cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x91370fa6 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x971cd90e cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x973c2c36 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaf271a05 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb63d7c87 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb7787c8c cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbae17567 cxgbi_sock_fail_act_open EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc0a1113f cxgbi_sock_free_cpl_skbs -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc9a7e1dc cxgbi_parse_pdu_itt -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xce0968d7 cxgbi_get_ep_param -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd2a309d2 cxgbi_sock_rcv_abort_rpl -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd7de572f cxgbi_conn_alloc_pdu -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd85320e9 cxgbi_conn_tx_open -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xda5ca056 cxgbi_sock_rcv_peer_close -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe4e22faf cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc179e6ea cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc5596827 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc9ef50e9 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xca14d0c1 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcaeedb74 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xce67be78 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xced8c634 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdc94b547 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xedd5b49c cxgbi_sock_purge_wr_queue EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf316f843 cxgbi_set_host_param -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfbe3e5df cxgbi_sock_rcv_close_conn_rpl -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfcfd14ce cxgbi_iscsi_init -EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfdc109d7 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf062a029 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf9d9c501 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfaf1ddbe cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfc607dcb cxgbi_cleanup_task EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0ab397ba fcoe_get_paged_crc_eof EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1b98394c fcoe_fcf_device_add EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1c93cbf5 fcoe_ctlr_get_lesb @@ -16412,75 +16412,75 @@ EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xbefe618c iscsi_boot_destroy_kset EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xea29c8ae iscsi_boot_create_target EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x905b0a32 fc_seq_els_rsp_send -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0a81be7f iscsi_complete_scsi_task -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0a99df63 iscsi_prep_data_out_pdu -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0dfa10c2 iscsi_session_recovery_timedout -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x128179ce __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x033f2d0f iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x08cb9e86 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0d1924c9 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0da7203a iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0e15e5dc iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x127b6c37 iscsi_itt_to_ctask EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1a2231ec iscsi_itt_to_ctask -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1a780416 iscsi_host_free -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b99cf3f iscsi_session_failure -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1d139f10 iscsi_suspend_tx -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1e9f91d9 iscsi_host_add -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f18a7d4 iscsi_conn_failure -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2921d5dc iscsi_eh_session_reset -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2f18f84b iscsi_host_get_max_scsi_cmds -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x315fa8ce iscsi_conn_get_param -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x334fe2da iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x14064a30 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1761c18b iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1a1f01a9 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1fc2d033 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2aa0ca76 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x33207617 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x370a9f79 iscsi_conn_teardown EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d5f6688 iscsi_put_task -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5ffedfaa iscsi_itt_to_task -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x648de332 iscsi_queuecommand -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6c2544a7 iscsi_conn_setup -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6ce18c68 iscsi_conn_queue_xmit -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6e3c9328 iscsi_suspend_queue -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7aa103c7 iscsi_conn_stop -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7bbfb67f iscsi_session_free -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x80a7c966 iscsi_session_teardown -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x80e2febe iscsi_conn_bind -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x879d298a iscsi_conn_unbind -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8a1e5067 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4238a105 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4bd0a2d2 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4ee25bf0 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x53529fcb iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5533138b iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b93d412 iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x66c902d8 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6774f174 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x688c619b iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6b9e29e7 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6c7ba5aa iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x700929aa iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x750811bd iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8063be12 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8729565d iscsi_conn_queue_recv EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8fbee115 iscsi_conn_queue_recv -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x917f0784 iscsi_eh_device_reset -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x93a3a3e0 iscsi_target_alloc -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9d1fd091 __iscsi_put_task -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa5ab0826 iscsi_conn_send_pdu -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa63f986c iscsi_session_get_param -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb0973ae9 __iscsi_get_task -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb14c4b3d iscsi_host_get_param -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbdf16a3c iscsi_suspend_rx -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc1721ade iscsi_set_param -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca9f5f2c iscsi_host_remove -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd4bbac6a iscsi_eh_cmd_timed_out -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd5d5a970 iscsi_eh_recover_target -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd7f24a1f iscsi_host_set_param -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xddc2ece3 iscsi_eh_abort -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe20971d2 iscsi_verify_itt -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe65a7f93 iscsi_host_alloc -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe75d31c9 iscsi_session_remove -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe773b639 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x97544f35 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9fa20933 iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa09699f5 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4957598 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xac305567 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xad635b13 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xae572575 iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb52b6d22 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb71f1902 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb94abd9d iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5970bb0 iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcf7b16b8 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe02b180a iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe6848006 iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe83fdc5b iscsi_requeue_task EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf2be356f iscsi_conn_start -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf44cd880 iscsi_conn_teardown -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf51d95a7 iscsi_update_cmdsn -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x00743ab4 iscsi_tcp_dgst_header -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1af7a4b1 iscsi_tcp_task_init -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4dd21997 iscsi_tcp_recv_segment_is_hdr -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5986cd4a iscsi_tcp_recv_skb -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5a5c151f iscsi_tcp_task_xmit -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6455782c iscsi_tcp_set_max_r2t -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6deb3627 iscsi_tcp_segment_unmap -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7094a2cd iscsi_tcp_r2tpool_alloc -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x75239dcc iscsi_tcp_r2tpool_free -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x77a53811 iscsi_tcp_conn_get_stats -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x96bfeb17 iscsi_segment_init_linear -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb94d9ea1 iscsi_tcp_conn_teardown -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbbf56cfb iscsi_tcp_conn_setup -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbe0a9c66 iscsi_tcp_hdr_recv_prep -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcc1d4958 iscsi_tcp_segment_done -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe593e1e1 iscsi_segment_seek_sg -EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf68e3a3a iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xecc66aa0 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xed1ee36a iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf12758f6 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfb1239a4 iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfe568eb7 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x038d741e iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x09f1e1a2 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x135250af iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x14b8a3db iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2e9ae872 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3967ade7 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4a31d611 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x54782866 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x619a38c9 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x79f9e608 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7a030050 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9561e9eb iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9d6c6497 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd4287849 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe0ada813 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe7f387b2 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfb8f4f45 iscsi_tcp_hdr_recv_prep EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x02c6ec16 sas_bios_param EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x03d8ebb4 sas_notify_port_event EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x04a4830c sas_phy_reset @@ -16509,72 +16509,72 @@ EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xeb47867b sas_ata_schedule_reset EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfaac855c sas_change_queue_depth EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0x711da2e9 fc_eh_should_retry_cmd -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x037ff60a iscsi_lookup_endpoint -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x045c065d iscsi_post_host_event -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0c81294d __traceiter_iscsi_dbg_sw_tcp -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d82ae92 __tracepoint_iscsi_dbg_eh -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x131e3408 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x026f8f19 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x060225e6 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x098d9e4b iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x10a92282 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1316be98 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1481c46c iscsi_ping_comp_event EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x15dc8bab __SCT__tp_func_iscsi_dbg_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x187901ab iscsi_is_session_online -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1a9bd887 iscsi_destroy_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1c8ce94d __SCK__tp_func_iscsi_dbg_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x22a1dfac iscsi_unblock_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x27ba5073 iscsi_block_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x28c0cbfe iscsi_create_flashnode_sess -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2beb70ae iscsi_get_port_state_name -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2d6bc428 iscsi_force_destroy_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2f1224a0 iscsi_session_chkready -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3d6c9913 iscsi_dbg_trace -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4039a5c7 iscsi_recv_pdu -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4935a120 iscsi_create_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4bce9777 iscsi_offload_mesg -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x500eb197 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x19857d4d iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x24662ffa iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x254d8e61 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2f79c79c __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x34f3e202 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x39210bf7 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x39aa257b __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3daaa724 iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x43c7001c iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4fadfcc6 iscsi_free_session EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x52575134 __SCT__tp_func_iscsi_dbg_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x590419ab iscsi_put_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5b609cdd __traceiter_iscsi_dbg_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5f734e2e iscsi_destroy_endpoint -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x68a96b51 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x54adf4ee iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x689f1e4b __traceiter_iscsi_dbg_eh EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6e139a5d __SCK__tp_func_iscsi_dbg_tcp -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6fe28928 iscsi_session_event -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x75ad0be0 iscsi_alloc_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76c5916b __SCK__tp_func_iscsi_dbg_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7b2a5eb2 iscsi_conn_login_event -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7b4960f1 iscsi_block_scsi_eh -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x808ca638 __traceiter_iscsi_dbg_eh -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x83670744 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6a3e6a20 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6cb1e593 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6e2181ca iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6e95541d __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6fba56f8 __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7037e9d7 __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x70c94f9b __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x787f71cd iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7a1fced9 __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7d0af20d iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7d2cc92c iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x800fc455 iscsi_post_host_event EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x85e70ec7 __traceiter_iscsi_dbg_tcp -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8ee4988f iscsi_conn_error_event -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x90eb35b5 __SCK__tp_func_iscsi_dbg_sw_tcp -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x97d58c6f iscsi_ping_comp_event -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b437238 __tracepoint_iscsi_dbg_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa3219d10 iscsi_register_transport -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa57e7505 __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8db7514a __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8ec04858 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x920dd0e7 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9260eead iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9f80d5c9 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9fbcc841 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa041b0ed iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa0514a47 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa5cf0669 iscsi_destroy_all_flashnode EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa8c4b5e1 __SCT__tp_func_iscsi_dbg_tcp -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa92b3dcc __tracepoint_iscsi_dbg_tcp -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb2cd14d6 iscsi_scan_finished -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb7596e23 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xae0406e4 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb3bbeb53 __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb41508bf iscsi_recv_pdu EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbd0ce3d7 iscsi_free_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbd91b7a7 __tracepoint_iscsi_dbg_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc71d8a2 iscsi_put_endpoint -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcd591052 iscsi_unregister_transport -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcda7e1cd iscsi_create_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd0275ef1 iscsi_host_for_each_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd54362cd iscsi_create_flashnode_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde20aeec iscsi_create_iface -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xded85fa9 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc207d524 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc2fddbed iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc7c1e220 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca5f3ffb __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcb6e0cbd iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc7aa1da iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd5994dc3 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde22a3de iscsi_unregister_transport EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdf515c49 __SCT__tp_func_iscsi_dbg_sw_tcp -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe28d8be9 __SCK__tp_func_iscsi_dbg_eh -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe74e6ffd __traceiter_iscsi_dbg_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xec5e8ad3 iscsi_add_session -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf1b617bc iscsi_get_conn -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf221f1e9 iscsi_flashnode_bus_match -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf6158b64 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe1131f1d iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe297ac41 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe8c575a0 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xee3c574f iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf273a7e4 iscsi_find_flashnode_conn EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf7e749fb __SCT__tp_func_iscsi_dbg_eh -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfac1f498 iscsi_destroy_iface -EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfd07b89c iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf8678083 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfc54b357 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfe1d7ba5 iscsi_destroy_iface EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x9d5983ba sas_enable_tlr EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd45cb233 sas_is_tlr_enabled EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd5a71bd3 sas_disable_tlr @@ -16746,10 +16746,10 @@ EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xbae0e12f atomisp_get_default_camera_caps EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xc35727d7 atomisp_gmin_register_vcm_control EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xc74cff56 gmin_camera_platform_data -EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x17ffa68e target_queue_submission -EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x87eb0b77 target_submit_prep -EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x89b421b7 target_init_cmd -EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x90a0fef0 target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x5760f298 target_queue_submission +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x948d0b3f target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xa91dcc64 target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xdd5555a6 target_submit_prep EXPORT_SYMBOL_GPL drivers/tee/tee 0x04457a78 tee_device_unregister EXPORT_SYMBOL_GPL drivers/tee/tee 0x0ca09f38 tee_shm_put EXPORT_SYMBOL_GPL drivers/tee/tee 0x1608d76c tee_bus_type @@ -16838,8 +16838,8 @@ EXPORT_SYMBOL_GPL drivers/uio/uio 0x5bb5d75a uio_unregister_device EXPORT_SYMBOL_GPL drivers/uio/uio 0xbc8b7645 __devm_uio_register_device EXPORT_SYMBOL_GPL drivers/uio/uio 0xc084aa7d uio_event_notify -EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x3bcba503 usbatm_usb_disconnect -EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x87b6a70e usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x083e3055 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xeee8b24c usbatm_usb_disconnect EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x25a5ea67 cdns_resume EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x278bee77 cdns_suspend EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x2cd1677e cdns_clear_vbus @@ -16849,8 +16849,8 @@ EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x72f5b33d cdns_drd_gadget_off EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x9ac94193 cdns_set_vbus EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xf95725f5 cdns_drd_gadget_on -EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x0f1477d6 hw_phymode_configure -EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x1c2e6e2f ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x03d5d2e4 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x321f2695 hw_phymode_configure EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x955c4f2c ci_hdrc_query_available_role EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x9ab8f0d7 ci_hdrc_remove_device EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x264e53d9 ulpi_unregister_driver @@ -16859,52 +16859,53 @@ EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x85c41afe ulpi_register_interface EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xa5d45aec __ulpi_register_driver EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xb9768c2e ulpi_read -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0137f2f2 u_audio_get_mute -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0746a934 u_audio_stop_playback -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x09908a2c u_audio_start_capture -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x41f23ae9 u_audio_start_playback -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5342b373 u_audio_get_volume -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7e0b9e43 u_audio_set_volume -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xd22c9ae0 g_audio_setup -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xd4bd2e83 u_audio_stop_capture -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xdb309c83 u_audio_set_mute -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xfae90257 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x11e05be0 u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x173554f4 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x3628b08c u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7ca71f7e u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8b71eba4 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xc0aecd53 u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xddd7c04a u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xe087358f g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xe1ad206c u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xe8df31eb u_audio_stop_playback EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x06af4d4d gether_get_qmult EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x39c6497f gether_set_host_addr -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x4c403162 gether_connect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5d3098da gether_get_ifname EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x62204d21 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x716c9b87 gether_set_gadget EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x737cf7f8 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x84d24740 gether_connect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa6879baf gether_setup_name -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xbe152f7c gether_disconnect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc19b75a6 gether_set_ifname EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xce86fd4a gether_get_dev_addr EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xcff67f36 gether_set_dev_addr EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd4a99a24 gether_register_netdev EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd4bc59e9 gether_setup_name_default EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd4d8b838 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xdc02ecc2 gether_setup_name EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe139c89f gether_get_host_addr_u8 -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf7d001fc gether_set_gadget -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x2f746d23 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe1c1be2e gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x1813f456 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x1d52ed58 gserial_suspend EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x83e51df5 gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x8a26df0c gserial_connect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xba252f80 gserial_connect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xead4b106 gserial_resume -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x0fd75327 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xf6283627 gserial_disconnect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x6c825859 ffs_lock -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xc5680383 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x80ef6242 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xb78954e6 ffs_single_dev EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x099ebb98 fsg_show_nofua EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2acc5d6b fsg_common_set_cdev EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc @@ -16936,114 +16937,114 @@ EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd1a3e8e0 fsg_common_create_luns EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd26efa47 fsg_store_cdrom EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xdf388fdc fsg_store_inquiry_string -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xea90778f fsg_common_set_cdev EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4efc0c8 fsg_ss_bulk_out_desc EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0346493a rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1e3f2f0b rndis_borrow_net EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x22d8124e rndis_signal_disconnect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x302775dd rndis_add_hdr EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x3cdcc658 rndis_uninit EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x427ed583 rndis_signal_connect EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x522c86f1 rndis_set_param_medium -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x5e7a3565 rndis_borrow_net EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x70e5a3c8 rndis_get_next_response EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x760d47fe rndis_deregister EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9e2116de rndis_register EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa66622f9 rndis_msg_parser -EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa6a886e7 rndis_rm_hdr EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc5a55c52 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd3cee790 rndis_rm_hdr EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd9dbc248 rndis_set_host_mac EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf9afac61 rndis_set_param_vendor EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1b5c934e usb_get_function -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2040aa6f usb_function_activate -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x20788405 usb_function_unregister -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x24d006b6 usb_assign_descriptors -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2b76e291 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1014f5af usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x19c9a266 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1df34b37 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x21eeb073 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x22ef7abe usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2c1a7130 usb_ep_autoconfig EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2fce09d4 config_ep_by_speed -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x343ce192 usb_interface_id -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x364dd332 usb_put_function -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x38b674a2 usb_add_function -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3dbfcbc0 usb_string_id -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x44d59e80 usb_composite_overwrite_options -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4672c488 config_ep_by_speed_and_alt -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4944271a usb_otg_descriptor_init -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4af446d0 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3fc91f6f usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x492398bd usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4bce1a40 usb_string_ids_tab EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x699e56ad usb_composite_probe -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x74410c40 usb_string_ids_n -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8a12ca21 usb_get_function_instance -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x90263c92 usb_add_config -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x94f051f6 usb_otg_descriptor_alloc -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa0f719ac usb_put_function_instance -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa51df1d2 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x50fc47df usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x577598ec usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5946c74b usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x728b7e2d usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x74ff9f3b usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x86dcae71 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8f93c8c7 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa079329d usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa0e4d21f usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa393b545 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa8404f9e usb_function_activate EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaa1071fc unregister_gadget_item -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb08f04b2 usb_free_all_descriptors -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb4c9ee9c usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb080b28f usb_composite_unregister EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbd60b982 usb_remove_function -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc048c8a8 usb_gstrings_attach -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc4ba6389 usb_composite_unregister -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xce7c2996 usb_ep_autoconfig_reset -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcebc3d58 usb_function_register -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd150a131 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbcaaafff usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc034e150 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc13f74e3 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc49fb6fa usb_assign_descriptors EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf -EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf02fe03f usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd95f215f usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe65092eb config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe678aa32 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf011f9d4 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf404a965 usb_otg_descriptor_alloc EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2cc9269f free_dma_pools -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x39161e8d empty_req_queue -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x4139aea7 init_dma_pools -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5b475fce udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0ad73801 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2aaf46a6 udc_basic_init EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x863e1ec6 udc_enable_dev_setup_interrupts -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x8c88ca34 udc_probe -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xc7ef4014 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x86a2ea41 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x9ac6533c free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xbc012f29 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xd2dd6abb udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xdc022f12 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xdc485f43 udc_probe EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xebfd943a gadget_release -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xffad0589 udc_mask_unused_interrupts -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x00e737cb usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x00ca3440 usb_gadget_connect EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0a8c3b4b usb_ep_set_halt EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0acfe2e7 usb_ep_set_wedge EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0c26c0d2 usb_gadget_unmap_request_by_dev EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x151005d5 usb_add_gadget_udc -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x191adc30 usb_gadget_unregister_driver -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1dc4cdf7 usb_del_gadget_udc -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2a9676f6 usb_gadget_activate -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x38d506e3 usb_gadget_deactivate -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3fe712b2 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1278987f usb_del_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x19243b77 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1efa4ceb usb_add_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2e734794 usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3148b64f usb_gadget_set_remote_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x33012b9a usb_gadget_vbus_disconnect EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49d9f030 usb_ep_fifo_status -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4e952449 usb_gadget_vbus_disconnect -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4ff9d111 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5019d0a3 usb_add_gadget_udc EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5076fa7f usb_gadget_set_selfpowered EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x59f60ac1 usb_gadget_check_config -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5b54c6b3 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x530d4667 usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x59856c6b usb_gadget_vbus_connect EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x659b60a6 usb_gadget_connect -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x65ae00c0 usb_gadget_frame_number -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7270dabb usb_gadget_set_selfpowered -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x75b78cfd usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x72b2f3a5 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7356c1c3 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x74d715e2 usb_gadget_activate EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a41b9f2 usb_ep_set_maxpacket_limit EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7be89624 usb_gadget_giveback_request -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7df01719 usb_gadget_map_request -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7e1998ba usb_add_gadget -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8386064d usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7e0e81ab usb_del_gadget_udc EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8e0c9c2b usb_gadget_vbus_draw -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9bbcf9ca usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8d139c5e usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8d61c211 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x91faaa70 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9318099f usb_gadget_disconnect EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa7fe81a2 usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa5bdaa7d usb_gadget_check_config EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc2f6d7d9 usb_gadget_wakeup -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc6a37c35 usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb147a06c usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc7a93a95 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc7b8447b gadget_find_ep_by_name EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcbd3afc9 usb_gadget_map_request_by_dev -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcf459101 usb_udc_vbus_handler -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd8c74326 usb_gadget_set_state -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd8ea050b usb_del_gadget -EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe05faafa gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcd102ec7 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe954bad5 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xead10af3 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfa643274 usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfbc0b820 usb_gadget_deactivate EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xd2887209 renesas_xhci_check_request_fw EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x6601c78d ezusb_fx1_set_reset EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xf6176907 ezusb_fx1_ihex_firmware_download @@ -17058,24 +17059,24 @@ EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xaf9dcb8b ftdi_elan_gone_away EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb -EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x1a988fac musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x1bf29b2b musb_interrupt EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2d1edfc4 musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x3f29d57d musb_queue_resume_work EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x719a5e41 musb_readw -EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x75361f0f musb_set_host -EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x82880267 musb_queue_resume_work -EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xa21677bf musb_interrupt EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xb834db74 musb_set_host EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xbe3f271c musb_get_mode -EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xd5ed0ca8 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xc0da522a musb_set_peripheral EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl -EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x18eade65 usb_phy_gen_create_phy -EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x30a4700c usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x31d309c4 usb_gen_phy_shutdown EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x3c3a55c6 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x53c47530 usb_gen_phy_init EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x66ac1cce usb_phy_generic_register -EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xceeb30dc usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xf14aa6f3 usb_phy_gen_create_phy EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x6cb26105 isp1301_get_client EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x1194d63c usb_wwan_port_probe EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x05b9d68a usb_serial_generic_process_read_urb @@ -17189,22 +17190,22 @@ EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x5da0fde3 ucsi_connector_change EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x877aa525 ucsi_send_command EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xf714a905 ucsi_unregister -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x05d426de usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0c4e51dd usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x30f5d912 usbip_recv_iso EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5498d4b0 usbip_start_eh -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5eb934ce usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5ccf87f8 usbip_dump_urb EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x6d1faaf4 usbip_event_happened EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x815ccc2e usbip_in_eh -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x990f6379 usbip_pad_iso -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9bcbb7e1 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x826eece9 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x86f164c6 usbip_recv EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9d89e149 usbip_stop_eh -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa4048037 usbip_recv_xbuff -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc3329c3b dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc0cf8484 usbip_pad_iso EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xcee545d2 usbip_event_add EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xdb28eaf3 usbip_recv_xbuff EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf0c9dd42 usbip_recv -EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xfe311a0c usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xeea1be29 usbip_pack_pdu EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x58e3f0ae vdpa_mgmtdev_unregister EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x676678f3 vdpa_unregister_driver EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x813e16d5 _vdpa_register_device @@ -17330,308 +17331,308 @@ EXPORT_SYMBOL_GPL fs/dlm/dlm 0xd3dbc479 dlm_posix_get EXPORT_SYMBOL_GPL fs/dlm/dlm 0xe0cad73e dlm_posix_lock EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested -EXPORT_SYMBOL_GPL fs/lockd/lockd 0x06cc8128 lockd_up -EXPORT_SYMBOL_GPL fs/lockd/lockd 0x22c85c2f nlmsvc_ops -EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2ed8c067 nlmclnt_proc -EXPORT_SYMBOL_GPL fs/lockd/lockd 0x67012ba7 lockd_down -EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6d4a6eda nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0139052b lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0d5fa93d nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x5b7fc210 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x76f360b7 nlmclnt_init EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip -EXPORT_SYMBOL_GPL fs/lockd/lockd 0x84b478ec nlmsvc_unlock_all_by_sb -EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8f86425f nlmclnt_done -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x026196d3 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7abf8a2f nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x80e917e7 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x903f6ed1 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x007afece nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00b376a5 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00f0217f nfs_pgio_header_alloc EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x02b35bdd __tracepoint_nfs_xdr_status -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x047f203a nfs_pageio_init_write -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0493ee85 nfs_free_server -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0703c80d nfs_write_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x076ef9b3 nfs_close_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c6e3985 nfs_mkdir -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0dc5aa82 nfs_release_request -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fce4f4e nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03298089 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04c0defa nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x05802c76 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a417c73 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0f84d845 __tracepoint_nfs_xdr_status EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x14f0f44e nfs_rename -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15266f44 nfs_try_get_tree -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15400a9a nfs_client_for_each_server -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x161c45c7 nfs_submount -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1621b991 nfs_get_client -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1676eb26 nfs_request_remove_commit_list -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a13f192 nfs_flock -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1abc530c get_nfs_open_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1b9955d9 nfs_server_copy_userdata -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1cace114 nfs_file_operations -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fed5f2f __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x116131b6 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x12dadcb7 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16446776 __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1673546e nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a58795c nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c327e06 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c54708c nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e231924 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2068c794 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x206da782 nfs_may_open EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25e4d433 nfs_show_devname -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2626d17c nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x242f216f nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2661effc nfs_post_op_update_inode_force_wcc EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x286082f3 nfs_instantiate -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29fa12db nfs_init_server_rpcclient -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ad8f2f6 nfs_free_client -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ba52faa nfs_alloc_client -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c746489 nfs_link -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ca38d67 nfs_init_commit -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d54cdbd unregister_nfs_version -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d5ab175 nfs_refresh_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d63f13b nfs_async_iocounter_wait -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e738e9e nfs_may_open -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f58d8b0 nfs_check_cache_invalid -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3025aa0e nfs_file_fsync -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x36feca73 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2783b86e nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x291a57cd __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f83ecd9 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30f1aec1 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x317a4bc6 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31fccd88 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x32d13159 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3444533f __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x364116e9 nfs4_label_alloc EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37239e6d __SCT__tp_func_nfs_xdr_bad_filehandle -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3914d6a4 nfs_probe_fsinfo -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3939ab97 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3930e7f6 nfs_clone_server EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3b3da6b6 nfs_set_cache_invalid -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3bb292dc nfs_wait_client_init_complete -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3d41f444 nfs_alloc_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ec5e622 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3a0481fb nfs_file_llseek EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2ea11b nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40326c26 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4038b061 register_nfs_version EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40d3f97e nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42ae781a nfs_pgio_current_mirror EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x492c26c8 nfs_free_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a417e8a nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44f93e23 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x47c511ef nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x47dbd7eb nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x483e936a __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4842f029 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x496c7723 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x49935bc7 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b9d6215 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4bc0fb31 __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c8fb774 nfs_clear_verifier_delegated EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f1a1ad0 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cc80be7 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4eb625aa nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ece3063 nfs_free_server EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x53802ba0 nfs_atomic_open -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55ff8a7c nfs_init_cinfo -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5800cd69 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x577989c8 nfs_mknod EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x590e9a30 nfs_initiate_pgio -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x592a7cd0 nfs_clone_server -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a14eecf nfs_generic_pgio -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d02b763 nfs_pgio_header_free -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5f184379 nfs_pgheader_init -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x606039ac nfs_alloc_server -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x61831311 nfs_dentry_operations -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x621eeb2f nfs_file_mmap -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x641fc827 __traceiter_nfs_xdr_bad_filehandle -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x681670c2 nfs_access_add_cache -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x736d5918 nfs_do_submount -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x75351d01 nfs_clear_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76b19103 nfs_file_write -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78d9fe5d __tracepoint_nfs_xdr_bad_filehandle -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7989f2c2 nfs_filemap_write_and_wait_range -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7b140e8d nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58f70f62 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59712ea9 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a251f96 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5db7b164 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5e4f01ff nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x60de93af nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x61d2f05f nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x62ef3cdf nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x64c12847 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6544673a nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6a9ce157 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6c4e503e nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x733e3095 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x75bc2fbc nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x773e4e60 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x795fa207 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7afbec6a nfs_kill_super EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ddf368a nfs_pageio_resend -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ef4ce9d nfs_file_read -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x802b20d9 nfs_setsecurity -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80edcb18 nfs_sb_active -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8216dd25 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7cce9aa2 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7d9f1be7 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7da95107 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f9de470 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80a7155c nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x81a1b686 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82da25d4 nfs_invalidate_atime EXPORT_SYMBOL_GPL fs/nfs/nfs 0x832e8f0b nfs_alloc_fattr -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86ce474c nfs_getattr -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x898045b1 __SCK__tp_func_nfs_xdr_bad_filehandle -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8bda04c4 nfs_path -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e7d494d nfs_force_lookup_revalidate -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90980e8f nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x84a0c243 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86d2c027 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x870d8f63 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8784bdda __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8af80f73 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8b522fa8 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9022978e nfs_probe_fsinfo EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a9d872 nfs_retry_commit -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90bccc7f nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90ae8d26 nfs_commitdata_alloc EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91fafae9 nfs_kill_super -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x92f5ee52 put_nfs_open_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x941e22e8 nfs_lookup -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x946e290f nfs_umount_begin -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x949ddc8d nfs_create -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94fb9870 nfs_statfs -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x959e1462 nfs_clear_verifier_delegated -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95fe8344 nfs_show_options -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9741d8cc nfs_scan_commit_list -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x97f65bd5 nfs_request_add_commit_list_locked -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9818e832 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95ded55c nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x961af5d7 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x97e5b48e nfs_rename EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9a1804b2 __tracepoint_nfs_fsync_enter -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c2a6703 nfs_get_lock_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c822bc7 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ab1a05c nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9b0a491f nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9cdfbaef nfs_set_cache_invalid EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d919c44 __SCT__tp_func_nfs_fsync_exit -EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e3374c8 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e5aca79 nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f0ef0f7 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f33eb7c nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f858ff2 nfs_show_options EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa05ca625 nfs_fattr_init -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa206c54f nfs_client_init_is_complete -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa29f0ec4 nfs_fhget -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa6fe285d nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa13f549d nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa1b24eed nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2a3ab9f nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa61c6ed1 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa633e71f nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa718bf43 __traceiter_nfs_fsync_enter EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa901869f __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa92a74e7 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9691524 nfs_free_client EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab051b7f nfs_mknod -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab3ff9b1 nfs_fscache_open_file -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac1142d5 nfs_revalidate_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac72d0ee nfs4_fs_type -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xacc78f29 nfs_permission -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaeaa526f nfs_file_set_open_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb45f826d __SCK__tp_func_nfs_fsync_exit -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb668aa29 nfs_set_verifier -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbad6516a nfs_fs_type -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb814a62 nfs_lock -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc389476 nfs_pgio_current_mirror -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd09bf19 nfs_show_stats -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe1fa63a nfs_mark_client_ready -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf291eb7 nfs_setattr_update_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc03e9201 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xad292361 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaf674b77 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaffb9310 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9b1e8ae __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb133752 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe8c71d9 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc07ec24a alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc1486b73 nfs_init_server_rpcclient EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc15ed992 nfs_access_set_mask -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc181ec42 nfs_access_get_cached -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc1ca7cc6 nfs_sb_deactive -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc2ec9e90 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc2a67fc8 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc2f41ef7 nfs_write_inode EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc5b462f3 nfs_commitdata_release -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc7f9c205 nfs_writeback_update_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc87408e3 __traceiter_nfs_xdr_status -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc9e8a073 nfs_inode_attach_open_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcdab4901 nfs_unlink -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce30814c nfs_pageio_reset_write_mds -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd0ccb33b alloc_nfs_open_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd51646e6 nfs_wait_on_request -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7a771ca register_nfs_version -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd85404ea nfs_init_client -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd865e5e0 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc40b8b4e nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc56b80df nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc83c2552 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcb18ebc9 nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcb9b7817 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd279040 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd95e057 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf08941f nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf57f7ed nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf679ce4 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd2e3d38c nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd35b53de nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd3a485e3 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5591888 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd706a88f nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7427461 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd9eb5742 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xda16fc49 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xda5dc168 nfs_wait_client_init_complete EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb148c5c nfs_commit_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb83eb66 nfs_commit_free -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdcb8815b nfs_add_or_obtain -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdda17e7a nfs_put_lock_context -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdda23565 __traceiter_nfs_fsync_enter -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdde0d705 nfs4_dentry_operations -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdf00b7dd nfs_pageio_init_read -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdf1868f2 nfs_access_zap_cache -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe18a7a73 nfs_setattr -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe573bbfd nfs_create_server -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9a53a54 nfs_zap_acl_cache -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed7cbed6 nfs_rmdir -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef357176 nfs_initiate_commit -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf3049d7d nfs_drop_inode -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf6234d2c __traceiter_nfs_fsync_exit -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfaa4817e nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb778a77 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdbe02a11 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdcad52d2 __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdfb5a272 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe4cf02b8 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6e82668 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef705071 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeff279eb nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0dac0e3 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf40992cc nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf593f0fd nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf824cb62 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfae61c31 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb5da8ce nfs_flock EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfd3c0de6 __SCT__tp_func_nfs_fsync_enter EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfeb42418 __SCT__tp_func_nfs_xdr_status -EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff72d09f nfs_sync_inode -EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xa5a31b4c nfs3_set_ds_client -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x00af6a42 __traceiter_pnfs_mds_fallback_pg_init_write -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x02a9f641 __SCK__tp_func_pnfs_mds_fallback_read_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x03e1c3e9 __SCK__tp_func_nfs4_pnfs_commit_ds -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x048506c9 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xffb4593d nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xeeae3c78 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x00582d0e nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x04ef5daa __traceiter_pnfs_mds_fallback_read_pagelist EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0b4f8bb9 pnfs_generic_ds_cinfo_release_lseg -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0daf1ef0 nfs4_pnfs_ds_connect -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1032f3ab pnfs_free_commit_array -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x12d701f0 nfs4_init_deviceid_node -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x18299ed2 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0813e7c5 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08cec4e3 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x09c73663 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x110208f1 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1417b1ff pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x16e52da3 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x188cdaff pnfs_destroy_layout EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x18e75751 __SCT__tp_func_pnfs_mds_fallback_write_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b5de3cc __SCK__tp_func_pnfs_mds_fallback_write_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1baffef5 __SCK__tp_func_nfs4_pnfs_read -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1c9bed70 pnfs_layoutcommit_inode -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x28135416 __SCK__tp_func_ff_layout_write_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x286dc109 pnfs_destroy_layout -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2ab1e069 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x19cd7c91 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1cdc1a4a __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x205f6f28 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x24d65211 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x26ad6077 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2a340d43 __tracepoint_ff_layout_read_error EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b16e909 __SCT__tp_func_nfs4_pnfs_commit_ds -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32e58782 pnfs_generic_sync -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x33b075cd nfs4_find_or_create_ds_client -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x34c941c4 pnfs_generic_scan_commit_lists -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36010ded nfs4_schedule_session_recovery -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36713668 nfs42_proc_layouterror -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3a8bafef nfs4_mark_deviceid_unavailable -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3a9751bb pnfs_register_layoutdriver -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c8f6ff2 pnfs_set_lo_fail -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3d1a7028 __tracepoint_ff_layout_write_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e2c768d pnfs_layout_mark_request_commit -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3ebd4b46 pnfs_generic_pg_check_layout -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3f6741ad __tracepoint_ff_layout_commit_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3f6c87f4 pnfs_set_layoutcommit -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4154b479 pnfs_generic_pg_test -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x43f44b14 pnfs_generic_pg_readpages -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4829960d nfs4_pnfs_ds_add -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x48ae8d3c nfs4_set_ds_client -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x49f61c01 __traceiter_pnfs_mds_fallback_pg_init_read -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4ab13717 nfs4_sequence_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4c0d1a09 __tracepoint_pnfs_mds_fallback_pg_get_mirror_count -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4d2b5a99 pnfs_alloc_commit_array -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4d4f68d8 __traceiter_nfs4_pnfs_read -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x511831c0 nfs4_test_deviceid_unavailable -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x52a1984b nfs4_decode_mp_ds_addr -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x52c34f05 nfs4_test_session_trunk -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x552f98ba pnfs_read_resend_pnfs -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5aca590a __SCK__tp_func_pnfs_mds_fallback_pg_init_write -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5c91eeee pnfs_nfs_generic_sync -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5d9ac26e pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2c454e82 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2f6a0859 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x31ae8990 __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32737294 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x330c5364 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3be873d0 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3c0d3f73 __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3d1514c9 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x42a06d39 __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x42f86d4d __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x44c206ce pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x451bb0a0 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4d306aff nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x50aa1583 __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x522f7ba4 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x552d7444 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5675fa0b __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x589cc163 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x58e2b922 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a548daf nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5aaaca5a __tracepoint_nfs4_pnfs_commit_ds EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x60f46ecb __traceiter_pnfs_mds_fallback_pg_get_mirror_count -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x62b0c185 pnfs_generic_recover_commit_reqs EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x63826d35 __SCT__tp_func_nfs4_pnfs_read -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x68d52fa7 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6501a3e4 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x66bfe651 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x67955595 pnfs_error_mark_layout_for_return EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d70787 pnfs_generic_scan_commit_lists EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a5eb444 __SCT__tp_func_pnfs_mds_fallback_pg_init_read EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a925097 __SCT__tp_func_pnfs_mds_fallback_read_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6c003250 nfs4_schedule_stateid_recovery -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e69047b __traceiter_pnfs_mds_fallback_write_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x73abe2a4 nfs4_schedule_lease_moved_recovery -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x75fd5fda __SCK__tp_func_pnfs_mds_fallback_read_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7805a47c __SCK__tp_func_ff_layout_read_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7969283c pnfs_generic_pg_init_read -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7af85cc2 nfs4_proc_getdeviceinfo -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7c10f309 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6b29f620 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x701e380d __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x713a5f92 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x71bde92f nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x722a05fa pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78db5518 __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x79dcfc38 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7b6f5b37 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7e341161 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7e363c72 nfs4_test_session_trunk EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7e42bd3f __SCT__tp_func_ff_layout_read_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x80c4b3ca pnfs_ld_read_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81273f27 __tracepoint_pnfs_mds_fallback_read_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x814c0d97 __traceiter_pnfs_mds_fallback_read_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x87a57758 __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7e576b1a pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fa0905b nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8ccfb38b __tracepoint_nfs4_pnfs_read EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x930a94fd __SCT__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93349041 nfs4_setup_sequence EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x96c4643f __SCT__tp_func_pnfs_mds_fallback_pg_get_mirror_count -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x98501835 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x98e91f76 nfs4_delete_deviceid -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa6836b43 nfs4_schedule_migration_recovery -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa9d37040 __traceiter_pnfs_mds_fallback_read_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xab0cd321 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a5ce7e1 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a66a785 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9aacc256 __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9e274882 __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9f1c3095 __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa1a2dba9 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa5501d33 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa79fa818 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa9e8512f __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa9f5fd3f __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xab773127 __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaccfa5df pnfs_write_done_resend_to_mds EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xadeca730 __SCT__tp_func_nfs4_pnfs_write -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xae5d7b0d pnfs_generic_write_commit_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xafe9c620 pnfs_generic_ds_cinfo_destroy -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb076b010 nfs4_find_get_deviceid -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb13e413a nfs4_put_deviceid_node -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb2222ec0 nfs4_pnfs_ds_put -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb3d55ebe nfs4_init_ds_session -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb4c4dee6 pnfs_error_mark_layout_for_return -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb8e1e6a6 pnfs_ld_write_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbe1d1e87 pnfs_report_layoutstat -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbe3c451d pnfs_read_done_resend_to_mds -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbe74892d pnfs_generic_commit_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf0fa968 __tracepoint_pnfs_mds_fallback_write_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc34d8bdd pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb25971b5 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb3490025 __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb3db1f7f pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb499688b pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb71a56d3 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb770e41e pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb9a9fe39 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbb0bdd2d pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbce706b7 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbd62d917 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbe5b487a nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbfe7b529 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc03af4f9 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc0757855 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc098cdd0 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc0ca1251 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc23f48aa __tracepoint_pnfs_mds_fallback_read_pagelist EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc361c3c5 __SCT__tp_func_pnfs_mds_fallback_read_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc433eecf nfs4_setup_sequence -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc4a8283c __traceiter_ff_layout_read_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc4e48c2b nfs_remove_bad_delegation -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc5f5e61a pnfs_generic_search_commit_reqs -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc7eb2775 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc8720787 __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcb90ab72 pnfs_add_commit_array EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc21ce5c __SCT__tp_func_ff_layout_commit_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcd1f4ec8 pnfs_unregister_layoutdriver -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xce3b7c2c pnfs_write_done_resend_to_mds -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd0c0a397 __SCK__tp_func_pnfs_mds_fallback_write_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd1a32aef __traceiter_nfs4_pnfs_commit_ds -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd5d882b7 pnfs_update_layout -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd72a2500 nfs41_sequence_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd8ab04a9 pnfs_generic_layout_insert_lseg -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd944906c __tracepoint_pnfs_mds_fallback_pg_init_write -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdae9d64f __tracepoint_pnfs_mds_fallback_pg_init_read -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdc62658e __tracepoint_nfs4_pnfs_commit_ds -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdd41daa9 __tracepoint_nfs4_pnfs_write -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde76ff64 __tracepoint_pnfs_mds_fallback_write_done -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xde9cff99 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc2b2b0a nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc7203da __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xce4c867f pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xced270a5 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd034b79e __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd3c80865 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd3eb3c58 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdafad41f pnfs_generic_ds_cinfo_release_lseg EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdeb5edce __SCT__tp_func_pnfs_mds_fallback_pg_init_write -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf7e8c80 __traceiter_ff_layout_write_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdff1eda4 pnfs_generic_pg_check_range -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe2ed9a41 __traceiter_pnfs_mds_fallback_write_pagelist -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe39ecdf6 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe19596b8 __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe3fd8ca0 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8809c58 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe92877d9 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xea6eb928 __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xebaf7eb5 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xebf756e0 __SCK__tp_func_nfs4_pnfs_read EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xefb30030 pnfs_put_lseg -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf1e0d0f3 __traceiter_ff_layout_commit_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf2318cd6 __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf18bfe64 __SCK__tp_func_pnfs_mds_fallback_read_pagelist EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf32fa2b7 __SCT__tp_func_ff_layout_write_error -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf71a3c5c __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf43269ec __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf4a4b794 pnfs_generic_pg_cleanup EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf8fe183b pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf80f4c7f pnfs_generic_pg_writepages EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release -EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfe135522 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf9e4f23b pnfs_layout_mark_request_commit EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x0e3a0697 locks_in_grace EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x44431e91 locks_start_grace @@ -17640,38 +17641,38 @@ EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x2bd8b66c nfs_stream_encode_acl EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xd2c749a7 nfs_stream_decode_acl EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xea81fce0 nfsacl_decode -EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x1efcd854 nfsd4_ssc_init_umount_work -EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x09af7ecf o2nm_get_node_by_num -EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0ad69f5e o2nm_node_put +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0xec05a2eb nfsd4_ssc_init_umount_work EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2132cb3f o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x3afd5e1e o2nm_node_put EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions -EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x546ec060 o2hb_register_callback EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk -EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x75d7a1b5 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6d5ac731 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x71d93f6e o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7539863f o2hb_unregister_callback EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback -EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xcac13af2 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc94485f0 o2hb_setup_callback EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map -EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe5e45a53 o2nm_get_node_by_ip -EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xeaecb43a o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe6ae3e82 o2nm_node_get EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler -EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x04d4ed7c dlm_register_eviction_cb -EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x16b4fd0b dlmunlock -EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x361460ad dlmlock -EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x416dd81c dlm_unregister_domain -EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4d41c346 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x035abc61 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x43da4f53 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x5e9895cf dlmunlock EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb -EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x98705f97 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x88024331 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xcb9d5da7 dlm_register_eviction_cb EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf85e561b dlm_print_one_lock EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic @@ -17730,8 +17731,8 @@ EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xa32f3d9e decode_rs16 EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xeb2f825c init_rs_gfp EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs -EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x401a06c2 lowpan_header_decompress -EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x629a72e9 lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xf0142bb1 lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xfb457c85 lowpan_header_decompress EXPORT_SYMBOL_GPL net/802/garp 0x0f3f6fd8 garp_request_leave EXPORT_SYMBOL_GPL net/802/garp 0x468badc2 garp_request_join EXPORT_SYMBOL_GPL net/802/garp 0x6386697b garp_uninit_applicant @@ -17750,132 +17751,132 @@ EXPORT_SYMBOL_GPL net/9p/9pnet 0x776c0db8 p9_client_xattrcreate EXPORT_SYMBOL_GPL net/atm/atm 0xb09faf79 register_atmdevice_notifier EXPORT_SYMBOL_GPL net/atm/atm 0xcfb6a3da unregister_atmdevice_notifier -EXPORT_SYMBOL_GPL net/ax25/ax25 0x3a4d1399 ax25_register_pid EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x122bd16f l2cap_add_psm -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x42759dcc l2cap_chan_send -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x4f183bc7 bt_debugfs -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x57930c75 l2cap_chan_del -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7f88e45a l2cap_chan_set_defaults -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc8c97e87 l2cap_chan_connect -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xd0010d28 l2cap_chan_create -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xf6edd046 l2cap_chan_put -EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xfef20448 l2cap_chan_list -EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xff1cd1a8 hidp_hid_driver -EXPORT_SYMBOL_GPL net/bridge/bridge 0x00672d42 br_dev_queue_push_xmit -EXPORT_SYMBOL_GPL net/bridge/bridge 0x16002de9 br_vlan_get_info_rcu -EXPORT_SYMBOL_GPL net/bridge/bridge 0x208f1d84 br_vlan_enabled -EXPORT_SYMBOL_GPL net/bridge/bridge 0x37eb4ba0 br_multicast_has_querier_anywhere -EXPORT_SYMBOL_GPL net/bridge/bridge 0x3e919c2e br_port_flag_is_set -EXPORT_SYMBOL_GPL net/bridge/bridge 0x3f1e623f br_multicast_has_querier_adjacent -EXPORT_SYMBOL_GPL net/bridge/bridge 0x4136b2a1 br_vlan_get_pvid_rcu -EXPORT_SYMBOL_GPL net/bridge/bridge 0x4d17faa7 br_forward_finish -EXPORT_SYMBOL_GPL net/bridge/bridge 0x72343dcf br_forward -EXPORT_SYMBOL_GPL net/bridge/bridge 0x7864cf79 br_multicast_has_router_adjacent -EXPORT_SYMBOL_GPL net/bridge/bridge 0x7f1adc14 br_multicast_enabled -EXPORT_SYMBOL_GPL net/bridge/bridge 0x82a58932 br_port_get_stp_state -EXPORT_SYMBOL_GPL net/bridge/bridge 0x86465cf8 br_handle_frame_finish -EXPORT_SYMBOL_GPL net/bridge/bridge 0x943cfb1f nf_br_ops -EXPORT_SYMBOL_GPL net/bridge/bridge 0xbeaeba77 br_vlan_get_pvid -EXPORT_SYMBOL_GPL net/bridge/bridge 0xc68ae442 br_vlan_get_info -EXPORT_SYMBOL_GPL net/bridge/bridge 0xdc6f8844 br_fdb_find_port -EXPORT_SYMBOL_GPL net/bridge/bridge 0xe9c9d02e br_fdb_clear_offload -EXPORT_SYMBOL_GPL net/bridge/bridge 0xf1ed23f7 br_get_ageing_time -EXPORT_SYMBOL_GPL net/bridge/bridge 0xfa685277 br_multicast_router -EXPORT_SYMBOL_GPL net/bridge/bridge 0xfa92973f br_multicast_list_adjacent -EXPORT_SYMBOL_GPL net/bridge/bridge 0xfdc029f0 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/ax25/ax25 0xb5fa362c ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x3cbb93bb l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x56142f2c l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x596f09a8 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7ccfff25 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x8b71df44 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x9408866d l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x9551b27b l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xad4ea657 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xfbc29a1f l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x9dd40410 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0ee71251 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x16b3103f br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x262788ab br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2a971a4b br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x3122ec69 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x396600a3 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x532d15e9 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5470ff2e br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7ce14580 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fbe9b14 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x82eab9d9 br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8dac8bad br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x90a1f87f br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9ad79458 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa1956151 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa81e6ad3 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb9fd6c1c br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc156e565 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0xcfdcccaa br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0xde671d08 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe66cb3e7 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf733b68e br_handle_frame_finish EXPORT_SYMBOL_GPL net/core/failover 0x2cda6738 failover_unregister EXPORT_SYMBOL_GPL net/core/failover 0x5c351241 failover_slave_unregister EXPORT_SYMBOL_GPL net/core/failover 0x7d7b701b failover_register -EXPORT_SYMBOL_GPL net/dccp/dccp 0x0279d04e dccp_shutdown -EXPORT_SYMBOL_GPL net/dccp/dccp 0x07b442d6 dccp_feat_nn_get -EXPORT_SYMBOL_GPL net/dccp/dccp 0x10485028 dccp_rcv_established -EXPORT_SYMBOL_GPL net/dccp/dccp 0x11fb7412 dccp_feat_signal_nn_change -EXPORT_SYMBOL_GPL net/dccp/dccp 0x148e8208 dccp_destruct_common -EXPORT_SYMBOL_GPL net/dccp/dccp 0x15e6b1b9 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x06850fc2 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0f8799b0 dccp_getsockopt EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add -EXPORT_SYMBOL_GPL net/dccp/dccp 0x19c079ba dccp_done -EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e931092 dccp_send_ack -EXPORT_SYMBOL_GPL net/dccp/dccp 0x1fec453f dccp_sendmsg -EXPORT_SYMBOL_GPL net/dccp/dccp 0x28935d45 dccp_sync_mss -EXPORT_SYMBOL_GPL net/dccp/dccp 0x2e2e0eca dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d352dd2 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x224f0146 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x278d352e dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c87c3fc dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c400d14 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x45b8fa26 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x48483cd2 dccp_make_response EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge -EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ee59e77 dccp_setsockopt -EXPORT_SYMBOL_GPL net/dccp/dccp 0x55b3b69b dccp_close -EXPORT_SYMBOL_GPL net/dccp/dccp 0x561bfd3c dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4f9fb1e8 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x509c92e7 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x51f5714c dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x540acee1 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x54c1d4d3 dccp_destroy_sock EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics -EXPORT_SYMBOL_GPL net/dccp/dccp 0x6449cfc9 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x61478e88 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6169d26a dccp_set_state EXPORT_SYMBOL_GPL net/dccp/dccp 0x722630de dccp_hashinfo -EXPORT_SYMBOL_GPL net/dccp/dccp 0x77a27539 dccp_make_response -EXPORT_SYMBOL_GPL net/dccp/dccp 0x7a9103c1 dccp_ctl_make_reset EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp -EXPORT_SYMBOL_GPL net/dccp/dccp 0x85446707 dccp_reqsk_init EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name EXPORT_SYMBOL_GPL net/dccp/dccp 0x884a32bd dccp_death_row -EXPORT_SYMBOL_GPL net/dccp/dccp 0x89619c30 dccp_getsockopt -EXPORT_SYMBOL_GPL net/dccp/dccp 0x9014954c inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8adbf658 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8feec62f dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x92b31f6d dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x94a5720d dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x94d523bb dccp_check_req EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup -EXPORT_SYMBOL_GPL net/dccp/dccp 0x964eaacd dccp_create_openreq_child -EXPORT_SYMBOL_GPL net/dccp/dccp 0x9da14378 dccp_set_state -EXPORT_SYMBOL_GPL net/dccp/dccp 0xa16e03cd dccp_insert_option -EXPORT_SYMBOL_GPL net/dccp/dccp 0xa5ee8ffc dccp_reqsk_send_ack -EXPORT_SYMBOL_GPL net/dccp/dccp 0xa6143126 dccp_child_process -EXPORT_SYMBOL_GPL net/dccp/dccp 0xaf8e1f7b dccp_poll -EXPORT_SYMBOL_GPL net/dccp/dccp 0xb14913c4 dccp_destroy_sock -EXPORT_SYMBOL_GPL net/dccp/dccp 0xb36d4583 dccp_ioctl -EXPORT_SYMBOL_GPL net/dccp/dccp 0xc550eacf dccp_disconnect -EXPORT_SYMBOL_GPL net/dccp/dccp 0xc6563e5f dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa42bda00 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb5daf5ab dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xca99ae46 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcfde37ed dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd3185832 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd3cdd893 dccp_rcv_state_process EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count -EXPORT_SYMBOL_GPL net/dccp/dccp 0xe2e3238f dccp_connect -EXPORT_SYMBOL_GPL net/dccp/dccp 0xe9ff8f3d dccp_recvmsg -EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1ec66ee8 dccp_v4_send_check -EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x344c33cd dccp_v4_connect -EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6fb013e2 dccp_invalid_packet -EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x96654684 dccp_v4_do_rcv -EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xce5bcfa5 dccp_v4_conn_request -EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf4c0d3fc dccp_v4_request_recv_sock -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x00913967 dsa_port_get_phy_sset_count -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x06e6da23 dsa_unregister_switch -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0b7df0df dsa_port_phylink_mac_change -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0d96ac31 dsa_switch_find -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0f9c7094 dsa_devlink_port_region_create -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x191e8e0d dsa_8021q_xmit -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x19958982 dsa_8021q_rx_vid -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x203f8da8 dsa_8021q_tx_vid -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2c9fe834 dsa_devlink_param_set -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3252b523 dsa_devlink_resource_register -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x385610c6 dsa_devlink_params_register -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x39389c05 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdb2fdc98 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdc5da480 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xef5f6a5d dccp_destruct_common +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf0332d2d dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfc5f6677 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x026aee6f dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3c1d2fb6 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x7e504a6c dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xa16f75c9 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe812396d dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf972c55b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0f909584 dsa_port_get_ethtool_phy_stats +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x14fd3089 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1e8d118c dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x31419d3b dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x327aff52 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3e7d3026 dsa_8021q_tx_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x40b0cb2f dsa_devlink_param_set EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x47d3d8bc dsa_devlink_resource_occ_get_unregister -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4cc6e88e dsa_8021q_rcv -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x549c8edc dsa_tag_8021q_bridge_tx_fwd_unoffload +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4310f694 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4749b081 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x47fa111f dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4887e7eb dsa_switch_shutdown EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5928bba7 vid_is_dsa_8021q_rxvlan -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6d5b6925 dsa_devlink_region_create -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x89efefbe dsa_devlink_param_get -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x924e699e dsa_port_get_phy_strings -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x943abf3a dsa_port_from_netdev -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x97954702 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5de940f2 dsa_tag_8021q_bridge_tx_fwd_offload +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x61b38e27 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6571ca5c dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x665ea439 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6a079b56 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6e6fcdfa dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x71fe12ec dsa_port_get_phy_strings +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7d21ab02 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x86ce5f26 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x88aebed9 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8d3fc28d dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8e5506c4 dsa_tag_8021q_register EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e59271d dsa_8021q_rx_source_port -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb5e28eb6 dsa_port_get_ethtool_phy_stats -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb8364484 dsa_tag_8021q_bridge_tx_fwd_offload -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbba9c98f dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xac33d5a8 dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb73b353f dsa_tag_8021q_bridge_tx_fwd_unoffload +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbc749bfe dsa_devlink_param_get EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbe3856fc dsa_8021q_bridge_tx_fwd_offload_vid -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc01cdab5 dsa_tag_8021q_unregister EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc23e8d5f dsa_devlink_region_destroy -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcee9b93d dsa_switch_suspend -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcfcd9e59 dsa_devlink_resources_unregister -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdb396fa0 dsa_tag_drivers_unregister -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdbe02826 dsa_tag_8021q_register -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe5a3fd8e dsa_tag_drivers_register -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xec57097e dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc8f489ac dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd2b3ad57 dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe45015c6 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf0189895 dsa_port_get_phy_sset_count EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf13e1803 vid_is_dsa_8021q -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf1a94944 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf2d9a6b6 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf65043a7 dsa_tag_8021q_unregister EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf6f3b5c8 vid_is_dsa_8021q_txvlan -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfe586f3d dsa_devlink_resource_occ_get_register -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfe9d3f37 dsa_enqueue_skb -EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfea5e10d dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf8453c36 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfe952904 dsa_8021q_rx_vid EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x26447279 ieee802154_hdr_peek EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xac6785bc ieee802154_hdr_pull @@ -17886,468 +17887,468 @@ EXPORT_SYMBOL_GPL net/ife/ife 0x897801fa ife_decode EXPORT_SYMBOL_GPL net/ife/ife 0x8b2d35bc ife_encode EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode -EXPORT_SYMBOL_GPL net/ipv4/esp4 0x32f5ea35 esp_output_head -EXPORT_SYMBOL_GPL net/ipv4/esp4 0x81858cb9 esp_output_tail -EXPORT_SYMBOL_GPL net/ipv4/esp4 0xe14403bc esp_input_done2 -EXPORT_SYMBOL_GPL net/ipv4/gre 0x4055cb24 gre_add_protocol -EXPORT_SYMBOL_GPL net/ipv4/gre 0xb22fe4cf gre_del_protocol -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x10353cab inet_diag_msg_attrs_fill -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x86714538 inet_diag_find_one_icsk -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x8a2ebcdb inet_diag_dump_one_icsk -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xba465391 inet_diag_unregister -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc74c6629 inet_diag_register -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe2a0cb09 inet_diag_dump_icsk -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe743d203 inet_diag_msg_common_fill -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf08e8517 inet_diag_bc_sk -EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf8811c52 inet_sk_diag_fill -EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x6eadbb81 gretap_fb_dev_create -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0863b299 ip_tunnel_uninit -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0a945416 ip_tunnel_newlink -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1c47459d ip_tunnel_lookup -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x23c75f4a ip_tunnel_ctl -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x36620cf5 ip_tunnel_delete_nets -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x684a5538 ip_tunnel_changelink -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7245c8b9 __ip_tunnel_change_mtu -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9e22c4f2 ip_tunnel_siocdevprivate -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc3ab4689 ip_tunnel_encap_setup -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc44fc43b ip_tunnel_dellink -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc4ce95c9 ip_tunnel_change_mtu -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd346bbec ip_tunnel_rcv -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd991da75 ip_md_tunnel_xmit -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xeae98c34 ip_tunnel_init_net -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xecee359b ip_tunnel_setup -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf03a4f6b ip_tunnel_init -EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfc461c31 ip_tunnel_xmit -EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x72684984 arpt_alloc_initial_table -EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x3ee96068 ipt_alloc_initial_table -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x2a148017 nf_defrag_ipv4_disable -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xf5cc6771 nf_defrag_ipv4_enable -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x754ca84f nf_dup_ipv4 -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x06e3173e nf_send_unreach -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x25a1918d nf_reject_ip_tcphdr_put -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x2d9e562e nf_reject_ip_tcphdr_get -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7580a2a3 nf_send_reset -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x86481263 nf_reject_skb_v4_tcp_reset -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x9de689e6 nf_reject_iphdr_put -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xecf4c107 nf_reject_skb_v4_unreach -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x05c1b0a9 nf_sk_lookup_slow_v4 -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x05ca9d42 nf_tproxy_handle_time_wait4 -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x185ce71b nf_tproxy_get_sock_v4 -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x3d145c7a nf_tproxy_laddr4 -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x02db958d nft_fib4_eval_type -EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x06b20a00 nft_fib4_eval -EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x75db0215 tcp_vegas_get_info -EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7dfb54aa tcp_vegas_init -EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xba177325 tcp_vegas_cwnd_event -EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xbcedfe6e tcp_vegas_pkts_acked -EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xf4ad626f tcp_vegas_state -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x02b7c933 udp_tunnel_notify_del_rx_port -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x28a8bcd8 udp_tunnel_xmit_skb -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x8f3c3a0c udp_tunnel_sock_release -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x9262b09e udp_tunnel_drop_rx_port -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xae4be0f6 setup_udp_tunnel_sock -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xdb62a2c0 udp_tun_rx_dst -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe6aa72ea udp_tunnel_notify_add_rx_port -EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xf8b0edb5 udp_tunnel_push_rx_port -EXPORT_SYMBOL_GPL net/ipv6/esp6 0xb7c8afb6 esp6_output_tail -EXPORT_SYMBOL_GPL net/ipv6/esp6 0xbee42947 esp6_input_done2 -EXPORT_SYMBOL_GPL net/ipv6/esp6 0xdc325fc9 esp6_output_head -EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x4d8548fc ip6_tnl_encap_setup -EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x6c8b7d2e ip6_tnl_rcv_ctl -EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xf6b61de2 ip6_tnl_xmit_ctl -EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x3a6c55d3 udp_sock_create6 -EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xc7264c31 udp_tunnel6_xmit_skb -EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x8364ab84 ip6t_alloc_initial_table -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x7c09e51b nf_defrag_ipv6_enable -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x9b3df7f3 nf_defrag_ipv6_disable -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xb3e2a241 nf_ct_frag6_gather -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x2662ace8 nf_dup_ipv6 -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x65a69897 nf_reject_ip6_tcphdr_get -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x6ab9299c nf_reject_skb_v6_unreach -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x74094995 nf_send_reset6 -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x82c21b1b nf_reject_skb_v6_tcp_reset -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xceb36ecd nf_reject_ip6hdr_put -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xdb15fdff nf_reject_ip6_tcphdr_put -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xfeaceca6 nf_send_unreach6 -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x82a611c0 nf_sk_lookup_slow_v6 -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x27642fd8 nf_tproxy_get_sock_v6 -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xafea207a nf_tproxy_handle_time_wait6 -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xe9128320 nf_tproxy_laddr6 -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x2a0004ed nft_fib6_eval_type -EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x68e0f34e nft_fib6_eval -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0a129d0b l2tp_session_get_nth -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x15a27fdb l2tp_session_delete -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x170c4bb7 l2tp_session_register -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x28ebba7a l2tp_session_dec_refcount -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x291a140c l2tp_session_inc_refcount -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2c543830 l2tp_recv_common -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4ae6bce3 l2tp_tunnel_dec_refcount -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4e014d55 l2tp_tunnel_get_session -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x741572b5 l2tp_sk_to_tunnel -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x78694a0f l2tp_session_get_by_ifname -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x78f9b719 l2tp_tunnel_create -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7a357953 l2tp_session_get -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa36f4098 l2tp_xmit_skb -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb349304e l2tp_tunnel_get -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb5c90d18 l2tp_tunnel_inc_refcount -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb7b4594f l2tp_udp_encap_recv -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc4da29d6 l2tp_tunnel_delete -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd33cc6f5 l2tp_tunnel_register -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xda217f5f l2tp_tunnel_get_nth -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xdf2b2033 l2tp_session_set_header_len -EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xea597799 l2tp_session_create -EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0xffbc8769 l2tp_ioctl +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x71996207 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x7abf0e77 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x86e7df88 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/gre 0x031de3cb gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x5b7bb627 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x0b7d6b67 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x30b09f4d inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3182f467 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x5a18f634 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x87e91ed1 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x9544f50c inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xa220c99f inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc1f413f5 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc3451c07 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0xf691eacc gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x00e25701 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x25f2c56e ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2dc73a75 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3225c75f ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x42d523b7 ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x493fcb1d ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4c600521 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x78dbb6fd ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7b01cbc6 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x85fb5bda ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x98a3038e ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb29c92b8 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xcced5f44 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd6a6c5ca __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdbd09deb ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xecf04146 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfec940a9 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xa41122cd arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x1d9f42a4 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x2800e624 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x848d7a63 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x3dab998a nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x2ab5dc37 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x5d7ae196 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7670f9e0 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x85b7c47c nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xa99a7433 nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xb730262d nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xdb329041 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x88864cd7 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x414a061f nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x5a54e58c nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x81177d69 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x5a9b8564 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xec2e0501 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4b6dbd6d tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x6571037a tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x921858b4 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xf27fe0b8 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xf6b266c4 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x4f5d8230 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x88000c14 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x931296d2 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x97a940de udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd0fc0aa9 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xeb87e953 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xec4ddf72 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xeefae2c4 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x614051ba esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x7edfefe3 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xaf9c3d74 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x1a23e46f ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x1ba51c86 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xa0e0a60a ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x5671236f udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x6c13dde7 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x16509772 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x8eb7c744 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x9a9cdb4e nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xf05df63c nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x5d46c9f7 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x0277b2ba nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x0d4475c9 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x4a1536bb nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x76cd5ee8 nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x82a69a74 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xa0a99e44 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xac6c0ee6 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x0fe1edbe nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x07a85b17 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x1f6f9dff nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x45d568ce nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x6a5cc08b nft_fib6_eval +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x9a868511 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x19089554 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2f97f9ce l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x31d6aa02 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x39b2b49e l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x54407a1b l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6554da7a l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7b7b55e2 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x80479bb5 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x94d3d1f4 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9c816f7e l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xab2463df l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xae814f23 l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xba4ff390 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbc2c2030 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc5d289f3 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc77a7bb5 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd38eaf22 l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe7deda4f l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xec218c45 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf3158f9a l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf809cd2f l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0xfe975f16 l2tp_ioctl EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops -EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x8a57e09d l2tp_nl_register_ops -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x09c031e3 ieee80211_resume_disconnect -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0ef93af0 ieee80211_calc_tx_airtime -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1d0431dc wdev_to_ieee80211_vif -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x239f8f97 ieee80211_iterate_stations_atomic -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3533d2a2 ieee80211_iterate_active_interfaces_mtx -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4eaa9721 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xbb7770c7 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0e8c63fb ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1e250f47 ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1efaf349 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x209ac316 ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x238e3d5a ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x437d3013 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x48824f4e ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4ff55a24 wdev_to_ieee80211_vif EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x55013f83 ieee80211_request_smps EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5a866dd2 ieee80211_iterate_interfaces -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5b6027d9 ieee80211_gtk_rekey_notify -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x60dc2b35 ieee80211_update_mu_groups -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x67d98391 ieee80211_ave_rssi -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7d7cc06a ieee80211_ready_on_channel -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x83059b95 ieee80211_calc_rx_airtime -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9785e039 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x63236490 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x72949640 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8bcce71e ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa0697947 ieee80211_iterate_active_interfaces_atomic EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4b2b77e ieee80211_key_replay -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xab94fcd6 ieeee80211_obss_color_collision_notify -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb177c47c ieee80211_gtk_rekey_add -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb6fd3475 ieee80211_iter_chan_contexts_atomic -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbe67e0b3 ieee80211_remain_on_channel_expired -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc07593e1 ieee80211_color_change_finish -EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8b8d7ae ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa6f10fd4 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbed0bca8 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc1985b9d ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc2d1bd79 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd572dae8 ieee80211_iterate_interfaces EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq -EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x28ca716b mpls_stats_inc_outucastpkts -EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x3a268d46 mpls_output_possible -EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x75487e8a mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xda9aecd3 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe4082255 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea77ee2d ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x02d61ed6 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x06705a74 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x3f3a2965 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x4f3666a7 nla_put_labels EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels -EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xa7137bae nla_put_labels -EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xacdf08f6 mpls_pkt_too_big -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0e977b71 ip_set_extensions -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x141d2270 ip_set_type_unregister -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1b5cc7a1 ip_set_type_register +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xcef3e042 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x01126c96 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x01cde53a ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x03c3ded1 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x03ce3cab ip_set_put_extensions EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x26de02ad ip_set_name_byindex -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2cc72fb8 ip_set_put_byindex -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x324235bc ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x37ae4243 ip_set_nfnl_put EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x39c7da7b ip_set_get_byname -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5c1e5715 ip_set_test -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5d610e82 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x40719fe8 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4c32ab01 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x548f2ba7 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5a86b666 ip_set_get_ip4_port EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8337e2d9 ip_set_match_extensions -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8f85f003 ip_set_put_flags -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x988fbdc1 ip_set_add -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9a842948 ip_set_del -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9c8896c9 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9105f39e ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x98613ed5 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e0e134a ip_set_init_comment EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9f6b48d0 ip_set_nfnl_get_byindex EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xca031dbe ip_set_nfnl_put -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xcc4e63a5 ip_set_elem_len -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe796b26d ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa81991c8 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb97becdf ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xbb861b95 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdf5272f3 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe489c855 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf22b6c2d ip_set_match_extensions EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc -EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfe3189da ip_set_get_ip6_port -EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x25c6223f register_ip_vs_pe -EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x9f18b483 unregister_ip_vs_pe -EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xb692ec82 ip_vs_conn_in_get_proto -EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xc994773c ip_vs_conn_out_get_proto -EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x229dd9d4 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf706ed69 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x030d2ab4 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x12ec95e7 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x87eaebe8 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf4e89c92 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x01892c1a nf_conncount_init EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3ff55ad3 nf_conncount_cache_free -EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x80543e8a nf_conncount_gc_list EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x8c4cb9c3 nf_conncount_list_init -EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa27d5532 nf_conncount_count -EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xaa8582f4 nf_conncount_add -EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xc194ba4b nf_conncount_init -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x037c60a1 nf_nat_helper_unregister -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a8a16b1 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xb8298511 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xdbed732f nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf614fbaf nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xfaed03e2 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x003e657f nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00b41149 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x00d7a214 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0498bd46 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x06bbc7c1 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x08233e3a nf_conntrack_count EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x116bc8c4 nf_ct_get_tuplepr -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1a557c20 nf_ct_expect_alloc -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b0264ae __nf_ct_expect_find -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1fc788ff nf_conntrack_helper_try_module_get -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1fed25eb nf_ct_bridge_register -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22e4277d nf_ct_extend_register -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28117df0 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c62ab2f nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0d3733cf nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e922e6d nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e99f1e4 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x101e5761 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x146aed5c nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x193ab128 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b60eb50 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c1f7561 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d8c2848 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f9ffc8a nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x203323fb nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x242bcb8b __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24782e9d nf_l4proto_log_invalid EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2a9574b5 nf_ct_expect_iterate_net -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ab6cb56 nf_ct_expect_find_get -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2abfe797 nf_ct_kill_acct -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x30c4aa84 nf_conntrack_find_get -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32137560 nf_ct_extend_unregister -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x38c5309c nf_l4proto_log_invalid -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3a8f9e44 nf_conntrack_alloc -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c552413 nf_ct_destroy_timeout -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c9d0b3c nf_ct_remove_expectations -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f2e9f3b nf_ct_expect_put -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4359f608 nf_conntrack_tuple_taken -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x44a123eb nf_ct_expect_init -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45859dd4 nf_ct_set_auto_assign_helper_warned -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4697929f nf_conntrack_register_notifier -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x48025b95 nf_ct_expect_related_report -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x491f86d8 nf_ct_seqadj_set -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b683a80 nf_nat_helper_put -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4cba5425 nf_nat_helper_register -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ed84640 nf_confirm -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4edc522c __nf_conntrack_confirm -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x50f4f442 nf_ct_deliver_cached_events -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x55e7b72e nf_ct_set_timeout -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a1752b6 nf_ct_helper_expectfn_unregister -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5ae7a05a __nf_conntrack_helper_find -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5b70e8f2 nf_conntrack_eventmask_report -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5d115da3 nf_conntrack_hash_check_insert -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5ecb81f5 nf_connlabels_put -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6582c6b4 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28f80306 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2968940d nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35bc279a nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3a8568da nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x43782303 nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x43fbc522 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45a870c3 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x465ceb01 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x48b4b0e1 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4a4dd3d3 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5160438d nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x526381c5 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x553253bb nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5b065afb nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c19d2f6 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5ea3d7fc nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x661f88e9 nf_ct_helper_expectfn_find_by_name EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x69f618e0 nf_ct_port_tuple_to_nlattr -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6aeee793 nf_ct_bridge_unregister -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ba67ed3 nf_ct_iterate_cleanup_net -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x73c11ac5 nf_ct_gre_keymap_add -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x765a8651 nf_conntrack_unregister_notifier -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7a6dfed9 nf_ct_helper_expectfn_find_by_symbol -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b9e4502 nf_ct_tcp_seqadj_set -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7e00611c __nf_ct_try_assign_helper -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x84e49451 nf_conntrack_count -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x85e35f0f nf_ct_seqadj_init -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8f84283e nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a6ac5ed nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x705c8f11 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7389d691 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x74552919 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x778730ff nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b8ce662 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7be61e7c __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c275c25 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81ee73bc nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d748070 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ec39a6b nf_ct_helper_ext_add EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x96efb49d nf_ct_l4proto_log_invalid -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97ea72ef nf_ct_helper_ext_add -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x990593d1 nf_ct_tmpl_alloc -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9a818915 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9363fb63 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97303c94 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x982176e9 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9a5893c9 nf_ct_helper_init EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b79084c nf_ct_expect_iterate_destroy -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4aec96f __nf_ct_refresh_acct -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa72c0c85 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa5e1ce6 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacba9dcb nf_ct_expect_put EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf0847f0 nf_conntrack_locks -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf8001e7 nf_conntrack_helper_unregister -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafa3dcbf nf_ct_gre_keymap_destroy EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4583461 nf_ct_iterate_destroy -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb46a2697 nf_ct_unlink_expect_report -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb5d1f09c nf_connlabels_get -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb65b73da nf_conntrack_in -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xba02f10c nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2370622 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3f11361 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb748b366 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb7e2a254 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbadfb8e5 nf_conntrack_helper_put EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc61c7abf nf_ct_netns_get -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc874b1b2 nf_ct_helper_expectfn_find_by_name -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcbcb8645 nf_ct_acct_add -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcdf3167d nf_conntrack_free -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd1154b53 nf_ct_delete -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd264b1bf nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc5828c4c nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6be2919 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6e7309a nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc921899b nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcc1f734d nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf624aae nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd18cc3b2 nf_ct_unlink_expect_report EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5174e44 nf_ct_netns_put -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb4438c2 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7b6bd3c __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd90c5c8f nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd965ab65 nf_ct_tmpl_alloc EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd85c6c1 nf_ct_remove_expect EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf0aed48 nf_ct_port_nla_policy -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe1fa499e nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe1642289 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe4fe454e nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe5fff8a8 nf_ct_unconfirmed_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe620ce6c nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7806957 nf_conntrack_alter_reply EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef3cac08 nf_ct_helper_init -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1d1d47a nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xecdf6afd nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xece1df87 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf36941f7 nf_ct_expect_alloc EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4233cc6 nf_conntrack_helper_put -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf51fcc37 nf_ct_untimeout -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf69f4215 nf_ct_get_id -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfc8da7b7 nf_conntrack_helper_register -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfccbf922 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf5ff5493 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf972a42b nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfab4c48b nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfb20dffd nf_ct_netns_get EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xffd84f5d nf_conntrack_helpers_register -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xffffaaf5 nf_ct_timeout_put_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9fc34bd7 nf_nat_amanda_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xc8254462 nf_conntrack_broadcast_help -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x42d7ecfe nf_nat_ftp_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x12d328ee nat_callforwarding_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1c860308 nat_q931_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4a70101c nat_rtp_rtcp_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5416265d set_h245_addr_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5ab216d8 nat_t120_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6fcbb02f get_h225_addr -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x83dd992f set_sig_addr_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdd34d4ec set_ras_addr_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xec988707 set_h225_addr_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xecc88d20 nat_h245_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xea2de29d nf_nat_irc_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x40a87abc nf_nat_pptp_hook_expectfn -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x775d6d83 nf_nat_pptp_hook_outbound -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x925a4731 nf_nat_pptp_hook_exp_gre -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xba100e8d nf_nat_pptp_hook_inbound -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1ff3d351 ct_sip_get_sdp_header -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2b05f062 ct_sip_parse_request -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4e0245d4 ct_sip_parse_address_param -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x634d38f7 ct_sip_get_header -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa5e7c74b ct_sip_parse_numerical_param -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xaf2b51ef nf_nat_sip_hooks -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc06cad82 ct_sip_parse_header_uri -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x251155c7 nf_nat_snmp_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x1260518e nf_nat_tftp_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x89a8eb8d nf_fwd_netdev_egress -EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xb3fa6b48 nft_fwd_dup_netdev_offload -EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xe5d84871 nf_dup_netdev_egress -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0f2de33f flow_offload_teardown -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0fbe8518 nf_flow_table_init -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3314c18d nf_flow_dnat_port -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x38a70aa5 nf_flow_table_free -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4737b355 nf_flow_offload_ip_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x69ce9194 nf_flow_offload_ipv6_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x84ec5419 flow_offload_refresh -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x930bbfb0 flow_offload_route_init -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa3174e6a flow_offload_lookup -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb28dea63 flow_offload_add -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb8ebde2f nf_flow_rule_route_ipv4 -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd56d0da5 flow_offload_free -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xdf0e2fe2 nf_flow_rule_route_ipv6 -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xedf3897b flow_offload_alloc -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf0258010 nf_flow_table_offload_setup -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf6aa543d nf_flow_table_cleanup -EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf8148edc nf_flow_snat_port -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x02893229 nf_nat_ipv6_register_fn -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x0819c0a7 nf_nat_icmpv6_reply_translation -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x179a9b1b nf_nat_inet_fn -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x30ffee4c nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9952f755 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xd4fbc18f nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xcf4c4d92 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x01aca6b6 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0b289b36 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x13e9dfce set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x18fec6c0 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4beed9d2 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x51fcb3d0 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x9dbd0bad set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdaa1b8bb nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xec4f4fb7 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfa87472d set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xbdf1bb75 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x20b27917 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x22fa4d2d nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x92e4d99b nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xbc597493 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x49b39733 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x50ec225a ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x61c8c19c ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9f6fbadf ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa7a0b37e ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe393102e nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xea3dde4f ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x5699bce2 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xc3d3f118 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x0d032809 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x6f290cc3 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xb4e2e8b2 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2dad1649 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4db265f3 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x54339e1f nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x586063d9 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x5c196542 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6b0260ea nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6bc1741d nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9234aa3c flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9c267684 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xad3248f4 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xbf6a0dda flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc080a4fe flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd7145129 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd7c1d274 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd8e5e526 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xee69ba6e nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfb7c5c6d flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x004d441a nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x188a7e5f nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1b175ad1 nf_nat_ipv6_unregister_fn EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x44c5f7a5 nf_nat_redirect_ipv4 -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5132b86e nf_nat_masquerade_ipv6 -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6f6de364 nf_nat_icmp_reply_translation -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7a627c27 nf_nat_ipv6_unregister_fn -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7c0c67a4 nf_nat_packet -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7c597d60 nf_nat_ipv4_unregister_fn -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xb38d088e nf_nat_masquerade_ipv4 -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbdb90daa nf_nat_alloc_null_binding -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbedc8236 nf_nat_ipv4_register_fn -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd0e17c0f nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4915f45f nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4a8935ea nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7eceaf8d nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7f003d57 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x85c87d43 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8614e556 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xaccb0eae nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc0106c9d nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xce8a9611 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd2c31f40 nf_nat_alloc_null_binding EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe681d03d nf_ct_nat_ext_add -EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xed8d4f4c nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xda3b5679 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf063f0ea nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf1255275 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1078e1df nf_synproxy_ipv4_fini EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x36acbcb2 nf_synproxy_ipv4_fini -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x41bc686e nf_synproxy_ipv6_init -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x45a2fe25 synproxy_send_client_synack_ipv6 -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6d854a0b ipv4_synproxy_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x763b20fb synproxy_recv_client_ack_ipv6 -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x8360aac9 synproxy_recv_client_ack -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9e9dce04 synproxy_parse_options -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xb6d77426 nf_synproxy_ipv4_init -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc1c7a0fa nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x22a3aeec ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2d863ff2 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2ec2b865 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6c66917c synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6cc15824 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x78c581e9 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x94b73bcb nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa261d7ee synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xaa0d6271 nf_synproxy_ipv6_fini EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe169d5d2 ipv6_synproxy_hook -EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf1a4b2ae synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xea22dfcf synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0009591a nft_unregister_flowtable_type EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x089a7256 nft_meta_set_init -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0abbdd96 nft_register_chain_type -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x13ceef7d nft_meta_set_eval -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x15a78c04 nft_register_expr -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1a5ce236 nft_parse_register_store -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2468014c nf_tables_deactivate_flowtable -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x24e72b0e nft_set_elem_destroy -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x27d79f52 nft_set_catchall_gc -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2a614b59 nft_meta_set_dump -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2bba2044 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x102e5997 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1fd32553 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x26f1bc59 nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x295b4b7d nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x31c0dd1d nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x31d766b0 nft_data_init EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x327704ec nft_request_module -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x40d66cde nft_dump_register EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4584c97e nft_unregister_obj -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x58be9050 nft_set_catchall_lookup -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x58db740d nf_tables_bind_set -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x643e2b55 nft_unregister_expr -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6750bc20 nft_set_lookup_global -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x763f4d66 nft_unregister_chain_type -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7d42e954 __nft_release_basechain -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x820ba5b3 nft_meta_set_destroy -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x890355b0 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x43a5c850 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x48b12302 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x50b98caf nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x68f9642a nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x73e47694 nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x74114385 nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7baf6c95 nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x85713331 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x857f0396 nft_register_flowtable_type EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8b5ae838 nft_chain_validate_dependency -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8c93fd58 nft_meta_get_eval -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8dc1d64b nft_obj_lookup -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8f2a57d8 nf_tables_activate_set -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x906bb1c1 nft_flowtable_lookup -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x96ad56f3 nft_unregister_flowtable_type -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xab904b23 nft_data_init -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xabfac069 nft_chain_validate -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb2c3bd75 nft_meta_get_dump -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb332a737 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8bf9c7b1 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x952c8237 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9912b34f nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa2d63dea nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa5dc7844 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa830ad71 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb20a26cc nft_register_expr EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb3bd62b8 nft_data_release -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbe06b5e0 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb5e22be9 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb72aa44f nft_chain_validate EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc23cd9bb nft_chain_validate_hooks -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc5b84016 nft_set_do_lookup -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xce4b648b nft_register_obj -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd3913708 nft_obj_notify -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd4f67c73 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xcaa0524b nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xcdd08f9e nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd1d4ecab nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd669145c nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd6a0323a nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdb329b02 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdd82fa37 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde3a8695 nft_obj_lookup EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe8ec8093 nft_register_flowtable_type -EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf47b30f7 nft_meta_get_init -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x07274c9e nfnetlink_set_err -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1937fcfc nfnetlink_has_listeners -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3019aa14 nfnetlink_send -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x34cc3ffd nfnetlink_broadcast -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x479ce764 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xee20b90c nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xef233368 nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf137fb67 nft_set_do_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf9959cae nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4c3e50dd nfnetlink_unicast EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8bff0411 nfnetlink_subsys_unregister -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc8222a8e nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5dbbebc3 nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7b619bbc nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8a8e6f1e nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8d0f3b97 nfnetlink_set_err EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x066d7218 nfnl_acct_overquota -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x949fb8ae nfnl_acct_find_get -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbb39d34f nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe00fb4c6 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe3268629 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x239216d5 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x27e5011d nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x4eb0668e nfnl_acct_update EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x12053d3c nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x0d245a60 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x2843768e nf_osf_find EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers -EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xf25ad08d nf_osf_match -EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x4d6b222c nft_fib_store_result -EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x89925f95 nft_fib_validate -EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x8d2ff008 nft_fib_dump -EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xe3070fdc nft_fib_init -EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x13084d67 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x424f22fd nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x5bd603e4 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x74e60d30 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xf7b396be nft_fib_validate EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code -EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x35142888 nft_reject_validate EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x74fa52cf nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xa13b4e74 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xd6f3918a nft_reject_validate EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code -EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xfb032187 nft_reject_init -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x049b2757 xt_proto_fini EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x11170b12 xt_compat_target_from_user -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2be25a47 xt_check_match -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x35e766e4 xt_request_find_match -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x38086507 xt_unregister_template -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3ef66058 xt_request_find_table_lock -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x434957e4 xt_register_template -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4a37bd1c xt_request_find_target -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x505210f9 xt_compat_match_offset -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5bbcd97a xt_compat_target_offset -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6b51a40c xt_register_table -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6fa4ecee xt_compat_match_to_user -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x767146c2 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0622371e xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x15dd4447 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1bd9e7cc xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2a5563df xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2aaa407a xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5d62fe87 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5def2197 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6d38b183 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x70d96492 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x749508aa xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7a3c97e0 xt_unregister_table EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x83bf357e xt_match_to_user -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8d53f630 xt_target_to_user -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x91c6f011 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x834e529a xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x844eddca xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x880535f0 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8efe6b70 xt_match_to_user EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa481fb10 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa43c3b80 xt_request_find_table_lock EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb38f1349 xt_compat_match_from_user -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb934f398 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb198197a xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb2f71007 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb485e368 xt_register_table EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc5630681 xt_find_table_lock EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd637cb9f xt_target_to_user EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe014e048 xt_compat_target_to_user -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe3daa18e xt_hook_ops_alloc -EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xefb9eb2d xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe65d3efb xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfb36e475 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfd02d2e8 xt_proto_fini EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x55b9f434 xt_rateest_lookup EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x6fff18ec xt_rateest_put EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x1e4244ba nci_spi_allocate_spi @@ -18358,436 +18359,436 @@ EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xb6ec0ac0 nci_uart_register EXPORT_SYMBOL_GPL net/nsh/nsh 0x0cc1b52e nsh_push EXPORT_SYMBOL_GPL net/nsh/nsh 0x2bb01a83 nsh_pop -EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x2d33ef89 ovs_vport_free -EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x79733ca2 __ovs_vport_ops_register -EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x97ebfc93 ovs_vport_ops_unregister -EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x98f74727 ovs_vport_alloc -EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xe4f56f65 ovs_netdev_link -EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf0f77022 ovs_netdev_tunnel_destroy -EXPORT_SYMBOL_GPL net/psample/psample 0x4945a98b psample_group_get -EXPORT_SYMBOL_GPL net/psample/psample 0x7361fe33 psample_group_take -EXPORT_SYMBOL_GPL net/psample/psample 0xf097e871 psample_sample_packet -EXPORT_SYMBOL_GPL net/psample/psample 0xf3509306 psample_group_put -EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x2dc3c3e3 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x332fed5c ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x3492bfff ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x38754a72 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xa9ea8671 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xb031e80d __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xb91cc642 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/psample/psample 0x011a789b psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x5518f23d psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0xf14d233d psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xfc1d088e psample_group_get +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x1bcc5bf0 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x329e6550 qrtr_endpoint_unregister EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d25501f qrtr_ns_remove EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa47e91ba qrtr_ns_init -EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xb666cb84 qrtr_endpoint_register -EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xd38d9c89 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xac5345c7 qrtr_endpoint_post EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq -EXPORT_SYMBOL_GPL net/rds/rds 0x0476df7f rds_rdma_send_complete -EXPORT_SYMBOL_GPL net/rds/rds 0x0753f7b7 rds_conn_create -EXPORT_SYMBOL_GPL net/rds/rds 0x0bf34e14 rds_conn_path_connect_if_down -EXPORT_SYMBOL_GPL net/rds/rds 0x15d7f37f rds_info_register_func -EXPORT_SYMBOL_GPL net/rds/rds 0x1ea4cae9 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x070a8426 rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x09481526 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x0ce452e0 rds_recv_incoming EXPORT_SYMBOL_GPL net/rds/rds 0x20c5e653 rds_cong_map_updated -EXPORT_SYMBOL_GPL net/rds/rds 0x21b7e712 rds_recv_incoming -EXPORT_SYMBOL_GPL net/rds/rds 0x29184f0c rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x22fc236b rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x239a1264 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x2a04bd53 rds_trans_register EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension -EXPORT_SYMBOL_GPL net/rds/rds 0x32bb61e1 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x2c3aa41b rds_trans_unregister EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats -EXPORT_SYMBOL_GPL net/rds/rds 0x37b4558f rds_send_path_drop_acked -EXPORT_SYMBOL_GPL net/rds/rds 0x3e07e9b6 rds_conn_connect_if_down -EXPORT_SYMBOL_GPL net/rds/rds 0x3ee6ae5e rds_message_put -EXPORT_SYMBOL_GPL net/rds/rds 0x445a6f14 rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x3fb1d5ea rds_inc_init EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp -EXPORT_SYMBOL_GPL net/rds/rds 0x492da1d0 rds_info_deregister_func -EXPORT_SYMBOL_GPL net/rds/rds 0x547f09e9 rds_conn_destroy -EXPORT_SYMBOL_GPL net/rds/rds 0x581193e3 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x4e5e1ee6 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x525209b3 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x53be7c39 rds_conn_destroy EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header -EXPORT_SYMBOL_GPL net/rds/rds 0x6e8f5145 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x7aef87fc rds_message_addref EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc -EXPORT_SYMBOL_GPL net/rds/rds 0x85a9acf9 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7f7087ed rds_for_each_conn_info EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy -EXPORT_SYMBOL_GPL net/rds/rds 0x99b65a85 rds_conn_path_drop -EXPORT_SYMBOL_GPL net/rds/rds 0xa0ee5a6b rds_trans_register -EXPORT_SYMBOL_GPL net/rds/rds 0xa202833a rds_send_path_reset -EXPORT_SYMBOL_GPL net/rds/rds 0xa2206043 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x8a5b4b82 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x8f0750a7 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x9902e0e3 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x9bd53860 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xa60c8ffa rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xadb6b1ed rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xb9997a5f rds_rdma_send_complete EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy -EXPORT_SYMBOL_GPL net/rds/rds 0xc4238bfd rds_send_xmit -EXPORT_SYMBOL_GPL net/rds/rds 0xc63de25d rds_connect_path_complete -EXPORT_SYMBOL_GPL net/rds/rds 0xcc600d00 rds_conn_create_outgoing -EXPORT_SYMBOL_GPL net/rds/rds 0xd7279151 rds_message_addref -EXPORT_SYMBOL_GPL net/rds/rds 0xd87ef053 rds_trans_unregister -EXPORT_SYMBOL_GPL net/rds/rds 0xf82b2afb rds_send_drop_acked -EXPORT_SYMBOL_GPL net/rds/rds 0xfdea1efc rds_inc_init -EXPORT_SYMBOL_GPL net/sched/sch_pie 0x0e4e8f4f pie_drop_early +EXPORT_SYMBOL_GPL net/rds/rds 0xc573ffae rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0xc67177d4 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xd24a8acc rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xe1f51eb1 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xf4fcda64 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xf9703327 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xf987f4b7 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xfb4450c6 rds_connect_complete EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability -EXPORT_SYMBOL_GPL net/sched/sch_pie 0x892a72e5 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xba82cba0 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xeed5b84d pie_process_dequeue EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x5fc3c6ed taprio_offload_free EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xa7f08102 taprio_offload_get -EXPORT_SYMBOL_GPL net/sctp/sctp 0x4101d16a sctp_transport_lookup_process -EXPORT_SYMBOL_GPL net/sctp/sctp 0x694ce504 sctp_transport_traverse_process -EXPORT_SYMBOL_GPL net/sctp/sctp 0xb19bb09e sctp_for_each_endpoint -EXPORT_SYMBOL_GPL net/sctp/sctp 0xe7664d7c sctp_get_sctp_info -EXPORT_SYMBOL_GPL net/smc/smc 0x13bf7d5a smc_proto6 -EXPORT_SYMBOL_GPL net/smc/smc 0x1e2aba03 smcd_handle_event -EXPORT_SYMBOL_GPL net/smc/smc 0x1fe10302 smc_hash_sk -EXPORT_SYMBOL_GPL net/smc/smc 0x285bc94f smc_proto -EXPORT_SYMBOL_GPL net/smc/smc 0x4aaae150 smc_unhash_sk -EXPORT_SYMBOL_GPL net/smc/smc 0x548817ea smcd_handle_irq -EXPORT_SYMBOL_GPL net/smc/smc 0xd192df85 smcd_free_dev -EXPORT_SYMBOL_GPL net/smc/smc 0xe9d13407 smcd_alloc_dev -EXPORT_SYMBOL_GPL net/smc/smc 0xf8d1823a smcd_register_dev -EXPORT_SYMBOL_GPL net/smc/smc 0xff7f0aa5 smcd_unregister_dev -EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x134ca3d4 gss_mech_register -EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1c0235b9 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sctp/sctp 0x325b96aa sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0xb59eb996 sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xd7d20fbe sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xf263e01e sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/smc/smc 0x280e7d6c smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x3ddc395b smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x4465c640 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x6549b8e5 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x83389016 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x8c32c706 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9127309a smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x93592f9c smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xb1d8599c smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0xfab48de2 smc_unhash_sk +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x357ffab5 svcauth_gss_flavor EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header -EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3c4bab9f svcauth_gss_flavor EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size -EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc44eea9c svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6c87ac1b gss_mech_register EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x011b9643 rpc_wake_up_queued_task -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x018154e9 rpc_task_timeout -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03c73a36 cache_unregister_net -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x040048b1 xprt_wake_up_backlog -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04abd4ba rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe1288091 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe5d1fed0 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x025e656e svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x035d8ebb xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03db8784 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04a902d9 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05606e27 rpcauth_register EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0647bde1 rpc_sleep_on_priority_timeout EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06fd3d61 svc_xprt_do_enqueue -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07ec962e xprt_reserve_xprt_cong -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07f7a206 xprt_reserve_xprt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x084d125f sunrpc_cache_update -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e9799e0 rpc_init_pipe_dir_object -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11305499 xprt_wait_for_reply_request_rtt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11c3ec97 rpc_bind_new_program -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x122ad5e9 rpcauth_unwrap_resp_decode -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12ddd266 xprt_free_slot -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1376340d cache_create_net -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14d9530c svc_reg_xprt_class -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16eb4f15 rpc_create -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1709214c xdr_buf_subsegment -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17b9f8d0 svc_xprt_received -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1904e3df xdr_page_pos -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19c9b8f4 rpc_unlink -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1adc55f0 svc_max_payload -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1bde931a rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0867583c xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08ba46fd svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x090e6ec2 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c7f55d4 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0cfd8eb8 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e58a7cf rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fdf48cf xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x103a04e4 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10d4116d rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11066d20 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1193bfad svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12fefacb rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13cd26ae sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14b6b624 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17a7d681 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19250a1c rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ddb1c30 rpcauth_create EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e54bd50 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e14c2a3 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e73ec4f rpcauth_lookupcred EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x226ad040 bc_svc_process -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23a4fd18 rpc_delay -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x266bfc3e xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f4b7b18 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x200ab21a svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21facdb2 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23ce7053 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23dcb9a2 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27f46291 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x281baf0c xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28338b75 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x290794ef xprt_alloc EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ac1852a rpcauth_create -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d20e576 rpc_count_iostats_metrics -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2db7e238 rpc_call_async -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30b3fd5a rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29c826e5 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29cb8ee8 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a6f0ab4 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a8f3447 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b110658 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c3ce35b rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x303aa8a0 xprt_release_xprt_cong EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31fa62d6 sunrpc_destroy_cache_detail -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32581c8c xprt_reconnect_backoff -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x333e4a29 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x324d4336 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34b8e163 sunrpc_cache_register_pipefs EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35d3d3e1 xprt_release_rqst_cong -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x369c99a6 cache_register_net -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37369238 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d2007b svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x354a0961 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36dbc84b rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x371e1310 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x373f09a7 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37a3d61c xprt_wait_for_reply_request_rtt EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38c4ed32 rpc_run_task -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a429b08 xprt_request_get_cong -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a7169d7 rpc_call_sync -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aa5d9f6 rpc_set_connect_timeout -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ab4501e svc_xprt_put -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bda5685 rpc_malloc -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d0052bc xdr_buf_from_iov -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e4227f6 svc_addsock -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f11b3c2 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x389fe461 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a7bdfb2 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b21e7b4 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b2891e7 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b376833 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d543f67 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d61a311 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d82404d put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3eea2677 svc_exit_thread EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4268909d rpc_sleep_on_priority -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x438d24e3 svc_rpcbind_set_version -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44492689 rpc_add_pipe_dir_object -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44e408f1 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x401650a3 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x403607cc svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40f28b49 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42ffdfa0 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4352dc86 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43debeb0 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44ca77bd rpc_find_or_alloc_pipe_dir_object EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x453efa54 svc_pool_map -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46114e0d rpc_max_bc_payload -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x468cf8d8 xprt_get -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46abd483 svc_reserve -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46f40ffc read_bytes_from_xdr_buf -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x470d1929 xprt_unpin_rqst -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4894581f xprt_wait_for_reply_request_def -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48b4966a svc_rpcb_cleanup -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48d91c93 xdr_align_data -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48eaa3f3 cache_purge -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4adbfdb3 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x456bb05a svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x460795df xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46dfb606 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4715731f rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47b595ac svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49233c2d rpc_localaddr EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c21503c rpc_mkpipe_data -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d2b91d5 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b2f4df9 xprt_adjust_cwnd EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e0f770d xdr_stream_decode_string -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e261b81 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dd48d3b xprt_unlock_connect EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4eaec052 svc_xprt_names -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51115fd8 rpc_num_bc_slots -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51570bb0 rpcb_getport_async -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x526bfa7d svc_encode_result_payload -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x530308dc svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ff031e3 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50076683 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51f0a13b xprt_unpin_rqst EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53af84a1 xprt_force_disconnect -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53f373c2 svc_proc_register -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x553237a0 rpc_net_ns -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56aa9bf6 svc_destroy -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56f5011d rpc_clnt_setup_test_and_add_xprt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5719eb55 rpc_sleep_on_timeout -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5906583a svc_fill_write_vector -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x598d190d rpc_wake_up_first -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59a6905d xdr_shift_buf -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a3d3bbf rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x534c5278 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x535338d3 svc_set_num_threads_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x556276a4 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55ad99f8 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x578728f0 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57d5d819 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5812eb99 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x581b0f58 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58a75e85 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x593decbb rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59fbaa5f rpc_clnt_xprt_switch_add_xprt EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ab6ccb4 rpcauth_lookup_credcache -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e87f144 svc_unreg_xprt_class -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5feb1aad xprt_unlock_connect -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6118cc27 rpc_free -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x665bcd94 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b8845bf rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bb35736 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d54d9ce xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64fc666e xprt_release_rqst_cong EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x670a176b xprt_wait_for_buffer_space -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67b82438 xdr_stream_pos -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cf06eea xdr_stream_subsegment -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d51840a rpc_release_client -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e330ff6 sunrpc_init_cache_detail -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6efb77b7 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67742c81 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68b9d9cb rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69dee8e0 svc_xprt_do_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d75c3bd xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e7e5334 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x706a95e0 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x712a4b73 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71b07eab rpc_clnt_xprt_switch_put EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bc40e3 rpc_wake_up -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bf0db3 rpcauth_stringify_acceptor EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7452099e svc_age_temp_xprts_now -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76d76894 rpc_clnt_test_and_add_xprt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x783f447f xprt_unregister_transport -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78f71f0b xprt_lookup_rqst -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x793e659d svc_fill_symlink_pathname -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x796c57e7 cache_seq_stop_rcu -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79d538ef rpc_get_sb_net -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a0c4a8a rpc_find_or_alloc_pipe_dir_object -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d130b13 csum_partial_copy_to_xdr -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de40d0e svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71ff18fc xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72e669cd svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7338a725 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73cd8a3d rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7487543d xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77f3e663 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x784cddf8 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7869e3cf svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7885c943 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x798710c5 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b1e8d91 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c3f9061 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cdb6e54 rpc_sleep_on_priority_timeout EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ef8435d svc_find_xprt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x818c57a1 xdr_buf_trim -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x825f4843 xdr_decode_word -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83679083 sunrpc_cache_pipe_upcall_timeout -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84041577 auth_domain_find -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84af447e rpc_put_task -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86369158 xdr_stream_decode_opaque -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87972260 write_bytes_to_xdr_buf -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x893a24ba svc_create_xprt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89e3c4d4 sunrpc_cache_lookup_rcu -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a07b732 svc_set_num_threads_sync -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b382839 xdr_init_decode -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b9cae63 svc_create_pooled -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bc8dabf rpc_proc_register -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c32a590 rpc_shutdown_client -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cf33ec3 rpc_proc_unregister -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f83a577 xprt_free -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fabb320 rpc_mkpipe_dentry -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x907914c3 xprt_adjust_cwnd -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x911b5740 svc_print_addr -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x919400e1 svc_xprt_enqueue -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9430f5ad xdr_inline_decode -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94508127 rpc_restart_call_prepare -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e063f3 xdr_expand_hole -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x954a43a0 rpc_pton -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95c0bc35 __rpc_wait_for_completion_task -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95c63121 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f63de55 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fa0aa2e rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8034c225 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8137dee2 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81e21131 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82deab7a cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x851b929e cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85f6a959 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86d963fc xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x894eb26f bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x896693e3 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8adc29d7 svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c799a40 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cec4358 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ffcb5ab xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x902be8fd svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x906279bd xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91473018 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x952c0b54 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95b9f61e auth_domain_put EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98487aa1 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x968d53be rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x994dac30 csum_partial_copy_to_xdr EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bb31f3a xprt_release_xprt_cong -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c43f7db xprt_setup_backchannel -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e2dceb9 rpc_clnt_swap_deactivate -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ea48fdb xprt_disconnect_done -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f557c27 svc_rqst_alloc -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa08cdbeb rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b41b013 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c67c639 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d3a6d5d rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e3ecb50 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fa02a30 rpc_prepare_reply_pages EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa13acdb8 svc_pool_map_put -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa259ef8b rpc_call_null -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3e98bf7 rpc_sleep_on -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6909ddb rpc_killall_tasks -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa982cc0c rpc_clnt_xprt_switch_put -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9bd24bb xdr_init_encode -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa471142 rpc_setbufsize -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa4fbdeb svc_rqst_free -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa9f85e9 xdr_reserve_space -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xadb039da rpc_peeraddr -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf0234e9 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2303b75 xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa24cd599 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa25b6c44 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa30f184a rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4cd5d66 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa55b0405 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6076592 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa68eb7f7 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8a1a52b xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9be8fe8 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9c7d217 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa7a7327 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xabc3d9c6 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac9242e9 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad36be9a rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad83699a xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae861351 rpc_wake_up_first EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xafb9dd54 xdr_process_buf -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0270143 sunrpc_cache_pipe_upcall -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1e7536b put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0832690 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb16c4e0b sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1867716 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb190b237 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2cb8a75 sunrpc_cache_unregister_pipefs EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb312d0c4 svc_pool_map_get -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3f5914e rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb450a6c1 rpc_peeraddr EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb552b35c xdr_terminate_string -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb65a44a4 rpc_pipe_generic_upcall -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7227d55 rpc_count_iostats -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb725704b svc_recv -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7917060 xdr_commit_encode -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8ad5847 svc_auth_register -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb96223db svc_set_client -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba288c0a svc_generic_rpcbind_set -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba53c31e svc_rqst_replace_page -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbadf53c7 rpc_remove_pipe_dir_object -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbb88957 svc_generic_init_request -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbe11a27 sunrpc_cache_register_pipefs -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc03d29e svc_close_xprt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc6b9f87 rpc_uaddr2sockaddr -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe337ddb svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb763d192 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb397d05 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbc0af17 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd843085 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe060c0c xprt_wait_for_reply_request_def EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfb9d795 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0310cb9 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc054fb42 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc073f219 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0ed70a2 xdr_stream_decode_opaque EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1743014 rpc_clone_client_set_auth -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1f2695e cache_check -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc525d55e rpcauth_init_credcache -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7329695 xprt_update_rtt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7eefd71 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc131ddb8 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2347c97 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2957355 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2d42225 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3b5de73 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4a0ea32 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc54b415f xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc89244fd xdr_commit_encode EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9081983 rpc_clone_client -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcabce93d xdr_stream_decode_string_dup -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb4c6269 xdr_enter_page -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb5bba98 rpc_exit -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd4b0271 xprt_complete_rqst -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd71a853 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc92f96a0 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb751c5d auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbc697cf svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbeecb94 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcca64332 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccc1505f svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xccdf52c5 xdr_stream_decode_string EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf00046e xdr_encode_word -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf218067 svc_set_num_threads -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd038e2c1 auth_domain_lookup -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd07ad7a0 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf1887af cache_purge EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd10d1d5b rpc_machine_cred -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1a70a91 rpc_call_start -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2892cd3 xprt_alloc_slot -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2fb8515 sunrpc_cache_unhash -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4aaa418 xdr_encode_array2 -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5adddbf rpc_queue_upcall -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7f1db36 xdr_read_pages -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd92e7259 svc_prepare_thread -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd93bf10b rpc_clnt_iterate_for_each_xprt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9fedcef rpc_max_payload -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb62aa53 rpc_prepare_reply_pages -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdba0e2be svc_proc_unregister -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc483533 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2c5c895 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd368bfb3 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd66855e4 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6a6f8a2 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7a4e67d cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb3c7167 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb84e42e svc_bind EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde56b4bd rpc_task_release_transport -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe181aede rpc_init_pipe_dir_head -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe19ab70c svc_shutdown_net -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2364dec xdr_inline_pages -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2638674 rpc_alloc_iostats -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe35b3aa7 svc_create -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4885256 xprt_register_transport -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe49b8d63 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdffa208d xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1023071 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1650de1 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1a1a3d9 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe29c1b93 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4246aec xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe47dcd2e rpc_proc_register EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6d23cdd xprt_wake_pending_tasks -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8b647d4 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6c5d45e rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6dddb6f rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7ffbbd8 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8225fe3 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe93c8515 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9467591 xdr_buf_from_iov EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9d415e4 rpcauth_destroy_credcache -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeabf5f7d svc_wake_up -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb1db174 xprt_reconnect_delay -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec2c82ed svc_xprt_init -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec487872 xprt_alloc -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec754083 unix_domain_find -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedbb8c72 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea1b8583 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebca1e35 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec275aae rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed0c1f48 xdr_buf_trim EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee34437f svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee7753c2 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee86b110 svc_age_temp_xprts_now EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf096d734 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefea2d12 xdr_expand_hole EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf16886ad rpcauth_wrap_req_encode -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2bab308 xdr_write_pages -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2c455e8 svc_seq_show -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2c8a0bf svc_process -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf39b2863 rpc_clnt_show_stats -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4055b6c rpc_force_rebind -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf52d2dba rpc_switch_client_transport -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6368aa4 sunrpc_cache_unregister_pipefs -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6b38861 xprt_add_backlog -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7041807 svc_bind -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7b692cc svc_xprt_copy_addrs -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8a3d1ef rpc_localaddr -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8e6fdef xprt_put -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf979e7d1 svc_alien_sock -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa09a394 rpc_clnt_swap_activate -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb63aba0 xdr_decode_array2 -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfde6ae88 xprt_pin_rqst -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff8f03f6 rpcauth_register -EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffffe1e8 cache_seq_next_rcu -EXPORT_SYMBOL_GPL net/tls/tls 0x23fdf86f tls_device_sk_destruct -EXPORT_SYMBOL_GPL net/tls/tls 0x6614b418 tls_validate_xmit_skb -EXPORT_SYMBOL_GPL net/tls/tls 0x9869a179 tls_encrypt_skb -EXPORT_SYMBOL_GPL net/tls/tls 0xb956b5d5 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf19858d0 rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1995324 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2af0e2c sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3550c37 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf42021ae rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf66c9c6b rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6767f81 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf69318d2 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7153e87 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf769c436 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf95fb1a1 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa433bcc rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa68aaf4 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc2621b4 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc484ddd svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe3df39c svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff9932a9 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfffb21dd rpc_net_ns +EXPORT_SYMBOL_GPL net/tls/tls 0x70e032ca tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x70ea052e tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x773f7f65 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x9c396f7e tls_encrypt_skb EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x162851a1 virtio_transport_notify_buffer_size -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x167b9a99 virtio_transport_stream_has_space -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1f5d76f8 virtio_transport_notify_send_init -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2b5bfe63 virtio_transport_notify_send_pre_block -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2d76d4c5 virtio_transport_seqpacket_has_data -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x342e7100 virtio_transport_notify_recv_init -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x37c1cd49 virtio_transport_notify_recv_pre_block -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x414275f5 virtio_transport_release -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5222620b virtio_transport_notify_send_post_enqueue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x54c1fbc4 virtio_transport_seqpacket_dequeue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x57229b13 virtio_transport_shutdown -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x665544a7 virtio_transport_recv_pkt -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x672bb0eb virtio_transport_stream_dequeue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6c92ad22 virtio_transport_dgram_bind -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x74a7d28b virtio_transport_dgram_enqueue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7e376101 virtio_transport_notify_poll_in -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x85f7a7d2 virtio_transport_do_socket_init -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8a1fc94e virtio_transport_inc_tx_pkt -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8c3e7d27 virtio_transport_stream_is_active -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9057d592 virtio_transport_deliver_tap_pkt -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9211497a virtio_transport_notify_poll_out -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x94fe1f19 virtio_transport_notify_recv_post_dequeue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x97353e41 virtio_transport_put_credit -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9a882058 virtio_transport_destruct -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa75507da virtio_transport_stream_enqueue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa9fa9d0b virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0f40831f virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1c86212d virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2cda9b6a virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x362a4e12 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3cd6cd52 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3f3bb8c6 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x43fcd849 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x51edb86d virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6279130f virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6a3b523a virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6bf83f15 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x73b14895 virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x74b5051a virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8977edaf virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8bc55662 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x99f204f2 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa2289f50 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa79805a8 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xac925554 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb0a31c78 virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb619dc3f virtio_transport_stream_enqueue EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xccb6069c virtio_transport_stream_has_data -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd046f324 virtio_transport_free_pkt -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd837bf5e virtio_transport_seqpacket_enqueue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xea7d439d virtio_transport_notify_send_pre_enqueue -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xeecc28a1 virtio_transport_stream_rcvhiwat -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xeeef82f0 virtio_transport_get_credit -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf3882f03 virtio_transport_connect -EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf3ab68b7 virtio_transport_notify_recv_pre_dequeue -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x00250456 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbdc06fa1 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc0d25bcd virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc7b60b06 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd5cc4655 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdfdb2ed1 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe3ed724d virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe525854a virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xec1fdff6 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf200565c virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf341c6b1 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf36845bf virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf572de68 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xff1b441f virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0aae0b73 vsock_add_pending EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x13bf62e1 vsock_stream_has_space -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1e1fbaa8 vsock_core_register -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1e2ce493 vsock_find_bound_socket -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2690e088 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x12b3e4b9 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1b7343c8 vsock_enqueue_accept EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3105b659 vsock_add_tap -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x333e01e1 vsock_find_connected_socket -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3b88bd1f vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x287f8a99 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2f46b5ed vsock_for_each_connected_socket EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x444353cf vsock_core_get_transport EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4d4b5ba8 vsock_core_unregister -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x653b15e8 vsock_enqueue_accept -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x707c5c63 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4bdefbb9 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x59003d44 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x596db633 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5e4f2365 vsock_remove_pending EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x77c14317 vsock_addr_cast -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x79cd608b vsock_deliver_tap -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7afed8d9 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7aad4a36 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7f9d050d vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x892ff77a vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8fa7fff8 vsock_deliver_tap EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x96bcaa45 vsock_core_unregister EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa3b91104 vsock_add_pending -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa45f8f55 vsock_remove_pending -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa608baac vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa736d99d vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xab0eff8b vsock_find_connected_socket EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb83593ae vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb160f6b6 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb2fe372f vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xba1a5ff6 vsock_find_bound_socket EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe64e2f4d vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe904069b vsock_assign_transport EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate -EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf7d6dbf1 vsock_for_each_connected_socket EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0018ada5 cfg80211_wext_giwname EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x018161d1 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0abd7956 cfg80211_vendor_cmd_get_sender EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x59f61c58 cfg80211_wext_giwscan -EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5bcdbd28 cfg80211_vendor_cmd_reply EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x699c2fd8 cfg80211_wext_siwrts EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6b7c6ebb cfg80211_pmsr_report EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x73965dda cfg80211_wext_siwmode EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7780ce9a cfg80211_wext_siwscan EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x82fa8432 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x93d584aa cfg80211_vendor_cmd_reply EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9686d0a4 cfg80211_wext_giwfrag EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9b0d50bc cfg80211_pmsr_complete EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa1d09940 cfg80211_shutdown_all_interfaces EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa6c53b5b cfg80211_wext_giwrange -EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb3ad1f16 cfg80211_vendor_cmd_get_sender EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbcf4d2d3 cfg80211_wext_giwrts EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfaa57ad1 cfg80211_wext_giwmode EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname @@ -18802,10 +18803,10 @@ EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname -EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x46c480f1 ipcomp_init_state -EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x5bff3793 ipcomp_destroy -EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x64640d8a ipcomp_input -EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x69c5eed0 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x244cac32 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9899d80b ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9f414723 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xd923e603 ipcomp_input EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy EXPORT_SYMBOL_GPL sound/ac97_bus 0x8886235b snd_ac97_reset @@ -18846,6 +18847,7 @@ EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x73c9f0e9 snd_pcm_fill_iec958_consumer EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x7ccad592 snd_pcm_stream_unlock_irq EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x99d498d8 _snd_pcm_stream_lock_irqsave_nested EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x9d608976 _snd_pcm_stream_lock_irqsave EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect @@ -19182,75 +19184,75 @@ EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0x8e388ca6 adau1372_regmap_config EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x8a250005 adau1761_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xbc42ae38 adau1761_regmap_config -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x167ed397 adau17x1_resume -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x19ec4d72 adau17x1_add_routes EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x1d40b549 adau17x1_remove -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x207f6076 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x3c5ec8a5 adau17x1_set_micbias_voltage EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x49ab9d2a adau17x1_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x4f7895f0 adau17x1_volatile_register -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x67d6c085 adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x60c61bed adau17x1_dai_ops EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7b67b139 adau17x1_precious_register -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xafc0238d adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7e241a3d adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xa9c11cbf adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb364dd11 adau17x1_add_widgets EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xc8ebb2fd adau17x1_readable_register EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x7ba52bd6 adau7118_probe -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x02633dfb arizona_lhpf4_mode -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x095703a2 arizona_set_sysclk -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1233a0d3 arizona_out_ev -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1bdfb3e9 arizona_jack_set_jack -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x24d31885 arizona_free_spk_irqs -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x252586f2 arizona_init_spk_irqs -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x27d0bf2b arizona_in_vi_ramp -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x34d8e663 arizona_init_gpio -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x362d30dc arizona_set_output_mode -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3e93aa28 arizona_dvfs_down -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x4607deeb arizona_in_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x001b54b7 arizona_asrc_rate1 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x07c2144d arizona_of_get_audio_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0c512a73 arizona_init_dvfs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0d6c41c1 arizona_simple_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0f306fd7 arizona_in_hpf_cut_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x180ebacc arizona_lhpf3_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1a599701 arizona_out_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1e260c4b arizona_set_output_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x20f911e6 arizona_init_common +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x235609d2 arizona_anc_ng_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x27618df0 arizona_init_mono +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x32b7a43f arizona_hp_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x33dec113 arizona_input_analog +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x34ce8d5d arizona_out_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3751e1f5 arizona_set_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x39d7f7cb arizona_init_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3a1d0857 arizona_ng_hold +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3c05ce37 arizona_output_anc_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x43f6230e arizona_jack_codec_dev_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x46277216 arizona_rate_val -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x4c245c47 arizona_isrc_fsl -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x505b125c arizona_lhpf1_mode -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x61b308c1 arizona_lhpf2_mode -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x61d45b10 arizona_set_fll -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6458def1 arizona_init_fll -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x659092ec arizona_clk_ev -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x669e1111 arizona_in_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x48f70aca arizona_clk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x500fdf42 arizona_isrc_fsh +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5f369f0f arizona_in_dmic_osr +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6487d5a9 arizona_set_fll_refclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x683299a4 arizona_set_sysclk EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6897b833 arizona_adsp2_rate_controls EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x69102a20 arizona_sample_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6db567b7 arizona_init_vol_limit EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x701385b7 arizona_lhpf_coeff_put EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x729a5ef3 arizona_mixer_values -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x74138f8a arizona_simple_dai_ops -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x79b5d2f3 arizona_hp_ev -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7e7058c7 arizona_init_common +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7b8ef6c1 arizona_out_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7e79b022 arizona_dvfs_down EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7f26f273 arizona_mixer_texts EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7fcb929a arizona_sample_rate_val_to_name -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x84a576f1 arizona_set_fll_refclk -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x9134c843 arizona_anc_ng_enum -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa83b5690 arizona_out_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x8dcb8e06 arizona_init_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x8f91abe5 arizona_lhpf1_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x99cd6752 arizona_in_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa83c940e arizona_jack_codec_dev_remove EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xab4d845c arizona_rate_text -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb0561e43 arizona_dvfs_up -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb0bd1861 arizona_init_vol_limit -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb444f8f0 arizona_dvfs_sysclk_ev -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb724ffa6 arizona_init_mono -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb8033e3c arizona_in_dmic_osr -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xbdba2651 arizona_jack_codec_dev_probe -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xbf8462ec arizona_ng_hold -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc49ca351 arizona_jack_codec_dev_remove -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc63388c0 arizona_of_get_audio_pdata -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc7c40375 arizona_lhpf3_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb4f1aba2 arizona_anc_input_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb62b887b arizona_init_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb7ae01f2 arizona_anc_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xbe79b178 arizona_lhpf2_mode EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9c29637 arizona_mixer_tlv -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9ec3750 arizona_out_vd_ramp -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xca20e160 arizona_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xcb8c15c4 arizona_jack_set_jack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xcb9e9d54 arizona_isrc_fsl EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xceeb6918 arizona_eq_coeff_put -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xcf8d6ca7 arizona_init_spk -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd05a106d arizona_anc_ev -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd3498926 arizona_init_dvfs -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd5c00246 arizona_init_dai -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd7b51e51 arizona_isrc_fsh +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd32b0caf arizona_init_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd6f44b25 arizona_dvfs_up +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdda98442 arizona_lhpf4_mode EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdf4ac3d1 arizona_voice_trigger_switch -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdfd1ed0e arizona_asrc_rate1 EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdfe804b8 arizona_sample_rate_val -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe14bbad9 arizona_anc_input_src -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe805cee4 arizona_in_hpf_cut_enum -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf555ef2b arizona_input_analog -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xfb87dc92 arizona_output_anc_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe16fe7d0 arizona_in_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe9194666 arizona_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe948164e arizona_dvfs_sysclk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xee5c9bf8 arizona_free_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xeebb300a arizona_init_spk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf81a0692 arizona_in_vi_ramp EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7cb39738 cs4271_regmap_config EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x9bfe0882 cs4271_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x2dd76877 cs42l51_resume @@ -19265,26 +19267,26 @@ EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xa9628f0a cs42xx8_regmap_config EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x10478eed da7219_aad_exit -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x1cdafa43 da7219_aad_init -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x30e529b3 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x16ed08fa da7219_aad_jack_det EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x46b30a97 da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xd87e2931 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xee49ca5e da7219_aad_exit EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x11db94da es8328_regmap_config EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xd52bda10 es8328_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hda 0xd1be40b8 snd_soc_hdac_hda_get_ops -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0xa6a28415 hdac_hdmi_jack_init -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0xc67b9021 hdac_hdmi_jack_port_init -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x94f34b75 max98090_mic_detect -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x1e34f626 soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x1166def0 hdac_hdmi_jack_port_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0xd9734b9b hdac_hdmi_jack_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0xc5f2ec34 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x27023c13 soc_codec_dev_max98373 EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x6baa2ec9 max98373_slot_config -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xb49b19c3 soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xcf633819 soc_codec_dev_max98373_sdw EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xff4257ad max98373_reset -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x59797621 mt6358_mtkaif_calibration_enable -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x7813ada3 mt6358_set_mtkaif_protocol -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x97b4b55d mt6358_mtkaif_calibration_disable -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xf1d24352 mt6358_set_mtkaif_calibration_phase -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x844add48 nau8824_enable_jack_detect -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8825 0x8c0df02b nau8825_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x348932b1 mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x8ba5cff1 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xac260c9c mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xddc82fb9 mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x72da232d nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8825 0xa10cb459 nau8825_enable_jack_detect EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x0e7a7b26 pcm1789_common_exit EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x3c9d00f0 pcm1789_common_init EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xad3e2a66 pcm1789_regmap_config @@ -19306,120 +19308,120 @@ EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0xdba4502f rl6231_calc_dmic_clk EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6347a 0xa7aa810f rl6347a_hw_write EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6347a 0xade4bf4c rl6347a_hw_read -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt286 0x110ae14d rt286_mic_detect -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt298 0x7965819f rt298_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt286 0x3e922b16 rt286_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt298 0xdb378a39 rt298_mic_detect EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x61ff58e3 rt5514_spi_burst_read EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xff87892f rt5514_spi_burst_write -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x490f5e04 rt5640_enable_micbias1_for_ovcd -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x4b4a57bf rt5640_sel_asrc_clk_src -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x5503c5b1 rt5640_detect_headset -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7ea01edf rt5640_set_ovcd_params -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xc1f0f3d3 rt5640_dmic_enable -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xc39e43aa rt5640_disable_micbias1_for_ovcd -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x7ad19ced rt5645_sel_asrc_clk_src -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xcc6da3af rt5645_set_jack_detect -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x3139be4a rt5659_set_jack_detect -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x49d35b5b rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x03aaa457 rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x518a752f rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x523c5261 rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x80aab334 rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xab0bf905 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xc958e58e rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x0c27489a rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x0cade2b0 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0xe651a35c rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x0eb4b424 rt5663_sel_asrc_clk_src EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x2f5ee4db rt5670_components -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x6363bab8 rt5670_set_jack_detect -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x82485982 rt5670_jack_suspend -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xd282999c rt5670_jack_resume -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xfcb281e1 rt5670_sel_asrc_clk_src -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0xea3938f7 rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x761c3776 rt5670_jack_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xb77cd165 rt5670_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xdf1ee204 rt5670_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xed3624a6 rt5670_jack_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0x34aeb5b5 rt5677_sel_asrc_clk_src EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x5fc320ad rt5677_spi_write_firmware EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x67956035 rt5677_spi_write EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xc6695825 rt5677_spi_hotword_detected EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xe8ece129 rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x041e696f rt5682_aif1_dai_ops EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x10fc9dfb rt5682_volatile_register EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x3c44c1d9 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x3d7ad332 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x524857f2 rt5682_register_dai_clks EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59ee8f2f rt5682_register_dai_clks -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x5f3a093e rt5682_aif2_dai_ops EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6a1a225d rt5682_readable_register -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7c04b14e rt5682_sel_asrc_clk_src -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb40db23d rt5682_aif1_dai_ops -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb6398d1c rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7937b529 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x81ca18f4 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb7148683 rt5682_apply_patch_list EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc51b7526 rt5682_reset -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xd3949635 rt5682_apply_patch_list -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xea8e8f1c rt5682_soc_component_dev -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x07416f1b sigmadsp_setup -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x1831ff6c devm_sigmadsp_init -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x4619a677 sigmadsp_reset -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x4e4d6ac1 sigmadsp_restrict_params -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xc48d5fc5 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xdee26b4c rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe4059bd2 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xef29d26c rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x31ac57c4 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x7e4b09fb sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x9768b9e4 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x995bca1b sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa5554203 sigmadsp_reset EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xe98bb44e devm_sigmadsp_init_i2c EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x9d4ece6b devm_sigmadsp_init_regmap EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x2f6dc1a1 ssm2602_regmap_config EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x800f80c8 ssm2602_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xf524ba5b aic32x4_register_clocks EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xb9eec4b0 aic3x_regmap -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xbc1b8fd8 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x7fb55207 ts3a227e_enable_jack_detect EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x936c1623 wcd_mbhc_event_notify EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x2ea3ffd0 wcd938x_swr_get_current_bank -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x5e4f6425 wcd938x_sdw_set_sdw_stream -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x81a80953 wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x78bbe6d2 wcd938x_sdw_free EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x857356c3 wcd938x_sdw_device_get -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xdc472578 wcd938x_sdw_hw_params -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0921fbc9 wm_adsp2_component_probe -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x11aa1cc4 wm_adsp2_set_dspclk -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x19b9232b wm_adsp2_init -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x28e283d7 wm_adsp_compr_handle_irq -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x2efa2cf2 wm_adsp1_init -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x37b2feb9 wm_adsp_compr_copy -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4382a8c2 wm_adsp1_event -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4dcae627 wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x8fb9fc92 wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xe4b538be wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x022b8c33 wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0e4bd0e9 wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x12518b0f wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x217aa597 wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x254b7ef8 wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x423a8cf3 wm_adsp2_init EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x54340cf6 wm_adsp_compr_set_params -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x56b117cc wm_adsp_compr_open -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x731826ee wm_adsp_event -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x74cf83f1 wm_adsp_compr_get_caps -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x82c5d7c2 wm_adsp_read_ctl -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xa6c7a3cd wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5e44a183 wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x628f030b wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x649cce2e wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x694946e1 wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7577adba wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x80d82eb5 wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8315d56f wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9280a36d wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x979ae6d5 wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x97f6cf38 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9f7179ef wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xa8acc3c6 wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xbba139dd wm_adsp2_component_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xc163f258 wm_adsp_fw_put -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xc2306398 wm_adsp_compr_free -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd024c538 wm_adsp_compr_pointer -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd2a87e12 wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd0ab89d4 wm_adsp_event EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd68056da wm_adsp2_preloader_put -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd6f10ce1 wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xda4b4c04 wm_adsp_write_ctl EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdd3c79ef wm_adsp2_bus_error -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdf34be78 wm_adsp_compr_trigger -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe0f27d99 wm_adsp2_component_remove EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe56b30d5 wm_adsp2_preloader_get EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xea38ee07 wm_halo_bus_error EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf2889457 wm_adsp_fw_get -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf5caa041 wm_adsp_fw_enum EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xc90c5768 wm8804_regmap_config EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xddc11c3d wm8804_probe EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xed888589 wm8804_remove EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xf52ba845 wm8804_pm -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x5b2851d9 wm8903_mic_detect -EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x4d04749c wm8962_mic_detect -EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x46972208 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x5b89dbda wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x8768ff33 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x06416835 fsl_asrc_component EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x30693bb7 imx_audmux_v1_configure_port EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1b9e0631 asoc_simple_parse_pin_switches EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1eb426b0 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x272f720a asoc_simple_init_priv EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2925127d asoc_simple_shutdown -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2bb8b7af asoc_simple_parse_routing -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x37efad2a asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x332e1cd7 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3e5f6597 asoc_simple_parse_widgets EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5805a5ac asoc_simple_parse_clk -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x739ebd32 asoc_simple_parse_widgets -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x76776824 asoc_simple_parse_pin_switches -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x803b33ba asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5f63b6c7 asoc_simple_init_jack EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8636b6c8 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x865127f9 asoc_graph_card_probe EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x86fd8876 asoc_simple_startup EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8758c2dc asoc_simple_remove -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa7797cf1 asoc_simple_set_dailink_name -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xad4c3445 asoc_simple_be_hw_params_fixup -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xbefa0538 asoc_simple_parse_card_name -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xdbb80c79 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x958f6b44 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xcf949946 asoc_simple_be_hw_params_fixup EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xdc287d94 asoc_simple_parse_convert -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe4f08a06 asoc_graph_card_probe EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe5057ddb asoc_simple_hw_params EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe621c4aa asoc_simple_parse_daifmt -EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf2f9bbbc asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xef0e4fc9 asoc_simple_parse_routing EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf85ebc70 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xff1fd8c4 asoc_simple_set_dailink_name EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0x8bd6d6a4 sst_unregister_dsp EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0xc0fc3c2f sst_register_dsp EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x022c468a sst_context_cleanup @@ -19428,31 +19430,31 @@ EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x709cd25f relocate_imr_addr_mrfld EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x8a382ff7 sst_configure_runtime_pm EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0xf09bdc8a sst_context_init -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x02132ad1 snd_soc_acpi_intel_cnl_sdw_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x0281834b snd_soc_acpi_intel_cherrytrail_machines -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2a5e3211 snd_soc_acpi_intel_hda_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x0eca1b97 snd_soc_acpi_intel_kbl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x1c859a9f snd_soc_acpi_intel_cnl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x22f0c3aa snd_soc_acpi_intel_skl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2c4fd0d6 snd_soc_acpi_intel_tgl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x3038cd61 snd_soc_acpi_intel_rpl_sdw_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x482cc324 snd_soc_acpi_intel_jsl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x4ff887c1 snd_soc_acpi_intel_cnl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x55eef082 snd_soc_acpi_intel_broadwell_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5add5149 snd_soc_acpi_intel_baytrail_machines -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x63cc30c7 snd_soc_acpi_intel_ehl_machines -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x75742477 snd_soc_acpi_intel_icl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x6be29439 snd_soc_acpi_intel_icl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x749e1ac1 snd_soc_acpi_intel_icl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7c617496 snd_soc_acpi_intel_haswell_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7f0cf4cf snd_soc_acpi_intel_bxt_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x80e36ae3 snd_soc_acpi_intel_cfl_sdw_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x90a5a135 snd_soc_acpi_intel_rpl_machines -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x9769ee2b snd_soc_acpi_intel_cnl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xa95e3688 snd_soc_acpi_intel_glk_machines -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xac0f732b snd_soc_acpi_intel_icl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xaee91d12 snd_soc_acpi_intel_adl_sdw_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xb291f19b snd_soc_acpi_intel_cml_sdw_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xb5e4a471 snd_soc_acpi_intel_cfl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xbb5d592d snd_soc_acpi_intel_ehl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xc787c511 snd_soc_acpi_intel_tgl_sdw_machines -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xd65b727d snd_soc_acpi_intel_kbl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xe67811d5 snd_soc_acpi_intel_adl_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xef3f8fcc snd_soc_acpi_intel_cml_machines -EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xfa61aa40 snd_soc_acpi_intel_skl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xf2cf5bfb snd_soc_acpi_intel_hda_machines EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x0716e034 sst_dsp_shim_read_unlocked EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x11bb2cea sst_dsp_mailbox_init EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x16e86983 sst_shim32_read @@ -19478,258 +19480,258 @@ EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xa0ca1353 sst_ipc_tx_message_nowait EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xab82d3bd sst_ipc_tx_message_nopm EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xb19bdbe3 sst_ipc_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x04044d66 cnl_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x08896fcf skl_dsp_set_dma_control +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x099eda57 bxt_sst_init_fw EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x139ec340 skl_ipc_init_instance -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x1552b172 cnl_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x152288a7 cnl_sst_init_fw EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x19f73aca skl_ipc_delete_pipeline -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x28b16da4 skl_put_pvt_id -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x29520cd8 bxt_sst_init_fw -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x29c67886 cnl_sst_dsp_cleanup EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2e847dfc skl_ipc_set_pipeline_state EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2f79befe is_skl_dsp_running -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2ff90986 skl_sst_dsp_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2f96f872 skl_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x30c4f2fb cnl_sst_dsp_cleanup EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x31e2d4e6 skl_ipc_unload_modules -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x336a158e bxt_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x331a610e skl_sst_dsp_cleanup EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x37b81169 skl_dsp_wake EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x3834d9df skl_ipc_load_modules -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x387ab980 skl_get_pvt_id -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x3bd61715 skl_get_pvt_instance_id_map EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x41a147e7 skl_ipc_create_pipeline EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x4f78a6f8 skl_dsp_sleep EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x50c5a0fc skl_ipc_bind_unbind EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x53539126 skl_ipc_set_large_config -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x62341096 skl_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x5d3b25dd skl_get_pvt_instance_id_map EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x630a3e8e skl_ipc_restore_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x63ac24f1 skl_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x654612c1 skl_get_pvt_id EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x6bd45f32 cnl_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x8428aebe bxt_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x85eba379 bxt_sst_dsp_cleanup EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x8e9bb2f1 skl_sst_ipc_load_library -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x93a728a5 bxt_sst_dsp_cleanup -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x9723a742 skl_dsp_set_dma_control EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xa3c06721 skl_dsp_free -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xaa6b4981 cnl_sst_init_fw EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xaf0268b6 skl_ipc_save_pipeline EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xbc9ba18e skl_ipc_set_dx EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xbdf261a2 skl_ipc_get_large_config +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xd8e3f047 skl_put_pvt_id EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe712c3ac skl_dsp_put_core EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe8f3076d skl_clear_module_cnt -EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xf0643d72 skl_sst_dsp_init EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xf2105912 skl_ipc_set_d0ix EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xfab4685b skl_dsp_get_core EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x508e2567 snd_soc_acpi_codec_list EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x6c5d2bcd snd_soc_acpi_find_package_from_hid EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0xe3a526be snd_soc_acpi_find_machine -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x058808a7 snd_soc_dai_compr_trigger -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x075fe25c snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x010482cc snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0204d068 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x040d8757 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x048f7c58 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04df1b19 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04f13297 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08067e21 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0929375a snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x093d501f snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c0b62fe snd_soc_dai_set_tdm_slot EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c1a75a4 snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c1f573d snd_soc_runtime_set_dai_fmt EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c96406f snd_soc_info_volsw -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ec06420 snd_soc_add_dai_controls -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f82624e snd_soc_dai_compr_set_params -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0fd99ec8 snd_soc_dai_compr_pointer -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x105396d9 snd_soc_set_dmi_name -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x106cca8b snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ef7c9b5 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x11af229c snd_soc_of_parse_audio_routing EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12692f94 snd_soc_component_compr_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x127c63a1 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12ae880d snd_soc_dapm_enable_pin EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12b1c57d snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13233944 snd_soc_component_set_sysclk EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1469b217 snd_soc_component_compr_ack -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1549cd06 snd_soc_component_disable_pin -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x156685c2 snd_soc_dapm_disable_pin_unlocked EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1990b791 snd_soc_get_dai_id -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b210572 snd_soc_dapm_new_widgets -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ced6cb0 snd_soc_dai_set_pll -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x203281c9 snd_soc_component_async_complete -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x22469e75 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1acee64a snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ccbc994 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1de66a43 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1f66fc3c snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21fe7c76 snd_soc_dapm_new_controls EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x22db6044 snd_soc_resume -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x244acd84 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2314a9d7 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23b34175 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2468fbbe snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24d62868 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25046bcd snd_soc_register_component EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2748bb94 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27e8c78c snd_soc_dai_link_set_capabilities EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x281f50ef snd_soc_dapm_get_volsw -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29053eab dapm_regulator_event -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b99fd55 devm_snd_dmaengine_pcm_register -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x306d5516 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b607b35 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ba8595a snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2bf8c885 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d2135e8 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d8ebf67 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d8f628b snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ec1c785 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f0ca44a dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f36f2e3 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3181a12c snd_soc_lookup_component_nolocked EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x320f8380 snd_soc_info_volsw_range -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x324244ce snd_soc_dai_link_set_capabilities -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32afe146 snd_soc_dai_digital_mute -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33104bc2 snd_soc_dpcm_get_substream -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33dc1501 snd_soc_dai_set_tristate -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x347a0465 snd_soc_card_remove_dai_link -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x352b2b04 snd_soc_register_component -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x386b327a snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33ea2412 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x355cea9b snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38a648fc snd_soc_card_add_dai_link EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x395772e8 snd_soc_component_compr_get_caps EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39c307dd snd_soc_of_get_slot_mask -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39f8cad9 snd_soc_dapm_stream_stop -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3acab3fa snd_soc_of_put_dai_link_codecs -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40282905 snd_soc_component_enable_pin_unlocked -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40bc30ee snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3aef620b snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b952e3e snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e472065 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40c82ab6 snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40d37d59 snd_soc_dai_compr_ack EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4116c8ca snd_soc_component_compr_set_metadata -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43a91999 snd_soc_unregister_component_by_driver -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43dc80ca snd_soc_dai_set_sysclk -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44ab5c07 snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x425cb5e6 snd_soc_unregister_dai EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4560d5be snd_soc_dapm_info_pin_switch -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x457401ff dapm_mark_endpoints_dirty -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45f786fb snd_soc_component_get_pin_status -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4691a099 snd_soc_dapm_free EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48a9c2d2 snd_soc_info_volsw_sx -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48ae99af snd_soc_dpcm_be_can_update -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x499cdbf3 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x496e3033 snd_soc_add_dai_controls EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a01b55b snd_soc_daifmt_parse_clock_provider_raw -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ac41e74 snd_soc_jack_add_gpios -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ad84a71 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4aed2d75 snd_soc_dai_compr_set_metadata EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c0f55be snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d28182c snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d6475b7 snd_soc_dapm_add_routes EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4dff558b snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e2d6a66 snd_soc_add_component_controls EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e49d8ba snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5037a117 snd_soc_dai_compr_pointer EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5242623f snd_soc_get_strobe -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5265c343 snd_soc_dapm_force_bias_level -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x52e96430 snd_soc_of_parse_audio_simple_widgets -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x545470f2 snd_soc_dapm_del_routes -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57752c02 snd_soc_tplg_widget_bind_event -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x58d88de9 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53dd11a0 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53de983e snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54c3f430 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54f26c1d snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x559c4b0c snd_soc_runtime_action EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59a11920 snd_soc_cnew -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a7a8b98 snd_soc_dai_compr_shutdown -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b295d7f snd_soc_dai_set_clkdiv -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5ba2028e snd_soc_new_ac97_component -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5cf9cb4d snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b8be0a2 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bee1539 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c1c1ffa snd_soc_dapm_weak_routes EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5db9abfc snd_soc_get_volsw EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5ed94285 snd_soc_put_volsw EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5f9153c3 snd_soc_put_volsw_sx EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x602cb4d8 snd_soc_daifmt_parse_format EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60fa1a32 snd_soc_component_compr_copy -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61826272 snd_soc_lookup_component_nolocked -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x634ad29a snd_soc_dai_set_bclk_ratio -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64725de6 snd_soc_dapm_kcontrol_widget -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6515172f snd_soc_tplg_component_load -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x652a0ade snd_soc_dapm_get_pin_status -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65af5af8 snd_soc_component_force_enable_pin_unlocked -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x665fff4d devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x610aefae snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6115bfae snd_soc_jack_add_pins EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x679cf9c2 snd_soc_component_compr_trigger -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67e8f6dd snd_soc_dapm_update_dai -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69c6a1c5 snd_soc_card_add_dai_link -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a481d5a snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68e754ee snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6bcc84fd snd_soc_dai_set_sysclk EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c3ad7b4 snd_soc_dapm_get_enum_double -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d0a36d1 snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d94527a snd_soc_dai_set_clkdiv EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e67dea8 snd_soc_set_runtime_hwparams -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70125ae0 snd_soc_dpcm_fe_can_update -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7121faa9 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fa7a8c3 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fdb7759 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fdec204 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ff6d49b snd_soc_dapm_disable_pin_unlocked EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71a44505 snd_soc_component_compr_set_params -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72d44919 snd_soc_dapm_force_enable_pin -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72d77d73 snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72f9d636 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73029328 snd_soc_dai_digital_mute EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x758e11cb snd_soc_get_dai_name -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x763a3484 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x759f03a8 snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77b91935 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x785cdab6 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78e0f461 snd_soc_dai_set_tristate EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a052a57 snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b01d4fd snd_soc_tplg_component_remove EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b98cb4e snd_soc_put_strobe EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bc3afa7 snd_soc_component_compr_pointer -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c865dc5 snd_soc_component_update_bits_async -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d7759df snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7dfbb448 snd_soc_component_read_field EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f09f7c5 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f1f0b54 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f58cfa3 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f95b40e snd_soc_card_get_kcontrol EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fd4fafc snd_soc_component_compr_get_metadata -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x807d0a19 snd_soc_tplg_component_remove -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x85aa486a snd_soc_rtdcom_lookup -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x87bfd487 snd_soc_dai_get_channel_map -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x88694d9f snd_soc_dapm_mixer_update_power -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a19565d snd_soc_dai_set_channel_map -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8aeeb8d8 snd_soc_of_parse_audio_routing -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ba4f54d snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x838be4ea dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x86054932 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x88e134cf snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x89b2beba snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a133468 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c354a22 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ce5ecf5 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d947bbe snd_soc_dapm_update_dai EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8dcb6861 null_dailink_component -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e5f0dbf snd_soc_add_component -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ee216f9 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e3b04f5 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8eb434ff snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f6e44d0 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8fb51205 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9090a127 snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90c31105 snd_soc_dapm_new_control EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9108987a snd_soc_get_volsw_range -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9141dd6d snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x924f4971 snd_soc_dapm_kcontrol_widget EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94717bd4 snd_soc_dapm_put_volsw -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94b88715 snd_soc_dai_set_tdm_slot EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9544defa snd_dmaengine_pcm_unregister -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99364339 snd_soc_component_disable_pin_unlocked -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b3913fc snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b868944 snd_soc_component_exit_regmap EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9bfde704 snd_soc_daifmt_clock_provider_fliped -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e0f392e snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e6a0583 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9f926d5e snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa10e3310 snd_soc_dapm_force_enable_pin EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1812887 snd_soc_put_volsw_range -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1ec0199 snd_soc_dapm_nc_pin -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa2c65b26 snd_soc_dapm_new_controls EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa32bb98b snd_soc_dapm_put_enum_double EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa4e3c9be snd_soc_bytes_tlv_callback EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa69f70c9 snd_soc_link_compr_set_params -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7b7ffa1 snd_soc_component_initialize +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6b79dfe snd_soc_find_dai EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7f7db9b snd_soc_of_get_dai_name -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa87724cf snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8477c11 snd_soc_dai_compr_set_params EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa88d06c1 snd_soc_bytes_get -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9c0c359 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaba29b8c snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac1c6572 snd_soc_component_initialize EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac2dd0ab snd_soc_get_xr_sx EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac58f624 snd_soc_of_parse_node_prefix -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad08ea20 snd_soc_dapm_ignore_suspend -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad3a70e9 snd_soc_jack_free_gpios -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad48fba4 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xacaee7cf snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadafa793 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadb52621 snd_soc_dai_set_channel_map EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae70d5ed snd_soc_debugfs_root -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaea48fc1 snd_soc_dai_compr_ack -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaea4e537 snd_soc_jack_notifier_register EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf4d39d2 snd_soc_put_xr_sx EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0e8ffa2 snd_soc_free_ac97_component -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5e93487 devm_snd_soc_register_card -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb94d591d snd_soc_dapm_init -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba1a3d66 snd_soc_dai_compr_get_params -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba22b002 dapm_pinctrl_event -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbac07e3d snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7d5d1f7 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb894d6dc snd_soc_jack_notifier_register EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbad4c534 snd_soc_poweroff -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbaf50dc8 snd_soc_jack_notifier_unregister EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb98826f soc_ac97_ops -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbba56f3b snd_soc_of_parse_aux_devs -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbbce730e snd_soc_dpcm_can_be_params -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc5d6946 snd_dmaengine_pcm_register -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc8c101e snd_soc_dapm_mux_update_power -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbfee3a77 snd_soc_component_nc_pin_unlocked -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0742788 snd_soc_jack_add_pins -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc15d993c snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd369d0a snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd44e590 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc11bbc59 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1e8020b snd_soc_component_force_enable_pin_unlocked EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2a65938 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4b88c3c snd_soc_dapm_mixer_update_power EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc55e044b snd_soc_bytes_info EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6bf29e2 snd_soc_get_volsw_sx -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6e6001b snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc76a2a39 snd_soc_remove_pcm_runtime EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8fc528c snd_soc_bytes_info_ext -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc9ed17d0 snd_soc_component_nc_pin -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcac68009 snd_soc_dapm_disable_pin -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcaf1a18e snd_soc_component_read_field -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb898386 snd_soc_dapm_new_control -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc4878b0 snd_soc_add_card_controls -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcd245af0 snd_soc_close_delayed_work -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf69ff93 snd_soc_dai_compr_startup -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcfa1cdc7 snd_soc_component_exit_regmap -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcfa2dbb6 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc90dbba4 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc96e18a4 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcbb88093 snd_soc_dapm_nc_pin EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1fee3f0 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd26f6520 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd28b6edd snd_soc_unregister_card EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd357e96e snd_soc_put_enum_double -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4dbf4d9 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd417eb23 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd45077d1 snd_soc_component_read EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4f65a1e snd_soc_component_compr_open -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd566c1b9 snd_soc_dapm_sync_unlocked EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5eafecc snd_soc_suspend EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd64514a1 snd_soc_component_compr_get_codec_caps -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda6ada18 snd_soc_find_dai -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda978750 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7446939 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd840dc41 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8b902cc snd_soc_component_nc_pin_unlocked EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb434f12 snd_dmaengine_pcm_prepare_slave_config -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbd57e0a snd_soc_add_component_controls -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xddea051b snd_soc_component_set_jack -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe16851ce snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0c23a7a snd_soc_tplg_component_load EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3a9ef46 snd_soc_info_enum_double EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3de5993 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe5ca8522 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe5fe2da6 snd_soc_of_put_dai_link_codecs EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe604f3bd snd_soc_dapm_put_pin_switch -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe64557f5 snd_soc_component_update_bits -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe6f26c35 snd_soc_dapm_add_routes -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8420477 dpcm_be_dai_trigger -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeac3f4ed snd_soc_of_parse_card_name -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb05fcca snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe811ca84 snd_soc_component_set_pll EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec326e23 snd_soc_dai_set_fmt -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef5cb778 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef5f4bb2 snd_soc_dapm_get_pin_status EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeff14988 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf212b163 snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf25b081c snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf32cb04d snd_soc_new_compress EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf37e7dc3 snd_soc_pm_ops -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4dba146 snd_soc_component_force_enable_pin EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9622dd1 snd_soc_daifmt_clock_provider_from_bitmap -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9631593 snd_soc_dapm_enable_pin -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfa6f1d94 snd_soc_register_card -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfad8a94d snd_soc_card_get_kcontrol -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd21ec71 snd_soc_lookup_component -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd3e8d0b snd_soc_jack_get_type -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe4f72a6 snd_soc_dapm_sync -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfeb18174 snd_soc_dpcm_runtime_update -EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xffce6229 snd_soc_dpcm_can_be_free_stop -EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x8db41675 snd_sof_dbg_init -EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xad8e46cc snd_sof_debugfs_io_item -EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xbcebf96b snd_sof_free_debug -EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xf1dd985d snd_sof_dbg_memory_info_init -EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xfcfa29b3 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfa37deb6 snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfca93bbd snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff454602 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x619546de snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x964497c7 snd_sof_dbg_memory_info_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xab0768a9 snd_sof_debugfs_io_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xc0d590fc snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xcadf40ee snd_sof_debugfs_buf_item EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x01ad530c line6_pcm_acquire EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x032ece43 line6_resume EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0391cd06 line6_init_pcm @@ -19757,9 +19759,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x008539f0 klp_shadow_alloc EXPORT_SYMBOL_GPL vmlinux 0x009cc706 agp_remove_bridge EXPORT_SYMBOL_GPL vmlinux 0x00a5a16c blk_mq_quiesce_queue_nowait -EXPORT_SYMBOL_GPL vmlinux 0x00a60bd4 udp4_lib_lookup EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00dc6c0d __traceiter_neigh_timer_handler EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00e627ec devlink_params_register EXPORT_SYMBOL_GPL vmlinux 0x012033fb icc_get EXPORT_SYMBOL_GPL vmlinux 0x01262814 ata_sff_drain_fifo EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop @@ -19767,7 +19770,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x01328f2b usb_hcd_unmap_urb_for_dma EXPORT_SYMBOL_GPL vmlinux 0x0137598c blkcg_policy_register EXPORT_SYMBOL_GPL vmlinux 0x014b5ce3 iommu_sva_bind_device -EXPORT_SYMBOL_GPL vmlinux 0x0161e644 power_supply_set_input_current_limit_from_supplier EXPORT_SYMBOL_GPL vmlinux 0x016a6c4a xen_xenbus_fops EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits @@ -19776,9 +19778,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x0194c0b1 spi_bus_lock EXPORT_SYMBOL_GPL vmlinux 0x0196c879 regmap_add_irq_chip EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free -EXPORT_SYMBOL_GPL vmlinux 0x01a2f74d skb_mpls_update_lse -EXPORT_SYMBOL_GPL vmlinux 0x01ace9f3 security_path_chmod EXPORT_SYMBOL_GPL vmlinux 0x01c12c32 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x01d8f6c7 ip_local_out EXPORT_SYMBOL_GPL vmlinux 0x01dbaf35 crypto_register_aeads EXPORT_SYMBOL_GPL vmlinux 0x01df5c86 regulator_get_hardware_vsel_register EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint @@ -19787,22 +19788,22 @@ EXPORT_SYMBOL_GPL vmlinux 0x02008e08 device_property_read_string_array EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire EXPORT_SYMBOL_GPL vmlinux 0x020d9a9f __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x0212db4d fib_rules_lookup EXPORT_SYMBOL_GPL vmlinux 0x022066d0 gpiochip_reqres_irq EXPORT_SYMBOL_GPL vmlinux 0x02216f72 ata_acpi_stm EXPORT_SYMBOL_GPL vmlinux 0x022e5bf1 vfio_device_put EXPORT_SYMBOL_GPL vmlinux 0x02317a85 extcon_sync EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise -EXPORT_SYMBOL_GPL vmlinux 0x0249f0f7 nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x02437fb3 fib_nl_newrule EXPORT_SYMBOL_GPL vmlinux 0x024b3283 pinconf_generic_dump_config EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region EXPORT_SYMBOL_GPL vmlinux 0x024d54bc bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x0253f7d1 sock_map_destroy EXPORT_SYMBOL_GPL vmlinux 0x0255a737 devm_acpi_dev_add_driver_gpios EXPORT_SYMBOL_GPL vmlinux 0x02571f45 sata_pmp_qc_defer_cmd_switch EXPORT_SYMBOL_GPL vmlinux 0x028cd97e pci_enable_pcie_error_reporting -EXPORT_SYMBOL_GPL vmlinux 0x029648ce skb_clone_tx_timestamp -EXPORT_SYMBOL_GPL vmlinux 0x0296b61d __skb_get_hash_symmetric EXPORT_SYMBOL_GPL vmlinux 0x02abf3ee pci_epc_raise_irq -EXPORT_SYMBOL_GPL vmlinux 0x02cb9d98 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x02c5658e switchdev_bridge_port_offload EXPORT_SYMBOL_GPL vmlinux 0x02cf9a5b crypto_stats_akcipher_encrypt EXPORT_SYMBOL_GPL vmlinux 0x02f7518f pcie_aspm_enabled EXPORT_SYMBOL_GPL vmlinux 0x03092b0a ata_pci_device_suspend @@ -19811,23 +19812,23 @@ EXPORT_SYMBOL_GPL vmlinux 0x032d644c firmware_kobj EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03540cba tcp_is_ulp_esp EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key EXPORT_SYMBOL_GPL vmlinux 0x03876d4f l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x038f2bf6 devlink_region_create EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe EXPORT_SYMBOL_GPL vmlinux 0x03992fd8 sysfs_create_files EXPORT_SYMBOL_GPL vmlinux 0x03a64a40 ata_sff_irq_on EXPORT_SYMBOL_GPL vmlinux 0x03b3dd05 device_show_ulong -EXPORT_SYMBOL_GPL vmlinux 0x03b9fce9 devlink_port_unregister EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync EXPORT_SYMBOL_GPL vmlinux 0x03c168ed fw_devlink_purge_absent_suppliers EXPORT_SYMBOL_GPL vmlinux 0x03c1c035 acrn_remove_intr_handler EXPORT_SYMBOL_GPL vmlinux 0x03c7e820 disk_update_readahead EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present EXPORT_SYMBOL_GPL vmlinux 0x03dea997 regmap_write -EXPORT_SYMBOL_GPL vmlinux 0x03e1644b ip6_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x03ee36db mmput EXPORT_SYMBOL_GPL vmlinux 0x03f179c7 acpi_dev_get_resources -EXPORT_SYMBOL_GPL vmlinux 0x03f1e37c devlink_reload_disable +EXPORT_SYMBOL_GPL vmlinux 0x03f18cd7 seg6_do_srh_inline EXPORT_SYMBOL_GPL vmlinux 0x03f20708 nvdimm_has_cache EXPORT_SYMBOL_GPL vmlinux 0x03f88527 fuse_do_open EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc @@ -19836,6 +19837,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x041b50dc genphy_c45_aneg_done EXPORT_SYMBOL_GPL vmlinux 0x042522f2 sched_trace_rd_span EXPORT_SYMBOL_GPL vmlinux 0x042c9a04 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x043e5c5a cgroup_get_from_path EXPORT_SYMBOL_GPL vmlinux 0x044a0f90 __tracepoint_xdp_bulk_tx EXPORT_SYMBOL_GPL vmlinux 0x0455326d fs_dax_get_by_bdev EXPORT_SYMBOL_GPL vmlinux 0x04558a11 __traceiter_io_page_fault @@ -19853,10 +19855,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe EXPORT_SYMBOL_GPL vmlinux 0x04e2d32a devm_hwmon_device_register_with_groups -EXPORT_SYMBOL_GPL vmlinux 0x04e6007e __skb_tstamp_tx EXPORT_SYMBOL_GPL vmlinux 0x04eaeeb4 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x04eff5fa skb_pull_rcsum EXPORT_SYMBOL_GPL vmlinux 0x04f0981f gpiod_put EXPORT_SYMBOL_GPL vmlinux 0x050f9335 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x05196b49 __cpuhp_state_add_instance EXPORT_SYMBOL_GPL vmlinux 0x052484ac dma_mmap_pages EXPORT_SYMBOL_GPL vmlinux 0x0529af5b pm_generic_thaw EXPORT_SYMBOL_GPL vmlinux 0x052c3948 bpf_prog_inc @@ -19865,13 +19868,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt EXPORT_SYMBOL_GPL vmlinux 0x0554d708 crypto_type_has_alg EXPORT_SYMBOL_GPL vmlinux 0x05550b18 acpi_dma_request_slave_chan_by_index -EXPORT_SYMBOL_GPL vmlinux 0x055970e5 bpf_prog_destroy EXPORT_SYMBOL_GPL vmlinux 0x055c2806 gpiochip_irq_domain_deactivate EXPORT_SYMBOL_GPL vmlinux 0x05649e6f device_destroy EXPORT_SYMBOL_GPL vmlinux 0x0581f034 evict_inodes EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources EXPORT_SYMBOL_GPL vmlinux 0x05915c53 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x059a62d8 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x05a94d53 security_inode_create EXPORT_SYMBOL_GPL vmlinux 0x05aa7e48 class_unregister EXPORT_SYMBOL_GPL vmlinux 0x05ba549b store_sampling_rate EXPORT_SYMBOL_GPL vmlinux 0x05be8a60 crypto_register_template @@ -19879,11 +19883,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x0607f25e debugfs_create_file_size EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x0636974d rtnl_af_unregister EXPORT_SYMBOL_GPL vmlinux 0x06372f94 dm_hold EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry EXPORT_SYMBOL_GPL vmlinux 0x065e4c6a blk_set_pm_only EXPORT_SYMBOL_GPL vmlinux 0x065ead90 genphy_c45_read_status -EXPORT_SYMBOL_GPL vmlinux 0x0666bf93 pingv6_ops EXPORT_SYMBOL_GPL vmlinux 0x0668da16 device_match_of_node EXPORT_SYMBOL_GPL vmlinux 0x066b6831 crypto_alg_extsize EXPORT_SYMBOL_GPL vmlinux 0x066d28d4 register_acpi_bus_type @@ -19897,16 +19901,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x06baf66a dev_pm_clear_wake_irq EXPORT_SYMBOL_GPL vmlinux 0x06bcfad0 pci_epf_alloc_space EXPORT_SYMBOL_GPL vmlinux 0x06be6f33 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x06c33a6e lwtunnel_encap_del_ops EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off EXPORT_SYMBOL_GPL vmlinux 0x06d2fb14 usb_hcd_amd_remote_wakeup_quirk EXPORT_SYMBOL_GPL vmlinux 0x06d3eb49 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x06dbf5cf ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x06dc4f57 sk_clone_lock EXPORT_SYMBOL_GPL vmlinux 0x06f05ad3 l3mdev_update_flow EXPORT_SYMBOL_GPL vmlinux 0x070304e6 mmc_cmdq_disable EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax EXPORT_SYMBOL_GPL vmlinux 0x072ca599 fscrypt_ioctl_add_key EXPORT_SYMBOL_GPL vmlinux 0x073181ac bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x0741bda9 devlink_dpipe_table_unregister EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x075c092b bpf_trace_run4 EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy EXPORT_SYMBOL_GPL vmlinux 0x0775db00 pm_clk_remove EXPORT_SYMBOL_GPL vmlinux 0x078bbf66 devres_remove @@ -19915,14 +19924,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x0795007f pci_generic_config_write EXPORT_SYMBOL_GPL vmlinux 0x07a85b4b crypto_unregister_aead EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b3abcd mptcp_token_iter_next EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister EXPORT_SYMBOL_GPL vmlinux 0x07b64d81 hyperv_stop_tsc_emulation EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue EXPORT_SYMBOL_GPL vmlinux 0x07d0a72d usb_get_maximum_ssp_rate -EXPORT_SYMBOL_GPL vmlinux 0x07d26ae7 cn_add_callback EXPORT_SYMBOL_GPL vmlinux 0x07f9e518 ata_std_bios_param EXPORT_SYMBOL_GPL vmlinux 0x07fc3d34 virtqueue_get_buf -EXPORT_SYMBOL_GPL vmlinux 0x0801956f ip6_append_data EXPORT_SYMBOL_GPL vmlinux 0x080c0f1f __fscrypt_prepare_lookup EXPORT_SYMBOL_GPL vmlinux 0x080fa9e3 devfreq_event_disable_edev EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache @@ -19930,9 +19938,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x082e3c63 devm_hwspin_lock_request_specific EXPORT_SYMBOL_GPL vmlinux 0x082f0b24 tty_ldisc_receive_buf EXPORT_SYMBOL_GPL vmlinux 0x08467490 nvdimm_in_overwrite -EXPORT_SYMBOL_GPL vmlinux 0x08520226 switchdev_handle_port_obj_del EXPORT_SYMBOL_GPL vmlinux 0x0859ab91 md_run -EXPORT_SYMBOL_GPL vmlinux 0x0868aae5 devlink_param_register EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match EXPORT_SYMBOL_GPL vmlinux 0x08986acf dma_buf_dynamic_attach EXPORT_SYMBOL_GPL vmlinux 0x089ba799 pm_runtime_force_suspend @@ -19945,17 +19951,15 @@ EXPORT_SYMBOL_GPL vmlinux 0x08edc243 bio_iov_iter_get_pages EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register EXPORT_SYMBOL_GPL vmlinux 0x09095291 nvdimm_name -EXPORT_SYMBOL_GPL vmlinux 0x090af589 metadata_dst_free_percpu EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies EXPORT_SYMBOL_GPL vmlinux 0x092305bc platform_get_resource EXPORT_SYMBOL_GPL vmlinux 0x0925493f clear_page_orig EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str -EXPORT_SYMBOL_GPL vmlinux 0x09423186 fib_rules_dump EXPORT_SYMBOL_GPL vmlinux 0x09547430 rio_request_inb_mbox EXPORT_SYMBOL_GPL vmlinux 0x096a7e6f x86_spec_ctrl_base EXPORT_SYMBOL_GPL vmlinux 0x09761130 serdev_device_write -EXPORT_SYMBOL_GPL vmlinux 0x099582f1 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x0980a659 ipv4_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x09a5a739 regmap_register_patch EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove EXPORT_SYMBOL_GPL vmlinux 0x09c59336 gpiod_set_consumer_name @@ -19967,14 +19971,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x0a0c1ea6 pci_epc_map_msi_irq EXPORT_SYMBOL_GPL vmlinux 0x0a1a3694 sdio_writesb EXPORT_SYMBOL_GPL vmlinux 0x0a307572 spi_statistics_add_transfer_stats -EXPORT_SYMBOL_GPL vmlinux 0x0a4e7225 msg_zerocopy_callback EXPORT_SYMBOL_GPL vmlinux 0x0a502c98 dmar_platform_optin EXPORT_SYMBOL_GPL vmlinux 0x0a52c511 hv_query_ext_cap -EXPORT_SYMBOL_GPL vmlinux 0x0a5d672e sk_set_peek_off EXPORT_SYMBOL_GPL vmlinux 0x0a6375d6 vmf_insert_pfn_pud_prot EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a836ff0 __ip6_local_out EXPORT_SYMBOL_GPL vmlinux 0x0a86bb51 efivar_entry_iter -EXPORT_SYMBOL_GPL vmlinux 0x0a893288 br_fdb_test_addr_hook EXPORT_SYMBOL_GPL vmlinux 0x0a9975dc wakeup_sources_walk_start EXPORT_SYMBOL_GPL vmlinux 0x0a9b6d89 genphy_c45_config_aneg EXPORT_SYMBOL_GPL vmlinux 0x0aa7a635 genphy_c45_pma_resume @@ -19982,16 +19984,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x0abcbf05 pkcs7_parse_message EXPORT_SYMBOL_GPL vmlinux 0x0abd5230 pci_epf_type_add_cfs EXPORT_SYMBOL_GPL vmlinux 0x0abdf793 tty_kopen_shared -EXPORT_SYMBOL_GPL vmlinux 0x0acb30f2 xdp_rxq_info_is_reg EXPORT_SYMBOL_GPL vmlinux 0x0ace5754 cpufreq_driver_fast_switch EXPORT_SYMBOL_GPL vmlinux 0x0ad09f37 devm_gpiod_get_from_of_node EXPORT_SYMBOL_GPL vmlinux 0x0ad0cefd dm_per_bio_data EXPORT_SYMBOL_GPL vmlinux 0x0ad137d3 lpit_read_residency_count_address EXPORT_SYMBOL_GPL vmlinux 0x0ad3c67a fuse_direct_io -EXPORT_SYMBOL_GPL vmlinux 0x0ad5c75b inet6_csk_xmit -EXPORT_SYMBOL_GPL vmlinux 0x0ad61d29 __dev_forward_skb -EXPORT_SYMBOL_GPL vmlinux 0x0ae35d8a dst_cache_get -EXPORT_SYMBOL_GPL vmlinux 0x0af1e481 devlink_dpipe_table_resource_set EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region EXPORT_SYMBOL_GPL vmlinux 0x0b0438d8 em_pd_get EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct @@ -19999,21 +19996,17 @@ EXPORT_SYMBOL_GPL vmlinux 0x0b110583 xenbus_watch_path EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource EXPORT_SYMBOL_GPL vmlinux 0x0b31f42c task_user_regset_view -EXPORT_SYMBOL_GPL vmlinux 0x0b371698 ping_unhash -EXPORT_SYMBOL_GPL vmlinux 0x0b3bc2f6 devlink_param_driverinit_value_set EXPORT_SYMBOL_GPL vmlinux 0x0b3f0559 class_destroy EXPORT_SYMBOL_GPL vmlinux 0x0b4ed3f7 housekeeping_cpumask EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add EXPORT_SYMBOL_GPL vmlinux 0x0b6d904d __tracepoint_sched_cpu_capacity_tp -EXPORT_SYMBOL_GPL vmlinux 0x0b97c0d8 __strp_unpause EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory EXPORT_SYMBOL_GPL vmlinux 0x0bbeaeba uv_bios_enum_ports EXPORT_SYMBOL_GPL vmlinux 0x0bc2b249 cpuidle_unregister -EXPORT_SYMBOL_GPL vmlinux 0x0bc86392 __traceiter_devlink_hwerr EXPORT_SYMBOL_GPL vmlinux 0x0bd02d3d vfio_pci_core_uninit_device EXPORT_SYMBOL_GPL vmlinux 0x0bd8f734 path_noexec EXPORT_SYMBOL_GPL vmlinux 0x0bd95ade tty_port_register_device_attr_serdev -EXPORT_SYMBOL_GPL vmlinux 0x0bddb643 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0be63dff mptcp_pm_get_subflows_max EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit EXPORT_SYMBOL_GPL vmlinux 0x0bfccddb tpm_get_random EXPORT_SYMBOL_GPL vmlinux 0x0c23a4a8 power_supply_register_no_ws @@ -20026,7 +20019,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x0c78f821 devm_clk_register EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string -EXPORT_SYMBOL_GPL vmlinux 0x0c8dc85d __traceiter_neigh_cleanup_and_release EXPORT_SYMBOL_GPL vmlinux 0x0c8fda69 dm_send_uevents EXPORT_SYMBOL_GPL vmlinux 0x0ca93f29 tpm_default_chip EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister @@ -20034,7 +20026,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x0ccf96ed gpiod_to_chip EXPORT_SYMBOL_GPL vmlinux 0x0cd4ee54 icc_node_add EXPORT_SYMBOL_GPL vmlinux 0x0ce044d6 rio_del_mport_pw_handler -EXPORT_SYMBOL_GPL vmlinux 0x0ce58d71 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x0cebf476 netdev_rx_handler_unregister EXPORT_SYMBOL_GPL vmlinux 0x0cee9f11 serial8250_em485_config EXPORT_SYMBOL_GPL vmlinux 0x0cf0838e sdio_enable_func EXPORT_SYMBOL_GPL vmlinux 0x0cf93d0a regulator_bulk_disable @@ -20052,9 +20044,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x0d568d81 devm_spi_mem_dirmap_create EXPORT_SYMBOL_GPL vmlinux 0x0d5cecc6 ima_measure_critical_data EXPORT_SYMBOL_GPL vmlinux 0x0d64394c rio_route_clr_table -EXPORT_SYMBOL_GPL vmlinux 0x0d8c190b fib_nh_common_release EXPORT_SYMBOL_GPL vmlinux 0x0d9b22ce md_do_sync EXPORT_SYMBOL_GPL vmlinux 0x0daea810 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x0db03e78 devlink_trap_groups_unregister EXPORT_SYMBOL_GPL vmlinux 0x0dbd33a8 tty_register_device_attr EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate EXPORT_SYMBOL_GPL vmlinux 0x0dd490c4 spi_sync @@ -20067,17 +20059,17 @@ EXPORT_SYMBOL_GPL vmlinux 0x0e1194d5 hrtimer_try_to_cancel EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release EXPORT_SYMBOL_GPL vmlinux 0x0e1b528b __hvc_resize -EXPORT_SYMBOL_GPL vmlinux 0x0e1b5c2c __tracepoint_devlink_hwmsg EXPORT_SYMBOL_GPL vmlinux 0x0e1fc8ef __SCT__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0e22d5d9 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0e252858 devlink_resources_unregister EXPORT_SYMBOL_GPL vmlinux 0x0e3c97ad xenbus_register_driver_common -EXPORT_SYMBOL_GPL vmlinux 0x0e4195e4 switchdev_port_obj_add EXPORT_SYMBOL_GPL vmlinux 0x0e4813f3 spi_mem_adjust_op_size EXPORT_SYMBOL_GPL vmlinux 0x0e511159 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model EXPORT_SYMBOL_GPL vmlinux 0x0e63ae60 platform_get_resource_byname EXPORT_SYMBOL_GPL vmlinux 0x0e6b51bd pci_set_host_bridge_release EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked EXPORT_SYMBOL_GPL vmlinux 0x0e7171b7 devm_spi_register_controller -EXPORT_SYMBOL_GPL vmlinux 0x0e828124 pingv6_prot EXPORT_SYMBOL_GPL vmlinux 0x0e8bd204 blk_next_bio EXPORT_SYMBOL_GPL vmlinux 0x0ea14049 extcon_unregister_notifier EXPORT_SYMBOL_GPL vmlinux 0x0ea57aa3 fuse_mount_remove @@ -20085,6 +20077,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter EXPORT_SYMBOL_GPL vmlinux 0x0ec2f50d dev_pm_get_subsys_data EXPORT_SYMBOL_GPL vmlinux 0x0eeae3e8 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x0eef2436 __udp_gso_segment EXPORT_SYMBOL_GPL vmlinux 0x0ef07070 debugfs_file_put EXPORT_SYMBOL_GPL vmlinux 0x0ef9e9ca usb_reset_configuration EXPORT_SYMBOL_GPL vmlinux 0x0efb4391 fuse_conn_get @@ -20094,17 +20087,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x0f11fd26 devm_irq_setup_generic_chip EXPORT_SYMBOL_GPL vmlinux 0x0f147b2e bus_for_each_drv EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f2a85eb fib_rules_dump EXPORT_SYMBOL_GPL vmlinux 0x0f2c37f7 acpi_cppc_processor_probe EXPORT_SYMBOL_GPL vmlinux 0x0f2d7d87 mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x0f38c4cd __tracepoint_tcp_send_reset EXPORT_SYMBOL_GPL vmlinux 0x0f3e0a67 ata_sff_qc_issue EXPORT_SYMBOL_GPL vmlinux 0x0f40a49d irq_domain_create_simple EXPORT_SYMBOL_GPL vmlinux 0x0f52a015 md_bitmap_copy_from_slot EXPORT_SYMBOL_GPL vmlinux 0x0f53c1f1 smpboot_unregister_percpu_thread EXPORT_SYMBOL_GPL vmlinux 0x0f72ada1 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0x0f75a2d3 fib_alias_hw_flags_set EXPORT_SYMBOL_GPL vmlinux 0x0f770fbb genphy_c45_pma_read_abilities -EXPORT_SYMBOL_GPL vmlinux 0x0f799940 rtnl_get_net_ns_capable EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name EXPORT_SYMBOL_GPL vmlinux 0x0f83204b tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x0f8b4291 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x0f95cdbf inet6_csk_xmit EXPORT_SYMBOL_GPL vmlinux 0x0f9fc04e uv_get_archtype EXPORT_SYMBOL_GPL vmlinux 0x0fbafe4f __fscrypt_prepare_readdir EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align @@ -20130,16 +20127,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x1088ea76 ftrace_set_notrace EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf EXPORT_SYMBOL_GPL vmlinux 0x108a6b55 power_supply_am_i_supplied -EXPORT_SYMBOL_GPL vmlinux 0x1094e560 sk_msg_zerocopy_from_iter EXPORT_SYMBOL_GPL vmlinux 0x10adc6b5 __traceiter_block_rq_insert -EXPORT_SYMBOL_GPL vmlinux 0x10bc3b8e devlink_trap_policers_register EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable EXPORT_SYMBOL_GPL vmlinux 0x10fb7442 crypto_shash_alg_has_setkey EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer EXPORT_SYMBOL_GPL vmlinux 0x1110863b platform_bus EXPORT_SYMBOL_GPL vmlinux 0x111801fc class_interface_register -EXPORT_SYMBOL_GPL vmlinux 0x11256ade skb_defer_rx_timestamp EXPORT_SYMBOL_GPL vmlinux 0x116180b5 hv_current_partition_id +EXPORT_SYMBOL_GPL vmlinux 0x1168a986 nf_queue_entry_free EXPORT_SYMBOL_GPL vmlinux 0x11740a6f pci_find_next_capability EXPORT_SYMBOL_GPL vmlinux 0x117f4ab1 locks_alloc_lock EXPORT_SYMBOL_GPL vmlinux 0x1183991b phy_pm_runtime_forbid @@ -20150,7 +20145,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x11bd6135 uprobe_unregister EXPORT_SYMBOL_GPL vmlinux 0x11c21445 __mmu_notifier_register EXPORT_SYMBOL_GPL vmlinux 0x11c51b5b __pm_runtime_set_status -EXPORT_SYMBOL_GPL vmlinux 0x11cd9a3a devlink_port_params_register EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init EXPORT_SYMBOL_GPL vmlinux 0x11e08f96 trace_seq_putmem_hex @@ -20168,16 +20162,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs EXPORT_SYMBOL_GPL vmlinux 0x127c109b __SCT__tp_func_suspend_resume -EXPORT_SYMBOL_GPL vmlinux 0x128a3742 devlink_port_attrs_set -EXPORT_SYMBOL_GPL vmlinux 0x128aba00 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x1281afe7 ethnl_cable_test_alloc EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support EXPORT_SYMBOL_GPL vmlinux 0x1298b786 phy_set_mode_ext EXPORT_SYMBOL_GPL vmlinux 0x12995163 wm831x_reg_read EXPORT_SYMBOL_GPL vmlinux 0x129b3097 led_set_brightness_sync -EXPORT_SYMBOL_GPL vmlinux 0x12b12156 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x12afc234 lwtunnel_build_state EXPORT_SYMBOL_GPL vmlinux 0x12b68feb regmap_field_bulk_free EXPORT_SYMBOL_GPL vmlinux 0x12cf16bc tpm_put_ops -EXPORT_SYMBOL_GPL vmlinux 0x12d1e586 tcp_reno_ssthresh EXPORT_SYMBOL_GPL vmlinux 0x12db3a8b kvm_clock EXPORT_SYMBOL_GPL vmlinux 0x12e285ec is_uv_system EXPORT_SYMBOL_GPL vmlinux 0x12e2a80e efivar_entry_find @@ -20187,6 +20179,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq EXPORT_SYMBOL_GPL vmlinux 0x13217ce7 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x1322097f tcp_twsk_destructor EXPORT_SYMBOL_GPL vmlinux 0x13297cf8 devm_of_led_get EXPORT_SYMBOL_GPL vmlinux 0x132b5a4d adp5520_unregister_notifier EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk @@ -20204,14 +20197,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x13aaf1af x86_vector_domain EXPORT_SYMBOL_GPL vmlinux 0x13c428ec regulator_desc_list_voltage_linear EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder -EXPORT_SYMBOL_GPL vmlinux 0x13dd9eaf ipv6_bpf_stub EXPORT_SYMBOL_GPL vmlinux 0x13e1f26f led_compose_name -EXPORT_SYMBOL_GPL vmlinux 0x13eca02a ipv6_proxy_select_ident EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc EXPORT_SYMBOL_GPL vmlinux 0x13fab921 cpuidle_unregister_device EXPORT_SYMBOL_GPL vmlinux 0x13fd1709 securityfs_create_symlink EXPORT_SYMBOL_GPL vmlinux 0x13fd9ba1 regulator_register_notifier -EXPORT_SYMBOL_GPL vmlinux 0x13ff7c8b cgroup_get_from_id EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook EXPORT_SYMBOL_GPL vmlinux 0x1411c47e trace_event_buffer_lock_reserve EXPORT_SYMBOL_GPL vmlinux 0x141d328f regulator_map_voltage_ascend @@ -20224,10 +20214,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x1464368f regulator_set_active_discharge_regmap EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key EXPORT_SYMBOL_GPL vmlinux 0x146dc897 get_state_synchronize_srcu -EXPORT_SYMBOL_GPL vmlinux 0x146de381 devlink_trap_policers_unregister EXPORT_SYMBOL_GPL vmlinux 0x14703e94 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x148ffcfb raw_seq_start EXPORT_SYMBOL_GPL vmlinux 0x1490d6c4 fwnode_graph_get_port_parent -EXPORT_SYMBOL_GPL vmlinux 0x14a73d05 lwtunnel_state_alloc EXPORT_SYMBOL_GPL vmlinux 0x14ad7d72 serdev_device_set_flow_control EXPORT_SYMBOL_GPL vmlinux 0x14b91db0 sysfs_unbreak_active_protection EXPORT_SYMBOL_GPL vmlinux 0x14c178a3 debugfs_create_u16 @@ -20235,11 +20224,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x14dfec14 max8997_write_reg EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put EXPORT_SYMBOL_GPL vmlinux 0x14f715fc rdev_get_dev -EXPORT_SYMBOL_GPL vmlinux 0x14feb17b cgroup_get_e_css EXPORT_SYMBOL_GPL vmlinux 0x15021b4a xa_delete_node -EXPORT_SYMBOL_GPL vmlinux 0x15050daf tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x15071696 skb_to_sgvec EXPORT_SYMBOL_GPL vmlinux 0x151bb55d fuse_sync_release -EXPORT_SYMBOL_GPL vmlinux 0x152455af strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x15222eaf ping_init_sock EXPORT_SYMBOL_GPL vmlinux 0x152f7d86 task_cputime_adjusted EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put @@ -20248,21 +20236,18 @@ EXPORT_SYMBOL_GPL vmlinux 0x156e8afe __SCT__tp_func_fib6_table_lookup EXPORT_SYMBOL_GPL vmlinux 0x1571d174 irq_domain_xlate_onecell EXPORT_SYMBOL_GPL vmlinux 0x157456db ata_sas_port_suspend -EXPORT_SYMBOL_GPL vmlinux 0x1588aa82 do_tcp_sendpages EXPORT_SYMBOL_GPL vmlinux 0x158c482c pci_d3cold_disable EXPORT_SYMBOL_GPL vmlinux 0x15956ff1 trace_seq_path EXPORT_SYMBOL_GPL vmlinux 0x15a3fc21 put_device EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks -EXPORT_SYMBOL_GPL vmlinux 0x15b1541a sk_msg_recvmsg EXPORT_SYMBOL_GPL vmlinux 0x15cc30f1 cc_platform_has -EXPORT_SYMBOL_GPL vmlinux 0x15da364d cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x15d641f8 skb_zerocopy EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask -EXPORT_SYMBOL_GPL vmlinux 0x15f07038 devlink_net EXPORT_SYMBOL_GPL vmlinux 0x15f7002b led_update_brightness EXPORT_SYMBOL_GPL vmlinux 0x15fe0300 pinctrl_pm_select_sleep_state EXPORT_SYMBOL_GPL vmlinux 0x1603a6b4 vfio_pci_core_match EXPORT_SYMBOL_GPL vmlinux 0x162cdf1e power_supply_put -EXPORT_SYMBOL_GPL vmlinux 0x1641df59 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed EXPORT_SYMBOL_GPL vmlinux 0x166db1b5 sched_clock_idle_wakeup_event EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device @@ -20272,8 +20257,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x169f745c blk_queue_zone_write_granularity EXPORT_SYMBOL_GPL vmlinux 0x16a4e9a8 devm_free_percpu EXPORT_SYMBOL_GPL vmlinux 0x16a7be0c trace_array_init_printk -EXPORT_SYMBOL_GPL vmlinux 0x16b19f09 sock_inuse_get EXPORT_SYMBOL_GPL vmlinux 0x16bb2c25 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x16ce94e4 xfrm_dev_offload_ok EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness EXPORT_SYMBOL_GPL vmlinux 0x16e66b43 crypto_aes_set_key @@ -20285,12 +20270,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x17219c06 ata_bmdma_qc_prep EXPORT_SYMBOL_GPL vmlinux 0x17292653 sata_link_scr_lpm EXPORT_SYMBOL_GPL vmlinux 0x172c41f9 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x1732c3a0 sock_prot_inuse_add EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts EXPORT_SYMBOL_GPL vmlinux 0x1742383a led_stop_software_blink EXPORT_SYMBOL_GPL vmlinux 0x17480d56 x509_free_certificate EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp EXPORT_SYMBOL_GPL vmlinux 0x1753cbe2 ata_sas_port_stop -EXPORT_SYMBOL_GPL vmlinux 0x1759d8ef xfrm_state_afinfo_get_rcu EXPORT_SYMBOL_GPL vmlinux 0x175a6956 __tracepoint_wbc_writepage EXPORT_SYMBOL_GPL vmlinux 0x175fcaf4 crypto_ahash_setkey EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put @@ -20301,7 +20286,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version EXPORT_SYMBOL_GPL vmlinux 0x178af421 usb_disable_ltm EXPORT_SYMBOL_GPL vmlinux 0x179cd7b9 acpi_data_fwnode_ops -EXPORT_SYMBOL_GPL vmlinux 0x17acc507 strp_check_rcv EXPORT_SYMBOL_GPL vmlinux 0x17add64b gdt_page EXPORT_SYMBOL_GPL vmlinux 0x17b2db1e pci_load_and_free_saved_state EXPORT_SYMBOL_GPL vmlinux 0x17c3b050 clockevents_unbind_device @@ -20313,21 +20297,19 @@ EXPORT_SYMBOL_GPL vmlinux 0x17eb5eef pci_get_dsn EXPORT_SYMBOL_GPL vmlinux 0x17fa3b19 sysfs_rename_link_ns EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize -EXPORT_SYMBOL_GPL vmlinux 0x18018785 __tracepoint_kfree_skb -EXPORT_SYMBOL_GPL vmlinux 0x181fe139 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x18161a39 security_path_chown +EXPORT_SYMBOL_GPL vmlinux 0x1818cd58 __strp_unpause EXPORT_SYMBOL_GPL vmlinux 0x18211774 ata_pci_remove_one EXPORT_SYMBOL_GPL vmlinux 0x1827118c i2c_new_smbus_alert_device EXPORT_SYMBOL_GPL vmlinux 0x1832817b vp_modern_config_vector EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x18460b0c ip6_route_output_flags_noref EXPORT_SYMBOL_GPL vmlinux 0x18582826 amd_pmu_disable_virt EXPORT_SYMBOL_GPL vmlinux 0x185d73c6 ata_scsi_ioctl -EXPORT_SYMBOL_GPL vmlinux 0x185e5e6e xdp_convert_zc_to_xdp_frame EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes EXPORT_SYMBOL_GPL vmlinux 0x1867d0e4 extcon_get_edev_by_phandle EXPORT_SYMBOL_GPL vmlinux 0x187bd6a1 nvdimm_bus_register EXPORT_SYMBOL_GPL vmlinux 0x1888a1af of_phy_simple_xlate -EXPORT_SYMBOL_GPL vmlinux 0x18906a09 skb_zerocopy_iter_stream -EXPORT_SYMBOL_GPL vmlinux 0x18a05a39 netdev_walk_all_upper_dev_rcu EXPORT_SYMBOL_GPL vmlinux 0x18ac3618 blk_mq_sched_try_insert_merge EXPORT_SYMBOL_GPL vmlinux 0x18b2790f uv_bios_obj_count EXPORT_SYMBOL_GPL vmlinux 0x18b29080 handle_bad_irq @@ -20346,7 +20328,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x1924b3d7 spi_controller_dma_unmap_mem_op_data EXPORT_SYMBOL_GPL vmlinux 0x192b8f39 con_debug_enter EXPORT_SYMBOL_GPL vmlinux 0x192bd8d0 icc_nodes_remove -EXPORT_SYMBOL_GPL vmlinux 0x19366072 seg6_do_srh_inline EXPORT_SYMBOL_GPL vmlinux 0x193a9f2f usb_phy_get_charger_current EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state EXPORT_SYMBOL_GPL vmlinux 0x193f7df3 bpf_offload_dev_match @@ -20354,12 +20335,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x194af60d tty_buffer_lock_exclusive EXPORT_SYMBOL_GPL vmlinux 0x1953ba17 fsnotify EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x196a69d0 sock_diag_put_meminfo EXPORT_SYMBOL_GPL vmlinux 0x1975fa50 acpi_dma_controller_register -EXPORT_SYMBOL_GPL vmlinux 0x199269bd __tracepoint_neigh_timer_handler EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled EXPORT_SYMBOL_GPL vmlinux 0x19a60ded aead_register_instance EXPORT_SYMBOL_GPL vmlinux 0x19c5c3b8 blk_update_request -EXPORT_SYMBOL_GPL vmlinux 0x19d03e57 inet6_hash EXPORT_SYMBOL_GPL vmlinux 0x19d2df5c fwnode_property_get_reference_args EXPORT_SYMBOL_GPL vmlinux 0x19dbd163 usb_hub_release_port EXPORT_SYMBOL_GPL vmlinux 0x19e0ae50 __SCT__tp_func_br_fdb_external_learn_add @@ -20374,7 +20354,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x1a2a6c71 __tracepoint_block_bio_remap EXPORT_SYMBOL_GPL vmlinux 0x1a30a523 ehci_init_driver EXPORT_SYMBOL_GPL vmlinux 0x1a3dd06e acpi_subsys_freeze -EXPORT_SYMBOL_GPL vmlinux 0x1a41c801 metadata_dst_free EXPORT_SYMBOL_GPL vmlinux 0x1a44c096 fsnotify_destroy_mark EXPORT_SYMBOL_GPL vmlinux 0x1a479931 virtqueue_add_sgs EXPORT_SYMBOL_GPL vmlinux 0x1a4d7003 compat_only_sysfs_link_entry_to_kobj @@ -20383,8 +20362,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x1a59cdb4 regulator_sync_voltage EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie EXPORT_SYMBOL_GPL vmlinux 0x1a6d8274 bpf_preload_ops -EXPORT_SYMBOL_GPL vmlinux 0x1a6e24a5 nf_queue -EXPORT_SYMBOL_GPL vmlinux 0x1a77351c __SCK__tp_func_tcp_bad_csum EXPORT_SYMBOL_GPL vmlinux 0x1a7988a4 to_nvdimm EXPORT_SYMBOL_GPL vmlinux 0x1a7ecd83 xhci_run EXPORT_SYMBOL_GPL vmlinux 0x1a84694f cpufreq_driver_resolve_freq @@ -20392,9 +20369,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x1a8f72ba __spi_alloc_controller EXPORT_SYMBOL_GPL vmlinux 0x1a9754cf sbitmap_queue_min_shallow_depth EXPORT_SYMBOL_GPL vmlinux 0x1ab2ea7c max8997_bulk_write -EXPORT_SYMBOL_GPL vmlinux 0x1abf4983 net_selftest EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key -EXPORT_SYMBOL_GPL vmlinux 0x1ad03540 nfs42_ssc_unregister EXPORT_SYMBOL_GPL vmlinux 0x1ad43dda ata_sas_port_resume EXPORT_SYMBOL_GPL vmlinux 0x1ad58467 transport_setup_device EXPORT_SYMBOL_GPL vmlinux 0x1ade9531 ata_platform_remove_one @@ -20403,6 +20378,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x1aff3d55 mce_register_injector_chain EXPORT_SYMBOL_GPL vmlinux 0x1b09a0e5 scsi_target_block EXPORT_SYMBOL_GPL vmlinux 0x1b3032a9 spi_replace_transfers +EXPORT_SYMBOL_GPL vmlinux 0x1b3576aa phy_speed_up EXPORT_SYMBOL_GPL vmlinux 0x1b3833c3 blk_mq_alloc_sq_tag_set EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask EXPORT_SYMBOL_GPL vmlinux 0x1b5885e7 devfreq_event_set_event @@ -20410,12 +20386,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer EXPORT_SYMBOL_GPL vmlinux 0x1ba237b0 default_cpu_present_to_apicid +EXPORT_SYMBOL_GPL vmlinux 0x1ba74c41 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x1bb331ee __tracepoint_neigh_update EXPORT_SYMBOL_GPL vmlinux 0x1bbc9549 crypto_stats_kpp_compute_shared_secret -EXPORT_SYMBOL_GPL vmlinux 0x1bc57c3d __cpuhp_state_remove_instance EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input -EXPORT_SYMBOL_GPL vmlinux 0x1bd0517a skb_copy_ubufs EXPORT_SYMBOL_GPL vmlinux 0x1bd996b4 adp5520_set_bits EXPORT_SYMBOL_GPL vmlinux 0x1bdaa57c devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x1bded0a5 devlink_param_unpublish EXPORT_SYMBOL_GPL vmlinux 0x1beb0c26 od_register_powersave_bias_handler EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained EXPORT_SYMBOL_GPL vmlinux 0x1bfa272b regmap_fields_update_bits_base @@ -20428,40 +20405,44 @@ EXPORT_SYMBOL_GPL vmlinux 0x1c19ed02 gpiochip_get_desc EXPORT_SYMBOL_GPL vmlinux 0x1c1c1590 fwnode_get_nth_parent EXPORT_SYMBOL_GPL vmlinux 0x1c1e158a regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x1c276648 __tracepoint_fib6_table_lookup EXPORT_SYMBOL_GPL vmlinux 0x1c367a31 dw_pcie_ep_init_complete EXPORT_SYMBOL_GPL vmlinux 0x1c420810 tpm1_do_selftest EXPORT_SYMBOL_GPL vmlinux 0x1c472c82 pci_set_pcie_reset_state EXPORT_SYMBOL_GPL vmlinux 0x1c475f13 __devm_alloc_percpu EXPORT_SYMBOL_GPL vmlinux 0x1c485bde vp_modern_set_queue_enable EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c575d8c xfrm_audit_state_delete EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase EXPORT_SYMBOL_GPL vmlinux 0x1c6b08c4 key_set_timeout EXPORT_SYMBOL_GPL vmlinux 0x1c759883 __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x1c762832 devlink_port_params_unregister EXPORT_SYMBOL_GPL vmlinux 0x1c764526 __SCT__tp_func_rpm_suspend -EXPORT_SYMBOL_GPL vmlinux 0x1c7db95e xdp_rxq_info_unused EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 EXPORT_SYMBOL_GPL vmlinux 0x1c83865b devres_open_group EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up EXPORT_SYMBOL_GPL vmlinux 0x1c96355e watchdog_register_device EXPORT_SYMBOL_GPL vmlinux 0x1ca3aa97 alarm_forward EXPORT_SYMBOL_GPL vmlinux 0x1cb095fc devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x1cb3f177 tcp_reno_ssthresh EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbbb4d9 cgroup_get_from_id EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc253d3 devlink_dpipe_entry_ctx_prepare EXPORT_SYMBOL_GPL vmlinux 0x1cd6d5ed usb_get_from_anchor EXPORT_SYMBOL_GPL vmlinux 0x1cf13724 debugfs_create_u32_array EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create EXPORT_SYMBOL_GPL vmlinux 0x1d060e5c acpi_cppc_processor_exit EXPORT_SYMBOL_GPL vmlinux 0x1d0852fd phy_pm_runtime_get_sync -EXPORT_SYMBOL_GPL vmlinux 0x1d0c8f36 skb_zerocopy EXPORT_SYMBOL_GPL vmlinux 0x1d0e899c phy_create EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state EXPORT_SYMBOL_GPL vmlinux 0x1d2b0af5 clk_register EXPORT_SYMBOL_GPL vmlinux 0x1d2d6407 __tracepoint_error_report_end EXPORT_SYMBOL_GPL vmlinux 0x1d4a79e7 misc_cg_uncharge EXPORT_SYMBOL_GPL vmlinux 0x1d4dc290 sdio_retune_release -EXPORT_SYMBOL_GPL vmlinux 0x1d5aefe6 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1d68b81e skb_append_pagefrags EXPORT_SYMBOL_GPL vmlinux 0x1d6bf384 __xenmem_reservation_va_mapping_update EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table EXPORT_SYMBOL_GPL vmlinux 0x1d7ad512 __SCK__tp_func_block_rq_insert @@ -20474,8 +20455,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x1dba2bfd wm831x_bulk_read EXPORT_SYMBOL_GPL vmlinux 0x1dbce03a locks_release_private EXPORT_SYMBOL_GPL vmlinux 0x1dcad402 devm_hwspin_lock_unregister -EXPORT_SYMBOL_GPL vmlinux 0x1dce58a8 bpf_trace_run1 -EXPORT_SYMBOL_GPL vmlinux 0x1dd5d556 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x1dda5b8e ip_build_and_send_pkt EXPORT_SYMBOL_GPL vmlinux 0x1dda98e6 regmap_raw_write EXPORT_SYMBOL_GPL vmlinux 0x1ddd29fc __SCK__tp_func_xdp_bulk_tx EXPORT_SYMBOL_GPL vmlinux 0x1ddebeec blk_trace_setup @@ -20489,8 +20469,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x1e085205 sbitmap_queue_show EXPORT_SYMBOL_GPL vmlinux 0x1e1c1a2f nvdimm_region_notify EXPORT_SYMBOL_GPL vmlinux 0x1e201b69 hwspin_lock_request -EXPORT_SYMBOL_GPL vmlinux 0x1e3321f4 ip6_sk_dst_lookup_flow EXPORT_SYMBOL_GPL vmlinux 0x1e3e3afa dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x1e3fe992 __SCK__tp_func_devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0x1e424d61 user_preparse EXPORT_SYMBOL_GPL vmlinux 0x1e47cb7a pwm_get EXPORT_SYMBOL_GPL vmlinux 0x1e486b42 xhci_get_ep_ctx @@ -20509,26 +20489,25 @@ EXPORT_SYMBOL_GPL vmlinux 0x1ead68c9 sata_port_ops EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative EXPORT_SYMBOL_GPL vmlinux 0x1ebcd1e2 crypto_mod_get -EXPORT_SYMBOL_GPL vmlinux 0x1ebdc638 mptcp_token_get_sock EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names EXPORT_SYMBOL_GPL vmlinux 0x1ec0bc98 __SCK__tp_func_rpm_suspend -EXPORT_SYMBOL_GPL vmlinux 0x1ec84a9a devlink_rate_nodes_destroy -EXPORT_SYMBOL_GPL vmlinux 0x1ecf8477 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x1ed16073 ip6_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm -EXPORT_SYMBOL_GPL vmlinux 0x1ed70e97 nf_route EXPORT_SYMBOL_GPL vmlinux 0x1edff725 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x1ee0a19e devlink_param_register EXPORT_SYMBOL_GPL vmlinux 0x1eeec8ba tpmm_chip_alloc -EXPORT_SYMBOL_GPL vmlinux 0x1ef831f2 alloc_skb_for_msg EXPORT_SYMBOL_GPL vmlinux 0x1f07a2dc clk_hw_register_composite EXPORT_SYMBOL_GPL vmlinux 0x1f0cb5bf pm_power_off_prepare EXPORT_SYMBOL_GPL vmlinux 0x1f0f27d6 key_type_user EXPORT_SYMBOL_GPL vmlinux 0x1f15d50c xenbus_dev_groups -EXPORT_SYMBOL_GPL vmlinux 0x1f311c7f tcp_get_syncookie_mss EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv EXPORT_SYMBOL_GPL vmlinux 0x1f5ece97 cond_wakeup_cpu0 +EXPORT_SYMBOL_GPL vmlinux 0x1f66bcd3 ip6_route_lookup EXPORT_SYMBOL_GPL vmlinux 0x1f684ee6 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x1f735c30 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x1f7596d3 __tracepoint_br_fdb_add EXPORT_SYMBOL_GPL vmlinux 0x1f7acea8 blk_queue_rq_timeout EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout EXPORT_SYMBOL_GPL vmlinux 0x1f8550b8 anon_transport_class_register @@ -20538,18 +20517,18 @@ EXPORT_SYMBOL_GPL vmlinux 0x1f9ee705 usb_autopm_get_interface_no_resume EXPORT_SYMBOL_GPL vmlinux 0x1fa1bd26 devm_fwnode_pwm_get EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash -EXPORT_SYMBOL_GPL vmlinux 0x1fa8cea8 bpf_trace_run4 -EXPORT_SYMBOL_GPL vmlinux 0x1faedcc7 inet_ctl_sock_create EXPORT_SYMBOL_GPL vmlinux 0x1fb3a764 pci_walk_bus EXPORT_SYMBOL_GPL vmlinux 0x1fb70eb9 gnttab_end_foreign_transfer_ref EXPORT_SYMBOL_GPL vmlinux 0x1fbdcc53 devm_power_supply_register_no_ws EXPORT_SYMBOL_GPL vmlinux 0x1fd38ccf register_asymmetric_key_parser EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x200138b2 inet_csk_route_req EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put EXPORT_SYMBOL_GPL vmlinux 0x201098d9 clk_hw_unregister EXPORT_SYMBOL_GPL vmlinux 0x201668a7 ehci_adjust_port_wakeup_flags EXPORT_SYMBOL_GPL vmlinux 0x2023e7c5 of_icc_xlate_onecell EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x20329122 __traceiter_tcp_send_reset EXPORT_SYMBOL_GPL vmlinux 0x20391b67 nvmem_cell_read_u32 EXPORT_SYMBOL_GPL vmlinux 0x204ef741 pcc_mbox_request_channel EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference @@ -20575,15 +20554,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x20f93ca0 fwnode_graph_get_endpoint_by_id EXPORT_SYMBOL_GPL vmlinux 0x20fc44ac serdev_acpi_get_uart_resource EXPORT_SYMBOL_GPL vmlinux 0x210127d6 dma_buf_map_attachment -EXPORT_SYMBOL_GPL vmlinux 0x21032ad3 sk_clone_lock EXPORT_SYMBOL_GPL vmlinux 0x211b231d badblocks_store -EXPORT_SYMBOL_GPL vmlinux 0x211ffd8f sk_psock_tls_strp_read EXPORT_SYMBOL_GPL vmlinux 0x216c3a88 exportfs_decode_fh_raw EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg EXPORT_SYMBOL_GPL vmlinux 0x217f43fd vp_modern_queue_address EXPORT_SYMBOL_GPL vmlinux 0x218dafdd skcipher_walk_async -EXPORT_SYMBOL_GPL vmlinux 0x218fc41b udp_tunnel_nic_ops EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy EXPORT_SYMBOL_GPL vmlinux 0x21a8e509 component_master_add_with_match EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id @@ -20594,7 +20570,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher EXPORT_SYMBOL_GPL vmlinux 0x21ce3ed1 dev_fetch_sw_netstats EXPORT_SYMBOL_GPL vmlinux 0x21f9c1af vfs_setxattr -EXPORT_SYMBOL_GPL vmlinux 0x2209d91e udp_abort EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str EXPORT_SYMBOL_GPL vmlinux 0x2213bc5d dw_pcie_wait_for_link EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks @@ -20605,17 +20580,18 @@ EXPORT_SYMBOL_GPL vmlinux 0x227e0294 tpm1_getcap EXPORT_SYMBOL_GPL vmlinux 0x22803a42 component_unbind_all EXPORT_SYMBOL_GPL vmlinux 0x22878a29 perf_pmu_unregister -EXPORT_SYMBOL_GPL vmlinux 0x228ba273 inet6_hash_connect EXPORT_SYMBOL_GPL vmlinux 0x229dbf06 pm_runtime_set_memalloc_noio EXPORT_SYMBOL_GPL vmlinux 0x22aedd3d sysfs_add_link_to_group EXPORT_SYMBOL_GPL vmlinux 0x22b11dd3 sdio_get_host_pm_caps EXPORT_SYMBOL_GPL vmlinux 0x22bf8b82 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x22bfeb75 nf_hook_entries_delete_raw EXPORT_SYMBOL_GPL vmlinux 0x22c678db devm_regmap_field_free -EXPORT_SYMBOL_GPL vmlinux 0x22ca916a sk_free_unlock_clone EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22dd5aa5 ip_fib_metrics_init EXPORT_SYMBOL_GPL vmlinux 0x22eb73c4 set_cpus_allowed_ptr EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22f05fad tcf_dev_queue_xmit EXPORT_SYMBOL_GPL vmlinux 0x22f31abb add_hwgenerator_randomness EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key EXPORT_SYMBOL_GPL vmlinux 0x22fe4edd pinctrl_get_group_pins @@ -20633,6 +20609,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x23921c77 debugfs_create_x64 EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent EXPORT_SYMBOL_GPL vmlinux 0x23aa267e pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x23b2d409 netdev_walk_all_upper_dev_rcu EXPORT_SYMBOL_GPL vmlinux 0x23b4e0d7 clear_page_rep EXPORT_SYMBOL_GPL vmlinux 0x23b600fc __tracepoint_block_bio_complete EXPORT_SYMBOL_GPL vmlinux 0x23baaf6f sfp_add_phy @@ -20640,6 +20617,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x23ec4f82 dax_region_put EXPORT_SYMBOL_GPL vmlinux 0x23f1a32f rio_unregister_scan EXPORT_SYMBOL_GPL vmlinux 0x23fd272d tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2402605a xdp_return_frame_bulk EXPORT_SYMBOL_GPL vmlinux 0x2409caa0 vp_modern_generation EXPORT_SYMBOL_GPL vmlinux 0x2410c338 x86_virt_spec_ctrl EXPORT_SYMBOL_GPL vmlinux 0x24187f96 irq_get_default_host @@ -20647,7 +20625,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x242edbbf component_master_del EXPORT_SYMBOL_GPL vmlinux 0x242f46fd ata_do_dev_read_id EXPORT_SYMBOL_GPL vmlinux 0x2438367f posix_acl_create -EXPORT_SYMBOL_GPL vmlinux 0x244ae66a skb_complete_tx_timestamp EXPORT_SYMBOL_GPL vmlinux 0x24548549 serial8250_release_dma EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size EXPORT_SYMBOL_GPL vmlinux 0x2470518e dev_pm_set_dedicated_wake_irq @@ -20659,8 +20636,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x248e1473 kfree_strarray EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock EXPORT_SYMBOL_GPL vmlinux 0x24b04254 usb_set_device_state -EXPORT_SYMBOL_GPL vmlinux 0x24bbaa25 fib6_get_table -EXPORT_SYMBOL_GPL vmlinux 0x24d93b4b bpf_trace_run5 EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended EXPORT_SYMBOL_GPL vmlinux 0x24dcd792 shash_ahash_finup EXPORT_SYMBOL_GPL vmlinux 0x24e3a94f crypto_comp_compress @@ -20672,13 +20647,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x2503f1fc of_devfreq_cooling_register_power EXPORT_SYMBOL_GPL vmlinux 0x2509133c ata_bmdma_port_start32 EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem -EXPORT_SYMBOL_GPL vmlinux 0x2535290d security_kernel_post_read_file EXPORT_SYMBOL_GPL vmlinux 0x253748c0 platform_add_devices EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x25404169 task_cls_state EXPORT_SYMBOL_GPL vmlinux 0x254748b1 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x25619229 xfrm_audit_state_notfound EXPORT_SYMBOL_GPL vmlinux 0x256748b4 regulator_bulk_free EXPORT_SYMBOL_GPL vmlinux 0x256f7f83 devm_pinctrl_register -EXPORT_SYMBOL_GPL vmlinux 0x2576135a tcp_register_ulp EXPORT_SYMBOL_GPL vmlinux 0x2582ae8f devm_clk_get_prepared EXPORT_SYMBOL_GPL vmlinux 0x25876639 devm_hwrng_register EXPORT_SYMBOL_GPL vmlinux 0x258a1c4d devm_spi_mem_dirmap_destroy @@ -20687,26 +20662,23 @@ EXPORT_SYMBOL_GPL vmlinux 0x2599464f dw_pcie_find_capability EXPORT_SYMBOL_GPL vmlinux 0x25a01f06 unregister_asymmetric_key_parser EXPORT_SYMBOL_GPL vmlinux 0x25b1b56a virtqueue_add_inbuf_ctx -EXPORT_SYMBOL_GPL vmlinux 0x25b4bb82 unregister_pernet_subsys EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data EXPORT_SYMBOL_GPL vmlinux 0x25be5a64 dev_pm_opp_get_opp_table -EXPORT_SYMBOL_GPL vmlinux 0x25c98552 ip_route_output_key_hash EXPORT_SYMBOL_GPL vmlinux 0x25ce9340 fwnode_graph_get_remote_node EXPORT_SYMBOL_GPL vmlinux 0x25edd2d2 rtc_set_alarm EXPORT_SYMBOL_GPL vmlinux 0x25f02c87 xen_p2m_addr EXPORT_SYMBOL_GPL vmlinux 0x25fa99fd tps6586x_reads EXPORT_SYMBOL_GPL vmlinux 0x2605ded5 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x26158ecc devlink_port_region_create EXPORT_SYMBOL_GPL vmlinux 0x2622828a scsi_register_device_handler EXPORT_SYMBOL_GPL vmlinux 0x2626d564 pci_disable_ats EXPORT_SYMBOL_GPL vmlinux 0x262a7063 xen_start_info EXPORT_SYMBOL_GPL vmlinux 0x263f039e xas_nomem EXPORT_SYMBOL_GPL vmlinux 0x2642d6d7 firmware_request_nowarn EXPORT_SYMBOL_GPL vmlinux 0x26478675 hsu_dma_remove -EXPORT_SYMBOL_GPL vmlinux 0x26502047 metadata_dst_alloc_percpu EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed EXPORT_SYMBOL_GPL vmlinux 0x265b6e29 hyperv_flush_guest_mapping_range EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded -EXPORT_SYMBOL_GPL vmlinux 0x26663388 devlink_reload_enable EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock EXPORT_SYMBOL_GPL vmlinux 0x2671e8f3 skcipher_walk_aead_decrypt EXPORT_SYMBOL_GPL vmlinux 0x267538db xen_unregister_device_domain_owner @@ -20721,6 +20693,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x26c46d65 wm831x_auxadc_read EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense EXPORT_SYMBOL_GPL vmlinux 0x26cda94f e820__mapped_raw_any +EXPORT_SYMBOL_GPL vmlinux 0x26d3cb07 sock_diag_check_cookie EXPORT_SYMBOL_GPL vmlinux 0x26d5c202 vfio_uninit_group_dev EXPORT_SYMBOL_GPL vmlinux 0x26e201f8 iommu_set_pgtable_quirks EXPORT_SYMBOL_GPL vmlinux 0x26e9fe67 pci_restore_msi_state @@ -20729,24 +20702,24 @@ EXPORT_SYMBOL_GPL vmlinux 0x26f92a4d cpufreq_freq_transition_begin EXPORT_SYMBOL_GPL vmlinux 0x26fadc01 device_property_read_string EXPORT_SYMBOL_GPL vmlinux 0x26fd13e7 smca_banks -EXPORT_SYMBOL_GPL vmlinux 0x26fd6fd4 inet_ehash_nolisten EXPORT_SYMBOL_GPL vmlinux 0x26ff999d __SCK__tp_func_sched_overutilized_tp EXPORT_SYMBOL_GPL vmlinux 0x270b97b1 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x271d1e86 __SCK__tp_func_neigh_event_send_done EXPORT_SYMBOL_GPL vmlinux 0x2734033a xenbus_dev_resume EXPORT_SYMBOL_GPL vmlinux 0x2735c145 irq_domain_create_legacy EXPORT_SYMBOL_GPL vmlinux 0x2736d6a3 dev_pm_qos_hide_flags EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback EXPORT_SYMBOL_GPL vmlinux 0x273aff5c __SCT__tp_func_block_bio_remap -EXPORT_SYMBOL_GPL vmlinux 0x273e2484 blk_mq_rdma_map_queues EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained EXPORT_SYMBOL_GPL vmlinux 0x27545158 regulator_put EXPORT_SYMBOL_GPL vmlinux 0x2758bea9 iommu_detach_group EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x2783a090 devlink_port_health_reporter_create EXPORT_SYMBOL_GPL vmlinux 0x27997131 gpiod_set_raw_array_value EXPORT_SYMBOL_GPL vmlinux 0x279973a0 bio_start_io_acct_time -EXPORT_SYMBOL_GPL vmlinux 0x27a0df22 phy_speed_down EXPORT_SYMBOL_GPL vmlinux 0x27a41884 balloon_page_list_enqueue EXPORT_SYMBOL_GPL vmlinux 0x27a68e0e fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x27ace4cb ipv4_sk_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x27b37f43 of_icc_bulk_get EXPORT_SYMBOL_GPL vmlinux 0x27b3f277 blk_mq_virtio_map_queues EXPORT_SYMBOL_GPL vmlinux 0x27bde901 i2c_dw_validate_speed @@ -20756,12 +20729,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x27ee9ed7 param_set_uint_minmax EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter EXPORT_SYMBOL_GPL vmlinux 0x27f5331c spi_take_timestamp_pre -EXPORT_SYMBOL_GPL vmlinux 0x27f99c72 __traceiter_neigh_event_send_done EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages EXPORT_SYMBOL_GPL vmlinux 0x280d8cb5 md_new_event EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf EXPORT_SYMBOL_GPL vmlinux 0x282500eb dma_run_dependencies EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28306966 devlink_register EXPORT_SYMBOL_GPL vmlinux 0x284bc984 iomap_seek_data EXPORT_SYMBOL_GPL vmlinux 0x285ee6ca __traceiter_sched_cpu_capacity_tp EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached @@ -20778,23 +20751,24 @@ EXPORT_SYMBOL_GPL vmlinux 0x28b64a7b iommu_domain_alloc EXPORT_SYMBOL_GPL vmlinux 0x28be0cef misc_cg_res_total_usage EXPORT_SYMBOL_GPL vmlinux 0x28c8d944 __fscrypt_inode_uses_inline_crypto -EXPORT_SYMBOL_GPL vmlinux 0x28cf3224 fib_nexthop_info EXPORT_SYMBOL_GPL vmlinux 0x28e64c64 xen_has_pv_and_legacy_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0x28f733a2 ncsi_unregister_dev EXPORT_SYMBOL_GPL vmlinux 0x28fd1db2 cpufreq_dbs_governor_start EXPORT_SYMBOL_GPL vmlinux 0x290a7c16 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x29100d01 sk_set_memalloc EXPORT_SYMBOL_GPL vmlinux 0x29169978 usb_anchor_urb EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine -EXPORT_SYMBOL_GPL vmlinux 0x2925ccde bpf_sk_storage_diag_put EXPORT_SYMBOL_GPL vmlinux 0x29366b61 register_ftrace_direct EXPORT_SYMBOL_GPL vmlinux 0x2943cd45 ata_host_activate EXPORT_SYMBOL_GPL vmlinux 0x2946aaff __blk_req_zone_write_unlock EXPORT_SYMBOL_GPL vmlinux 0x294f73c6 fuse_request_end EXPORT_SYMBOL_GPL vmlinux 0x2951a872 trace_clock_local EXPORT_SYMBOL_GPL vmlinux 0x295ddbee tps6586x_clr_bits -EXPORT_SYMBOL_GPL vmlinux 0x295ea321 lwtunnel_output EXPORT_SYMBOL_GPL vmlinux 0x2964964f gnttab_page_cache_init EXPORT_SYMBOL_GPL vmlinux 0x296ab2f4 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x297072e0 devlink_dpipe_table_counter_enabled EXPORT_SYMBOL_GPL vmlinux 0x2973ae28 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x2974b506 sock_diag_unregister EXPORT_SYMBOL_GPL vmlinux 0x298caa81 pcc_mbox_free_channel EXPORT_SYMBOL_GPL vmlinux 0x29d21609 virtqueue_poll EXPORT_SYMBOL_GPL vmlinux 0x29d6a295 usb_clear_halt @@ -20802,11 +20776,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async EXPORT_SYMBOL_GPL vmlinux 0x29fd50b1 pci_epc_linkup EXPORT_SYMBOL_GPL vmlinux 0x2a0f9ab3 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x2a1cb967 cgrp_dfl_root EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops EXPORT_SYMBOL_GPL vmlinux 0x2a2f8099 __tracepoint_rpm_return_int EXPORT_SYMBOL_GPL vmlinux 0x2a372bc7 gpiod_set_transitory EXPORT_SYMBOL_GPL vmlinux 0x2a3b985a mnt_want_write_file -EXPORT_SYMBOL_GPL vmlinux 0x2a3ff5be inet6_sock_destruct +EXPORT_SYMBOL_GPL vmlinux 0x2a3d1d23 netlink_strict_get_check EXPORT_SYMBOL_GPL vmlinux 0x2a40fecb find_extend_vma EXPORT_SYMBOL_GPL vmlinux 0x2a543b3e ata_bmdma_dumb_qc_prep EXPORT_SYMBOL_GPL vmlinux 0x2a5ea9ef rhashtable_destroy @@ -20815,16 +20790,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x2a85206d __account_locked_vm EXPORT_SYMBOL_GPL vmlinux 0x2a8af55a acpi_ec_add_query_handler EXPORT_SYMBOL_GPL vmlinux 0x2a905304 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x2aa3b9ec xdp_master_redirect EXPORT_SYMBOL_GPL vmlinux 0x2aa9f1c9 fat_update_time EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update EXPORT_SYMBOL_GPL vmlinux 0x2ab48b53 platform_irq_count -EXPORT_SYMBOL_GPL vmlinux 0x2ac0fe2d ip6_dst_lookup_flow EXPORT_SYMBOL_GPL vmlinux 0x2ac70f5f ohci_hub_status_data EXPORT_SYMBOL_GPL vmlinux 0x2ace9097 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x2adf0bef ip_route_output_tunnel EXPORT_SYMBOL_GPL vmlinux 0x2ae13459 usb_store_new_id EXPORT_SYMBOL_GPL vmlinux 0x2ae72b30 shake_page EXPORT_SYMBOL_GPL vmlinux 0x2aff68f9 perf_guest_get_msrs -EXPORT_SYMBOL_GPL vmlinux 0x2b02d72e devlink_free EXPORT_SYMBOL_GPL vmlinux 0x2b0765ca xen_store_interface EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback EXPORT_SYMBOL_GPL vmlinux 0x2b16e62a mmu_notifier_range_update_to_read_only @@ -20856,7 +20831,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x2bfa52ad pcie_bus_configure_settings EXPORT_SYMBOL_GPL vmlinux 0x2bfc33e3 __pm_runtime_resume EXPORT_SYMBOL_GPL vmlinux 0x2c004928 __tracepoint_pelt_irq_tp -EXPORT_SYMBOL_GPL vmlinux 0x2c0d38fa __tracepoint_neigh_cleanup_and_release EXPORT_SYMBOL_GPL vmlinux 0x2c178ccf __platform_create_bundle EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied EXPORT_SYMBOL_GPL vmlinux 0x2c220f41 hsu_dma_probe @@ -20867,7 +20841,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x2c3471a9 __nvdimm_create EXPORT_SYMBOL_GPL vmlinux 0x2c4139cf devm_usb_get_phy_by_phandle EXPORT_SYMBOL_GPL vmlinux 0x2c430ed1 iomap_releasepage -EXPORT_SYMBOL_GPL vmlinux 0x2c51a9d4 xdp_return_frame EXPORT_SYMBOL_GPL vmlinux 0x2c599f70 debugfs_write_file_bool EXPORT_SYMBOL_GPL vmlinux 0x2c61bb09 uv_bios_get_pci_topology EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem @@ -20875,10 +20848,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x2c7c79ce srcu_torture_stats_print EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping EXPORT_SYMBOL_GPL vmlinux 0x2c80a2eb iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x2c8159b1 raw_seq_stop EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types EXPORT_SYMBOL_GPL vmlinux 0x2c96b8b1 pci_epc_set_msix EXPORT_SYMBOL_GPL vmlinux 0x2c9ecbe5 dm_accept_partial_bio EXPORT_SYMBOL_GPL vmlinux 0x2ca41024 ioasid_get +EXPORT_SYMBOL_GPL vmlinux 0x2ca5a945 devlink_params_unregister EXPORT_SYMBOL_GPL vmlinux 0x2caaa46b param_set_bool_enable_only EXPORT_SYMBOL_GPL vmlinux 0x2cbca692 add_to_page_cache_lru EXPORT_SYMBOL_GPL vmlinux 0x2cc0da05 devm_nvmem_cell_get @@ -20886,12 +20861,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram EXPORT_SYMBOL_GPL vmlinux 0x2ced330f usb_put_intf EXPORT_SYMBOL_GPL vmlinux 0x2cfbb2b5 __SCT__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x2cfd0625 inet6_csk_addr2sockaddr EXPORT_SYMBOL_GPL vmlinux 0x2d0684a9 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x2d06d505 dst_blackhole_mtu EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait EXPORT_SYMBOL_GPL vmlinux 0x2d2c402b dev_pm_set_wake_irq EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current EXPORT_SYMBOL_GPL vmlinux 0x2d393f48 intel_soc_pmic_exec_mipi_pmic_seq_element -EXPORT_SYMBOL_GPL vmlinux 0x2d409f35 ip6_datagram_connect_v6_only EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts EXPORT_SYMBOL_GPL vmlinux 0x2d44be3b __SCT__tp_func_br_fdb_add EXPORT_SYMBOL_GPL vmlinux 0x2d4d443f __devm_regmap_init_mmio_clk @@ -20899,19 +20875,25 @@ EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff EXPORT_SYMBOL_GPL vmlinux 0x2d7a3a88 crypto_unregister_kpp EXPORT_SYMBOL_GPL vmlinux 0x2d7f9007 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x2d89601d ip6_sk_redirect EXPORT_SYMBOL_GPL vmlinux 0x2d89b1ad __SCT__tp_func_attach_device_to_domain EXPORT_SYMBOL_GPL vmlinux 0x2d8b407b fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x2da11538 lwtunnel_input EXPORT_SYMBOL_GPL vmlinux 0x2daaa07e thermal_zone_get_offset EXPORT_SYMBOL_GPL vmlinux 0x2dade64a __SCK__tp_func_pelt_rt_tp EXPORT_SYMBOL_GPL vmlinux 0x2db55340 cpuidle_unregister_driver EXPORT_SYMBOL_GPL vmlinux 0x2dc176c4 __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x2dcc6183 seg6_do_srh_encap EXPORT_SYMBOL_GPL vmlinux 0x2dcff0a0 crypto_remove_spawns EXPORT_SYMBOL_GPL vmlinux 0x2ddd7edb device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x2de2e390 udp_abort EXPORT_SYMBOL_GPL vmlinux 0x2deb97c6 led_classdev_register_ext EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e0ae571 __dev_forward_skb EXPORT_SYMBOL_GPL vmlinux 0x2e1497a0 usb_hcd_unlink_urb_from_ep EXPORT_SYMBOL_GPL vmlinux 0x2e1c59e6 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x2e220f25 sock_diag_destroy EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace EXPORT_SYMBOL_GPL vmlinux 0x2e241ce2 usb_amd_pt_check_port EXPORT_SYMBOL_GPL vmlinux 0x2e27c15f set_selection_kernel @@ -20920,7 +20902,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x2e49cf7c devm_reset_control_array_get EXPORT_SYMBOL_GPL vmlinux 0x2e56ba41 __irq_set_handler EXPORT_SYMBOL_GPL vmlinux 0x2e58d3eb blk_queue_flag_test_and_set -EXPORT_SYMBOL_GPL vmlinux 0x2e5c9494 dev_fill_forward_path EXPORT_SYMBOL_GPL vmlinux 0x2e5d7709 balloon_page_list_dequeue EXPORT_SYMBOL_GPL vmlinux 0x2e5dbd9f rdev_get_regmap EXPORT_SYMBOL_GPL vmlinux 0x2e670427 sbitmap_queue_wake_all @@ -20935,6 +20916,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x2edb6acc __SCK__tp_func_mc_event EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor EXPORT_SYMBOL_GPL vmlinux 0x2ee7c5d0 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x2ee95fb2 ipv6_find_tlv EXPORT_SYMBOL_GPL vmlinux 0x2ef04e7b blkcg_root EXPORT_SYMBOL_GPL vmlinux 0x2f0a85ac fat_get_dotdot_entry EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string @@ -20947,20 +20929,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x2f3b6685 fb_deferred_io_fsync EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec EXPORT_SYMBOL_GPL vmlinux 0x2f4eda0b driver_find -EXPORT_SYMBOL_GPL vmlinux 0x2f560b82 devlink_region_snapshot_id_get EXPORT_SYMBOL_GPL vmlinux 0x2f5fa799 usb_enable_ltm EXPORT_SYMBOL_GPL vmlinux 0x2f5fe6f3 nvdimm_clear_poison EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier -EXPORT_SYMBOL_GPL vmlinux 0x2f68a4d9 ip6_dst_lookup_tunnel EXPORT_SYMBOL_GPL vmlinux 0x2f6ce941 get_cpu_device -EXPORT_SYMBOL_GPL vmlinux 0x2f767f4b mptcp_pm_get_add_addr_signal_max -EXPORT_SYMBOL_GPL vmlinux 0x2f781128 espintcp_queue_out EXPORT_SYMBOL_GPL vmlinux 0x2f7a7fcf pci_acpi_set_companion_lookup_hook EXPORT_SYMBOL_GPL vmlinux 0x2f8fd89d xas_split_alloc -EXPORT_SYMBOL_GPL vmlinux 0x2f90bb00 inet6_compat_ioctl EXPORT_SYMBOL_GPL vmlinux 0x2f93f8f4 iopf_queue_add_device EXPORT_SYMBOL_GPL vmlinux 0x2f947e8a dma_buf_mmap EXPORT_SYMBOL_GPL vmlinux 0x2f9677d3 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x2f9842e5 __tracepoint_br_fdb_update EXPORT_SYMBOL_GPL vmlinux 0x2fb2ff77 devm_acpi_dev_remove_driver_gpios EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj EXPORT_SYMBOL_GPL vmlinux 0x2fcfe31f em_dev_register_perf_domain @@ -20970,6 +20948,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x301937be phy_modify EXPORT_SYMBOL_GPL vmlinux 0x3022c387 regulator_list_voltage_table EXPORT_SYMBOL_GPL vmlinux 0x3050aa8d vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x3059f0f3 sk_attach_filter EXPORT_SYMBOL_GPL vmlinux 0x305ffa13 pinctrl_lookup_state EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu EXPORT_SYMBOL_GPL vmlinux 0x306b3af5 crypto_register_shashes @@ -20979,9 +20958,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x307f513e phy_put EXPORT_SYMBOL_GPL vmlinux 0x30892add sched_trace_rq_cpu EXPORT_SYMBOL_GPL vmlinux 0x3096d75b device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x309ad6ab get_net_ns EXPORT_SYMBOL_GPL vmlinux 0x309e3351 iomap_migrate_page EXPORT_SYMBOL_GPL vmlinux 0x30a5e42f pci_iomap_wc EXPORT_SYMBOL_GPL vmlinux 0x30ab5be9 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x30b4f88d sk_msg_is_readable EXPORT_SYMBOL_GPL vmlinux 0x30bee2ba fb_deferred_io_cleanup EXPORT_SYMBOL_GPL vmlinux 0x30ca5900 usb_for_each_port EXPORT_SYMBOL_GPL vmlinux 0x30cf804f slow_virt_to_phys @@ -20989,17 +20970,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x30e3b569 usb_queue_reset_device EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk EXPORT_SYMBOL_GPL vmlinux 0x310284bc clk_hw_get_parent -EXPORT_SYMBOL_GPL vmlinux 0x3105118c switchdev_handle_port_attr_set EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler -EXPORT_SYMBOL_GPL vmlinux 0x311f4f09 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x311aa0b6 __raw_v6_lookup EXPORT_SYMBOL_GPL vmlinux 0x3120de5b fixed_phy_register_with_gpiod EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave EXPORT_SYMBOL_GPL vmlinux 0x313f4b1f irq_remove_generic_chip EXPORT_SYMBOL_GPL vmlinux 0x314ecce8 __mdiobus_modify_changed EXPORT_SYMBOL_GPL vmlinux 0x3152986b firmware_request_platform EXPORT_SYMBOL_GPL vmlinux 0x3165daa3 arbitrary_virt_to_machine -EXPORT_SYMBOL_GPL vmlinux 0x317004df __tcp_send_ack EXPORT_SYMBOL_GPL vmlinux 0x31706316 __SCT__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x3182b0eb inet6_csk_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes EXPORT_SYMBOL_GPL vmlinux 0x31926c8b cros_ec_get_sensor_count EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook @@ -21012,15 +20992,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x31b2f469 phy_pm_runtime_put_sync EXPORT_SYMBOL_GPL vmlinux 0x31b4d9ab blkdev_zone_mgmt EXPORT_SYMBOL_GPL vmlinux 0x31b8f0dd phy_modify_mmd_changed -EXPORT_SYMBOL_GPL vmlinux 0x31c0c281 sk_msg_alloc EXPORT_SYMBOL_GPL vmlinux 0x31c65185 tpm2_get_tpm_pt EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports -EXPORT_SYMBOL_GPL vmlinux 0x31d2e77f tcp_sendmsg_locked EXPORT_SYMBOL_GPL vmlinux 0x31d9000e da9052_adc_read_temp EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference EXPORT_SYMBOL_GPL vmlinux 0x31e1c846 usb_role_switch_register -EXPORT_SYMBOL_GPL vmlinux 0x31eb91e4 __netif_set_xps_queue EXPORT_SYMBOL_GPL vmlinux 0x31ee12a8 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0x31ff430e fib6_get_table EXPORT_SYMBOL_GPL vmlinux 0x320ebde8 user_describe EXPORT_SYMBOL_GPL vmlinux 0x321217cf iommu_device_link EXPORT_SYMBOL_GPL vmlinux 0x321ba5b3 public_key_subtype @@ -21032,12 +21010,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x326bfb47 pinctrl_force_default EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor EXPORT_SYMBOL_GPL vmlinux 0x326d3697 acpi_dev_get_first_consumer_dev -EXPORT_SYMBOL_GPL vmlinux 0x32785e36 netdev_rx_handler_unregister EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi EXPORT_SYMBOL_GPL vmlinux 0x328e3354 __memcpy_flushcache EXPORT_SYMBOL_GPL vmlinux 0x3294d948 dev_pm_opp_put EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled EXPORT_SYMBOL_GPL vmlinux 0x32ad1f29 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x32b16bac metadata_dst_alloc_percpu EXPORT_SYMBOL_GPL vmlinux 0x32bba985 pci_stop_and_remove_bus_device_locked EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec EXPORT_SYMBOL_GPL vmlinux 0x32c2bb04 list_lru_walk_node @@ -21063,12 +21041,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x3370d750 nvmem_cell_read_u64 EXPORT_SYMBOL_GPL vmlinux 0x337b276f bio_trim EXPORT_SYMBOL_GPL vmlinux 0x3385dac4 fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x33934f6e msg_zerocopy_put_abort EXPORT_SYMBOL_GPL vmlinux 0x33e1b54d sysfs_remove_file_ns EXPORT_SYMBOL_GPL vmlinux 0x33e8ba98 reset_control_get_count EXPORT_SYMBOL_GPL vmlinux 0x33f016b0 fscrypt_mergeable_bio_bh EXPORT_SYMBOL_GPL vmlinux 0x33f44889 ata_std_error_handler EXPORT_SYMBOL_GPL vmlinux 0x33fc3c60 pwm_adjust_config EXPORT_SYMBOL_GPL vmlinux 0x340fa246 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x3412efef iptunnel_handle_offloads EXPORT_SYMBOL_GPL vmlinux 0x3423c37c fwnode_usb_role_switch_get EXPORT_SYMBOL_GPL vmlinux 0x342e33a6 devm_init_badblocks EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory @@ -21086,6 +21066,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x34874916 gpiod_set_raw_value_cansleep EXPORT_SYMBOL_GPL vmlinux 0x34a0edee __SCK__tp_func_pelt_thermal_tp EXPORT_SYMBOL_GPL vmlinux 0x34bd2ed2 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x34c37dac dst_cache_get_ip4 EXPORT_SYMBOL_GPL vmlinux 0x34c54c86 perf_event_period EXPORT_SYMBOL_GPL vmlinux 0x34c94e26 __SCK__tp_func_extlog_mem_event EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler @@ -21107,9 +21088,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x3591ba40 __SCK__tp_func_block_rq_remap EXPORT_SYMBOL_GPL vmlinux 0x35aa3c45 shash_ahash_update EXPORT_SYMBOL_GPL vmlinux 0x35b3fa28 devm_pm_clk_create -EXPORT_SYMBOL_GPL vmlinux 0x35bb8a08 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x35bfe8b0 __SCK__tp_func_tcp_bad_csum EXPORT_SYMBOL_GPL vmlinux 0x35cfe11d devm_thermal_add_hwmon_sysfs EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35ed6024 ethnl_cable_test_fault_length EXPORT_SYMBOL_GPL vmlinux 0x35f1a650 pci_epc_put EXPORT_SYMBOL_GPL vmlinux 0x35f43770 __clk_hw_register_gate EXPORT_SYMBOL_GPL vmlinux 0x36075bb5 iommu_group_register_notifier @@ -21127,11 +21109,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x367b5792 __tracepoint_non_standard_event EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36b5c597 ip6_route_output_flags EXPORT_SYMBOL_GPL vmlinux 0x36b5c972 tps6586x_irq_get_virq EXPORT_SYMBOL_GPL vmlinux 0x36c64a46 regulator_is_equal EXPORT_SYMBOL_GPL vmlinux 0x36d26c46 adp5520_write EXPORT_SYMBOL_GPL vmlinux 0x36e1842c dev_pm_qos_add_request -EXPORT_SYMBOL_GPL vmlinux 0x36eda708 __raw_v6_lookup EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request EXPORT_SYMBOL_GPL vmlinux 0x372cfd6e gnttab_end_foreign_access EXPORT_SYMBOL_GPL vmlinux 0x3742b6be uart_get_rs485_mode @@ -21140,7 +21122,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x375e99a7 serial8250_do_shutdown EXPORT_SYMBOL_GPL vmlinux 0x3760ea3f bsg_job_done EXPORT_SYMBOL_GPL vmlinux 0x3763f509 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x3767d659 tcp_enter_memory_pressure EXPORT_SYMBOL_GPL vmlinux 0x376e47a6 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x377671ff pingv6_ops EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state EXPORT_SYMBOL_GPL vmlinux 0x3781dd09 usb_hcd_map_urb_for_dma EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write @@ -21150,8 +21134,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x37d8591d acpi_subsys_complete EXPORT_SYMBOL_GPL vmlinux 0x37dd1b6d power_supply_get_property EXPORT_SYMBOL_GPL vmlinux 0x37dd9a5c vfio_device_get_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x37ea159a pid_nr_ns EXPORT_SYMBOL_GPL vmlinux 0x37f292c4 pmc_atom_write EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x380e1e82 tcp_cong_avoid_ai EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable EXPORT_SYMBOL_GPL vmlinux 0x38357b76 da9052_regmap_config EXPORT_SYMBOL_GPL vmlinux 0x3836a8cc dmaengine_desc_get_metadata_ptr @@ -21163,10 +21149,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x38708e25 inet_peer_base_init EXPORT_SYMBOL_GPL vmlinux 0x38719aab ata_sff_error_handler EXPORT_SYMBOL_GPL vmlinux 0x38722f80 kernel_fpu_end -EXPORT_SYMBOL_GPL vmlinux 0x3892e159 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x387afb91 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x388264ea amd_clear_divider EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count EXPORT_SYMBOL_GPL vmlinux 0x38a70d24 fwnode_property_read_u8_array EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38ab1223 devlink_resource_register EXPORT_SYMBOL_GPL vmlinux 0x38b2dbbb serial8250_request_dma EXPORT_SYMBOL_GPL vmlinux 0x38b6a890 __SCT__tp_func_sched_util_est_cfs_tp EXPORT_SYMBOL_GPL vmlinux 0x38c34dea transport_class_register @@ -21180,20 +21168,19 @@ EXPORT_SYMBOL_GPL vmlinux 0x38f369cd iommu_uapi_sva_bind_gpasid EXPORT_SYMBOL_GPL vmlinux 0x3901f397 mmu_notifier_unregister EXPORT_SYMBOL_GPL vmlinux 0x390773af efivars_unregister -EXPORT_SYMBOL_GPL vmlinux 0x39180f78 __tracepoint_br_fdb_add EXPORT_SYMBOL_GPL vmlinux 0x391e3652 pcie_reset_flr -EXPORT_SYMBOL_GPL vmlinux 0x39224e65 raw_seq_stop EXPORT_SYMBOL_GPL vmlinux 0x392c4add __tracepoint_io_page_fault EXPORT_SYMBOL_GPL vmlinux 0x39453154 ata_eh_freeze_port EXPORT_SYMBOL_GPL vmlinux 0x395e556d extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x3976f0e0 br_ip6_fragment EXPORT_SYMBOL_GPL vmlinux 0x397b8267 extcon_set_property -EXPORT_SYMBOL_GPL vmlinux 0x3993980f tcp_done EXPORT_SYMBOL_GPL vmlinux 0x399551b1 __tracepoint_rpm_resume EXPORT_SYMBOL_GPL vmlinux 0x399da8cc irq_gc_mask_clr_bit EXPORT_SYMBOL_GPL vmlinux 0x399eda0f sbitmap_add_wait_queue EXPORT_SYMBOL_GPL vmlinux 0x39a2d8f7 dev_pm_opp_get_voltage EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39b51dd7 rtnl_get_net_ns_capable EXPORT_SYMBOL_GPL vmlinux 0x39ce6955 ohci_resume EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key EXPORT_SYMBOL_GPL vmlinux 0x39ded14f __SCT__tp_func_unmap @@ -21204,7 +21191,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x3a256340 bpf_map_inc_with_uref EXPORT_SYMBOL_GPL vmlinux 0x3a262691 led_trigger_unregister_simple EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock -EXPORT_SYMBOL_GPL vmlinux 0x3a37eabf xfrm_audit_state_replay EXPORT_SYMBOL_GPL vmlinux 0x3a380cb3 __SCK__tp_func_rpm_idle EXPORT_SYMBOL_GPL vmlinux 0x3a4200a0 acpi_dma_simple_xlate EXPORT_SYMBOL_GPL vmlinux 0x3a451c09 handle_fasteoi_nmi @@ -21220,24 +21206,26 @@ EXPORT_SYMBOL_GPL vmlinux 0x3a8f4f89 pm_generic_thaw_early EXPORT_SYMBOL_GPL vmlinux 0x3a920556 usb_phy_roothub_suspend EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aa55b7d ip6_append_data EXPORT_SYMBOL_GPL vmlinux 0x3aaaa5c9 bpf_prog_sub EXPORT_SYMBOL_GPL vmlinux 0x3ac3feba rhltable_init EXPORT_SYMBOL_GPL vmlinux 0x3ac70d7d platform_msi_domain_alloc_irqs EXPORT_SYMBOL_GPL vmlinux 0x3accd56a relay_switch_subbuf EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource EXPORT_SYMBOL_GPL vmlinux 0x3ae9836b devm_phy_create -EXPORT_SYMBOL_GPL vmlinux 0x3aebaaf0 devlink_rate_leaf_create EXPORT_SYMBOL_GPL vmlinux 0x3af3de20 tty_ldisc_flush EXPORT_SYMBOL_GPL vmlinux 0x3af578f5 hyperv_report_panic EXPORT_SYMBOL_GPL vmlinux 0x3af61ae0 dma_can_mmap EXPORT_SYMBOL_GPL vmlinux 0x3af84590 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x3b0554bf inet6_hash EXPORT_SYMBOL_GPL vmlinux 0x3b1f3f34 pci_iov_virtfn_devfn EXPORT_SYMBOL_GPL vmlinux 0x3b3afb3f rio_release_outb_mbox -EXPORT_SYMBOL_GPL vmlinux 0x3b3e9ed6 sock_diag_unregister -EXPORT_SYMBOL_GPL vmlinux 0x3b4ac70b ip6_route_lookup EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5b564e devlink_trap_groups_register EXPORT_SYMBOL_GPL vmlinux 0x3b727534 clocksource_verify_percpu +EXPORT_SYMBOL_GPL vmlinux 0x3b75d586 tcp_twsk_unique EXPORT_SYMBOL_GPL vmlinux 0x3b7a7163 __static_call_return0 +EXPORT_SYMBOL_GPL vmlinux 0x3b7db1fc ip6_push_pending_frames EXPORT_SYMBOL_GPL vmlinux 0x3b82ca8c perf_event_release_kernel EXPORT_SYMBOL_GPL vmlinux 0x3b8979ea gnttab_grant_foreign_transfer_ref EXPORT_SYMBOL_GPL vmlinux 0x3b90b64c cpuidle_register_driver @@ -21249,14 +21237,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x3bb0ee81 efivar_entry_set_get_size EXPORT_SYMBOL_GPL vmlinux 0x3bb15401 devm_led_classdev_unregister EXPORT_SYMBOL_GPL vmlinux 0x3bb7ddd1 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x3bc897a8 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x3bd35f38 tcp_leave_memory_pressure EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test EXPORT_SYMBOL_GPL vmlinux 0x3bdf0587 regmap_check_range_table EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3c088028 nd_tbl EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg EXPORT_SYMBOL_GPL vmlinux 0x3c1aa952 xhci_add_endpoint EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check EXPORT_SYMBOL_GPL vmlinux 0x3c217c01 badblocks_clear -EXPORT_SYMBOL_GPL vmlinux 0x3c2d9d9d __SCK__tp_func_fdb_delete EXPORT_SYMBOL_GPL vmlinux 0x3c3658bc edac_mc_free EXPORT_SYMBOL_GPL vmlinux 0x3c3801c6 irq_chip_set_vcpu_affinity_parent EXPORT_SYMBOL_GPL vmlinux 0x3c542134 i2c_new_ancillary_device @@ -21267,7 +21257,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x3c69f326 usb_choose_configuration EXPORT_SYMBOL_GPL vmlinux 0x3c74b3e0 phy_restore_page EXPORT_SYMBOL_GPL vmlinux 0x3c79c4ee regmap_field_update_bits_base -EXPORT_SYMBOL_GPL vmlinux 0x3c858194 tcp_ca_get_key_by_name EXPORT_SYMBOL_GPL vmlinux 0x3ca7fa0f led_sysfs_disable EXPORT_SYMBOL_GPL vmlinux 0x3cc07be9 pv_info EXPORT_SYMBOL_GPL vmlinux 0x3cc4b494 key_type_trusted @@ -21282,15 +21271,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x3d1c61ff dev_pm_genpd_remove_notifier EXPORT_SYMBOL_GPL vmlinux 0x3d222e1d fuse_conn_destroy EXPORT_SYMBOL_GPL vmlinux 0x3d238f99 device_create_managed_software_node -EXPORT_SYMBOL_GPL vmlinux 0x3d300b1f sk_detach_filter EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end EXPORT_SYMBOL_GPL vmlinux 0x3d4501e9 gpiochip_find EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check EXPORT_SYMBOL_GPL vmlinux 0x3d5145a7 debugfs_create_file EXPORT_SYMBOL_GPL vmlinux 0x3d63756c hsu_dma_do_irq +EXPORT_SYMBOL_GPL vmlinux 0x3d6769e1 __SCK__tp_func_neigh_cleanup_and_release EXPORT_SYMBOL_GPL vmlinux 0x3d6dd3a7 crypto_stats_decompress EXPORT_SYMBOL_GPL vmlinux 0x3d77f37f rtc_read_time -EXPORT_SYMBOL_GPL vmlinux 0x3d7876ab bpf_trace_run10 EXPORT_SYMBOL_GPL vmlinux 0x3d81ecd4 __unwind_start EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size EXPORT_SYMBOL_GPL vmlinux 0x3d8c5a1f of_pwm_xlate_with_flags @@ -21300,8 +21288,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x3db48927 sbitmap_any_bit_set EXPORT_SYMBOL_GPL vmlinux 0x3dca2967 wm831x_regmap_config EXPORT_SYMBOL_GPL vmlinux 0x3dd8a157 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x3dd8b6d7 devlink_alloc_ns EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final -EXPORT_SYMBOL_GPL vmlinux 0x3dea618d dev_get_tstats64 EXPORT_SYMBOL_GPL vmlinux 0x3df3c564 dax_supported EXPORT_SYMBOL_GPL vmlinux 0x3df82d00 mce_log EXPORT_SYMBOL_GPL vmlinux 0x3dfe3e40 usb_get_hcd @@ -21309,26 +21297,26 @@ EXPORT_SYMBOL_GPL vmlinux 0x3e18a8d4 agp_add_bridge EXPORT_SYMBOL_GPL vmlinux 0x3e2f23fe devfreq_event_is_enabled EXPORT_SYMBOL_GPL vmlinux 0x3e32ef81 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x3e37b32a fib_rules_seq_read EXPORT_SYMBOL_GPL vmlinux 0x3e3b5292 crypto_skcipher_encrypt EXPORT_SYMBOL_GPL vmlinux 0x3e40ef77 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x3e41ebcb skb_complete_wifi_ack EXPORT_SYMBOL_GPL vmlinux 0x3e4c6a86 devfreq_event_get_edev_by_phandle EXPORT_SYMBOL_GPL vmlinux 0x3e4db2f6 pci_dev_unlock EXPORT_SYMBOL_GPL vmlinux 0x3e4fe175 __SCK__tp_func_pelt_cfs_tp EXPORT_SYMBOL_GPL vmlinux 0x3e5a6fd1 iommu_enable_nesting EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer -EXPORT_SYMBOL_GPL vmlinux 0x3e80084b __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x3e7fb7c9 ipv6_bpf_stub EXPORT_SYMBOL_GPL vmlinux 0x3e85ba86 pfn_to_online_page EXPORT_SYMBOL_GPL vmlinux 0x3e8f18b1 spi_res_release EXPORT_SYMBOL_GPL vmlinux 0x3ea41592 regmap_fields_read EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup EXPORT_SYMBOL_GPL vmlinux 0x3eaf8d16 devm_hwrng_unregister -EXPORT_SYMBOL_GPL vmlinux 0x3eb52d65 xdp_return_frame_bulk -EXPORT_SYMBOL_GPL vmlinux 0x3ebe2183 mptcp_token_iter_next EXPORT_SYMBOL_GPL vmlinux 0x3ec1df04 inode_dax EXPORT_SYMBOL_GPL vmlinux 0x3ec93255 hv_get_isolation_type EXPORT_SYMBOL_GPL vmlinux 0x3ecbce4e find_iova -EXPORT_SYMBOL_GPL vmlinux 0x3ed49768 nf_ipv6_ops EXPORT_SYMBOL_GPL vmlinux 0x3edb1ccb cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x3ef0294f tun_get_tx_ring EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc EXPORT_SYMBOL_GPL vmlinux 0x3ef0c17e fscrypt_get_symlink EXPORT_SYMBOL_GPL vmlinux 0x3ef39f70 devfreq_event_remove_edev @@ -21343,6 +21331,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x3f5f6a0c crypto_unregister_algs EXPORT_SYMBOL_GPL vmlinux 0x3f64e874 devm_bitmap_zalloc EXPORT_SYMBOL_GPL vmlinux 0x3f6ed019 crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x3f7d1d5a devlink_region_snapshot_id_get EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive EXPORT_SYMBOL_GPL vmlinux 0x3f8ab72e devlink_fmsg_bool_put EXPORT_SYMBOL_GPL vmlinux 0x3f953dd9 rio_local_set_device_id @@ -21355,9 +21344,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x3fdd9b09 irq_set_default_host EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fef7dce lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x3ff59429 __fl6_sock_lookup EXPORT_SYMBOL_GPL vmlinux 0x3ff82085 public_key_signature_free EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x400b1196 nf_ct_hook EXPORT_SYMBOL_GPL vmlinux 0x4022b9c3 cpufreq_policy_transition_delay_us EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one @@ -21370,6 +21362,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x406a89f2 pci_epc_unmap_addr EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x40779898 devlink_remote_reload_actions_performed EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout EXPORT_SYMBOL_GPL vmlinux 0x407d2497 usb_phy_set_charger_current EXPORT_SYMBOL_GPL vmlinux 0x407f20a8 vfio_pci_core_enable @@ -21379,14 +21372,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x40a0aafc __flush_tlb_all EXPORT_SYMBOL_GPL vmlinux 0x40a6f298 dma_buf_vmap EXPORT_SYMBOL_GPL vmlinux 0x40c2dad8 pinctrl_dev_get_devname -EXPORT_SYMBOL_GPL vmlinux 0x40c47cb7 __SCK__tp_func_neigh_update_done EXPORT_SYMBOL_GPL vmlinux 0x40cda0c1 subsys_dev_iter_init -EXPORT_SYMBOL_GPL vmlinux 0x40d1febe switchdev_port_attr_set EXPORT_SYMBOL_GPL vmlinux 0x40d349b6 sbitmap_queue_resize EXPORT_SYMBOL_GPL vmlinux 0x40deb991 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x40e8e330 inet_csk_listen_stop EXPORT_SYMBOL_GPL vmlinux 0x40ee9ee5 __tracepoint_block_rq_insert EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put -EXPORT_SYMBOL_GPL vmlinux 0x40f2e048 __traceiter_fdb_delete EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before EXPORT_SYMBOL_GPL vmlinux 0x40fdf64f devm_clk_unregister @@ -21398,7 +21389,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x412f9094 irq_domain_reset_irq_data EXPORT_SYMBOL_GPL vmlinux 0x413ba27e virtqueue_add_inbuf EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings -EXPORT_SYMBOL_GPL vmlinux 0x415601c1 skb_gso_validate_network_len EXPORT_SYMBOL_GPL vmlinux 0x415a8e67 virtqueue_get_buf_ctx EXPORT_SYMBOL_GPL vmlinux 0x417397d8 pci_rescan_bus EXPORT_SYMBOL_GPL vmlinux 0x417d20f7 platform_device_unregister @@ -21414,8 +21404,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue EXPORT_SYMBOL_GPL vmlinux 0x41bb04b7 __rio_local_read_config_16 EXPORT_SYMBOL_GPL vmlinux 0x41bce49a ghes_register_vendor_record_notifier -EXPORT_SYMBOL_GPL vmlinux 0x41c73d9b fib_alias_hw_flags_set EXPORT_SYMBOL_GPL vmlinux 0x41cb0004 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x41cdf043 ping_unhash EXPORT_SYMBOL_GPL vmlinux 0x41deceae __regmap_init EXPORT_SYMBOL_GPL vmlinux 0x41ec6903 exportfs_decode_fh EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue @@ -21423,14 +21413,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier EXPORT_SYMBOL_GPL vmlinux 0x421affc3 devm_kasprintf -EXPORT_SYMBOL_GPL vmlinux 0x42234378 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x421b9242 devlink_param_unregister EXPORT_SYMBOL_GPL vmlinux 0x422e578a __SCT__tp_func_add_device_to_group EXPORT_SYMBOL_GPL vmlinux 0x424b8021 tty_buffer_space_avail EXPORT_SYMBOL_GPL vmlinux 0x424beb74 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x42632d76 ipv6_proxy_select_ident EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags EXPORT_SYMBOL_GPL vmlinux 0x4263ca33 iommu_uapi_cache_invalidate EXPORT_SYMBOL_GPL vmlinux 0x426452a3 acpi_evaluation_failure_warn EXPORT_SYMBOL_GPL vmlinux 0x42724b74 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x427ffe66 unix_outq_len EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active EXPORT_SYMBOL_GPL vmlinux 0x429897a1 debugfs_create_x16 EXPORT_SYMBOL_GPL vmlinux 0x429f3293 device_property_read_u8_array @@ -21440,22 +21432,19 @@ EXPORT_SYMBOL_GPL vmlinux 0x42af2c0e crypto_stats_init EXPORT_SYMBOL_GPL vmlinux 0x42afc94c regmap_field_free EXPORT_SYMBOL_GPL vmlinux 0x42b799a8 vp_modern_probe -EXPORT_SYMBOL_GPL vmlinux 0x42bcc127 netdev_walk_all_lower_dev_rcu EXPORT_SYMBOL_GPL vmlinux 0x42c55ddc synth_event_trace_array EXPORT_SYMBOL_GPL vmlinux 0x42c78780 gpiod_export_link EXPORT_SYMBOL_GPL vmlinux 0x42c9ad31 smp_ops -EXPORT_SYMBOL_GPL vmlinux 0x42cbf18d sock_diag_register EXPORT_SYMBOL_GPL vmlinux 0x42d72fe7 pm_clk_add EXPORT_SYMBOL_GPL vmlinux 0x42de5b6b srcu_init_notifier_head EXPORT_SYMBOL_GPL vmlinux 0x42e445f6 clk_mux_val_to_index EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit -EXPORT_SYMBOL_GPL vmlinux 0x42eea358 dst_blackhole_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event EXPORT_SYMBOL_GPL vmlinux 0x4325134f vfio_virqfd_disable EXPORT_SYMBOL_GPL vmlinux 0x433a7de8 of_phy_get -EXPORT_SYMBOL_GPL vmlinux 0x4356477b raw_abort EXPORT_SYMBOL_GPL vmlinux 0x4357074b fpstate_clear_xstate_component +EXPORT_SYMBOL_GPL vmlinux 0x43653fa5 strp_data_ready EXPORT_SYMBOL_GPL vmlinux 0x43671c3a devm_regmap_field_bulk_alloc EXPORT_SYMBOL_GPL vmlinux 0x4369f9f1 of_pm_clk_add_clks EXPORT_SYMBOL_GPL vmlinux 0x436b2eec ata_scsi_unlock_native_capacity @@ -21470,34 +21459,30 @@ EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get EXPORT_SYMBOL_GPL vmlinux 0x438ed8ea akcipher_register_instance EXPORT_SYMBOL_GPL vmlinux 0x43a16d4d sched_trace_cfs_rq_cpu -EXPORT_SYMBOL_GPL vmlinux 0x43a1d06c devlink_traps_unregister EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier EXPORT_SYMBOL_GPL vmlinux 0x43b1cace crypto_alloc_ahash -EXPORT_SYMBOL_GPL vmlinux 0x43b6a58c skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x43b8cda1 fib_add_nexthop EXPORT_SYMBOL_GPL vmlinux 0x43c513b6 devm_gpiod_get_index -EXPORT_SYMBOL_GPL vmlinux 0x43c630e2 tcp_bpf_update_proto -EXPORT_SYMBOL_GPL vmlinux 0x43cd0959 sk_msg_is_readable EXPORT_SYMBOL_GPL vmlinux 0x43dfd11a fat_add_entries EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs EXPORT_SYMBOL_GPL vmlinux 0x43f941d5 irq_get_irq_data EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs -EXPORT_SYMBOL_GPL vmlinux 0x44050d7e tcp_unregister_congestion_control EXPORT_SYMBOL_GPL vmlinux 0x440574c1 clk_register_fixed_factor EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4434aa9b ip6_datagram_connect_v6_only EXPORT_SYMBOL_GPL vmlinux 0x4434f7ef pm_generic_runtime_resume EXPORT_SYMBOL_GPL vmlinux 0x44437843 uprobe_register_refctr EXPORT_SYMBOL_GPL vmlinux 0x44477018 fscrypt_ioctl_get_key_status EXPORT_SYMBOL_GPL vmlinux 0x4449e811 regulator_set_mode -EXPORT_SYMBOL_GPL vmlinux 0x444daa43 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x44501f26 fib_nh_common_release EXPORT_SYMBOL_GPL vmlinux 0x4452c9e3 wm831x_reg_lock EXPORT_SYMBOL_GPL vmlinux 0x445a09c0 nvmem_device_cell_write EXPORT_SYMBOL_GPL vmlinux 0x44699ecc vga_default_device EXPORT_SYMBOL_GPL vmlinux 0x447d0661 crypto_register_ahashes EXPORT_SYMBOL_GPL vmlinux 0x447ef89b dev_pm_opp_get_level EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe -EXPORT_SYMBOL_GPL vmlinux 0x4484af15 devlink_port_attrs_pci_vf_set EXPORT_SYMBOL_GPL vmlinux 0x44957e28 __traceiter_xdp_exception EXPORT_SYMBOL_GPL vmlinux 0x44a7815b dw_pcie_own_conf_map_bus EXPORT_SYMBOL_GPL vmlinux 0x44b0d0a0 __fscrypt_prepare_rename @@ -21509,7 +21494,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x44dfd842 __auxiliary_device_add EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats EXPORT_SYMBOL_GPL vmlinux 0x44eb97fd dev_coredumpv -EXPORT_SYMBOL_GPL vmlinux 0x44ec6469 devlink_port_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x44ee6b7a net_ns_get_ownership EXPORT_SYMBOL_GPL vmlinux 0x44ef0555 dm_internal_resume_fast EXPORT_SYMBOL_GPL vmlinux 0x450110e8 perf_assign_events EXPORT_SYMBOL_GPL vmlinux 0x450425a9 ata_bmdma_error_handler @@ -21517,11 +21502,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x450842e9 __devm_of_phy_provider_register EXPORT_SYMBOL_GPL vmlinux 0x450c4241 dev_pm_genpd_set_performance_state EXPORT_SYMBOL_GPL vmlinux 0x45139e90 __lock_page_killable -EXPORT_SYMBOL_GPL vmlinux 0x451deb7c sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0x451ef788 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x452b8a04 sk_msg_free EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault EXPORT_SYMBOL_GPL vmlinux 0x453270ef gpiochip_generic_request -EXPORT_SYMBOL_GPL vmlinux 0x4532a1a8 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x4539a970 mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x453e221d sk_msg_recvmsg EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state EXPORT_SYMBOL_GPL vmlinux 0x4542b67d regmap_field_read EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor @@ -21530,13 +21517,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x458f49d8 usb_deregister EXPORT_SYMBOL_GPL vmlinux 0x4591cfda virtqueue_kick EXPORT_SYMBOL_GPL vmlinux 0x459e6151 mm_unaccount_pinned_pages -EXPORT_SYMBOL_GPL vmlinux 0x459e6382 __udp4_lib_lookup EXPORT_SYMBOL_GPL vmlinux 0x45a90d02 clk_gate_restore_context EXPORT_SYMBOL_GPL vmlinux 0x45ad18ab amd_iommu_is_attach_deferred +EXPORT_SYMBOL_GPL vmlinux 0x45c836a5 xfrm_audit_policy_delete EXPORT_SYMBOL_GPL vmlinux 0x45c8c8d1 __page_file_mapping EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page -EXPORT_SYMBOL_GPL vmlinux 0x45db298a find_pid_ns EXPORT_SYMBOL_GPL vmlinux 0x45e2ab72 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x45e7e7b0 xfrm_state_mtu EXPORT_SYMBOL_GPL vmlinux 0x45eb0605 usb_add_phy EXPORT_SYMBOL_GPL vmlinux 0x45fe336e dequeue_signal EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue @@ -21549,7 +21536,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x463d8290 __irq_alloc_descs EXPORT_SYMBOL_GPL vmlinux 0x46448621 wm8350_reg_write EXPORT_SYMBOL_GPL vmlinux 0x46614b68 regulator_set_voltage_sel_pickable_regmap -EXPORT_SYMBOL_GPL vmlinux 0x4662825d raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x4664ced4 __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x4670054b __sock_recv_ts_and_drops EXPORT_SYMBOL_GPL vmlinux 0x46702574 regmap_read EXPORT_SYMBOL_GPL vmlinux 0x46738cce sdio_writew EXPORT_SYMBOL_GPL vmlinux 0x4674d60d scsi_dh_attach @@ -21570,9 +21558,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request EXPORT_SYMBOL_GPL vmlinux 0x47240f3b shmem_truncate_range EXPORT_SYMBOL_GPL vmlinux 0x4725e156 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x47269f9c tcp_rate_check_app_limited EXPORT_SYMBOL_GPL vmlinux 0x4736404a phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0x47387e30 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x47549692 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x475d42a3 tcp_set_state EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier EXPORT_SYMBOL_GPL vmlinux 0x47686d3c regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x476c0559 tcp_done EXPORT_SYMBOL_GPL vmlinux 0x476f5b81 crypto_unregister_scomps EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq EXPORT_SYMBOL_GPL vmlinux 0x478debf5 phy_10gbit_fec_features @@ -21581,6 +21574,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable EXPORT_SYMBOL_GPL vmlinux 0x47a8264c acpi_get_pci_dev EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47b57179 bpf_prog_destroy EXPORT_SYMBOL_GPL vmlinux 0x47b5dbf1 fat_dir_empty EXPORT_SYMBOL_GPL vmlinux 0x47be2786 __SCK__tp_func_block_bio_remap EXPORT_SYMBOL_GPL vmlinux 0x47c095a1 pci_enable_pasid @@ -21600,84 +21594,79 @@ EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm EXPORT_SYMBOL_GPL vmlinux 0x482875ce dev_pm_opp_get_opp_count EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire -EXPORT_SYMBOL_GPL vmlinux 0x484791b3 ip_route_output_flow EXPORT_SYMBOL_GPL vmlinux 0x485714c9 mbox_send_message EXPORT_SYMBOL_GPL vmlinux 0x486dedc3 ghes_unregister_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x486f2624 usb_check_bulk_endpoints EXPORT_SYMBOL_GPL vmlinux 0x487a6fe2 edac_pci_add_device EXPORT_SYMBOL_GPL vmlinux 0x488cda16 crypto_unregister_template -EXPORT_SYMBOL_GPL vmlinux 0x489f9e8a inet6_cleanup_sock EXPORT_SYMBOL_GPL vmlinux 0x48a3a923 pkcs7_get_content_data EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get EXPORT_SYMBOL_GPL vmlinux 0x48a41caa nvdimm_has_flush EXPORT_SYMBOL_GPL vmlinux 0x48b2f7ba pinctrl_enable EXPORT_SYMBOL_GPL vmlinux 0x48c6621a device_unregister EXPORT_SYMBOL_GPL vmlinux 0x48c91fe5 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x48d60470 devlink_resource_size_get EXPORT_SYMBOL_GPL vmlinux 0x48d693ab hwspin_lock_get_id -EXPORT_SYMBOL_GPL vmlinux 0x48e2f3cf devlink_resource_size_get EXPORT_SYMBOL_GPL vmlinux 0x48eb583c perf_pmu_migrate_context EXPORT_SYMBOL_GPL vmlinux 0x48f49400 apei_hest_parse EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key EXPORT_SYMBOL_GPL vmlinux 0x493134bf dm_path_uevent EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x4954fd5d __SCK__tp_func_neigh_update EXPORT_SYMBOL_GPL vmlinux 0x495a4221 __SCT__tp_func_rpm_return_int EXPORT_SYMBOL_GPL vmlinux 0x495dc77b auxiliary_find_device EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable -EXPORT_SYMBOL_GPL vmlinux 0x496cd3a0 devlink_alloc_ns EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue EXPORT_SYMBOL_GPL vmlinux 0x49951708 sev_enable_key EXPORT_SYMBOL_GPL vmlinux 0x499cf59a user_destroy EXPORT_SYMBOL_GPL vmlinux 0x49a15982 devm_gpiod_get -EXPORT_SYMBOL_GPL vmlinux 0x49b051f6 devlink_port_param_driverinit_value_get EXPORT_SYMBOL_GPL vmlinux 0x49b58240 is_dock_device EXPORT_SYMBOL_GPL vmlinux 0x49bab3c9 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x49bbdfd7 task_active_pid_ns EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue EXPORT_SYMBOL_GPL vmlinux 0x49d83780 ata_bmdma_port_intr EXPORT_SYMBOL_GPL vmlinux 0x49da7452 ata_std_prereset EXPORT_SYMBOL_GPL vmlinux 0x49db5233 __fsnotify_parent EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu EXPORT_SYMBOL_GPL vmlinux 0x49f10e03 pci_aer_clear_nonfatal_status -EXPORT_SYMBOL_GPL vmlinux 0x49fb2b48 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x49f9e21e xdp_rxq_info_reg_mem_model EXPORT_SYMBOL_GPL vmlinux 0x49fe2e8d ata_link_abort EXPORT_SYMBOL_GPL vmlinux 0x49ff0db4 skcipher_walk_aead_encrypt EXPORT_SYMBOL_GPL vmlinux 0x4a073cbd devm_regmap_add_irq_chip_fwnode EXPORT_SYMBOL_GPL vmlinux 0x4a12bfb6 usb_driver_set_configuration EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a35d611 sock_map_unhash EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data EXPORT_SYMBOL_GPL vmlinux 0x4a4334d6 pci_epc_get EXPORT_SYMBOL_GPL vmlinux 0x4a4d3e35 __traceiter_block_rq_remap EXPORT_SYMBOL_GPL vmlinux 0x4a7b63fc dax_attribute_group +EXPORT_SYMBOL_GPL vmlinux 0x4a817d69 udp_tunnel_nic_ops EXPORT_SYMBOL_GPL vmlinux 0x4a833c2b acpi_gpiochip_free_interrupts -EXPORT_SYMBOL_GPL vmlinux 0x4a8870ad fib_info_nh_uses_dev EXPORT_SYMBOL_GPL vmlinux 0x4a9cefd9 mddev_init EXPORT_SYMBOL_GPL vmlinux 0x4ab1e870 fuse_dev_alloc EXPORT_SYMBOL_GPL vmlinux 0x4ab7e29a genphy_c45_pma_suspend EXPORT_SYMBOL_GPL vmlinux 0x4ac32e7d mnt_drop_write EXPORT_SYMBOL_GPL vmlinux 0x4ac81e9e fwnode_device_is_available -EXPORT_SYMBOL_GPL vmlinux 0x4ace3085 sock_diag_register_inet_compat EXPORT_SYMBOL_GPL vmlinux 0x4aea5c2c wakeup_source_remove -EXPORT_SYMBOL_GPL vmlinux 0x4aee9edd ping_recvmsg EXPORT_SYMBOL_GPL vmlinux 0x4af6a15e devm_get_free_pages EXPORT_SYMBOL_GPL vmlinux 0x4aff6b27 virtqueue_enable_cb EXPORT_SYMBOL_GPL vmlinux 0x4b023077 fsnotify_find_mark -EXPORT_SYMBOL_GPL vmlinux 0x4b0d4608 devlink_dpipe_table_counter_enabled EXPORT_SYMBOL_GPL vmlinux 0x4b120445 cpufreq_freq_attr_scaling_available_freqs EXPORT_SYMBOL_GPL vmlinux 0x4b1ac628 gpiod_get_value_cansleep EXPORT_SYMBOL_GPL vmlinux 0x4b1b1eb4 xenbus_map_ring_valloc EXPORT_SYMBOL_GPL vmlinux 0x4b1e31bc __tracepoint_pelt_rt_tp -EXPORT_SYMBOL_GPL vmlinux 0x4b2103b4 skb_mpls_push EXPORT_SYMBOL_GPL vmlinux 0x4b3961c6 virtqueue_kick_prepare -EXPORT_SYMBOL_GPL vmlinux 0x4b3c6de5 ip6_route_output_flags EXPORT_SYMBOL_GPL vmlinux 0x4b41839e pm_generic_restore EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask EXPORT_SYMBOL_GPL vmlinux 0x4b56ce05 xenmem_reservation_increase EXPORT_SYMBOL_GPL vmlinux 0x4b579e53 pci_epc_get_msix EXPORT_SYMBOL_GPL vmlinux 0x4b5acf74 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x4b5ada2f fib6_check_nexthop EXPORT_SYMBOL_GPL vmlinux 0x4b61fcee bdev_disk_changed EXPORT_SYMBOL_GPL vmlinux 0x4b6f828c percpu_free_rwsem EXPORT_SYMBOL_GPL vmlinux 0x4b757ee8 power_supply_changed EXPORT_SYMBOL_GPL vmlinux 0x4b75f456 regulator_set_ramp_delay_regmap -EXPORT_SYMBOL_GPL vmlinux 0x4b760871 __traceiter_br_fdb_external_learn_add EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread EXPORT_SYMBOL_GPL vmlinux 0x4b843181 acpiphp_register_attention EXPORT_SYMBOL_GPL vmlinux 0x4b88fc02 apply_to_existing_page_range @@ -21688,10 +21677,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init EXPORT_SYMBOL_GPL vmlinux 0x4bd0a214 subsys_find_device_by_id EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key -EXPORT_SYMBOL_GPL vmlinux 0x4be326d5 fib_rule_matchall EXPORT_SYMBOL_GPL vmlinux 0x4be912dc pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x4bf4fc9c ping_getfrag EXPORT_SYMBOL_GPL vmlinux 0x4bfdb913 vfio_group_iommu_domain -EXPORT_SYMBOL_GPL vmlinux 0x4c031aec devlink_dpipe_entry_ctx_append EXPORT_SYMBOL_GPL vmlinux 0x4c0febd8 sync_page_io EXPORT_SYMBOL_GPL vmlinux 0x4c2a4fd2 fs_kobj EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted @@ -21706,12 +21694,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x4c7c3d0f power_supply_get_battery_info EXPORT_SYMBOL_GPL vmlinux 0x4c82f745 serial8250_do_startup EXPORT_SYMBOL_GPL vmlinux 0x4c8adfe1 hv_root_partition -EXPORT_SYMBOL_GPL vmlinux 0x4c914b45 netlink_remove_tap EXPORT_SYMBOL_GPL vmlinux 0x4c9e6e73 fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x4ca0ad11 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x4ca35272 __netif_set_xps_queue EXPORT_SYMBOL_GPL vmlinux 0x4ca38862 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x4cb123b0 validate_xmit_xfrm EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot -EXPORT_SYMBOL_GPL vmlinux 0x4cbc515a nf_queue_entry_get_refs EXPORT_SYMBOL_GPL vmlinux 0x4cda5b1e aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4cdd5f26 udp_bpf_update_proto EXPORT_SYMBOL_GPL vmlinux 0x4cf699b8 vfio_pci_core_set_params EXPORT_SYMBOL_GPL vmlinux 0x4cff818f irq_domain_associate EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable @@ -21721,10 +21711,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x4d313f1e i2c_acpi_new_device EXPORT_SYMBOL_GPL vmlinux 0x4d3547c6 devm_extcon_dev_unregister EXPORT_SYMBOL_GPL vmlinux 0x4d3d5766 i2c_generic_scl_recovery -EXPORT_SYMBOL_GPL vmlinux 0x4d42e524 skb_segment EXPORT_SYMBOL_GPL vmlinux 0x4d468f2b devm_pm_opp_attach_genpd EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues -EXPORT_SYMBOL_GPL vmlinux 0x4d5d680d xfrm_audit_state_replay_overflow EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get EXPORT_SYMBOL_GPL vmlinux 0x4d6f00eb kgdb_register_io_module EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable @@ -21735,15 +21723,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x4d941244 fwnode_count_parents EXPORT_SYMBOL_GPL vmlinux 0x4d9fa47c trace_define_field EXPORT_SYMBOL_GPL vmlinux 0x4da1f4a7 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x4da8413d phy_start_machine EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult EXPORT_SYMBOL_GPL vmlinux 0x4ddb3d30 spi_busnum_to_master EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string EXPORT_SYMBOL_GPL vmlinux 0x4de1a401 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x4dfbee11 xfrm_output_resume EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff EXPORT_SYMBOL_GPL vmlinux 0x4e10a881 mbox_controller_unregister EXPORT_SYMBOL_GPL vmlinux 0x4e113edd i2c_dw_configure_master -EXPORT_SYMBOL_GPL vmlinux 0x4e1148b9 bpf_trace_run11 EXPORT_SYMBOL_GPL vmlinux 0x4e144a54 __SCT__tp_func_block_bio_complete EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work EXPORT_SYMBOL_GPL vmlinux 0x4e1b831b blk_mq_complete_request_remote @@ -21755,36 +21744,40 @@ EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier EXPORT_SYMBOL_GPL vmlinux 0x4e590a5c __traceiter_sched_util_est_se_tp EXPORT_SYMBOL_GPL vmlinux 0x4e61c874 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x4e6f3807 tcp_sendmsg_locked EXPORT_SYMBOL_GPL vmlinux 0x4e70a5e5 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x4e8063c8 xfrm_get_translator EXPORT_SYMBOL_GPL vmlinux 0x4e8fbc9d do_unregister_con_driver EXPORT_SYMBOL_GPL vmlinux 0x4ea30931 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x4ea7133f __traceiter_neigh_event_send_dead EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt EXPORT_SYMBOL_GPL vmlinux 0x4ec21ab6 iommu_device_register -EXPORT_SYMBOL_GPL vmlinux 0x4ec278d1 devlink_params_publish EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister EXPORT_SYMBOL_GPL vmlinux 0x4ed07420 vfio_pci_core_close_device +EXPORT_SYMBOL_GPL vmlinux 0x4eede5db __traceiter_neigh_update EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize EXPORT_SYMBOL_GPL vmlinux 0x4efdfa7a pci_disable_pasid EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update EXPORT_SYMBOL_GPL vmlinux 0x4f2c996d kmsg_dump_get_line -EXPORT_SYMBOL_GPL vmlinux 0x4f371a36 security_kernel_read_file EXPORT_SYMBOL_GPL vmlinux 0x4f4b4e8a gpiochip_irq_domain_activate EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads EXPORT_SYMBOL_GPL vmlinux 0x4f722eb0 acpi_ec_remove_query_handler EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options EXPORT_SYMBOL_GPL vmlinux 0x4f7562d6 dev_pm_opp_register_set_opp_helper EXPORT_SYMBOL_GPL vmlinux 0x4f76bbe5 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x4f8125f9 devlink_dpipe_table_register EXPORT_SYMBOL_GPL vmlinux 0x4f8546af cpuidle_poll_state_init EXPORT_SYMBOL_GPL vmlinux 0x4f877654 irq_chip_enable_parent EXPORT_SYMBOL_GPL vmlinux 0x4f8cc92b isa_unregister_driver EXPORT_SYMBOL_GPL vmlinux 0x4f9e08b8 crypto_comp_decompress EXPORT_SYMBOL_GPL vmlinux 0x4fa20865 filemap_read EXPORT_SYMBOL_GPL vmlinux 0x4fa93f12 unregister_virtio_device -EXPORT_SYMBOL_GPL vmlinux 0x4fadf225 sock_diag_save_cookie EXPORT_SYMBOL_GPL vmlinux 0x4faed1fa devm_pm_opp_register_set_opp_helper EXPORT_SYMBOL_GPL vmlinux 0x4fb47580 devm_extcon_dev_allocate EXPORT_SYMBOL_GPL vmlinux 0x4fb987bf acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x4fbbcba7 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x4fc1b683 tcp_set_keepalive EXPORT_SYMBOL_GPL vmlinux 0x4fc3bcce attribute_container_register EXPORT_SYMBOL_GPL vmlinux 0x4fcb39d8 synth_event_trace EXPORT_SYMBOL_GPL vmlinux 0x4fcd0c77 dev_attr_em_message @@ -21798,18 +21791,17 @@ EXPORT_SYMBOL_GPL vmlinux 0x5011c185 crypto_alloc_acomp_node EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi EXPORT_SYMBOL_GPL vmlinux 0x50299b2e wb_writeout_inc -EXPORT_SYMBOL_GPL vmlinux 0x50347dd0 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x502b56f0 bpf_trace_run10 EXPORT_SYMBOL_GPL vmlinux 0x5038ee05 ata_sff_lost_interrupt EXPORT_SYMBOL_GPL vmlinux 0x503bc627 __vfs_removexattr_locked EXPORT_SYMBOL_GPL vmlinux 0x50411929 badblocks_init EXPORT_SYMBOL_GPL vmlinux 0x50491f82 blk_ksm_destroy EXPORT_SYMBOL_GPL vmlinux 0x504a7f08 efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x50596ed6 nfs_ssc_unregister EXPORT_SYMBOL_GPL vmlinux 0x505eb119 pci_find_host_bridge EXPORT_SYMBOL_GPL vmlinux 0x5061df41 thermal_zone_device_update EXPORT_SYMBOL_GPL vmlinux 0x506482ed devfreq_cooling_register EXPORT_SYMBOL_GPL vmlinux 0x50655294 fsnotify_alloc_user_group -EXPORT_SYMBOL_GPL vmlinux 0x5072e6d1 devlink_traps_register -EXPORT_SYMBOL_GPL vmlinux 0x5075319b xfrm_dev_state_add EXPORT_SYMBOL_GPL vmlinux 0x50759163 kobject_init_and_add EXPORT_SYMBOL_GPL vmlinux 0x5084bbf4 fat_build_inode EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start @@ -21823,34 +21815,31 @@ EXPORT_SYMBOL_GPL vmlinux 0x50df94f5 btree_insert EXPORT_SYMBOL_GPL vmlinux 0x50e3d2d8 gnttab_pages_clear_private EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num -EXPORT_SYMBOL_GPL vmlinux 0x50e7f1eb fib_new_table EXPORT_SYMBOL_GPL vmlinux 0x50f84f79 crypto_alloc_aead EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up EXPORT_SYMBOL_GPL vmlinux 0x51032308 crypto_alloc_shash -EXPORT_SYMBOL_GPL vmlinux 0x5119fb20 phy_start_machine -EXPORT_SYMBOL_GPL vmlinux 0x511ffeee kobject_uevent_env EXPORT_SYMBOL_GPL vmlinux 0x51274b0d nvdimm_bus_unregister EXPORT_SYMBOL_GPL vmlinux 0x51290d2b acpi_kobj EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude EXPORT_SYMBOL_GPL vmlinux 0x513db16e to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x5146a941 dev_nit_active EXPORT_SYMBOL_GPL vmlinux 0x514747ee acpi_spi_count_resources EXPORT_SYMBOL_GPL vmlinux 0x514f5b02 software_node_fwnode -EXPORT_SYMBOL_GPL vmlinux 0x515e13ab skb_complete_wifi_ack EXPORT_SYMBOL_GPL vmlinux 0x51675e30 rio_free_net EXPORT_SYMBOL_GPL vmlinux 0x51853196 __devm_regmap_init_spi EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq EXPORT_SYMBOL_GPL vmlinux 0x518c51da usb_phy_roothub_resume EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata -EXPORT_SYMBOL_GPL vmlinux 0x51b92d7a devlink_register EXPORT_SYMBOL_GPL vmlinux 0x51c06ac6 fwnode_gpiod_get_index -EXPORT_SYMBOL_GPL vmlinux 0x51c2aeca ipv4_sk_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x51c7111d blk_execute_rq_nowait EXPORT_SYMBOL_GPL vmlinux 0x51c9b230 gpiod_get_raw_value EXPORT_SYMBOL_GPL vmlinux 0x51d05c47 vfio_unregister_iommu_driver EXPORT_SYMBOL_GPL vmlinux 0x51d0a3c5 __SCK__tp_func_map EXPORT_SYMBOL_GPL vmlinux 0x51d13875 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x51d81150 ip6_sk_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x51e4b432 __intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0x5202e5ca __SCK__tp_func_tcp_send_reset EXPORT_SYMBOL_GPL vmlinux 0x5205f5bb debugfs_create_bool EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate EXPORT_SYMBOL_GPL vmlinux 0x522af5ba crypto_ahash_finup @@ -21860,24 +21849,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x523d7827 device_create_with_groups EXPORT_SYMBOL_GPL vmlinux 0x523dc755 fwnode_property_read_u32_array EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start -EXPORT_SYMBOL_GPL vmlinux 0x5249ba13 peernet2id_alloc EXPORT_SYMBOL_GPL vmlinux 0x52568e5d clk_hw_register_fixed_factor EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata EXPORT_SYMBOL_GPL vmlinux 0x526caab7 rio_local_get_device_id -EXPORT_SYMBOL_GPL vmlinux 0x5271642a inet_hash_connect -EXPORT_SYMBOL_GPL vmlinux 0x5291cb2b devlink_params_unregister -EXPORT_SYMBOL_GPL vmlinux 0x5296cb36 __rtnl_link_register EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags -EXPORT_SYMBOL_GPL vmlinux 0x52b2ef75 inet_send_prepare -EXPORT_SYMBOL_GPL vmlinux 0x52c23ed7 ipv6_find_tlv EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52d826d4 lwtunnel_fill_encap EXPORT_SYMBOL_GPL vmlinux 0x52e15313 __irq_alloc_domain_generic_chips EXPORT_SYMBOL_GPL vmlinux 0x52e578ad usb_for_each_dev EXPORT_SYMBOL_GPL vmlinux 0x52ea150d __class_create +EXPORT_SYMBOL_GPL vmlinux 0x52fe2827 metadata_dst_alloc EXPORT_SYMBOL_GPL vmlinux 0x530493e1 pcie_flr EXPORT_SYMBOL_GPL vmlinux 0x530f39ae devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x531c3fbc __traceiter_neigh_cleanup_and_release EXPORT_SYMBOL_GPL vmlinux 0x5321d3d6 sbitmap_get EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end @@ -21892,6 +21878,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x5395d83c __pm_runtime_suspend EXPORT_SYMBOL_GPL vmlinux 0x53986ebf ethtool_set_ethtool_phy_ops EXPORT_SYMBOL_GPL vmlinux 0x539a8be0 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x539e6ddf xfrm_audit_state_notfound_simple EXPORT_SYMBOL_GPL vmlinux 0x539f157b pci_xen_swiotlb_init_late EXPORT_SYMBOL_GPL vmlinux 0x53a2193a hwmon_device_unregister EXPORT_SYMBOL_GPL vmlinux 0x53bff47c transport_configure_device @@ -21904,17 +21891,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x53f1ecff gpiochip_generic_config EXPORT_SYMBOL_GPL vmlinux 0x53f27909 usb_create_hcd EXPORT_SYMBOL_GPL vmlinux 0x53fc2027 efivar_entry_get -EXPORT_SYMBOL_GPL vmlinux 0x5419db2e tcp_enter_memory_pressure EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent EXPORT_SYMBOL_GPL vmlinux 0x54389679 mbox_controller_register EXPORT_SYMBOL_GPL vmlinux 0x5449a303 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x544bf8c2 skb_zerocopy_iter_dgram EXPORT_SYMBOL_GPL vmlinux 0x545025e5 nvmem_add_cell_table -EXPORT_SYMBOL_GPL vmlinux 0x5458a6c1 dst_cache_set_ip6 EXPORT_SYMBOL_GPL vmlinux 0x545a0aaa tty_standard_install EXPORT_SYMBOL_GPL vmlinux 0x54651f9b rhashtable_walk_next -EXPORT_SYMBOL_GPL vmlinux 0x546c2e80 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x546eda0f __SCK__tp_func_br_fdb_add EXPORT_SYMBOL_GPL vmlinux 0x5472cce8 device_get_dma_attr EXPORT_SYMBOL_GPL vmlinux 0x5483aca3 devm_clk_get_optional_enabled EXPORT_SYMBOL_GPL vmlinux 0x548d72a0 power_supply_register @@ -21928,9 +21914,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string EXPORT_SYMBOL_GPL vmlinux 0x550f5c4f __kthread_should_park EXPORT_SYMBOL_GPL vmlinux 0x55175fa3 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x552942b8 lwtunnel_state_alloc EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput EXPORT_SYMBOL_GPL vmlinux 0x5535001a dev_pm_opp_get_sharing_cpus EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55409a63 devlink_unregister EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier EXPORT_SYMBOL_GPL vmlinux 0x5548fe04 mmc_sanitize EXPORT_SYMBOL_GPL vmlinux 0x55551bc6 gpiod_is_active_low @@ -21941,11 +21929,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x55bbc71f watchdog_set_restart_priority EXPORT_SYMBOL_GPL vmlinux 0x55c18419 pm_runtime_enable EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55cec174 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x55d2bc22 devlink_resource_occ_get_register EXPORT_SYMBOL_GPL vmlinux 0x55d74c7e crypto_shash_setkey EXPORT_SYMBOL_GPL vmlinux 0x55dd829d add_disk_randomness EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout EXPORT_SYMBOL_GPL vmlinux 0x55f58c76 scsi_autopm_get_device -EXPORT_SYMBOL_GPL vmlinux 0x55f7a9e7 __traceiter_neigh_event_send_dead EXPORT_SYMBOL_GPL vmlinux 0x55fc238f sdio_readb EXPORT_SYMBOL_GPL vmlinux 0x55ff1038 fscrypt_symlink_getattr EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab @@ -21953,17 +21942,17 @@ EXPORT_SYMBOL_GPL vmlinux 0x561ef3df __traceiter_rpm_idle EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff EXPORT_SYMBOL_GPL vmlinux 0x5628bdd6 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x562c1c26 __inet_inherit_port EXPORT_SYMBOL_GPL vmlinux 0x5630ba7f vfio_pci_core_unregister_device EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status -EXPORT_SYMBOL_GPL vmlinux 0x5631651f tcp_sendpage_locked EXPORT_SYMBOL_GPL vmlinux 0x563941e7 usb_hcd_unmap_urb_setup_for_dma EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable EXPORT_SYMBOL_GPL vmlinux 0x563fd4ca devm_clk_hw_get_clk EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate EXPORT_SYMBOL_GPL vmlinux 0x5644fea6 devm_regulator_register_supply_alias EXPORT_SYMBOL_GPL vmlinux 0x56504bc7 vfio_init_group_dev -EXPORT_SYMBOL_GPL vmlinux 0x5658d90c ping_seq_next EXPORT_SYMBOL_GPL vmlinux 0x56618a3c usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5664fe81 devlink_port_unregister EXPORT_SYMBOL_GPL vmlinux 0x566a252c get_user_pages_fast_only EXPORT_SYMBOL_GPL vmlinux 0x56948896 spec_ctrl_current EXPORT_SYMBOL_GPL vmlinux 0x56961877 dev_pm_qos_update_request @@ -21974,21 +21963,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x5727117b is_swiotlb_active EXPORT_SYMBOL_GPL vmlinux 0x57368559 invalidate_inode_pages2 EXPORT_SYMBOL_GPL vmlinux 0x573b5453 ipv6_fixup_options -EXPORT_SYMBOL_GPL vmlinux 0x573bb37e switchdev_handle_port_obj_add EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value EXPORT_SYMBOL_GPL vmlinux 0x576817ce dm_get_queue_limits EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access EXPORT_SYMBOL_GPL vmlinux 0x57732438 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x5775770f sk_msg_alloc EXPORT_SYMBOL_GPL vmlinux 0x57844b89 virtqueue_enable_cb_delayed EXPORT_SYMBOL_GPL vmlinux 0x57861a5c gds_ucode_mitigated EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove EXPORT_SYMBOL_GPL vmlinux 0x579191dc rio_mport_get_feature EXPORT_SYMBOL_GPL vmlinux 0x5793aa27 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x579574ba ip4_datagram_release_cb EXPORT_SYMBOL_GPL vmlinux 0x5796f3f5 ata_wait_after_reset EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all EXPORT_SYMBOL_GPL vmlinux 0x57a10d29 tps65912_device_exit -EXPORT_SYMBOL_GPL vmlinux 0x57a26abe skb_tstamp_tx EXPORT_SYMBOL_GPL vmlinux 0x57b0e419 ehci_reset EXPORT_SYMBOL_GPL vmlinux 0x57baf26f dm_start_time_ns_from_clone EXPORT_SYMBOL_GPL vmlinux 0x57cbecc5 usb_debug_root @@ -21999,30 +21988,32 @@ EXPORT_SYMBOL_GPL vmlinux 0x580feb84 request_firmware_direct EXPORT_SYMBOL_GPL vmlinux 0x581042a1 exportfs_encode_fh EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x582a9717 ndo_dflt_bridge_getlink EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock EXPORT_SYMBOL_GPL vmlinux 0x583d61f9 usb_disable_autosuspend EXPORT_SYMBOL_GPL vmlinux 0x58424445 acpi_dma_controller_free EXPORT_SYMBOL_GPL vmlinux 0x584275eb tty_buffer_request_room EXPORT_SYMBOL_GPL vmlinux 0x586169c6 iopf_queue_flush_dev EXPORT_SYMBOL_GPL vmlinux 0x586bfc8a alarm_restart -EXPORT_SYMBOL_GPL vmlinux 0x5873c900 __tracepoint_fib6_table_lookup EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info EXPORT_SYMBOL_GPL vmlinux 0x58857161 __platform_register_drivers EXPORT_SYMBOL_GPL vmlinux 0x58950fe6 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x58a09bf1 xdp_attachment_setup EXPORT_SYMBOL_GPL vmlinux 0x58bd08f6 of_hwspin_lock_get_id EXPORT_SYMBOL_GPL vmlinux 0x58d2804c __traceiter_xdp_bulk_tx EXPORT_SYMBOL_GPL vmlinux 0x58d38a03 cpufreq_cpu_get_raw EXPORT_SYMBOL_GPL vmlinux 0x58d6311d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x58da30b0 devlink_port_type_eth_set EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove -EXPORT_SYMBOL_GPL vmlinux 0x58e43e7a ping_getfrag EXPORT_SYMBOL_GPL vmlinux 0x58f49406 crypto_grab_akcipher EXPORT_SYMBOL_GPL vmlinux 0x58f81933 __clocksource_update_freq_scale EXPORT_SYMBOL_GPL vmlinux 0x593c4b72 of_phy_provider_unregister -EXPORT_SYMBOL_GPL vmlinux 0x595ad213 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x5948ba69 tcp_bpf_update_proto EXPORT_SYMBOL_GPL vmlinux 0x595c9691 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x59839080 cgroup_path_ns EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf -EXPORT_SYMBOL_GPL vmlinux 0x59a4fa60 dst_cache_set_ip4 EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59c1142b ip6_dst_lookup_flow EXPORT_SYMBOL_GPL vmlinux 0x59c36f60 rio_bus_type EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event EXPORT_SYMBOL_GPL vmlinux 0x59c6aff4 irq_set_affinity_hint @@ -22031,15 +22022,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x59e0f053 fpu_free_guest_fpstate EXPORT_SYMBOL_GPL vmlinux 0x59ed3e55 usb_acpi_set_power_state EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x5a069ed2 metadata_dst_free EXPORT_SYMBOL_GPL vmlinux 0x5a1a7299 usb_phy_set_charger_state -EXPORT_SYMBOL_GPL vmlinux 0x5a1abbce devlink_port_register EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle EXPORT_SYMBOL_GPL vmlinux 0x5a27f387 extcon_get_property_capability EXPORT_SYMBOL_GPL vmlinux 0x5a283230 devm_krealloc EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del EXPORT_SYMBOL_GPL vmlinux 0x5a5114ca dm_device_name EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt -EXPORT_SYMBOL_GPL vmlinux 0x5a6fb33a dst_blackhole_mtu EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify EXPORT_SYMBOL_GPL vmlinux 0x5a8199b5 alloc_dax EXPORT_SYMBOL_GPL vmlinux 0x5a9bfdad irq_domain_create_hierarchy @@ -22051,6 +22041,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x5abeb764 dev_pm_put_subsys_data EXPORT_SYMBOL_GPL vmlinux 0x5ac2ad7d usb_put_phy EXPORT_SYMBOL_GPL vmlinux 0x5acb0dae spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5ae72477 udp_destruct_common +EXPORT_SYMBOL_GPL vmlinux 0x5ae7889e __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x5aec58ee ping_seq_next EXPORT_SYMBOL_GPL vmlinux 0x5aef11a4 genphy_c45_check_and_restart_aneg EXPORT_SYMBOL_GPL vmlinux 0x5b0ea691 __fsnotify_inode_delete EXPORT_SYMBOL_GPL vmlinux 0x5b1c9e3f driver_for_each_device @@ -22059,7 +22052,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x5b39e46c register_wide_hw_breakpoint EXPORT_SYMBOL_GPL vmlinux 0x5b3c0fce scsi_host_busy_iter EXPORT_SYMBOL_GPL vmlinux 0x5b3e243b driver_unregister -EXPORT_SYMBOL_GPL vmlinux 0x5b412026 ethnl_cable_test_pulse EXPORT_SYMBOL_GPL vmlinux 0x5b49fa6d pci_sriov_set_totalvfs EXPORT_SYMBOL_GPL vmlinux 0x5b5d41f3 xenbus_grant_ring EXPORT_SYMBOL_GPL vmlinux 0x5b6245a0 regmap_noinc_write @@ -22074,7 +22066,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng -EXPORT_SYMBOL_GPL vmlinux 0x5bd174ab ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x5bd97f16 nexthop_select_path EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp EXPORT_SYMBOL_GPL vmlinux 0x5bf1da43 nvdimm_kobj @@ -22086,33 +22078,32 @@ EXPORT_SYMBOL_GPL vmlinux 0x5c309e65 hibernate_quiet_exec EXPORT_SYMBOL_GPL vmlinux 0x5c3b6f04 dma_async_device_channel_unregister EXPORT_SYMBOL_GPL vmlinux 0x5c3bd31f __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5c55a623 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x5c56f84d lwtunnel_get_encap_size EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control EXPORT_SYMBOL_GPL vmlinux 0x5c5c6826 phy_10gbit_full_features EXPORT_SYMBOL_GPL vmlinux 0x5c888142 __devres_alloc_node EXPORT_SYMBOL_GPL vmlinux 0x5c8e24eb vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x5c93f9e1 dst_blackhole_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x5c941858 usb_hcd_end_port_resume EXPORT_SYMBOL_GPL vmlinux 0x5c94ce48 tpm_chip_stop EXPORT_SYMBOL_GPL vmlinux 0x5ca922bb bus_find_device EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple -EXPORT_SYMBOL_GPL vmlinux 0x5cafd854 devlink_dpipe_table_register EXPORT_SYMBOL_GPL vmlinux 0x5cbb5e09 vp_modern_get_num_queues EXPORT_SYMBOL_GPL vmlinux 0x5ce211cf i2c_bus_type EXPORT_SYMBOL_GPL vmlinux 0x5cebd369 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x5cec6a59 __cpuhp_state_remove_instance EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk EXPORT_SYMBOL_GPL vmlinux 0x5cef2d5b pci_destroy_slot EXPORT_SYMBOL_GPL vmlinux 0x5cf8178b ptp_classify_raw EXPORT_SYMBOL_GPL vmlinux 0x5cfdfa13 blkcg_policy_unregister EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write -EXPORT_SYMBOL_GPL vmlinux 0x5d226e45 sk_psock_msg_verdict EXPORT_SYMBOL_GPL vmlinux 0x5d2aa5fb rhashtable_walk_peek EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm -EXPORT_SYMBOL_GPL vmlinux 0x5d33d350 seg6_do_srh_encap EXPORT_SYMBOL_GPL vmlinux 0x5d3d3726 vfio_register_group_dev -EXPORT_SYMBOL_GPL vmlinux 0x5d4a7653 bpf_trace_run12 EXPORT_SYMBOL_GPL vmlinux 0x5d5b0303 crypto_stats_rng_seed EXPORT_SYMBOL_GPL vmlinux 0x5d6de845 bd_unlink_disk_holder -EXPORT_SYMBOL_GPL vmlinux 0x5d736239 xfrm_audit_state_notfound EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc EXPORT_SYMBOL_GPL vmlinux 0x5d8c3016 regulator_enable EXPORT_SYMBOL_GPL vmlinux 0x5d9317d7 uv_teardown_irq @@ -22125,7 +22116,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x5dd019c5 acpi_gpiochip_request_interrupts EXPORT_SYMBOL_GPL vmlinux 0x5de1b643 gnttab_page_cache_shrink EXPORT_SYMBOL_GPL vmlinux 0x5deae351 regulator_get_voltage -EXPORT_SYMBOL_GPL vmlinux 0x5defb757 nf_ip_route EXPORT_SYMBOL_GPL vmlinux 0x5e09488e pinctrl_add_gpio_range EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key EXPORT_SYMBOL_GPL vmlinux 0x5e1917ea devm_clk_get_optional_prepared @@ -22133,20 +22123,25 @@ EXPORT_SYMBOL_GPL vmlinux 0x5e249c0c page_cache_async_ra EXPORT_SYMBOL_GPL vmlinux 0x5e298a24 __inode_attach_wb EXPORT_SYMBOL_GPL vmlinux 0x5e35bcde __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x5e36314f strp_check_rcv EXPORT_SYMBOL_GPL vmlinux 0x5e3f95ea rio_del_device EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 EXPORT_SYMBOL_GPL vmlinux 0x5e52fc9a ethtool_frag_size_to_mult +EXPORT_SYMBOL_GPL vmlinux 0x5e53b022 nfs42_ssc_unregister EXPORT_SYMBOL_GPL vmlinux 0x5e53e1df splice_to_pipe -EXPORT_SYMBOL_GPL vmlinux 0x5e598d83 phy_speed_up EXPORT_SYMBOL_GPL vmlinux 0x5e700973 power_supply_set_property EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e8f8f77 tcp_bpf_sendmsg_redir EXPORT_SYMBOL_GPL vmlinux 0x5e91301d icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x5e947e39 dev_xdp_prog_count EXPORT_SYMBOL_GPL vmlinux 0x5e9532da vfio_iommu_group_put EXPORT_SYMBOL_GPL vmlinux 0x5e97ee82 usb_alloc_dev EXPORT_SYMBOL_GPL vmlinux 0x5e9bc256 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x5e9ce47a xfrm_audit_state_add EXPORT_SYMBOL_GPL vmlinux 0x5ea04ad5 cpufreq_dbs_governor_stop EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eafaf10 switchdev_handle_port_attr_set EXPORT_SYMBOL_GPL vmlinux 0x5eb6f079 blk_mq_update_nr_hw_queues EXPORT_SYMBOL_GPL vmlinux 0x5ebfa676 dev_pm_opp_detach_genpd EXPORT_SYMBOL_GPL vmlinux 0x5ec68d9a regulator_unregister @@ -22154,11 +22149,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x5ed5e348 blkdev_nr_zones EXPORT_SYMBOL_GPL vmlinux 0x5ed6ba68 sysfs_merge_group EXPORT_SYMBOL_GPL vmlinux 0x5eda53eb fat_detach -EXPORT_SYMBOL_GPL vmlinux 0x5efe45fd inet6_lookup -EXPORT_SYMBOL_GPL vmlinux 0x5f0eb8af inet_twsk_put EXPORT_SYMBOL_GPL vmlinux 0x5f17465c ata_host_init EXPORT_SYMBOL_GPL vmlinux 0x5f2384e0 sata_scr_valid EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f271140 switchdev_port_obj_del EXPORT_SYMBOL_GPL vmlinux 0x5f287835 iommu_sva_free_pasid EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable EXPORT_SYMBOL_GPL vmlinux 0x5f2fcc83 ioremap_uc @@ -22185,16 +22179,15 @@ EXPORT_SYMBOL_GPL vmlinux 0x60069ee1 inet_ehash_locks_alloc EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register EXPORT_SYMBOL_GPL vmlinux 0x6014d9fc bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x602b8f94 sk_free_unlock_clone EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key -EXPORT_SYMBOL_GPL vmlinux 0x604e374c skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x60536a13 xfrm_audit_state_icvfail EXPORT_SYMBOL_GPL vmlinux 0x6056e652 wbc_attach_and_unlock_inode EXPORT_SYMBOL_GPL vmlinux 0x6079a567 __fat_fs_error EXPORT_SYMBOL_GPL vmlinux 0x607bc18b l3mdev_master_ifindex_rcu EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put EXPORT_SYMBOL_GPL vmlinux 0x608075b1 sysfs_break_active_protection -EXPORT_SYMBOL_GPL vmlinux 0x6082c297 ip6_input -EXPORT_SYMBOL_GPL vmlinux 0x6084fb8c __inet_lookup_established EXPORT_SYMBOL_GPL vmlinux 0x608fc5dd wm8350_clear_bits EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu EXPORT_SYMBOL_GPL vmlinux 0x60939310 perf_event_read_value @@ -22208,17 +22201,19 @@ EXPORT_SYMBOL_GPL vmlinux 0x60df4189 regulator_map_voltage_linear_range EXPORT_SYMBOL_GPL vmlinux 0x60e809eb blk_rq_prep_clone EXPORT_SYMBOL_GPL vmlinux 0x60e90cff sysfs_remove_mount_point -EXPORT_SYMBOL_GPL vmlinux 0x60e95399 ip6_local_out EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x611c3169 devlink_port_type_clear EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x6134dd95 sock_prot_inuse_get EXPORT_SYMBOL_GPL vmlinux 0x61466b91 serdev_device_add EXPORT_SYMBOL_GPL vmlinux 0x615a0928 uhci_check_and_reset_hc EXPORT_SYMBOL_GPL vmlinux 0x615d3447 kernel_read_file_from_path EXPORT_SYMBOL_GPL vmlinux 0x61645cf3 __pci_epf_register_driver EXPORT_SYMBOL_GPL vmlinux 0x616aaa60 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x6173f0f9 ping_queue_rcv_skb EXPORT_SYMBOL_GPL vmlinux 0x617b026c hwrng_register EXPORT_SYMBOL_GPL vmlinux 0x617ebf8d to_nvdimm_bus_dev EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add @@ -22229,16 +22224,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x61b443f8 x86_spec_ctrl_current EXPORT_SYMBOL_GPL vmlinux 0x61c1662f bio_associate_blkg EXPORT_SYMBOL_GPL vmlinux 0x61d40644 fat_scan -EXPORT_SYMBOL_GPL vmlinux 0x61db4679 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x61dbce15 __fib_lookup EXPORT_SYMBOL_GPL vmlinux 0x61e613d0 vfio_pci_core_sriov_configure EXPORT_SYMBOL_GPL vmlinux 0x61efe262 led_blink_set_oneshot EXPORT_SYMBOL_GPL vmlinux 0x61f3476f component_del EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array EXPORT_SYMBOL_GPL vmlinux 0x620541cb d_walk -EXPORT_SYMBOL_GPL vmlinux 0x620b5d57 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x621434e1 find_vpid EXPORT_SYMBOL_GPL vmlinux 0x62166f97 bus_sort_breadthfirst EXPORT_SYMBOL_GPL vmlinux 0x621d3900 bio_associate_blkg_from_css -EXPORT_SYMBOL_GPL vmlinux 0x6221e72a udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x62285fa8 ipv6_recv_error EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule EXPORT_SYMBOL_GPL vmlinux 0x623c7d37 xenbus_alloc_evtchn @@ -22246,13 +22241,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context EXPORT_SYMBOL_GPL vmlinux 0x626abb6b devm_acpi_dma_controller_free -EXPORT_SYMBOL_GPL vmlinux 0x62962ca0 find_get_pid EXPORT_SYMBOL_GPL vmlinux 0x629b5c92 device_add_software_node EXPORT_SYMBOL_GPL vmlinux 0x62a40873 md_find_rdev_nr_rcu EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift -EXPORT_SYMBOL_GPL vmlinux 0x62be392b pktgen_xfrm_outer_mode_output EXPORT_SYMBOL_GPL vmlinux 0x62c52650 crypto_register_scomp EXPORT_SYMBOL_GPL vmlinux 0x62d65da8 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x62d87283 __tracepoint_br_fdb_external_learn_add EXPORT_SYMBOL_GPL vmlinux 0x62e3f11c extcon_set_property_sync EXPORT_SYMBOL_GPL vmlinux 0x62eb461a fscrypt_ioctl_get_policy_ex EXPORT_SYMBOL_GPL vmlinux 0x62ee88cc usb_sg_init @@ -22264,7 +22258,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x6334b38b gov_attr_set_get EXPORT_SYMBOL_GPL vmlinux 0x6340434e x86_model EXPORT_SYMBOL_GPL vmlinux 0x634efd99 dev_pm_opp_set_rate -EXPORT_SYMBOL_GPL vmlinux 0x6357eed8 __SCK__tp_func_fib6_table_lookup EXPORT_SYMBOL_GPL vmlinux 0x635ed7ad acomp_request_alloc EXPORT_SYMBOL_GPL vmlinux 0x635f824d pci_epc_set_msi EXPORT_SYMBOL_GPL vmlinux 0x63708287 perf_tp_event @@ -22273,7 +22266,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax EXPORT_SYMBOL_GPL vmlinux 0x6392c2c2 synth_event_create EXPORT_SYMBOL_GPL vmlinux 0x63a72244 led_classdev_resume -EXPORT_SYMBOL_GPL vmlinux 0x63ab749d __traceiter_devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0x63b3fffb bsg_register_queue EXPORT_SYMBOL_GPL vmlinux 0x63b4e513 devfreq_get_devfreq_by_node EXPORT_SYMBOL_GPL vmlinux 0x63b5e4ea mctrl_gpio_free @@ -22289,16 +22281,15 @@ EXPORT_SYMBOL_GPL vmlinux 0x6409bf3b clk_hw_register_fractional_divider EXPORT_SYMBOL_GPL vmlinux 0x641f61e6 sched_trace_cfs_rq_avg EXPORT_SYMBOL_GPL vmlinux 0x642803da dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x6451d987 nf_hook_entries_insert_raw EXPORT_SYMBOL_GPL vmlinux 0x64582711 scsi_dh_set_params EXPORT_SYMBOL_GPL vmlinux 0x645daf78 rio_alloc_net EXPORT_SYMBOL_GPL vmlinux 0x6461864b gen_pool_get -EXPORT_SYMBOL_GPL vmlinux 0x64635a44 devlink_port_params_unregister EXPORT_SYMBOL_GPL vmlinux 0x648e01b8 ata_bmdma_port_ops EXPORT_SYMBOL_GPL vmlinux 0x64925270 __dax_synchronous EXPORT_SYMBOL_GPL vmlinux 0x6493a5cc class_compat_create_link EXPORT_SYMBOL_GPL vmlinux 0x649ed2a5 devfreq_event_reset_event EXPORT_SYMBOL_GPL vmlinux 0x64a31445 mutex_lock_io -EXPORT_SYMBOL_GPL vmlinux 0x64a39980 devlink_resource_occ_get_register EXPORT_SYMBOL_GPL vmlinux 0x64a62e11 acpi_processor_ffh_cstate_enter EXPORT_SYMBOL_GPL vmlinux 0x64a9080a usb_disable_xhci_ports EXPORT_SYMBOL_GPL vmlinux 0x64ae9f30 da903x_set_bits @@ -22306,23 +22297,22 @@ EXPORT_SYMBOL_GPL vmlinux 0x64c2503c devm_regulator_bulk_register_supply_alias EXPORT_SYMBOL_GPL vmlinux 0x64c8e909 posix_clock_register EXPORT_SYMBOL_GPL vmlinux 0x64cca3e3 vfio_iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x64ccfd15 security_path_rmdir EXPORT_SYMBOL_GPL vmlinux 0x64d3cc4e xas_load EXPORT_SYMBOL_GPL vmlinux 0x64dff651 iommu_device_unlink EXPORT_SYMBOL_GPL vmlinux 0x64e1f4bd acpi_processor_get_performance_info EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete EXPORT_SYMBOL_GPL vmlinux 0x64e37042 usb_string -EXPORT_SYMBOL_GPL vmlinux 0x64e8ef4b netlink_has_listeners EXPORT_SYMBOL_GPL vmlinux 0x64f23c19 pci_msi_create_irq_domain EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush EXPORT_SYMBOL_GPL vmlinux 0x64f99525 phy_pm_runtime_put -EXPORT_SYMBOL_GPL vmlinux 0x64fa6ed9 sock_map_destroy -EXPORT_SYMBOL_GPL vmlinux 0x64faa559 iptunnel_handle_offloads EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf EXPORT_SYMBOL_GPL vmlinux 0x651bd33c vfs_getxattr_alloc EXPORT_SYMBOL_GPL vmlinux 0x6527a231 dbgp_external_startup EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add EXPORT_SYMBOL_GPL vmlinux 0x6547d924 regmap_get_device EXPORT_SYMBOL_GPL vmlinux 0x654813ea nvdimm_blk_region_create +EXPORT_SYMBOL_GPL vmlinux 0x655e8f59 lwtunnel_encap_add_ops EXPORT_SYMBOL_GPL vmlinux 0x65704d22 hv_stimer_cleanup EXPORT_SYMBOL_GPL vmlinux 0x65837555 platform_get_mem_or_io EXPORT_SYMBOL_GPL vmlinux 0x6586a46b iommu_iova_to_phys @@ -22331,23 +22321,24 @@ EXPORT_SYMBOL_GPL vmlinux 0x65b91f63 iommu_fwspec_init EXPORT_SYMBOL_GPL vmlinux 0x65c9fcf8 __tracepoint_mc_event EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers -EXPORT_SYMBOL_GPL vmlinux 0x65ce49a1 __tracepoint_tcp_send_reset EXPORT_SYMBOL_GPL vmlinux 0x65da622a fat_alloc_new_dir EXPORT_SYMBOL_GPL vmlinux 0x65db40cf to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x65de642d fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x65f359d3 unix_inq_len EXPORT_SYMBOL_GPL vmlinux 0x65fab729 transport_destroy_device EXPORT_SYMBOL_GPL vmlinux 0x6606abad serdev_device_open EXPORT_SYMBOL_GPL vmlinux 0x660ca08a xenbus_switch_state EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol EXPORT_SYMBOL_GPL vmlinux 0x661f2956 pm_genpd_remove EXPORT_SYMBOL_GPL vmlinux 0x662b589e spi_controller_dma_map_mem_op_data -EXPORT_SYMBOL_GPL vmlinux 0x662f8a73 sock_diag_check_cookie EXPORT_SYMBOL_GPL vmlinux 0x6632cb65 device_property_match_string EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x663e2b65 ethnl_cable_test_result EXPORT_SYMBOL_GPL vmlinux 0x664aff29 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x664c6872 blk_mq_rdma_map_queues EXPORT_SYMBOL_GPL vmlinux 0x66534637 __traceiter_pelt_dl_tp EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle -EXPORT_SYMBOL_GPL vmlinux 0x66662426 skb_to_sgvec_nomark EXPORT_SYMBOL_GPL vmlinux 0x66677d6f phy_modify_changed EXPORT_SYMBOL_GPL vmlinux 0x666a84f5 gpiochip_irq_map EXPORT_SYMBOL_GPL vmlinux 0x6674b294 edac_device_handle_ce_count @@ -22355,7 +22346,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng EXPORT_SYMBOL_GPL vmlinux 0x6685354f dev_pm_opp_unregister_set_opp_helper EXPORT_SYMBOL_GPL vmlinux 0x66867fee tpm_tis_resume -EXPORT_SYMBOL_GPL vmlinux 0x669c20f1 __SCK__tp_func_neigh_update EXPORT_SYMBOL_GPL vmlinux 0x66a0a213 icc_node_create EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider EXPORT_SYMBOL_GPL vmlinux 0x66b72407 dev_attr_ncq_prio_enable @@ -22363,23 +22353,23 @@ EXPORT_SYMBOL_GPL vmlinux 0x66c117d5 mmu_interval_notifier_remove EXPORT_SYMBOL_GPL vmlinux 0x66cb5b0e tty_mode_ioctl EXPORT_SYMBOL_GPL vmlinux 0x66cbd528 regmap_raw_write_async -EXPORT_SYMBOL_GPL vmlinux 0x66cca567 skb_zerocopy_iter_dgram EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr EXPORT_SYMBOL_GPL vmlinux 0x66de1cb3 __get_task_comm EXPORT_SYMBOL_GPL vmlinux 0x66ee2f48 acpi_subsys_poweroff -EXPORT_SYMBOL_GPL vmlinux 0x66f007f2 ping_close EXPORT_SYMBOL_GPL vmlinux 0x6721132a crypto_register_skcipher EXPORT_SYMBOL_GPL vmlinux 0x6725dd0c aead_init_geniv EXPORT_SYMBOL_GPL vmlinux 0x67289a73 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x67325333 bpf_trace_run1 EXPORT_SYMBOL_GPL vmlinux 0x6735d56e tcp_ca_get_name_by_key EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target EXPORT_SYMBOL_GPL vmlinux 0x673f4046 iomap_dio_iopoll EXPORT_SYMBOL_GPL vmlinux 0x674444e1 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x67582403 __tracepoint_tcp_bad_csum EXPORT_SYMBOL_GPL vmlinux 0x6759bd00 __SCT__tp_func_rpm_idle EXPORT_SYMBOL_GPL vmlinux 0x675cada9 desc_to_gpio -EXPORT_SYMBOL_GPL vmlinux 0x6764969a cgroup_get_from_fd EXPORT_SYMBOL_GPL vmlinux 0x676d8e29 tty_put_char -EXPORT_SYMBOL_GPL vmlinux 0x677bbf8a ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x677a70d1 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x678f47e9 ethnl_cable_test_amplitude EXPORT_SYMBOL_GPL vmlinux 0x6790ebd3 mce_is_memory_error EXPORT_SYMBOL_GPL vmlinux 0x67911304 mmu_interval_read_begin EXPORT_SYMBOL_GPL vmlinux 0x679357a9 gpiod_get_array_optional @@ -22391,18 +22381,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x67e25de7 __hwspin_lock_timeout EXPORT_SYMBOL_GPL vmlinux 0x67eadc84 uart_insert_char EXPORT_SYMBOL_GPL vmlinux 0x67f09744 irq_domain_get_irq_data -EXPORT_SYMBOL_GPL vmlinux 0x67f1ec71 __netpoll_free EXPORT_SYMBOL_GPL vmlinux 0x67f687bb ata_slave_link_init EXPORT_SYMBOL_GPL vmlinux 0x67f7f192 dev_pm_opp_set_prop_name EXPORT_SYMBOL_GPL vmlinux 0x67fe1aee extcon_get_extcon_dev EXPORT_SYMBOL_GPL vmlinux 0x680ff68b serdev_device_write_wakeup EXPORT_SYMBOL_GPL vmlinux 0x6814d517 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x68205ec8 cgroup_get_from_fd EXPORT_SYMBOL_GPL vmlinux 0x6821874f rio_mport_read_config_16 EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu EXPORT_SYMBOL_GPL vmlinux 0x683052de phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x68336168 netdev_walk_all_lower_dev EXPORT_SYMBOL_GPL vmlinux 0x684342bf devm_nvmem_device_get EXPORT_SYMBOL_GPL vmlinux 0x6845357b gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x6845ed8a security_file_permission EXPORT_SYMBOL_GPL vmlinux 0x684994d9 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x684eea6d bpf_trace_run2 EXPORT_SYMBOL_GPL vmlinux 0x6854a1a5 fwnode_property_read_string_array EXPORT_SYMBOL_GPL vmlinux 0x685c572d vp_modern_get_features EXPORT_SYMBOL_GPL vmlinux 0x685db132 extcon_get_state @@ -22411,28 +22404,23 @@ EXPORT_SYMBOL_GPL vmlinux 0x687caf3c sdio_register_driver EXPORT_SYMBOL_GPL vmlinux 0x68939917 phy_modify_mmd EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch -EXPORT_SYMBOL_GPL vmlinux 0x689a276f nf_ct_hook EXPORT_SYMBOL_GPL vmlinux 0x689d9ad6 regulator_set_soft_start_regmap -EXPORT_SYMBOL_GPL vmlinux 0x68d6e260 ip6_pol_route -EXPORT_SYMBOL_GPL vmlinux 0x68e6f2aa __netdev_watchdog_up EXPORT_SYMBOL_GPL vmlinux 0x68fa43f0 tps65912_regmap_config EXPORT_SYMBOL_GPL vmlinux 0x690077bd of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x690e56bd dst_cache_get_ip6 EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array EXPORT_SYMBOL_GPL vmlinux 0x69106177 cpufreq_freq_attr_scaling_boost_freqs -EXPORT_SYMBOL_GPL vmlinux 0x69156fd0 inet_csk_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x69185735 edac_device_free_ctl_info -EXPORT_SYMBOL_GPL vmlinux 0x6935dcf4 __tracepoint_br_fdb_update -EXPORT_SYMBOL_GPL vmlinux 0x694427ab bpf_prog_create EXPORT_SYMBOL_GPL vmlinux 0x694a4307 led_classdev_notify_brightness_hw_changed EXPORT_SYMBOL_GPL vmlinux 0x695c0143 perf_event_sysfs_show EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle -EXPORT_SYMBOL_GPL vmlinux 0x696c59e6 put_pid EXPORT_SYMBOL_GPL vmlinux 0x696d7e0b l1tf_mitigation EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc EXPORT_SYMBOL_GPL vmlinux 0x697e1b44 crypto_unregister_ahash EXPORT_SYMBOL_GPL vmlinux 0x6982fef6 __SCK__tp_func_remove_device_from_group EXPORT_SYMBOL_GPL vmlinux 0x6986f5e7 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x69af917d of_css EXPORT_SYMBOL_GPL vmlinux 0x69b4e2a9 ata_sff_wait_after_reset EXPORT_SYMBOL_GPL vmlinux 0x69c8cc93 event_triggers_post_call EXPORT_SYMBOL_GPL vmlinux 0x69cc99e1 vfs_removexattr @@ -22441,19 +22429,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen EXPORT_SYMBOL_GPL vmlinux 0x69e83605 mc146818_get_time EXPORT_SYMBOL_GPL vmlinux 0x69eaa971 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x69ec7130 kobject_uevent_env EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x6a02e6b5 devlink_free EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode EXPORT_SYMBOL_GPL vmlinux 0x6a0b451c usb_hcd_pci_probe EXPORT_SYMBOL_GPL vmlinux 0x6a12161a nvdimm_setup_pfn EXPORT_SYMBOL_GPL vmlinux 0x6a1733eb iommu_group_unregister_notifier EXPORT_SYMBOL_GPL vmlinux 0x6a3d898b tty_wakeup EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a428c84 devlink_port_param_driverinit_value_get EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize EXPORT_SYMBOL_GPL vmlinux 0x6a767498 irq_domain_free_irqs_parent EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start EXPORT_SYMBOL_GPL vmlinux 0x6a84cc15 pci_epf_unbind -EXPORT_SYMBOL_GPL vmlinux 0x6a8f6f20 xdp_build_skb_from_frame EXPORT_SYMBOL_GPL vmlinux 0x6a92b703 __devm_reset_control_bulk_get EXPORT_SYMBOL_GPL vmlinux 0x6a92f6b8 max8997_read_reg EXPORT_SYMBOL_GPL vmlinux 0x6a94a115 gpiochip_line_is_persistent @@ -22461,7 +22451,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x6a9e05a8 nvdimm_bus_add_badrange EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf EXPORT_SYMBOL_GPL vmlinux 0x6aa6917c elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6aab0f99 security_file_ioctl EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6ab7a44c ping_bind EXPORT_SYMBOL_GPL vmlinux 0x6ac08735 i2c_client_type EXPORT_SYMBOL_GPL vmlinux 0x6acdc95b add_page_wait_queue EXPORT_SYMBOL_GPL vmlinux 0x6af0bf43 usb_phy_set_event @@ -22475,14 +22467,15 @@ EXPORT_SYMBOL_GPL vmlinux 0x6b35a16b intel_scu_ipc_dev_get EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b49a137 skb_mpls_pop EXPORT_SYMBOL_GPL vmlinux 0x6b538721 __tracepoint_rpm_suspend EXPORT_SYMBOL_GPL vmlinux 0x6b5f5417 vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0x6b68aa2a register_net_sysctl EXPORT_SYMBOL_GPL vmlinux 0x6b68ba59 ata_sff_dma_pause EXPORT_SYMBOL_GPL vmlinux 0x6b716f02 ata_sas_sync_probe EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup EXPORT_SYMBOL_GPL vmlinux 0x6b7ce72d fsl_mc_device_group EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier -EXPORT_SYMBOL_GPL vmlinux 0x6b89b8e1 skb_splice_bits EXPORT_SYMBOL_GPL vmlinux 0x6b8b914d debugfs_create_blob EXPORT_SYMBOL_GPL vmlinux 0x6b97f110 regcache_sync_region EXPORT_SYMBOL_GPL vmlinux 0x6b9f8708 device_property_read_u64_array @@ -22491,19 +22484,17 @@ EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save EXPORT_SYMBOL_GPL vmlinux 0x6bd5122d class_compat_remove_link -EXPORT_SYMBOL_GPL vmlinux 0x6bd51bda devlink_dpipe_headers_register EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake EXPORT_SYMBOL_GPL vmlinux 0x6be3a96b hv_remove_vmbus_handler EXPORT_SYMBOL_GPL vmlinux 0x6beab68b regulator_disable_deferred EXPORT_SYMBOL_GPL vmlinux 0x6bf18970 irq_create_of_mapping -EXPORT_SYMBOL_GPL vmlinux 0x6bf3aba3 nd_tbl EXPORT_SYMBOL_GPL vmlinux 0x6bfaf93e mnt_want_write EXPORT_SYMBOL_GPL vmlinux 0x6bffc8ec dev_pm_enable_wake_irq EXPORT_SYMBOL_GPL vmlinux 0x6c205008 mpi_print EXPORT_SYMBOL_GPL vmlinux 0x6c29dc86 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6c3515f6 bpf_trace_run5 EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen -EXPORT_SYMBOL_GPL vmlinux 0x6c499148 cookie_tcp_reqsk_alloc EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier @@ -22516,33 +22507,31 @@ EXPORT_SYMBOL_GPL vmlinux 0x6cad139e fuse_get_unique EXPORT_SYMBOL_GPL vmlinux 0x6caf7b20 pci_epc_map_addr EXPORT_SYMBOL_GPL vmlinux 0x6cc7031f pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x6cd48f8b dev_get_tstats64 EXPORT_SYMBOL_GPL vmlinux 0x6d04891d inet_getpeer EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request EXPORT_SYMBOL_GPL vmlinux 0x6d0ff055 dma_buf_end_cpu_access -EXPORT_SYMBOL_GPL vmlinux 0x6d1463f0 __SCK__tp_func_devlink_hwmsg EXPORT_SYMBOL_GPL vmlinux 0x6d2588a1 fixup_user_fault EXPORT_SYMBOL_GPL vmlinux 0x6d2b6244 pci_epc_start EXPORT_SYMBOL_GPL vmlinux 0x6d2e899d mce_usable_address EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list EXPORT_SYMBOL_GPL vmlinux 0x6d34e352 pci_disable_pri EXPORT_SYMBOL_GPL vmlinux 0x6d3e0a0a fsverity_ioctl_measure -EXPORT_SYMBOL_GPL vmlinux 0x6d4a4f98 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x6d4ebbb3 ping_rcv EXPORT_SYMBOL_GPL vmlinux 0x6d56c902 mmu_interval_notifier_insert EXPORT_SYMBOL_GPL vmlinux 0x6d5fe05a of_phy_put EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any EXPORT_SYMBOL_GPL vmlinux 0x6d74a03b pci_pri_supported EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed -EXPORT_SYMBOL_GPL vmlinux 0x6d84827c fib6_new_table EXPORT_SYMBOL_GPL vmlinux 0x6d94ea15 crypto_register_instance EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 EXPORT_SYMBOL_GPL vmlinux 0x6dc5ee87 vfio_pci_core_write -EXPORT_SYMBOL_GPL vmlinux 0x6dcb6885 switchdev_handle_fdb_del_to_device EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id EXPORT_SYMBOL_GPL vmlinux 0x6df967aa devm_memremap_pages -EXPORT_SYMBOL_GPL vmlinux 0x6dff2e54 nexthop_for_each_fib6_nh EXPORT_SYMBOL_GPL vmlinux 0x6e00fcfb modify_ftrace_direct -EXPORT_SYMBOL_GPL vmlinux 0x6e05aae3 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x6e0b6961 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x6e11085e xfrm_dev_state_add EXPORT_SYMBOL_GPL vmlinux 0x6e271c36 devm_hwmon_device_unregister EXPORT_SYMBOL_GPL vmlinux 0x6e2904a9 sysfs_create_link_nowarn EXPORT_SYMBOL_GPL vmlinux 0x6e2b81fa pci_generic_config_write32 @@ -22556,13 +22545,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x6e83d93a query_asymmetric_key EXPORT_SYMBOL_GPL vmlinux 0x6e85b00b local_touch_nmi EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base -EXPORT_SYMBOL_GPL vmlinux 0x6e98bce9 raw_seq_next EXPORT_SYMBOL_GPL vmlinux 0x6ea96eaa generic_access_phys EXPORT_SYMBOL_GPL vmlinux 0x6eb824a9 iomap_readahead EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns -EXPORT_SYMBOL_GPL vmlinux 0x6ec6dc2d nf_nat_hook EXPORT_SYMBOL_GPL vmlinux 0x6eca1a6c intel_pinctrl_probe_by_hid -EXPORT_SYMBOL_GPL vmlinux 0x6ee54fd3 inet_csk_clone_lock EXPORT_SYMBOL_GPL vmlinux 0x6ee89db0 acpi_bus_trim EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns @@ -22584,6 +22570,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x6fabae87 kobject_create_and_add EXPORT_SYMBOL_GPL vmlinux 0x6faf64d0 syscon_node_to_regmap EXPORT_SYMBOL_GPL vmlinux 0x6fcb2838 __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x6fcbc6b7 metadata_dst_free_percpu EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset EXPORT_SYMBOL_GPL vmlinux 0x6fd6472c cleanup_srcu_struct EXPORT_SYMBOL_GPL vmlinux 0x6feb8e6b xhci_drop_endpoint @@ -22592,37 +22579,42 @@ EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions EXPORT_SYMBOL_GPL vmlinux 0x7010722d sysfs_remove_file_self EXPORT_SYMBOL_GPL vmlinux 0x701cbd76 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x702652de sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x702cbe4d security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x70366b91 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x703cc37f xfrm_state_afinfo_get_rcu EXPORT_SYMBOL_GPL vmlinux 0x703e4b4e blk_ksm_init_passthrough +EXPORT_SYMBOL_GPL vmlinux 0x7049d17e devlink_param_driverinit_value_set EXPORT_SYMBOL_GPL vmlinux 0x7055c56e __sbitmap_queue_get_shallow EXPORT_SYMBOL_GPL vmlinux 0x705647f0 xhci_update_hub_device EXPORT_SYMBOL_GPL vmlinux 0x70576fee acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x706dd076 bpf_redirect_info EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array -EXPORT_SYMBOL_GPL vmlinux 0x707ce242 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7092e932 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x70995cb9 __udp_enqueue_schedule_skb EXPORT_SYMBOL_GPL vmlinux 0x70b7c07a gnttab_grant_foreign_transfer -EXPORT_SYMBOL_GPL vmlinux 0x70c1d5c6 __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x70b86800 netdev_rx_handler_register EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated EXPORT_SYMBOL_GPL vmlinux 0x70c6d827 mc146818_set_time -EXPORT_SYMBOL_GPL vmlinux 0x70c9f8f5 __inet_inherit_port EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq EXPORT_SYMBOL_GPL vmlinux 0x70e06e33 pkcs7_free_message -EXPORT_SYMBOL_GPL vmlinux 0x70ea69f6 tcp_register_congestion_control EXPORT_SYMBOL_GPL vmlinux 0x70eb0c20 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x70f09dbe ipv6_dup_options EXPORT_SYMBOL_GPL vmlinux 0x71090f78 regmap_can_raw_write EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier -EXPORT_SYMBOL_GPL vmlinux 0x7120b3eb fib_rules_seq_read -EXPORT_SYMBOL_GPL vmlinux 0x71252158 ipv4_redirect EXPORT_SYMBOL_GPL vmlinux 0x7129a6f4 osc_sb_native_usb4_support_confirmed EXPORT_SYMBOL_GPL vmlinux 0x7134ef3c irq_chip_eoi_parent EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized EXPORT_SYMBOL_GPL vmlinux 0x7164e2e1 devres_find EXPORT_SYMBOL_GPL vmlinux 0x71717516 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x7177d03e switchdev_bridge_port_unoffload EXPORT_SYMBOL_GPL vmlinux 0x717ee33a pci_user_read_config_dword EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister EXPORT_SYMBOL_GPL vmlinux 0x7181f7c7 fscrypt_set_bio_crypt_ctx EXPORT_SYMBOL_GPL vmlinux 0x71876055 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x7190ef2e ip6_redirect EXPORT_SYMBOL_GPL vmlinux 0x719b5cf1 devm_clk_bulk_get -EXPORT_SYMBOL_GPL vmlinux 0x719c12af skb_consume_udp EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister EXPORT_SYMBOL_GPL vmlinux 0x719eb9d2 __devm_pci_epc_create EXPORT_SYMBOL_GPL vmlinux 0x71a6dc6d pci_store_saved_state @@ -22635,11 +22627,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x71d27694 spi_mem_dirmap_write EXPORT_SYMBOL_GPL vmlinux 0x71d752b4 l3mdev_fib_table_by_index EXPORT_SYMBOL_GPL vmlinux 0x71e2c678 gpiod_set_array_value -EXPORT_SYMBOL_GPL vmlinux 0x71e40177 sock_map_close -EXPORT_SYMBOL_GPL vmlinux 0x71e4c852 sock_map_unhash EXPORT_SYMBOL_GPL vmlinux 0x71eada2d efivar_entry_remove EXPORT_SYMBOL_GPL vmlinux 0x71f44952 blk_mq_quiesce_queue EXPORT_SYMBOL_GPL vmlinux 0x7208683a dma_buf_unpin +EXPORT_SYMBOL_GPL vmlinux 0x721e6f9b espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x722692f3 tcp_ca_openreq_child EXPORT_SYMBOL_GPL vmlinux 0x7234e0c2 usb_poison_urb EXPORT_SYMBOL_GPL vmlinux 0x7253f69e extcon_get_property EXPORT_SYMBOL_GPL vmlinux 0x725d7f33 ata_scsi_port_error_handler @@ -22650,7 +22642,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu EXPORT_SYMBOL_GPL vmlinux 0x729854dd generic_fh_to_parent -EXPORT_SYMBOL_GPL vmlinux 0x72aa7b6f unix_peer_get EXPORT_SYMBOL_GPL vmlinux 0x72ae8631 reset_controller_unregister EXPORT_SYMBOL_GPL vmlinux 0x72afeaef thermal_zone_get_temp EXPORT_SYMBOL_GPL vmlinux 0x72bba176 regmap_bulk_write @@ -22663,7 +22654,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x72e1243c percpu_up_write EXPORT_SYMBOL_GPL vmlinux 0x72e22be7 regmap_get_reg_stride EXPORT_SYMBOL_GPL vmlinux 0x72f79352 iommu_aux_get_pasid -EXPORT_SYMBOL_GPL vmlinux 0x730302f0 skb_mpls_pop EXPORT_SYMBOL_GPL vmlinux 0x73092da5 genphy_c45_pma_setup_forced EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end @@ -22671,27 +22661,26 @@ EXPORT_SYMBOL_GPL vmlinux 0x7339dbd7 xenbus_frontend_closed EXPORT_SYMBOL_GPL vmlinux 0x733ec33e __SCT__tp_func_fdb_delete EXPORT_SYMBOL_GPL vmlinux 0x73423a3c elv_rqhash_add -EXPORT_SYMBOL_GPL vmlinux 0x735e87a5 pskb_put EXPORT_SYMBOL_GPL vmlinux 0x7370765c genphy_c45_read_lpa EXPORT_SYMBOL_GPL vmlinux 0x7380bbd6 blk_mq_freeze_queue_wait_timeout EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return EXPORT_SYMBOL_GPL vmlinux 0x738fe32b amd_get_nodes_per_socket EXPORT_SYMBOL_GPL vmlinux 0x7390c607 palmas_ext_control_req_config -EXPORT_SYMBOL_GPL vmlinux 0x739a5a86 tcp_twsk_unique EXPORT_SYMBOL_GPL vmlinux 0x739bda57 hwspin_lock_unregister EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports EXPORT_SYMBOL_GPL vmlinux 0x73b20754 gpiod_get_array -EXPORT_SYMBOL_GPL vmlinux 0x73bc6c14 sk_attach_filter EXPORT_SYMBOL_GPL vmlinux 0x73c1f749 vring_create_virtqueue EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap EXPORT_SYMBOL_GPL vmlinux 0x73dc96bd usb_kill_urb EXPORT_SYMBOL_GPL vmlinux 0x73ea3a6a ata_acpi_gtm_xfermask EXPORT_SYMBOL_GPL vmlinux 0x73ec118d fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x73f05124 __traceiter_kfree_skb EXPORT_SYMBOL_GPL vmlinux 0x73f33138 device_remove_file EXPORT_SYMBOL_GPL vmlinux 0x7419e976 __irq_domain_add EXPORT_SYMBOL_GPL vmlinux 0x742ca79d debugfs_create_size_t EXPORT_SYMBOL_GPL vmlinux 0x74346c8a regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x74381158 __tracepoint_neigh_timer_handler EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask EXPORT_SYMBOL_GPL vmlinux 0x74453e03 spi_register_controller EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini @@ -22702,20 +22691,20 @@ EXPORT_SYMBOL_GPL vmlinux 0x74612587 __tracepoint_rpm_idle EXPORT_SYMBOL_GPL vmlinux 0x7470adf5 rio_register_mport EXPORT_SYMBOL_GPL vmlinux 0x748ce28b nd_blk_region_to_dimm -EXPORT_SYMBOL_GPL vmlinux 0x748dbfc2 security_path_link EXPORT_SYMBOL_GPL vmlinux 0x748e0997 crypto_stats_akcipher_decrypt -EXPORT_SYMBOL_GPL vmlinux 0x749f3916 espintcp_push_skb -EXPORT_SYMBOL_GPL vmlinux 0x74a97225 switchdev_port_obj_del EXPORT_SYMBOL_GPL vmlinux 0x74af0f04 fat_flush_inodes EXPORT_SYMBOL_GPL vmlinux 0x74af4dcf pci_msi_prepare EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74cbef56 bpf_sk_storage_diag_put EXPORT_SYMBOL_GPL vmlinux 0x74d0cdf6 tty_set_termios EXPORT_SYMBOL_GPL vmlinux 0x74d647eb crypto_register_shash EXPORT_SYMBOL_GPL vmlinux 0x74d862ca securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x74da7bdd __rtnl_link_register EXPORT_SYMBOL_GPL vmlinux 0x74e48c83 spi_get_device_id EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74ec2e9e security_inode_mkdir EXPORT_SYMBOL_GPL vmlinux 0x74ed6880 blk_queue_can_use_dma_map_merging EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm @@ -22724,10 +22713,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x7528fe23 fat_truncate_time EXPORT_SYMBOL_GPL vmlinux 0x754adddd uart_console_device EXPORT_SYMBOL_GPL vmlinux 0x754c83d7 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x75530444 ip6_input EXPORT_SYMBOL_GPL vmlinux 0x7560f2f5 apply_to_page_range EXPORT_SYMBOL_GPL vmlinux 0x756b80e2 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x757842b2 xfrm_dev_resume EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy -EXPORT_SYMBOL_GPL vmlinux 0x759c7ead mptcp_pm_get_add_addr_accept_max EXPORT_SYMBOL_GPL vmlinux 0x75a13536 scsi_ioctl_block_when_processing_errors EXPORT_SYMBOL_GPL vmlinux 0x75aeddc3 sched_set_fifo EXPORT_SYMBOL_GPL vmlinux 0x75af7b8b class_dev_iter_next @@ -22736,7 +22726,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x75c111aa power_supply_set_battery_charged EXPORT_SYMBOL_GPL vmlinux 0x75cbf375 debugfs_create_u64 EXPORT_SYMBOL_GPL vmlinux 0x75d0e317 balloon_page_dequeue -EXPORT_SYMBOL_GPL vmlinux 0x75d9eea8 tcp_unregister_ulp EXPORT_SYMBOL_GPL vmlinux 0x75db45b0 sbitmap_show EXPORT_SYMBOL_GPL vmlinux 0x75e53cd6 usb_register_dev EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled @@ -22749,6 +22738,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x762640ab __SCT__tp_func_sched_cpu_capacity_tp EXPORT_SYMBOL_GPL vmlinux 0x76270f6c thermal_zone_get_zone_by_name EXPORT_SYMBOL_GPL vmlinux 0x7631c869 msi_desc_to_pci_sysdata +EXPORT_SYMBOL_GPL vmlinux 0x764c8048 usb_check_int_endpoints EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register EXPORT_SYMBOL_GPL vmlinux 0x7659b669 gpiochip_free_own_desc EXPORT_SYMBOL_GPL vmlinux 0x765d0ff6 ata_sff_data_xfer @@ -22757,9 +22747,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove EXPORT_SYMBOL_GPL vmlinux 0x7665ee72 crypto_dh_decode_key EXPORT_SYMBOL_GPL vmlinux 0x766e3ac4 rio_register_driver -EXPORT_SYMBOL_GPL vmlinux 0x767af4cf inet_csk_addr2sockaddr EXPORT_SYMBOL_GPL vmlinux 0x7680ff31 usb_autopm_put_interface EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x768eac13 sock_diag_unregister_inet_compat EXPORT_SYMBOL_GPL vmlinux 0x768f05e6 pinctrl_utils_free_map EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic EXPORT_SYMBOL_GPL vmlinux 0x76a211cd vfio_pci_register_dev_region @@ -22768,6 +22758,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x76d680f6 acpi_dev_resource_memory EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate EXPORT_SYMBOL_GPL vmlinux 0x76dc031e asm_exc_nmi_noist +EXPORT_SYMBOL_GPL vmlinux 0x76e3bc8a netdev_walk_all_lower_dev_rcu EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash EXPORT_SYMBOL_GPL vmlinux 0x7700f871 dev_pm_opp_get_freq @@ -22779,6 +22770,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x772b0f64 __wake_up_pollfree EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux EXPORT_SYMBOL_GPL vmlinux 0x77495213 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x774ba8b3 int_active_memcg EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister EXPORT_SYMBOL_GPL vmlinux 0x775ecf42 irq_chip_disable_parent EXPORT_SYMBOL_GPL vmlinux 0x7769bbaa ima_file_check @@ -22787,6 +22779,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x777d4f19 usb_ep0_reinit EXPORT_SYMBOL_GPL vmlinux 0x778a6a19 regulator_notifier_call_chain EXPORT_SYMBOL_GPL vmlinux 0x778bad05 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x778e8953 xfrm_local_error EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read EXPORT_SYMBOL_GPL vmlinux 0x77990e65 thermal_zone_device_register EXPORT_SYMBOL_GPL vmlinux 0x779b37e2 dev_pm_genpd_add_notifier @@ -22797,9 +22790,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key EXPORT_SYMBOL_GPL vmlinux 0x77efbc80 devm_device_add_group -EXPORT_SYMBOL_GPL vmlinux 0x77f02fdd devlink_trap_groups_unregister EXPORT_SYMBOL_GPL vmlinux 0x77ff9a3e led_put EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x7814bcca __traceiter_fdb_delete EXPORT_SYMBOL_GPL vmlinux 0x78188c11 crypto_alloc_skcipher EXPORT_SYMBOL_GPL vmlinux 0x781be5aa acpi_pm_wakeup_event EXPORT_SYMBOL_GPL vmlinux 0x781d824a device_show_bool @@ -22811,7 +22804,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x785d210f usb_get_urb EXPORT_SYMBOL_GPL vmlinux 0x785d2820 pci_epc_clear_bar EXPORT_SYMBOL_GPL vmlinux 0x78666496 ata_pci_device_do_suspend -EXPORT_SYMBOL_GPL vmlinux 0x786fc979 __tracepoint_neigh_update_done EXPORT_SYMBOL_GPL vmlinux 0x787aef58 tracing_snapshot_cond EXPORT_SYMBOL_GPL vmlinux 0x787c43a3 fwnode_get_next_parent EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress @@ -22823,7 +22815,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x78b36b60 blk_poll EXPORT_SYMBOL_GPL vmlinux 0x78b8add6 __SCK__tp_func_pelt_irq_tp EXPORT_SYMBOL_GPL vmlinux 0x78bab66b irq_force_affinity -EXPORT_SYMBOL_GPL vmlinux 0x78bf0333 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x78c06b57 fib6_new_table EXPORT_SYMBOL_GPL vmlinux 0x78ccdaa3 blk_insert_cloned_request EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match EXPORT_SYMBOL_GPL vmlinux 0x78e3401a usb_free_coherent @@ -22832,6 +22824,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x78ee8c5a dev_pm_genpd_suspend EXPORT_SYMBOL_GPL vmlinux 0x78f0a16a pinctrl_add_gpio_ranges EXPORT_SYMBOL_GPL vmlinux 0x78f0c296 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x78f1b5f3 __inet_lookup_listener EXPORT_SYMBOL_GPL vmlinux 0x78fa64e2 fpu_copy_guest_fpstate_to_uabi EXPORT_SYMBOL_GPL vmlinux 0x7900c90c __tracepoint_map EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr @@ -22839,13 +22832,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x791748c8 adxl_decode EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure EXPORT_SYMBOL_GPL vmlinux 0x7927821c housekeeping_affine -EXPORT_SYMBOL_GPL vmlinux 0x79331f24 strp_init -EXPORT_SYMBOL_GPL vmlinux 0x79393481 register_pernet_device -EXPORT_SYMBOL_GPL vmlinux 0x7942fb25 xdp_rxq_info_unreg_mem_model EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot -EXPORT_SYMBOL_GPL vmlinux 0x795ea929 tun_get_socket EXPORT_SYMBOL_GPL vmlinux 0x796794fb devm_hwspin_lock_request EXPORT_SYMBOL_GPL vmlinux 0x7968a884 vfs_fallocate EXPORT_SYMBOL_GPL vmlinux 0x796afe7f cpufreq_freq_transition_end @@ -22854,13 +22843,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x7991fd8d crash_vmclear_loaded_vmcss EXPORT_SYMBOL_GPL vmlinux 0x799c2ad4 ata_bmdma_qc_issue EXPORT_SYMBOL_GPL vmlinux 0x79a2eece proc_get_parent_data -EXPORT_SYMBOL_GPL vmlinux 0x79a50151 __udp6_lib_lookup EXPORT_SYMBOL_GPL vmlinux 0x79a8ddac vfio_external_group_match_file EXPORT_SYMBOL_GPL vmlinux 0x79ace80b acpi_get_first_physical_node +EXPORT_SYMBOL_GPL vmlinux 0x79b78629 ipv6_opt_accepted EXPORT_SYMBOL_GPL vmlinux 0x79bb358f gpiochip_enable_irq EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups EXPORT_SYMBOL_GPL vmlinux 0x79bd3187 crypto_stats_rng_generate -EXPORT_SYMBOL_GPL vmlinux 0x79d7f3f5 __traceiter_devlink_hwmsg EXPORT_SYMBOL_GPL vmlinux 0x79daf4de __SCT__tp_func_tcp_send_reset EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park EXPORT_SYMBOL_GPL vmlinux 0x79e50219 led_set_brightness @@ -22895,15 +22883,15 @@ EXPORT_SYMBOL_GPL vmlinux 0x7ab916d4 ata_sff_exec_command EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register EXPORT_SYMBOL_GPL vmlinux 0x7ac1af4f ata_sff_prereset -EXPORT_SYMBOL_GPL vmlinux 0x7ac67c71 find_vpid EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array -EXPORT_SYMBOL_GPL vmlinux 0x7ac8ac4a pid_nr_ns EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad810a0 __SCK__tp_func_devlink_hwerr EXPORT_SYMBOL_GPL vmlinux 0x7ae01b13 usb_get_current_frame_number EXPORT_SYMBOL_GPL vmlinux 0x7ae31efe tps80031_ext_power_req_config EXPORT_SYMBOL_GPL vmlinux 0x7afbc35f ata_host_register EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7b0473d2 inet_csk_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0x7b1116e7 sdio_disable_func EXPORT_SYMBOL_GPL vmlinux 0x7b148042 sdio_set_host_pm_flags EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep @@ -22923,14 +22911,18 @@ EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler EXPORT_SYMBOL_GPL vmlinux 0x7b976693 xenbus_dev_is_online EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9d5d96 fib_rules_register EXPORT_SYMBOL_GPL vmlinux 0x7bae1a22 tpm_chip_register EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq EXPORT_SYMBOL_GPL vmlinux 0x7bcb1abc fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0x7bd10f70 ping_close EXPORT_SYMBOL_GPL vmlinux 0x7be499cf pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7bf2bd9b espintcp_push_skb EXPORT_SYMBOL_GPL vmlinux 0x7c032473 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x7c18f34f devlink_dpipe_headers_register EXPORT_SYMBOL_GPL vmlinux 0x7c20b6a0 load_direct_gdt -EXPORT_SYMBOL_GPL vmlinux 0x7c287ed5 sock_diag_put_meminfo EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c2f8e6f inet_hash EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put EXPORT_SYMBOL_GPL vmlinux 0x7c4c0920 devres_add EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator @@ -22939,6 +22931,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x7c7195a5 mmc_poll_for_busy EXPORT_SYMBOL_GPL vmlinux 0x7c72014b fsverity_ioctl_enable EXPORT_SYMBOL_GPL vmlinux 0x7c74333f vfio_pci_core_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7c8f2625 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x7c925644 devlink_traps_unregister EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence @@ -22950,15 +22944,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x7ccfadc5 efivar_entry_add EXPORT_SYMBOL_GPL vmlinux 0x7cd378cc of_clk_hw_register EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver -EXPORT_SYMBOL_GPL vmlinux 0x7cdc098a xfrm_audit_state_icvfail EXPORT_SYMBOL_GPL vmlinux 0x7cdca0ee syscon_regmap_lookup_by_phandle_optional EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq -EXPORT_SYMBOL_GPL vmlinux 0x7cee0e6d phy_restart_aneg EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize EXPORT_SYMBOL_GPL vmlinux 0x7d0cf152 spi_unregister_device EXPORT_SYMBOL_GPL vmlinux 0x7d0e1d95 hv_setup_crash_handler EXPORT_SYMBOL_GPL vmlinux 0x7d1448f7 crypto_unregister_rng -EXPORT_SYMBOL_GPL vmlinux 0x7d171d81 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7d1a30a2 mptcp_token_get_sock EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn EXPORT_SYMBOL_GPL vmlinux 0x7d216558 subsys_interface_register EXPORT_SYMBOL_GPL vmlinux 0x7d241719 rdev_set_badblocks @@ -22971,43 +22963,51 @@ EXPORT_SYMBOL_GPL vmlinux 0x7d6408f3 dma_need_sync EXPORT_SYMBOL_GPL vmlinux 0x7d6f642f sdio_unregister_driver EXPORT_SYMBOL_GPL vmlinux 0x7d9c4dea lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x7da2471f __SCK__tp_func_br_fdb_update EXPORT_SYMBOL_GPL vmlinux 0x7da6c25d bpf_prog_get_type_dev -EXPORT_SYMBOL_GPL vmlinux 0x7db24753 inet_csk_get_port EXPORT_SYMBOL_GPL vmlinux 0x7db47a37 dw_pcie_ep_linkup EXPORT_SYMBOL_GPL vmlinux 0x7db605e8 serdev_device_get_tiocm EXPORT_SYMBOL_GPL vmlinux 0x7dbfaa1c cpufreq_register_governor EXPORT_SYMBOL_GPL vmlinux 0x7dc965b6 tpm_chip_unregister EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dddca98 xdp_rxq_info_unused EXPORT_SYMBOL_GPL vmlinux 0x7de65a03 acpi_lpat_free_conversion_table EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key EXPORT_SYMBOL_GPL vmlinux 0x7ded4496 platform_msi_domain_free_irqs EXPORT_SYMBOL_GPL vmlinux 0x7df3c059 pinctrl_register_and_init -EXPORT_SYMBOL_GPL vmlinux 0x7e08d57c ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x7dfadfb3 sock_diag_save_cookie EXPORT_SYMBOL_GPL vmlinux 0x7e116769 devm_clk_get_enabled EXPORT_SYMBOL_GPL vmlinux 0x7e2ed08f xenbus_dev_probe EXPORT_SYMBOL_GPL vmlinux 0x7e33becf vp_modern_set_features EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk -EXPORT_SYMBOL_GPL vmlinux 0x7e48a816 __dev_change_net_namespace EXPORT_SYMBOL_GPL vmlinux 0x7e4ebf40 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0x7e53d34c xdp_build_skb_from_frame EXPORT_SYMBOL_GPL vmlinux 0x7e5bb2b8 pci_epf_free_space EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e664687 __traceiter_tcp_bad_csum EXPORT_SYMBOL_GPL vmlinux 0x7e7a47c9 pci_acpi_clear_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x7e7b2621 skb_morph EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e83b72c tcp_get_syncookie_mss EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty EXPORT_SYMBOL_GPL vmlinux 0x7e9043b8 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7e91529f udp_cmsg_send EXPORT_SYMBOL_GPL vmlinux 0x7e960afb rdev_get_id -EXPORT_SYMBOL_GPL vmlinux 0x7ea19acd cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x7e981069 cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0x7e9d71d5 devlink_flash_update_status_notify EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec6f840 strp_stop EXPORT_SYMBOL_GPL vmlinux 0x7ec814de inet_hashinfo_init -EXPORT_SYMBOL_GPL vmlinux 0x7edf3357 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7ede4687 tun_get_socket EXPORT_SYMBOL_GPL vmlinux 0x7ee75dba umd_cleanup_helper EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async EXPORT_SYMBOL_GPL vmlinux 0x7ef685be events_sysfs_show EXPORT_SYMBOL_GPL vmlinux 0x7ef9eb73 __phy_modify EXPORT_SYMBOL_GPL vmlinux 0x7efbed2d sata_sff_hardreset EXPORT_SYMBOL_GPL vmlinux 0x7efd2a02 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7f102699 tcp_slow_start EXPORT_SYMBOL_GPL vmlinux 0x7f175469 thermal_zone_device_enable EXPORT_SYMBOL_GPL vmlinux 0x7f2002e9 __mnt_drop_write EXPORT_SYMBOL_GPL vmlinux 0x7f2f8a21 iommu_device_sysfs_add @@ -23019,51 +23019,49 @@ EXPORT_SYMBOL_GPL vmlinux 0x7f6cee89 rhashtable_free_and_destroy EXPORT_SYMBOL_GPL vmlinux 0x7f742127 tracing_snapshot_cond_disable EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f8a4edf skb_segment EXPORT_SYMBOL_GPL vmlinux 0x7f919b7a vring_transport_features -EXPORT_SYMBOL_GPL vmlinux 0x7f939240 validate_xmit_skb_list EXPORT_SYMBOL_GPL vmlinux 0x7fa51fe8 driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x7fa7e8be devlink_param_value_changed EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops EXPORT_SYMBOL_GPL vmlinux 0x7fb3316a blk_ksm_update_capabilities EXPORT_SYMBOL_GPL vmlinux 0x7fd2def2 inode_congested EXPORT_SYMBOL_GPL vmlinux 0x7fd8e982 ata_host_alloc_pinfo -EXPORT_SYMBOL_GPL vmlinux 0x7fdd22c0 get_task_pid EXPORT_SYMBOL_GPL vmlinux 0x7fe1e3b4 input_ff_create EXPORT_SYMBOL_GPL vmlinux 0x7fed4729 usb_wakeup_notification EXPORT_SYMBOL_GPL vmlinux 0x8005856e __phy_modify_mmd EXPORT_SYMBOL_GPL vmlinux 0x80077fe5 fsnotify_alloc_group -EXPORT_SYMBOL_GPL vmlinux 0x802148f8 devlink_is_reload_failed -EXPORT_SYMBOL_GPL vmlinux 0x80221f48 xdp_return_frame_rx_napi -EXPORT_SYMBOL_GPL vmlinux 0x8027782c __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x8022a514 init_dummy_netdev EXPORT_SYMBOL_GPL vmlinux 0x802b5646 regulator_get_linear_step EXPORT_SYMBOL_GPL vmlinux 0x802fc14c sysfs_create_mount_point EXPORT_SYMBOL_GPL vmlinux 0x8034b1c6 ata_host_resume EXPORT_SYMBOL_GPL vmlinux 0x8036154a _proc_mkdir -EXPORT_SYMBOL_GPL vmlinux 0x803a4e56 css_next_descendant_pre EXPORT_SYMBOL_GPL vmlinux 0x805667cf devlink_fmsg_u64_put -EXPORT_SYMBOL_GPL vmlinux 0x805f3356 sock_diag_destroy EXPORT_SYMBOL_GPL vmlinux 0x8065e333 pcie_update_link_speed EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude EXPORT_SYMBOL_GPL vmlinux 0x80800cd9 fuse_free_conn EXPORT_SYMBOL_GPL vmlinux 0x808a8088 handle_guest_split_lock EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x8090b281 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x80bcd69e bpf_prog_create EXPORT_SYMBOL_GPL vmlinux 0x80c06e26 usb_find_interface EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d585eb get_net_ns_by_fd EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free -EXPORT_SYMBOL_GPL vmlinux 0x80e982a1 lwtunnel_encap_add_ops EXPORT_SYMBOL_GPL vmlinux 0x81158392 bus_register EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify EXPORT_SYMBOL_GPL vmlinux 0x81221cad amd_nb_num EXPORT_SYMBOL_GPL vmlinux 0x8130deb6 fuse_dev_release EXPORT_SYMBOL_GPL vmlinux 0x813cdf4a __free_iova +EXPORT_SYMBOL_GPL vmlinux 0x814617db __tracepoint_neigh_event_send_dead EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable EXPORT_SYMBOL_GPL vmlinux 0x815d36df hrtimer_init_sleeper EXPORT_SYMBOL_GPL vmlinux 0x815eac9f tty_ldisc_ref EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl EXPORT_SYMBOL_GPL vmlinux 0x81641540 kill_pid_usb_asyncio EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits -EXPORT_SYMBOL_GPL vmlinux 0x816b12ce __tracepoint_neigh_event_send_done EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence EXPORT_SYMBOL_GPL vmlinux 0x819211e3 usb_init_urb EXPORT_SYMBOL_GPL vmlinux 0x819bb50b irq_generic_chip_ops @@ -23077,6 +23075,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x81e705f6 ata_eh_analyze_ncq_error EXPORT_SYMBOL_GPL vmlinux 0x81ef177f clk_hw_is_enabled EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x81ff184e dev_fill_metadata_dst EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings @@ -23086,8 +23085,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain EXPORT_SYMBOL_GPL vmlinux 0x8244e2cc class_find_device EXPORT_SYMBOL_GPL vmlinux 0x824ef716 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x8251e936 devlink_dpipe_entry_ctx_append EXPORT_SYMBOL_GPL vmlinux 0x8253159b driver_create_file -EXPORT_SYMBOL_GPL vmlinux 0x82766119 rtnl_link_register EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog EXPORT_SYMBOL_GPL vmlinux 0x827fe8fb pci_disable_sriov EXPORT_SYMBOL_GPL vmlinux 0x82843440 power_supply_property_is_writeable @@ -23096,10 +23095,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x8297ae27 fscrypt_show_test_dummy_encryption EXPORT_SYMBOL_GPL vmlinux 0x82bb95d5 devm_extcon_dev_register EXPORT_SYMBOL_GPL vmlinux 0x82c83728 rio_lock_device -EXPORT_SYMBOL_GPL vmlinux 0x82cf7add netdev_set_default_ethtool_ops EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure EXPORT_SYMBOL_GPL vmlinux 0x82dd0ac1 lookup_address_in_mm -EXPORT_SYMBOL_GPL vmlinux 0x82f0a2c4 ipv4_sk_redirect EXPORT_SYMBOL_GPL vmlinux 0x82fae411 devm_regulator_register_notifier EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor EXPORT_SYMBOL_GPL vmlinux 0x831b6ffb gpiod_direction_input @@ -23113,11 +23110,12 @@ EXPORT_SYMBOL_GPL vmlinux 0x83469c30 ata_qc_complete_multiple EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem -EXPORT_SYMBOL_GPL vmlinux 0x83701a54 ip6_datagram_connect EXPORT_SYMBOL_GPL vmlinux 0x8393eb3d crypto_grab_aead EXPORT_SYMBOL_GPL vmlinux 0x83a8a041 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x83ad5422 netlink_has_listeners EXPORT_SYMBOL_GPL vmlinux 0x83b108d4 acpi_pci_find_root EXPORT_SYMBOL_GPL vmlinux 0x83c6040d unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x83c994f1 rtnl_af_register EXPORT_SYMBOL_GPL vmlinux 0x83dad8ec rio_request_dma EXPORT_SYMBOL_GPL vmlinux 0x83db203b acpi_get_and_request_gpiod EXPORT_SYMBOL_GPL vmlinux 0x83ea2030 blk_trace_startstop @@ -23126,6 +23124,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x840143a7 bus_remove_file EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv EXPORT_SYMBOL_GPL vmlinux 0x84135ebc synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x8417d70a bpf_trace_run8 EXPORT_SYMBOL_GPL vmlinux 0x8426299c thermal_add_hwmon_sysfs EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs @@ -23141,10 +23140,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x8474e3bf rio_unmap_outb_region EXPORT_SYMBOL_GPL vmlinux 0x847582a0 rio_dma_prep_slave_sg EXPORT_SYMBOL_GPL vmlinux 0x848925c0 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x84aa9e24 raw_unhash_sk EXPORT_SYMBOL_GPL vmlinux 0x84b1463b ata_pci_bmdma_prepare_host EXPORT_SYMBOL_GPL vmlinux 0x84b268cf sn_coherency_id +EXPORT_SYMBOL_GPL vmlinux 0x84bf9a29 inet6_lookup_listener EXPORT_SYMBOL_GPL vmlinux 0x84cae31e dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x84cb6c3a scsi_nl_sock EXPORT_SYMBOL_GPL vmlinux 0x84d1acde __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x84dd4aa1 do_tcp_sendpages EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields EXPORT_SYMBOL_GPL vmlinux 0x84f35f60 skcipher_walk_complete EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate @@ -23156,19 +23159,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x85197486 usb_unlocked_enable_lpm EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate EXPORT_SYMBOL_GPL vmlinux 0x852384af regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x852c16ce sk_set_peek_off EXPORT_SYMBOL_GPL vmlinux 0x853721d1 blk_ksm_register EXPORT_SYMBOL_GPL vmlinux 0x853b40f3 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x853ee00c nf_ipv6_ops EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put EXPORT_SYMBOL_GPL vmlinux 0x855e5bad page_cache_sync_ra EXPORT_SYMBOL_GPL vmlinux 0x85644b0f ata_pci_sff_activate_host EXPORT_SYMBOL_GPL vmlinux 0x85734b4a irq_setup_generic_chip -EXPORT_SYMBOL_GPL vmlinux 0x857546a2 mptcp_get_reset_option EXPORT_SYMBOL_GPL vmlinux 0x857b0897 ata_sff_softreset EXPORT_SYMBOL_GPL vmlinux 0x85847c6c pci_pasid_features EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find EXPORT_SYMBOL_GPL vmlinux 0x858eba0f pinctrl_register EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags EXPORT_SYMBOL_GPL vmlinux 0x859a02ad regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x859c1309 xdp_do_redirect EXPORT_SYMBOL_GPL vmlinux 0x85ab9d73 rio_dev_put EXPORT_SYMBOL_GPL vmlinux 0x85b15444 arch_set_max_freq_ratio EXPORT_SYMBOL_GPL vmlinux 0x85b82183 dev_pm_opp_set_regulators @@ -23179,24 +23184,25 @@ EXPORT_SYMBOL_GPL vmlinux 0x85d16b72 eventfd_ctx_fileget EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq EXPORT_SYMBOL_GPL vmlinux 0x85eed1be iopf_queue_discard_partial -EXPORT_SYMBOL_GPL vmlinux 0x85f8beab xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x85f70334 validate_xmit_skb_list EXPORT_SYMBOL_GPL vmlinux 0x85feb5e6 handle_fasteoi_irq EXPORT_SYMBOL_GPL vmlinux 0x8600a500 pinctrl_select_state EXPORT_SYMBOL_GPL vmlinux 0x860c9c2b sysfs_remove_files -EXPORT_SYMBOL_GPL vmlinux 0x860ef706 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x86148a9a devlink_sb_unregister EXPORT_SYMBOL_GPL vmlinux 0x86169f3e amd_smn_write EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x862ffcf4 ncsi_start_dev EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq -EXPORT_SYMBOL_GPL vmlinux 0x866630eb ipv6_dup_options EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x8673ece5 __xdp_build_skb_from_frame EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier EXPORT_SYMBOL_GPL vmlinux 0x8677f369 pvclock_get_pvti_cpu0_va EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86ae4dc4 xfrm_output EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create -EXPORT_SYMBOL_GPL vmlinux 0x86b974fa register_net_sysctl EXPORT_SYMBOL_GPL vmlinux 0x86c39518 acpi_subsys_suspend EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check EXPORT_SYMBOL_GPL vmlinux 0x86c961b3 __set_dax_synchronous @@ -23204,6 +23210,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue EXPORT_SYMBOL_GPL vmlinux 0x86fcc882 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x8703c44d devlink_port_type_ib_set EXPORT_SYMBOL_GPL vmlinux 0x8704d4a3 blk_ksm_intersect_modes EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared EXPORT_SYMBOL_GPL vmlinux 0x8728eae0 pci_user_read_config_byte @@ -23217,22 +23224,25 @@ EXPORT_SYMBOL_GPL vmlinux 0x875856a5 clk_hw_get_num_parents EXPORT_SYMBOL_GPL vmlinux 0x875a8ea0 sdio_retune_hold_now EXPORT_SYMBOL_GPL vmlinux 0x87641fa7 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x876eff0a ip_valid_fib_dump_req EXPORT_SYMBOL_GPL vmlinux 0x8774ab86 loop_backing_file EXPORT_SYMBOL_GPL vmlinux 0x87a01a32 dev_pm_opp_add EXPORT_SYMBOL_GPL vmlinux 0x87a5d104 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x87a89a54 security_kernel_read_file EXPORT_SYMBOL_GPL vmlinux 0x87bee82e pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x87c769bd __sock_recv_timestamp EXPORT_SYMBOL_GPL vmlinux 0x87c94e44 powercap_unregister_control_type EXPORT_SYMBOL_GPL vmlinux 0x87ce0be2 free_iova EXPORT_SYMBOL_GPL vmlinux 0x87e64181 amd_nb_has_feature EXPORT_SYMBOL_GPL vmlinux 0x87f34e99 disable_kprobe EXPORT_SYMBOL_GPL vmlinux 0x87fd32fc nvdimm_delete EXPORT_SYMBOL_GPL vmlinux 0x880164fa crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x8817f837 __rtnl_link_unregister EXPORT_SYMBOL_GPL vmlinux 0x881e5e66 sched_show_task EXPORT_SYMBOL_GPL vmlinux 0x8822e8e7 gpiod_toggle_active_low EXPORT_SYMBOL_GPL vmlinux 0x88382a8e hwspin_lock_request_specific EXPORT_SYMBOL_GPL vmlinux 0x883be7e2 regulator_get_mode EXPORT_SYMBOL_GPL vmlinux 0x883e4d34 usb_sg_wait -EXPORT_SYMBOL_GPL vmlinux 0x88513e1d unix_inq_len EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit EXPORT_SYMBOL_GPL vmlinux 0x88642ba8 rio_unlock_device EXPORT_SYMBOL_GPL vmlinux 0x8864f617 rio_request_outb_mbox @@ -23244,22 +23254,25 @@ EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp EXPORT_SYMBOL_GPL vmlinux 0x88b54457 __devm_spi_alloc_controller EXPORT_SYMBOL_GPL vmlinux 0x88bce085 usb_free_urb -EXPORT_SYMBOL_GPL vmlinux 0x88ebcb9a devlink_param_publish EXPORT_SYMBOL_GPL vmlinux 0x88f4aca8 rio_route_get_entry EXPORT_SYMBOL_GPL vmlinux 0x8902cbc3 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8908e7a8 inet_unhash EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev -EXPORT_SYMBOL_GPL vmlinux 0x8917631c __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x891a59c6 task_cgroup_path EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x891bb46c __SCK__tp_func_devlink_hwmsg EXPORT_SYMBOL_GPL vmlinux 0x8924618b pci_enable_ats EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state EXPORT_SYMBOL_GPL vmlinux 0x892f9f04 __SCT__tp_func_devlink_hwerr EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put EXPORT_SYMBOL_GPL vmlinux 0x8947a1c7 efivars_register EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x895e241f tcp_unregister_congestion_control EXPORT_SYMBOL_GPL vmlinux 0x89687020 rio_unregister_driver EXPORT_SYMBOL_GPL vmlinux 0x89694f89 devm_gpiod_put_array EXPORT_SYMBOL_GPL vmlinux 0x8986168d pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x89879715 skb_clone_tx_timestamp EXPORT_SYMBOL_GPL vmlinux 0x899a1545 platform_device_alloc EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key EXPORT_SYMBOL_GPL vmlinux 0x89ba4e40 dev_pm_opp_remove_table @@ -23267,7 +23280,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x89bf389c serial8250_clear_and_reinit_fifos EXPORT_SYMBOL_GPL vmlinux 0x89c4ac5c make_device_exclusive_range EXPORT_SYMBOL_GPL vmlinux 0x89d64e6c pci_generic_config_read -EXPORT_SYMBOL_GPL vmlinux 0x89e06631 iptunnel_xmit EXPORT_SYMBOL_GPL vmlinux 0x89e238e5 dev_set_name EXPORT_SYMBOL_GPL vmlinux 0x89e27b14 rio_release_inb_dbell EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd @@ -23284,7 +23296,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x8a48c38b tps6586x_read EXPORT_SYMBOL_GPL vmlinux 0x8a4b9c3b dev_pm_opp_get_required_pstate EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop -EXPORT_SYMBOL_GPL vmlinux 0x8a714b90 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x8a64cec4 tcp_ca_get_key_by_name +EXPORT_SYMBOL_GPL vmlinux 0x8a68466c rtnl_put_cacheinfo EXPORT_SYMBOL_GPL vmlinux 0x8a76c0a7 __tracepoint_arm_event EXPORT_SYMBOL_GPL vmlinux 0x8a7cb9c4 platform_thermal_package_rate_control EXPORT_SYMBOL_GPL vmlinux 0x8a83062a restore_online_page_callback @@ -23295,15 +23308,13 @@ EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files EXPORT_SYMBOL_GPL vmlinux 0x8abf3fb9 dev_pm_opp_get_max_clock_latency EXPORT_SYMBOL_GPL vmlinux 0x8ad5ceb1 __uv_hub_info_list -EXPORT_SYMBOL_GPL vmlinux 0x8ada2c41 devlink_port_type_clear -EXPORT_SYMBOL_GPL vmlinux 0x8adde94b fl6_merge_options EXPORT_SYMBOL_GPL vmlinux 0x8ae2da43 alloc_empty_file +EXPORT_SYMBOL_GPL vmlinux 0x8b01933b inet_twsk_hashdance EXPORT_SYMBOL_GPL vmlinux 0x8b04b249 __rio_local_write_config_16 EXPORT_SYMBOL_GPL vmlinux 0x8b0dc49e dev_attr_sw_activity EXPORT_SYMBOL_GPL vmlinux 0x8b146ea0 usb_deregister_dev EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match EXPORT_SYMBOL_GPL vmlinux 0x8b27e240 ata_sff_wait_ready -EXPORT_SYMBOL_GPL vmlinux 0x8b43b931 inet_unhash EXPORT_SYMBOL_GPL vmlinux 0x8b47ea1d __SCT__tp_func_extlog_mem_event EXPORT_SYMBOL_GPL vmlinux 0x8b5786cd set_online_page_callback EXPORT_SYMBOL_GPL vmlinux 0x8b6ebb04 rio_mport_write_config_16 @@ -23311,27 +23322,29 @@ EXPORT_SYMBOL_GPL vmlinux 0x8b8cc689 enable_kprobe EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address EXPORT_SYMBOL_GPL vmlinux 0x8b95e6a2 __SCT__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8ba32ebe phy_stop_machine EXPORT_SYMBOL_GPL vmlinux 0x8bad9eec iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x8bb7eba6 free_fib_info EXPORT_SYMBOL_GPL vmlinux 0x8bbfbd4a devm_kfree EXPORT_SYMBOL_GPL vmlinux 0x8bc6ed07 __class_register -EXPORT_SYMBOL_GPL vmlinux 0x8bc8647f sk_msg_trim EXPORT_SYMBOL_GPL vmlinux 0x8bcaccfd blk_revalidate_disk_zones EXPORT_SYMBOL_GPL vmlinux 0x8bd712b2 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x8be67c9a devlink_param_publish EXPORT_SYMBOL_GPL vmlinux 0x8be85dbe debugfs_create_atomic_t EXPORT_SYMBOL_GPL vmlinux 0x8be9e450 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x8bf06d44 devlink_rate_nodes_destroy EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue EXPORT_SYMBOL_GPL vmlinux 0x8c04bd93 regulator_is_supported_voltage -EXPORT_SYMBOL_GPL vmlinux 0x8c0923e7 skb_partial_csum_set EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail EXPORT_SYMBOL_GPL vmlinux 0x8c10cd7b debugfs_lookup_and_remove EXPORT_SYMBOL_GPL vmlinux 0x8c15e99b crypto_shash_digest EXPORT_SYMBOL_GPL vmlinux 0x8c1c7353 pm_clk_add_clk EXPORT_SYMBOL_GPL vmlinux 0x8c341c48 current_save_fsgs +EXPORT_SYMBOL_GPL vmlinux 0x8c3a5c6e sk_clear_memalloc EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference EXPORT_SYMBOL_GPL vmlinux 0x8c4fded2 sgx_virt_einit EXPORT_SYMBOL_GPL vmlinux 0x8c5c799d clk_hw_set_parent -EXPORT_SYMBOL_GPL vmlinux 0x8c5c9c1f ip6_redirect EXPORT_SYMBOL_GPL vmlinux 0x8c73e595 blk_clear_pm_only EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off @@ -23349,13 +23362,14 @@ EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key EXPORT_SYMBOL_GPL vmlinux 0x8d38a47b dev_pm_opp_get_max_volt_latency EXPORT_SYMBOL_GPL vmlinux 0x8d46b7e6 fscrypt_set_test_dummy_encryption -EXPORT_SYMBOL_GPL vmlinux 0x8d622032 devlink_rate_leaf_destroy EXPORT_SYMBOL_GPL vmlinux 0x8d6ca045 clk_hw_get_parent_index EXPORT_SYMBOL_GPL vmlinux 0x8d70fa30 rtc_read_alarm EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major EXPORT_SYMBOL_GPL vmlinux 0x8d88ee64 sbitmap_queue_wake_up EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8daffe4c unregister_pernet_subsys EXPORT_SYMBOL_GPL vmlinux 0x8dc39777 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x8dcae543 __netpoll_free EXPORT_SYMBOL_GPL vmlinux 0x8dd218b0 icc_bulk_disable EXPORT_SYMBOL_GPL vmlinux 0x8de47f9e __scsi_init_queue EXPORT_SYMBOL_GPL vmlinux 0x8de6817a acpi_dev_resource_address_space @@ -23364,10 +23378,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x8e02ce4b dm_report_zones EXPORT_SYMBOL_GPL vmlinux 0x8e032b94 bio_add_zone_append_page EXPORT_SYMBOL_GPL vmlinux 0x8e27f4e7 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x8e3a8745 sk_psock_tls_strp_read EXPORT_SYMBOL_GPL vmlinux 0x8e3d911b arch_phys_wc_index EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free -EXPORT_SYMBOL_GPL vmlinux 0x8e69023c __ip6_local_out EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars EXPORT_SYMBOL_GPL vmlinux 0x8e84656b __SCK__tp_func_io_page_fault @@ -23375,27 +23389,25 @@ EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc EXPORT_SYMBOL_GPL vmlinux 0x8e9c117a __tracepoint_sched_update_nr_running_tp EXPORT_SYMBOL_GPL vmlinux 0x8ea749c4 usb_acpi_power_manageable -EXPORT_SYMBOL_GPL vmlinux 0x8ea9650d security_path_symlink EXPORT_SYMBOL_GPL vmlinux 0x8eaa81cc wwan_create_port EXPORT_SYMBOL_GPL vmlinux 0x8eab0d18 regmap_parse_val EXPORT_SYMBOL_GPL vmlinux 0x8ead800c user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x8eb356fa nfs42_ssc_register EXPORT_SYMBOL_GPL vmlinux 0x8edefbab __xenmem_reservation_va_mapping_reset EXPORT_SYMBOL_GPL vmlinux 0x8eed0fa2 sbitmap_get_shallow EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock EXPORT_SYMBOL_GPL vmlinux 0x8eeea5f8 regulator_enable_regmap EXPORT_SYMBOL_GPL vmlinux 0x8ef8a59a gnttab_page_cache_put -EXPORT_SYMBOL_GPL vmlinux 0x8efaa1a8 __traceiter_br_fdb_update EXPORT_SYMBOL_GPL vmlinux 0x8effb505 phy_gbit_features EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp EXPORT_SYMBOL_GPL vmlinux 0x8f188874 dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0x8f275aed inet_ehash_nolisten EXPORT_SYMBOL_GPL vmlinux 0x8f2959a2 regulator_list_hardware_vsel -EXPORT_SYMBOL_GPL vmlinux 0x8f2af2ae __tracepoint_br_fdb_external_learn_add EXPORT_SYMBOL_GPL vmlinux 0x8f2eb429 kvm_arch_para_hints EXPORT_SYMBOL_GPL vmlinux 0x8f3011a2 fuse_dev_fiq_ops EXPORT_SYMBOL_GPL vmlinux 0x8f3b1ba4 sdio_memcpy_fromio EXPORT_SYMBOL_GPL vmlinux 0x8f3ef401 srcu_batches_completed EXPORT_SYMBOL_GPL vmlinux 0x8f432e07 devm_clk_hw_register_fixed_factor -EXPORT_SYMBOL_GPL vmlinux 0x8f69b89c skb_scrub_packet EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative EXPORT_SYMBOL_GPL vmlinux 0x8f6f6e1a fb_deferred_io_init EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype @@ -23410,10 +23422,8 @@ EXPORT_SYMBOL_GPL vmlinux 0x8fb0a314 list_lru_count_one EXPORT_SYMBOL_GPL vmlinux 0x8fb2d4ea watchdog_set_last_hw_keepalive EXPORT_SYMBOL_GPL vmlinux 0x8fb82c75 fsverity_verify_bio -EXPORT_SYMBOL_GPL vmlinux 0x8fb9e216 udp_bpf_update_proto EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group EXPORT_SYMBOL_GPL vmlinux 0x8fd78c2f vma_kernel_pagesize -EXPORT_SYMBOL_GPL vmlinux 0x8fe37919 call_switchdev_blocking_notifiers EXPORT_SYMBOL_GPL vmlinux 0x8ff0c746 mdiobus_modify EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points EXPORT_SYMBOL_GPL vmlinux 0x8ff99a85 __devm_reset_control_get @@ -23425,7 +23435,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x902f6b51 relay_late_setup_files EXPORT_SYMBOL_GPL vmlinux 0x9036f344 file_ra_state_init EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move -EXPORT_SYMBOL_GPL vmlinux 0x90586c58 unregister_pernet_device EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put EXPORT_SYMBOL_GPL vmlinux 0x90717a88 kernfs_put EXPORT_SYMBOL_GPL vmlinux 0x9084b044 clear_page_erms @@ -23436,6 +23445,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes EXPORT_SYMBOL_GPL vmlinux 0x90b5b000 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x90bedba3 nexthop_for_each_fib6_nh EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register EXPORT_SYMBOL_GPL vmlinux 0x90ccca3b crypto_stats_ahash_final EXPORT_SYMBOL_GPL vmlinux 0x90d3fbd8 virtio_break_device @@ -23445,35 +23455,32 @@ EXPORT_SYMBOL_GPL vmlinux 0x9107d224 __SCT__tp_func_arm_event EXPORT_SYMBOL_GPL vmlinux 0x910bdf6b trace_seq_vprintf EXPORT_SYMBOL_GPL vmlinux 0x91112b71 powercap_unregister_zone -EXPORT_SYMBOL_GPL vmlinux 0x911992b1 devlink_port_type_ib_set EXPORT_SYMBOL_GPL vmlinux 0x912b8076 bd_prepare_to_claim EXPORT_SYMBOL_GPL vmlinux 0x912f60c6 iommu_unregister_device_fault_handler EXPORT_SYMBOL_GPL vmlinux 0x913274cb hrtimer_sleeper_start_expires EXPORT_SYMBOL_GPL vmlinux 0x9135310f md_allow_write -EXPORT_SYMBOL_GPL vmlinux 0x91359be3 __xdp_build_skb_from_frame EXPORT_SYMBOL_GPL vmlinux 0x913e3fee acpi_match_device -EXPORT_SYMBOL_GPL vmlinux 0x914aa894 tcp_rate_check_app_limited EXPORT_SYMBOL_GPL vmlinux 0x915e1967 ata_qc_complete EXPORT_SYMBOL_GPL vmlinux 0x917a1297 rio_dev_get EXPORT_SYMBOL_GPL vmlinux 0x917d953b __SCT__tp_func_wbc_writepage EXPORT_SYMBOL_GPL vmlinux 0x9180be83 devm_gpio_request_one EXPORT_SYMBOL_GPL vmlinux 0x9186f4a8 set_secondary_fwnode EXPORT_SYMBOL_GPL vmlinux 0x91883cbb nd_cmd_in_size -EXPORT_SYMBOL_GPL vmlinux 0x91928879 devlink_region_create EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu EXPORT_SYMBOL_GPL vmlinux 0x919be0aa uprobe_register EXPORT_SYMBOL_GPL vmlinux 0x91ad2c4d blk_mq_free_request EXPORT_SYMBOL_GPL vmlinux 0x91ae391d md_bitmap_resize EXPORT_SYMBOL_GPL vmlinux 0x91b1fb44 rio_mport_get_efb -EXPORT_SYMBOL_GPL vmlinux 0x91b22727 ip4_datagram_release_cb EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval EXPORT_SYMBOL_GPL vmlinux 0x91b9a4ba e820__mapped_any -EXPORT_SYMBOL_GPL vmlinux 0x91c1cdd0 __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x91c56325 is_skb_forwardable EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq EXPORT_SYMBOL_GPL vmlinux 0x91c9313c acpi_gpio_get_io_resource EXPORT_SYMBOL_GPL vmlinux 0x91d41dfc vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x91e096e9 security_path_chmod EXPORT_SYMBOL_GPL vmlinux 0x91e20eda evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x91e86cd9 nf_checksum EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean EXPORT_SYMBOL_GPL vmlinux 0x91fdbd43 fat_sync_inode EXPORT_SYMBOL_GPL vmlinux 0x920a8382 rio_mport_initialize @@ -23487,21 +23494,21 @@ EXPORT_SYMBOL_GPL vmlinux 0x922b326a clk_hw_register EXPORT_SYMBOL_GPL vmlinux 0x923e42aa sysfb_disable EXPORT_SYMBOL_GPL vmlinux 0x923edbe0 dax_copy_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x92411d82 nf_queue EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred EXPORT_SYMBOL_GPL vmlinux 0x924224e0 dax_layout_busy_page EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object EXPORT_SYMBOL_GPL vmlinux 0x9253af7f ata_sas_async_probe -EXPORT_SYMBOL_GPL vmlinux 0x92578ecc inet_csk_listen_stop -EXPORT_SYMBOL_GPL vmlinux 0x925c82ae sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x92575109 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x925a446e xfrm_register_translator EXPORT_SYMBOL_GPL vmlinux 0x925dc5b3 gpiochip_relres_irq -EXPORT_SYMBOL_GPL vmlinux 0x926387eb __SCK__tp_func_br_fdb_add EXPORT_SYMBOL_GPL vmlinux 0x92656c36 perf_aux_output_skip EXPORT_SYMBOL_GPL vmlinux 0x9285ab8a devm_rtc_device_register -EXPORT_SYMBOL_GPL vmlinux 0x928a0c77 devlink_params_register EXPORT_SYMBOL_GPL vmlinux 0x928bceda pwm_capture EXPORT_SYMBOL_GPL vmlinux 0x92920337 __traceiter_block_bio_remap EXPORT_SYMBOL_GPL vmlinux 0x92a09ed4 edac_device_add_device EXPORT_SYMBOL_GPL vmlinux 0x92a92767 devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x92ae0325 devlink_port_attrs_pci_vf_set EXPORT_SYMBOL_GPL vmlinux 0x92b8c78b hyperv_pcpu_output_arg EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read @@ -23514,27 +23521,24 @@ EXPORT_SYMBOL_GPL vmlinux 0x9337c588 tty_buffer_set_limit EXPORT_SYMBOL_GPL vmlinux 0x933bf4a6 iommu_dev_disable_feature EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs -EXPORT_SYMBOL_GPL vmlinux 0x9340aa42 raw_seq_start -EXPORT_SYMBOL_GPL vmlinux 0x9345ef4c devlink_sb_unregister EXPORT_SYMBOL_GPL vmlinux 0x93466549 pci_epf_remove_vepf -EXPORT_SYMBOL_GPL vmlinux 0x93475dea devlink_resource_register EXPORT_SYMBOL_GPL vmlinux 0x935596a3 report_iommu_fault EXPORT_SYMBOL_GPL vmlinux 0x9365cfaf dw_pcie_find_ext_capability EXPORT_SYMBOL_GPL vmlinux 0x936e185c mmc_get_ext_csd -EXPORT_SYMBOL_GPL vmlinux 0x939369ba rtnl_af_unregister EXPORT_SYMBOL_GPL vmlinux 0x9394c77c cpufreq_generic_init EXPORT_SYMBOL_GPL vmlinux 0x939c0d24 gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x93a39358 sock_map_close EXPORT_SYMBOL_GPL vmlinux 0x93ad1f08 debugfs_create_x32 -EXPORT_SYMBOL_GPL vmlinux 0x93c75c69 ip6_route_input_lookup EXPORT_SYMBOL_GPL vmlinux 0x93c7edeb usb_find_common_endpoints EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references EXPORT_SYMBOL_GPL vmlinux 0x93dc2586 pgprot_writethrough -EXPORT_SYMBOL_GPL vmlinux 0x93e6d245 __traceiter_tcp_bad_csum EXPORT_SYMBOL_GPL vmlinux 0x93e702b2 spi_mem_poll_status EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report EXPORT_SYMBOL_GPL vmlinux 0x93f46809 regmap_get_raw_read_max EXPORT_SYMBOL_GPL vmlinux 0x93f55fe0 power_supply_batinfo_ocv2cap EXPORT_SYMBOL_GPL vmlinux 0x93f726fb ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x94059e45 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x94063cb5 skb_mpls_update_lse EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate EXPORT_SYMBOL_GPL vmlinux 0x941cb8b8 blkcg_print_blkgs EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put @@ -23554,7 +23558,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x94808f57 i2c_acpi_find_adapter_by_handle EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu -EXPORT_SYMBOL_GPL vmlinux 0x94bfa57c rtnl_af_register EXPORT_SYMBOL_GPL vmlinux 0x94c0dafa regmap_add_irq_chip_fwnode EXPORT_SYMBOL_GPL vmlinux 0x94c27219 usb_enable_autosuspend EXPORT_SYMBOL_GPL vmlinux 0x94ca8e00 blkg_lookup_slowpath @@ -23567,6 +23570,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x95181e1d pci_reset_function_locked EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x95285152 ping_get_port EXPORT_SYMBOL_GPL vmlinux 0x952bbc53 kernfs_notify EXPORT_SYMBOL_GPL vmlinux 0x952e567a phy_validate EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds @@ -23580,6 +23584,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init EXPORT_SYMBOL_GPL vmlinux 0x958aed0b acpi_subsys_restore_early EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x95915cfc mptcp_pm_get_add_addr_accept_max EXPORT_SYMBOL_GPL vmlinux 0x9591720e rio_request_inb_dbell EXPORT_SYMBOL_GPL vmlinux 0x95930a99 bd_link_disk_holder EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export @@ -23593,10 +23598,10 @@ EXPORT_SYMBOL_GPL vmlinux 0x960b9630 devm_platform_get_irqs_affinity EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu EXPORT_SYMBOL_GPL vmlinux 0x9615b005 hv_map_ioapic_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x961ee32b __ndisc_fill_addr_option EXPORT_SYMBOL_GPL vmlinux 0x9620390e decrypt_blob EXPORT_SYMBOL_GPL vmlinux 0x9621d738 alarm_start_relative EXPORT_SYMBOL_GPL vmlinux 0x962523b1 kobj_sysfs_ops -EXPORT_SYMBOL_GPL vmlinux 0x96261993 xdp_master_redirect EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs EXPORT_SYMBOL_GPL vmlinux 0x96334273 __reset_control_bulk_get EXPORT_SYMBOL_GPL vmlinux 0x963ca606 synth_event_add_next_val @@ -23609,12 +23614,11 @@ EXPORT_SYMBOL_GPL vmlinux 0x967e59b1 __SCK__tp_func_non_standard_event EXPORT_SYMBOL_GPL vmlinux 0x9688b217 gnttab_batch_copy EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin -EXPORT_SYMBOL_GPL vmlinux 0x96943c5d nfnl_ct_hook EXPORT_SYMBOL_GPL vmlinux 0x9695a455 crypto_ahash_digest EXPORT_SYMBOL_GPL vmlinux 0x9699d9fa debugfs_rename EXPORT_SYMBOL_GPL vmlinux 0x969b4980 xen_remap_pfn EXPORT_SYMBOL_GPL vmlinux 0x96ae3421 icc_link_create -EXPORT_SYMBOL_GPL vmlinux 0x96b8a34a net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x96c14177 skb_send_sock_locked EXPORT_SYMBOL_GPL vmlinux 0x96c8fcf7 devres_release EXPORT_SYMBOL_GPL vmlinux 0x96ca2b20 class_dev_iter_init EXPORT_SYMBOL_GPL vmlinux 0x96e9fae2 paste_selection @@ -23627,7 +23631,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x97313c67 da903x_read EXPORT_SYMBOL_GPL vmlinux 0x97316c41 power_supply_unregister EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same -EXPORT_SYMBOL_GPL vmlinux 0x9756150e __tracepoint_fdb_delete EXPORT_SYMBOL_GPL vmlinux 0x97623558 xas_create_range EXPORT_SYMBOL_GPL vmlinux 0x976606c0 crypto_hash_walk_first EXPORT_SYMBOL_GPL vmlinux 0x9773612c devm_remove_action @@ -23635,7 +23638,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x977f2c41 pci_hp_remove_module_link EXPORT_SYMBOL_GPL vmlinux 0x97998659 pm_generic_freeze_late EXPORT_SYMBOL_GPL vmlinux 0x97ca220c virtqueue_get_vring -EXPORT_SYMBOL_GPL vmlinux 0x97cff1de fib_rules_register EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent EXPORT_SYMBOL_GPL vmlinux 0x97f7ed30 crypto_shash_update EXPORT_SYMBOL_GPL vmlinux 0x98015af7 bus_set_iommu @@ -23648,28 +23650,30 @@ EXPORT_SYMBOL_GPL vmlinux 0x985889e5 set_capacity_and_notify EXPORT_SYMBOL_GPL vmlinux 0x985ec0d4 __vfs_setxattr_noperm EXPORT_SYMBOL_GPL vmlinux 0x9860acb0 regulator_get_voltage_sel_pickable_regmap -EXPORT_SYMBOL_GPL vmlinux 0x9875a5a1 devlink_param_unpublish EXPORT_SYMBOL_GPL vmlinux 0x987817b4 alarmtimer_get_rtcdev EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier EXPORT_SYMBOL_GPL vmlinux 0x987e53f5 pci_epc_get_features EXPORT_SYMBOL_GPL vmlinux 0x988a1595 led_trigger_set_default EXPORT_SYMBOL_GPL vmlinux 0x988a1a00 sn_region_size EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x9897bebc ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x98a9f607 dst_blackhole_redirect EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs EXPORT_SYMBOL_GPL vmlinux 0x98bba89f vring_del_virtqueue EXPORT_SYMBOL_GPL vmlinux 0x98bfd0ad thermal_remove_hwmon_sysfs EXPORT_SYMBOL_GPL vmlinux 0x98c1081d extcon_dev_register EXPORT_SYMBOL_GPL vmlinux 0x98da988c mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x98e44cdc devlink_flash_update_timeout_notify EXPORT_SYMBOL_GPL vmlinux 0x98ea4acd pci_user_read_config_word EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu EXPORT_SYMBOL_GPL vmlinux 0x98f4d306 hyperv_flush_guest_mapping EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x990e4ea5 security_inode_permission EXPORT_SYMBOL_GPL vmlinux 0x99136eb4 of_devfreq_cooling_register EXPORT_SYMBOL_GPL vmlinux 0x9918be98 pm_runtime_no_callbacks EXPORT_SYMBOL_GPL vmlinux 0x9930f8a3 uv_bios_change_memprotect EXPORT_SYMBOL_GPL vmlinux 0x99430ba2 acpi_get_phys_id EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on -EXPORT_SYMBOL_GPL vmlinux 0x99641ddc __traceiter_neigh_timer_handler EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg EXPORT_SYMBOL_GPL vmlinux 0x996b39d0 irq_gc_mask_set_bit EXPORT_SYMBOL_GPL vmlinux 0x99707cd0 pm_wakeup_ws_event @@ -23690,9 +23694,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x9a273287 dma_free_pages EXPORT_SYMBOL_GPL vmlinux 0x9a3e9193 bpf_map_inc_not_zero EXPORT_SYMBOL_GPL vmlinux 0x9a3ea1e6 pci_epf_unregister_driver -EXPORT_SYMBOL_GPL vmlinux 0x9a44109d __udp_enqueue_schedule_skb EXPORT_SYMBOL_GPL vmlinux 0x9a4981d4 virtio_config_changed EXPORT_SYMBOL_GPL vmlinux 0x9a4ff82d debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9a5804b1 mptcp_get_reset_option EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq EXPORT_SYMBOL_GPL vmlinux 0x9a5dce5c rhashtable_walk_start_check EXPORT_SYMBOL_GPL vmlinux 0x9a661fdf gpiod_get_array_value_cansleep @@ -23702,15 +23706,16 @@ EXPORT_SYMBOL_GPL vmlinux 0x9aaf5a14 ohci_setup EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops EXPORT_SYMBOL_GPL vmlinux 0x9ad12946 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x9adca3b7 bpf_trace_run12 EXPORT_SYMBOL_GPL vmlinux 0x9ae2f10e apei_get_debugfs_dir EXPORT_SYMBOL_GPL vmlinux 0x9ae7bc95 mbox_client_peek_data EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty -EXPORT_SYMBOL_GPL vmlinux 0x9aecf991 inet_csk_listen_start EXPORT_SYMBOL_GPL vmlinux 0x9af49514 icc_bulk_set_bw EXPORT_SYMBOL_GPL vmlinux 0x9b0012ab pci_find_next_ext_capability EXPORT_SYMBOL_GPL vmlinux 0x9b04367a pm_runtime_set_autosuspend_delay EXPORT_SYMBOL_GPL vmlinux 0x9b07347f sata_link_debounce EXPORT_SYMBOL_GPL vmlinux 0x9b0737f2 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x9b278ed9 raw_abort EXPORT_SYMBOL_GPL vmlinux 0x9b2d6d5c is_nvdimm_sync EXPORT_SYMBOL_GPL vmlinux 0x9b2ff5e6 crypto_spawn_tfm2 EXPORT_SYMBOL_GPL vmlinux 0x9b38a3a7 phy_exit @@ -23725,6 +23730,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config EXPORT_SYMBOL_GPL vmlinux 0x9b931a11 fat_search_long EXPORT_SYMBOL_GPL vmlinux 0x9b94c42d __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x9b951ebc fib_rules_unregister EXPORT_SYMBOL_GPL vmlinux 0x9b9f3648 pcibios_scan_specific_bus EXPORT_SYMBOL_GPL vmlinux 0x9ba0bf9a replace_page_cache_page EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array @@ -23737,19 +23743,19 @@ EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui EXPORT_SYMBOL_GPL vmlinux 0x9bef1c9b crypto_unregister_templates EXPORT_SYMBOL_GPL vmlinux 0x9c306bbb component_add_typed -EXPORT_SYMBOL_GPL vmlinux 0x9c487eb4 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x9c3437f1 ping_seq_start EXPORT_SYMBOL_GPL vmlinux 0x9c56a43d serdev_controller_remove -EXPORT_SYMBOL_GPL vmlinux 0x9c6d60ca ip_fib_metrics_init EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var EXPORT_SYMBOL_GPL vmlinux 0x9c79ada7 ata_acpi_gtm -EXPORT_SYMBOL_GPL vmlinux 0x9c7e49fe rtnl_register_module EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c86bef5 xfrm_audit_policy_add EXPORT_SYMBOL_GPL vmlinux 0x9c8a6083 device_get_next_child_node EXPORT_SYMBOL_GPL vmlinux 0x9ca00f65 i2c_get_device_id EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled EXPORT_SYMBOL_GPL vmlinux 0x9cb0b1de blk_mq_unquiesce_queue EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier EXPORT_SYMBOL_GPL vmlinux 0x9cc84180 free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ccf52b5 tcpv6_prot EXPORT_SYMBOL_GPL vmlinux 0x9cd7551a rhashtable_walk_stop EXPORT_SYMBOL_GPL vmlinux 0x9cdd854e wm831x_device_shutdown EXPORT_SYMBOL_GPL vmlinux 0x9cde87e3 pci_dev_trylock @@ -23768,9 +23774,9 @@ EXPORT_SYMBOL_GPL vmlinux 0x9d324ace devm_gpio_free EXPORT_SYMBOL_GPL vmlinux 0x9d42436e uhci_reset_hc EXPORT_SYMBOL_GPL vmlinux 0x9d4894c8 x2apic_mode -EXPORT_SYMBOL_GPL vmlinux 0x9d578a09 inet6_sk_rebuild_header EXPORT_SYMBOL_GPL vmlinux 0x9d59b0eb irq_domain_translate_twocell -EXPORT_SYMBOL_GPL vmlinux 0x9d68feb7 __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9d63f3e4 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x9d65dd18 bpf_trace_run11 EXPORT_SYMBOL_GPL vmlinux 0x9d6bfb14 dma_vmap_noncontiguous EXPORT_SYMBOL_GPL vmlinux 0x9d6c1f3a iomap_is_partially_uptodate EXPORT_SYMBOL_GPL vmlinux 0x9d7af2da gpiochip_line_is_irq @@ -23784,23 +23790,27 @@ EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps EXPORT_SYMBOL_GPL vmlinux 0x9e03848f kernel_kobj EXPORT_SYMBOL_GPL vmlinux 0x9e19ead3 devm_platform_ioremap_resource -EXPORT_SYMBOL_GPL vmlinux 0x9e4104e9 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x9e388206 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x9e40a3b5 __SCK__tp_func_br_fdb_external_learn_add EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field EXPORT_SYMBOL_GPL vmlinux 0x9e523753 tracepoint_srcu EXPORT_SYMBOL_GPL vmlinux 0x9e628ac3 shmem_zero_setup EXPORT_SYMBOL_GPL vmlinux 0x9e80d790 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x9e857c09 mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x9e85db58 strp_init +EXPORT_SYMBOL_GPL vmlinux 0x9e8c6a6a switchdev_handle_port_obj_add EXPORT_SYMBOL_GPL vmlinux 0x9e93b890 fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x9ea69e39 sock_diag_register_inet_compat EXPORT_SYMBOL_GPL vmlinux 0x9eac3182 device_set_wakeup_enable EXPORT_SYMBOL_GPL vmlinux 0x9eaee559 i2c_for_each_dev EXPORT_SYMBOL_GPL vmlinux 0x9eb307bb node_to_amd_nb EXPORT_SYMBOL_GPL vmlinux 0x9ebb224a tty_ldisc_deref EXPORT_SYMBOL_GPL vmlinux 0x9ecd961a uart_xchar_out EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier -EXPORT_SYMBOL_GPL vmlinux 0x9ed7c73c __SCK__tp_func_devlink_hwerr EXPORT_SYMBOL_GPL vmlinux 0x9ee80c05 sdio_claim_host EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9ef07d70 call_switchdev_notifiers EXPORT_SYMBOL_GPL vmlinux 0x9ef0975c dma_alloc_noncontiguous -EXPORT_SYMBOL_GPL vmlinux 0x9f0c3b69 ipv6_stub EXPORT_SYMBOL_GPL vmlinux 0x9f0f2356 trace_event_reg EXPORT_SYMBOL_GPL vmlinux 0x9f16814c firmware_request_cache EXPORT_SYMBOL_GPL vmlinux 0x9f1ea4e5 regulator_bulk_register_supply_alias @@ -23811,7 +23821,6 @@ EXPORT_SYMBOL_GPL vmlinux 0x9f48b52a linear_hugepage_index EXPORT_SYMBOL_GPL vmlinux 0x9f4c4aa0 spi_delay_to_ns EXPORT_SYMBOL_GPL vmlinux 0x9f4cebf5 fscrypt_file_open -EXPORT_SYMBOL_GPL vmlinux 0x9f54fdfc mptcp_pm_get_local_addr_max EXPORT_SYMBOL_GPL vmlinux 0x9f5659c4 wait_on_page_writeback EXPORT_SYMBOL_GPL vmlinux 0x9f57bc8d fuse_dev_install EXPORT_SYMBOL_GPL vmlinux 0x9f5a878f usb_driver_claim_interface @@ -23826,9 +23835,7 @@ EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm EXPORT_SYMBOL_GPL vmlinux 0x9feac83f icc_link_destroy -EXPORT_SYMBOL_GPL vmlinux 0x9ff76e3f devlink_flash_update_status_notify EXPORT_SYMBOL_GPL vmlinux 0x9fff1133 virtio_device_freeze -EXPORT_SYMBOL_GPL vmlinux 0xa0014bfa tcp_slow_start EXPORT_SYMBOL_GPL vmlinux 0xa002dcdb ata_pci_sff_init_host EXPORT_SYMBOL_GPL vmlinux 0xa00624b5 srcu_notifier_call_chain EXPORT_SYMBOL_GPL vmlinux 0xa0188400 usb_asmedia_modifyflowcontrol @@ -23843,6 +23850,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xa07f4b22 battery_hook_unregister EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async EXPORT_SYMBOL_GPL vmlinux 0xa08650ef dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xa08a70e2 msg_zerocopy_realloc EXPORT_SYMBOL_GPL vmlinux 0xa090478a arch_has_restricted_virtio_memory_access EXPORT_SYMBOL_GPL vmlinux 0xa09fefb2 usb_block_urb EXPORT_SYMBOL_GPL vmlinux 0xa0b422b4 edac_pci_release_generic_ctl @@ -23852,15 +23860,14 @@ EXPORT_SYMBOL_GPL vmlinux 0xa0c3554c vp_modern_map_vq_notify EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages EXPORT_SYMBOL_GPL vmlinux 0xa0d81b76 __SCT__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xa0d9a128 raw_hash_sk EXPORT_SYMBOL_GPL vmlinux 0xa0e671d8 __SCT__tp_func_sched_update_nr_running_tp -EXPORT_SYMBOL_GPL vmlinux 0xa0efcae3 security_path_rmdir EXPORT_SYMBOL_GPL vmlinux 0xa0f27235 dma_buf_detach EXPORT_SYMBOL_GPL vmlinux 0xa102e7db blkcg_deactivate_policy EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type EXPORT_SYMBOL_GPL vmlinux 0xa137e7fd follow_pte EXPORT_SYMBOL_GPL vmlinux 0xa14cdaf3 sdio_align_size EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end -EXPORT_SYMBOL_GPL vmlinux 0xa15f86df __traceiter_tcp_send_reset EXPORT_SYMBOL_GPL vmlinux 0xa15f90a1 handle_level_irq EXPORT_SYMBOL_GPL vmlinux 0xa1691b63 xas_find_marked EXPORT_SYMBOL_GPL vmlinux 0xa1698dfd device_link_add @@ -23871,14 +23878,16 @@ EXPORT_SYMBOL_GPL vmlinux 0xa17c44aa blkg_rwstat_recursive_sum EXPORT_SYMBOL_GPL vmlinux 0xa17ffc30 trace_array_printk EXPORT_SYMBOL_GPL vmlinux 0xa1836884 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0xa183a40c nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0xa185c5fc devlink_dpipe_headers_unregister EXPORT_SYMBOL_GPL vmlinux 0xa1a0599c virtio_max_dma_size EXPORT_SYMBOL_GPL vmlinux 0xa1a8367c disk_uevent EXPORT_SYMBOL_GPL vmlinux 0xa1a97623 start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xa1b7cc03 skb_mpls_dec_ttl EXPORT_SYMBOL_GPL vmlinux 0xa1c38da1 devm_regmap_field_alloc EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing EXPORT_SYMBOL_GPL vmlinux 0xa1ed05b7 spi_slave_abort EXPORT_SYMBOL_GPL vmlinux 0xa20438ed serial8250_do_set_ldisc -EXPORT_SYMBOL_GPL vmlinux 0xa205b506 kobject_uevent EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk EXPORT_SYMBOL_GPL vmlinux 0xa21751a5 alloc_page_buffers EXPORT_SYMBOL_GPL vmlinux 0xa21908ff serdev_device_write_buf @@ -23889,7 +23898,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xa251318f rio_register_scan EXPORT_SYMBOL_GPL vmlinux 0xa2666a95 device_remove_bin_file EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested -EXPORT_SYMBOL_GPL vmlinux 0xa26f75d0 __rtnl_link_unregister EXPORT_SYMBOL_GPL vmlinux 0xa284514d iommu_aux_detach_device EXPORT_SYMBOL_GPL vmlinux 0xa29e75eb da9052_free_irq EXPORT_SYMBOL_GPL vmlinux 0xa2a659e7 crypto_alloc_kpp @@ -23898,34 +23906,34 @@ EXPORT_SYMBOL_GPL vmlinux 0xa2af6055 crypto_unregister_aeads EXPORT_SYMBOL_GPL vmlinux 0xa2b64e1a __fput_sync EXPORT_SYMBOL_GPL vmlinux 0xa2b99209 alarm_start -EXPORT_SYMBOL_GPL vmlinux 0xa2ca28ea devlink_region_snapshot_id_put EXPORT_SYMBOL_GPL vmlinux 0xa2d0b59d mmio_stale_data_clear +EXPORT_SYMBOL_GPL vmlinux 0xa2d2bcb4 devlink_is_reload_failed EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers EXPORT_SYMBOL_GPL vmlinux 0xa2e973e7 dma_async_device_channel_register -EXPORT_SYMBOL_GPL vmlinux 0xa2ed6001 __SCK__tp_func_br_fdb_update EXPORT_SYMBOL_GPL vmlinux 0xa2f4555d pci_generic_config_read32 EXPORT_SYMBOL_GPL vmlinux 0xa2f49b87 md_find_rdev_rcu EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported EXPORT_SYMBOL_GPL vmlinux 0xa30d7888 tpm_get_timeouts EXPORT_SYMBOL_GPL vmlinux 0xa3112a30 ata_pci_bmdma_init_one EXPORT_SYMBOL_GPL vmlinux 0xa3114558 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xa3180356 sk_msg_free_partial EXPORT_SYMBOL_GPL vmlinux 0xa3244beb irq_chip_get_parent_state EXPORT_SYMBOL_GPL vmlinux 0xa325ed14 acpi_dev_get_dma_resources EXPORT_SYMBOL_GPL vmlinux 0xa328d388 rio_release_inb_mbox -EXPORT_SYMBOL_GPL vmlinux 0xa32dd0cc ipv4_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0xa32e42f6 dax_iomap_fault EXPORT_SYMBOL_GPL vmlinux 0xa33f3b52 __bio_add_page EXPORT_SYMBOL_GPL vmlinux 0xa3442ff0 edac_mc_del_mc EXPORT_SYMBOL_GPL vmlinux 0xa353aff9 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa358e30d fib4_rule_default EXPORT_SYMBOL_GPL vmlinux 0xa3591529 hwmon_device_register EXPORT_SYMBOL_GPL vmlinux 0xa36c40a1 wm831x_auxadc_read_uv EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted -EXPORT_SYMBOL_GPL vmlinux 0xa3784cac __tracepoint_tcp_bad_csum EXPORT_SYMBOL_GPL vmlinux 0xa37d25d2 devm_acpi_dma_controller_register EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue EXPORT_SYMBOL_GPL vmlinux 0xa387e048 pci_vpd_alloc EXPORT_SYMBOL_GPL vmlinux 0xa389a49a profile_event_register EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38f862c skb_complete_tx_timestamp EXPORT_SYMBOL_GPL vmlinux 0xa3914c67 intel_pinctrl_probe_by_uid EXPORT_SYMBOL_GPL vmlinux 0xa3930a0a devm_ioremap_uc EXPORT_SYMBOL_GPL vmlinux 0xa3967b56 pci_device_group @@ -23938,7 +23946,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xa3e17bd3 devm_devfreq_event_remove_edev EXPORT_SYMBOL_GPL vmlinux 0xa3e37fb9 __page_file_index EXPORT_SYMBOL_GPL vmlinux 0xa3ead297 ata_ehi_clear_desc -EXPORT_SYMBOL_GPL vmlinux 0xa3ecd464 skb_cow_data EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor EXPORT_SYMBOL_GPL vmlinux 0xa3f61f6f dm_internal_suspend_noflush @@ -23947,12 +23954,11 @@ EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port EXPORT_SYMBOL_GPL vmlinux 0xa40e005b devm_pinctrl_register_and_init EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy -EXPORT_SYMBOL_GPL vmlinux 0xa416aad9 udp_cmsg_send EXPORT_SYMBOL_GPL vmlinux 0xa4228c48 bio_start_io_acct -EXPORT_SYMBOL_GPL vmlinux 0xa43230fe nfs_ssc_client_tbl EXPORT_SYMBOL_GPL vmlinux 0xa4379224 devm_nvmem_device_put EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first EXPORT_SYMBOL_GPL vmlinux 0xa44bc971 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xa450d3bd __traceiter_devlink_hwmsg EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print @@ -23992,10 +23998,10 @@ EXPORT_SYMBOL_GPL vmlinux 0xa5b81119 kstrdup_quotable_cmdline EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported EXPORT_SYMBOL_GPL vmlinux 0xa5cfdfb0 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa5d2f459 skb_gso_validate_network_len EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name EXPORT_SYMBOL_GPL vmlinux 0xa5e5de87 mmc_crypto_setup_queue EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full -EXPORT_SYMBOL_GPL vmlinux 0xa600d77d msg_zerocopy_realloc EXPORT_SYMBOL_GPL vmlinux 0xa620d377 regulator_desc_list_voltage_linear_range EXPORT_SYMBOL_GPL vmlinux 0xa623fae4 fuse_simple_background EXPORT_SYMBOL_GPL vmlinux 0xa63abdd9 crypto_stats_aead_decrypt @@ -24003,6 +24009,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xa64dc24c __SCK__tp_func_block_split EXPORT_SYMBOL_GPL vmlinux 0xa68bdef9 __srcu_read_unlock EXPORT_SYMBOL_GPL vmlinux 0xa691ff29 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xa694cbd3 unix_peer_get EXPORT_SYMBOL_GPL vmlinux 0xa6a088b7 fscrypt_match_name EXPORT_SYMBOL_GPL vmlinux 0xa6a6c613 blk_bio_list_merge EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work @@ -24010,7 +24017,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xa6b43df9 ata_scsi_queuecmd EXPORT_SYMBOL_GPL vmlinux 0xa6b4ed9a dma_vunmap_noncontiguous EXPORT_SYMBOL_GPL vmlinux 0xa6b5229f regulator_get_current_limit -EXPORT_SYMBOL_GPL vmlinux 0xa6b5d73f __udp_gso_segment EXPORT_SYMBOL_GPL vmlinux 0xa6b85a02 pci_assign_unassigned_bus_resources EXPORT_SYMBOL_GPL vmlinux 0xa6d0130d platform_device_add EXPORT_SYMBOL_GPL vmlinux 0xa6d5845e pci_cfg_access_lock @@ -24022,57 +24028,55 @@ EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu EXPORT_SYMBOL_GPL vmlinux 0xa7127da7 mce_unregister_injector_chain EXPORT_SYMBOL_GPL vmlinux 0xa7218eba irq_set_affinity -EXPORT_SYMBOL_GPL vmlinux 0xa7273257 tcp_leave_memory_pressure EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock -EXPORT_SYMBOL_GPL vmlinux 0xa74a7df6 devlink_port_attrs_pci_pf_set EXPORT_SYMBOL_GPL vmlinux 0xa76870ac badblocks_show EXPORT_SYMBOL_GPL vmlinux 0xa77c4eae pci_bus_resource_n EXPORT_SYMBOL_GPL vmlinux 0xa7835493 sdio_set_block_size -EXPORT_SYMBOL_GPL vmlinux 0xa78f9cbc bpf_trace_run3 EXPORT_SYMBOL_GPL vmlinux 0xa79b04b7 devm_of_phy_provider_unregister EXPORT_SYMBOL_GPL vmlinux 0xa7a3f4f8 __SCK__tp_func_sched_util_est_cfs_tp EXPORT_SYMBOL_GPL vmlinux 0xa7a5270e ata_ncq_sdev_attrs -EXPORT_SYMBOL_GPL vmlinux 0xa7a88c01 __fib_lookup EXPORT_SYMBOL_GPL vmlinux 0xa7b30b66 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xa7b9b3c0 __traceiter_neigh_event_send_done EXPORT_SYMBOL_GPL vmlinux 0xa7cba284 housekeeping_any_cpu EXPORT_SYMBOL_GPL vmlinux 0xa7cda966 scsi_autopm_put_device EXPORT_SYMBOL_GPL vmlinux 0xa7de2643 shash_free_singlespawn_instance -EXPORT_SYMBOL_GPL vmlinux 0xa7debe53 net_ns_get_ownership -EXPORT_SYMBOL_GPL vmlinux 0xa7e1c2fb netdev_walk_all_lower_dev EXPORT_SYMBOL_GPL vmlinux 0xa7e26fd5 acpi_dev_remove_driver_gpios EXPORT_SYMBOL_GPL vmlinux 0xa8017e1d fwnode_get_next_child_node EXPORT_SYMBOL_GPL vmlinux 0xa80c91c7 dev_pm_opp_attach_genpd EXPORT_SYMBOL_GPL vmlinux 0xa80f81d3 devm_mbox_controller_register EXPORT_SYMBOL_GPL vmlinux 0xa81506ee iomap_seek_hole EXPORT_SYMBOL_GPL vmlinux 0xa8301e4d tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xa839aae8 tcp_abort EXPORT_SYMBOL_GPL vmlinux 0xa84cc415 cdrom_multisession EXPORT_SYMBOL_GPL vmlinux 0xa84e1df6 crypto_register_scomps EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain -EXPORT_SYMBOL_GPL vmlinux 0xa859c5a3 dev_fill_metadata_dst EXPORT_SYMBOL_GPL vmlinux 0xa863759c pm_generic_suspend_late -EXPORT_SYMBOL_GPL vmlinux 0xa8792bd7 devlink_dpipe_entry_ctx_close EXPORT_SYMBOL_GPL vmlinux 0xa886b96a fwnode_handle_get EXPORT_SYMBOL_GPL vmlinux 0xa88ab93c class_interface_unregister EXPORT_SYMBOL_GPL vmlinux 0xa88c312f pci_bus_max_busnr EXPORT_SYMBOL_GPL vmlinux 0xa8b2db8f __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0xa8b68369 ip6_local_out EXPORT_SYMBOL_GPL vmlinux 0xa8c6ca65 usb_add_phy_dev -EXPORT_SYMBOL_GPL vmlinux 0xa8d2978e __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xa8c6d28e switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xa8da47a1 __inet_twsk_schedule EXPORT_SYMBOL_GPL vmlinux 0xa8e8b5c7 crypto_alloc_acomp EXPORT_SYMBOL_GPL vmlinux 0xa8f072e6 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xa8f2fbd6 fib_rule_matchall EXPORT_SYMBOL_GPL vmlinux 0xa8fb2ab1 vfio_pci_core_finish_enable EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit -EXPORT_SYMBOL_GPL vmlinux 0xa91bffb4 ping_hash EXPORT_SYMBOL_GPL vmlinux 0xa9316e86 account_locked_vm EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds EXPORT_SYMBOL_GPL vmlinux 0xa94270b7 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xa952c045 register_pernet_device EXPORT_SYMBOL_GPL vmlinux 0xa9582c98 cpufreq_enable_fast_switch EXPORT_SYMBOL_GPL vmlinux 0xa959ddc2 dev_pm_opp_get_suspend_opp_freq EXPORT_SYMBOL_GPL vmlinux 0xa96e8b4e hv_setup_vmbus_handler EXPORT_SYMBOL_GPL vmlinux 0xa971e873 iommu_aux_attach_device EXPORT_SYMBOL_GPL vmlinux 0xa978c48e devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xa9806440 __netdev_watchdog_up EXPORT_SYMBOL_GPL vmlinux 0xa9854364 umc_normaddr_to_sysaddr -EXPORT_SYMBOL_GPL vmlinux 0xa995bbe8 get_net_ns_by_pid EXPORT_SYMBOL_GPL vmlinux 0xa9989c62 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0xa99a2e4a devlink_net EXPORT_SYMBOL_GPL vmlinux 0xa99aa9c3 devm_rtc_nvmem_register EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put EXPORT_SYMBOL_GPL vmlinux 0xa9b8f5d9 fsverity_verify_page @@ -24080,18 +24084,18 @@ EXPORT_SYMBOL_GPL vmlinux 0xa9b9df3f led_set_brightness_nopm EXPORT_SYMBOL_GPL vmlinux 0xa9bec716 nd_blk_region_set_provider_data EXPORT_SYMBOL_GPL vmlinux 0xa9d6e8c6 acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0xa9d834a9 skb_zerocopy_iter_stream EXPORT_SYMBOL_GPL vmlinux 0xa9db5e15 fscrypt_ioctl_get_nonce EXPORT_SYMBOL_GPL vmlinux 0xa9e18049 task_handoff_unregister -EXPORT_SYMBOL_GPL vmlinux 0xa9f83849 msg_zerocopy_put_abort EXPORT_SYMBOL_GPL vmlinux 0xaa06c955 genphy_c45_read_link EXPORT_SYMBOL_GPL vmlinux 0xaa0a30d8 gpiochip_unlock_as_irq EXPORT_SYMBOL_GPL vmlinux 0xaa0c2451 crypto_shash_tfm_digest -EXPORT_SYMBOL_GPL vmlinux 0xaa1eb33c devlink_dpipe_match_put EXPORT_SYMBOL_GPL vmlinux 0xaa230f88 perf_unregister_guest_info_callbacks EXPORT_SYMBOL_GPL vmlinux 0xaa45772d input_class EXPORT_SYMBOL_GPL vmlinux 0xaa469a7b crypto_register_templates -EXPORT_SYMBOL_GPL vmlinux 0xaa54d39b devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0xaa519bb0 bpf_trace_run3 EXPORT_SYMBOL_GPL vmlinux 0xaa5aee1c uv_bios_mq_watchlist_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa65ac8f ip_icmp_error_rfc4884 EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush EXPORT_SYMBOL_GPL vmlinux 0xaa7697ab fsnotify_get_group EXPORT_SYMBOL_GPL vmlinux 0xaa86c6f9 devm_kmemdup @@ -24099,7 +24103,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump EXPORT_SYMBOL_GPL vmlinux 0xaabae77d crypto_shoot_alg EXPORT_SYMBOL_GPL vmlinux 0xaaca0685 dev_fwnode -EXPORT_SYMBOL_GPL vmlinux 0xaacfc044 dst_blackhole_redirect EXPORT_SYMBOL_GPL vmlinux 0xaad20c60 i2c_acpi_client_count EXPORT_SYMBOL_GPL vmlinux 0xaad3e6f7 regulator_list_voltage_linear EXPORT_SYMBOL_GPL vmlinux 0xaae2fa88 serdev_device_write_flush @@ -24107,23 +24110,19 @@ EXPORT_SYMBOL_GPL vmlinux 0xab080084 device_bind_driver EXPORT_SYMBOL_GPL vmlinux 0xab146b82 generic_fsdax_supported EXPORT_SYMBOL_GPL vmlinux 0xab1a4467 blk_mq_freeze_queue_wait -EXPORT_SYMBOL_GPL vmlinux 0xab1dd831 skb_morph EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler EXPORT_SYMBOL_GPL vmlinux 0xab326115 sata_scr_read -EXPORT_SYMBOL_GPL vmlinux 0xab393679 ip6_dst_lookup -EXPORT_SYMBOL_GPL vmlinux 0xab3df269 xdp_attachment_setup EXPORT_SYMBOL_GPL vmlinux 0xab3efede device_add EXPORT_SYMBOL_GPL vmlinux 0xab443014 regmap_update_bits_base EXPORT_SYMBOL_GPL vmlinux 0xab454457 regulator_allow_bypass -EXPORT_SYMBOL_GPL vmlinux 0xab47dcd5 ip6_sk_update_pmtu EXPORT_SYMBOL_GPL vmlinux 0xab488b28 gov_update_cpu_data -EXPORT_SYMBOL_GPL vmlinux 0xab63d13e fib6_rule_default -EXPORT_SYMBOL_GPL vmlinux 0xab6f1051 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xab5c58c5 sk_psock_drop EXPORT_SYMBOL_GPL vmlinux 0xab7583cb get_governor_parent_kobj EXPORT_SYMBOL_GPL vmlinux 0xab892684 __SCK__tp_func_arm_event EXPORT_SYMBOL_GPL vmlinux 0xab9bd884 perf_register_guest_info_callbacks EXPORT_SYMBOL_GPL vmlinux 0xaba29958 iommu_sva_alloc_pasid EXPORT_SYMBOL_GPL vmlinux 0xaba7e3c8 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xabaefc4e __ip6_datagram_connect EXPORT_SYMBOL_GPL vmlinux 0xabb7c7c2 get_cached_msi_msg EXPORT_SYMBOL_GPL vmlinux 0xabb90f54 xhci_gen_setup EXPORT_SYMBOL_GPL vmlinux 0xabb9d031 fwnode_get_phy_mode @@ -24133,15 +24132,16 @@ EXPORT_SYMBOL_GPL vmlinux 0xabf03fc3 __SCT__tp_func_xhci_dbg_quirks EXPORT_SYMBOL_GPL vmlinux 0xac075fa6 serial8250_rpm_get EXPORT_SYMBOL_GPL vmlinux 0xac0c2827 fwnode_get_name -EXPORT_SYMBOL_GPL vmlinux 0xac173530 sk_msg_free EXPORT_SYMBOL_GPL vmlinux 0xac2d6847 evm_inode_init_security EXPORT_SYMBOL_GPL vmlinux 0xac47eb45 __tracepoint_powernv_throttle -EXPORT_SYMBOL_GPL vmlinux 0xac56003a ip_valid_fib_dump_req EXPORT_SYMBOL_GPL vmlinux 0xac61c570 thermal_zone_unbind_cooling_device EXPORT_SYMBOL_GPL vmlinux 0xac61f605 dma_map_sgtable EXPORT_SYMBOL_GPL vmlinux 0xac705888 crypto_enqueue_request EXPORT_SYMBOL_GPL vmlinux 0xac8b9b3d acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0xac8d90f1 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xaca880b5 __tracepoint_kfree_skb EXPORT_SYMBOL_GPL vmlinux 0xaca8afc8 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0xacb02929 sock_inuse_get EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put EXPORT_SYMBOL_GPL vmlinux 0xacc35951 acpi_pm_set_device_wakeup EXPORT_SYMBOL_GPL vmlinux 0xacc977ac alarm_forward_now @@ -24151,52 +24151,49 @@ EXPORT_SYMBOL_GPL vmlinux 0xacf893de device_remove_groups EXPORT_SYMBOL_GPL vmlinux 0xad02e8bb blk_abort_request EXPORT_SYMBOL_GPL vmlinux 0xad0f2b6c unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xad1b55b1 ncsi_vlan_rx_add_vid EXPORT_SYMBOL_GPL vmlinux 0xad2180f4 dev_pm_opp_find_freq_exact EXPORT_SYMBOL_GPL vmlinux 0xad2771ce wbc_detach_inode EXPORT_SYMBOL_GPL vmlinux 0xad35b732 pci_user_write_config_word EXPORT_SYMBOL_GPL vmlinux 0xad387e46 attribute_container_classdev_to_container EXPORT_SYMBOL_GPL vmlinux 0xad395dd9 mm_account_pinned_pages EXPORT_SYMBOL_GPL vmlinux 0xad3d229c phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0xad4d127b cookie_tcp_reqsk_alloc EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu EXPORT_SYMBOL_GPL vmlinux 0xad4e9269 gpiochip_irqchip_add_domain -EXPORT_SYMBOL_GPL vmlinux 0xad4fa3f0 icmp_build_probe EXPORT_SYMBOL_GPL vmlinux 0xad56e8e5 regulator_set_voltage_time EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init EXPORT_SYMBOL_GPL vmlinux 0xad5f0017 perf_trace_buf_alloc EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier EXPORT_SYMBOL_GPL vmlinux 0xad7086ef devm_pm_opp_set_regulators -EXPORT_SYMBOL_GPL vmlinux 0xad727629 inet6_lookup_listener -EXPORT_SYMBOL_GPL vmlinux 0xad764b38 xfrm_audit_state_delete EXPORT_SYMBOL_GPL vmlinux 0xad84d0c5 trace_event_ignore_this_pid EXPORT_SYMBOL_GPL vmlinux 0xad861bdc pci_iomap_wc_range EXPORT_SYMBOL_GPL vmlinux 0xad87e802 crypto_unregister_shashes EXPORT_SYMBOL_GPL vmlinux 0xad914f13 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xad994fd3 __traceiter_neigh_update_done EXPORT_SYMBOL_GPL vmlinux 0xad9ac39f aead_exit_geniv EXPORT_SYMBOL_GPL vmlinux 0xad9f3c14 usb_autopm_put_interface_no_suspend EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy EXPORT_SYMBOL_GPL vmlinux 0xadb73533 pm_genpd_add_subdomain EXPORT_SYMBOL_GPL vmlinux 0xadd4c886 disk_force_media_change EXPORT_SYMBOL_GPL vmlinux 0xadd954d5 clk_hw_set_rate_range -EXPORT_SYMBOL_GPL vmlinux 0xadde12b6 clean_acked_data_enable EXPORT_SYMBOL_GPL vmlinux 0xadf247a4 phy_configure -EXPORT_SYMBOL_GPL vmlinux 0xadf976ab mptcp_pm_get_subflows_max EXPORT_SYMBOL_GPL vmlinux 0xadfcb059 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xadffb30f __skb_get_hash_symmetric EXPORT_SYMBOL_GPL vmlinux 0xae0ecf40 usb_bus_idr_lock EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key -EXPORT_SYMBOL_GPL vmlinux 0xae35181e mptcp_subflow_init_cookie_req EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init EXPORT_SYMBOL_GPL vmlinux 0xae4054f3 ata_pci_sff_prepare_host EXPORT_SYMBOL_GPL vmlinux 0xae409dae fat_attach -EXPORT_SYMBOL_GPL vmlinux 0xae4ae54a __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xae5a24ef inet_csk_route_child_sock EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock EXPORT_SYMBOL_GPL vmlinux 0xae70f100 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0xae747fe9 strp_process EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp EXPORT_SYMBOL_GPL vmlinux 0xae94704a devm_i2c_add_adapter -EXPORT_SYMBOL_GPL vmlinux 0xae9d84ae devlink_sb_register EXPORT_SYMBOL_GPL vmlinux 0xaea83791 call_srcu EXPORT_SYMBOL_GPL vmlinux 0xaebd1530 devres_get EXPORT_SYMBOL_GPL vmlinux 0xaebf0cef acpi_dma_configure_id -EXPORT_SYMBOL_GPL vmlinux 0xaebf1a0b dst_cache_get_ip6 EXPORT_SYMBOL_GPL vmlinux 0xaec223b4 serial8250_rx_dma_flush EXPORT_SYMBOL_GPL vmlinux 0xaecc0295 kobject_get_path EXPORT_SYMBOL_GPL vmlinux 0xaee344b4 pm_runtime_force_resume @@ -24204,6 +24201,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xaf05b2b9 pm_clk_destroy EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf175572 inet_csk_reqsk_queue_hash_add EXPORT_SYMBOL_GPL vmlinux 0xaf1be042 regmap_write_async EXPORT_SYMBOL_GPL vmlinux 0xaf1df7f0 crypto_grab_ahash EXPORT_SYMBOL_GPL vmlinux 0xaf2b385b pci_enable_rom @@ -24211,27 +24209,30 @@ EXPORT_SYMBOL_GPL vmlinux 0xaf36819f serial8250_tx_chars EXPORT_SYMBOL_GPL vmlinux 0xaf3a6000 set_pages_array_wt EXPORT_SYMBOL_GPL vmlinux 0xaf3d2a92 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xaf3dc2f6 nfnl_ct_hook EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check EXPORT_SYMBOL_GPL vmlinux 0xaf45a1a6 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaf4649ef sch_frag_xmit_hook EXPORT_SYMBOL_GPL vmlinux 0xaf479317 pci_sriov_get_totalvfs EXPORT_SYMBOL_GPL vmlinux 0xaf4f0641 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xaf4f7549 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xaf5a994a ip_route_output_flow EXPORT_SYMBOL_GPL vmlinux 0xaf61d3bd cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xaf72bc3c netdev_set_default_ethtool_ops EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp EXPORT_SYMBOL_GPL vmlinux 0xaf7ab870 sdio_signal_irq EXPORT_SYMBOL_GPL vmlinux 0xaf7fab57 regulator_is_enabled EXPORT_SYMBOL_GPL vmlinux 0xaf852873 cpuidle_register_device -EXPORT_SYMBOL_GPL vmlinux 0xaf87ab4d sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xafb8e8df devlink_trap_policers_register EXPORT_SYMBOL_GPL vmlinux 0xafc3bc3d md_kick_rdev_from_array EXPORT_SYMBOL_GPL vmlinux 0xafce2f1d free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xafd52cee clean_acked_data_enable EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string EXPORT_SYMBOL_GPL vmlinux 0xafeff1c2 gpiochip_request_own_desc -EXPORT_SYMBOL_GPL vmlinux 0xaffc7a96 strp_stop EXPORT_SYMBOL_GPL vmlinux 0xb01f35b6 io_cgrp_subsys EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier -EXPORT_SYMBOL_GPL vmlinux 0xb031423d skb_segment_list -EXPORT_SYMBOL_GPL vmlinux 0xb0399d7b ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0xb040967f ping_err EXPORT_SYMBOL_GPL vmlinux 0xb0485891 rio_mport_chk_dev_access -EXPORT_SYMBOL_GPL vmlinux 0xb05a404f __netpoll_cleanup EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress EXPORT_SYMBOL_GPL vmlinux 0xb0751f02 bus_for_each_dev EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare @@ -24242,19 +24243,18 @@ EXPORT_SYMBOL_GPL vmlinux 0xb0bee911 device_find_child EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed -EXPORT_SYMBOL_GPL vmlinux 0xb0ee01c3 sk_msg_free_nocharge EXPORT_SYMBOL_GPL vmlinux 0xb0f2731f platform_get_irq -EXPORT_SYMBOL_GPL vmlinux 0xb0f285be nf_checksum EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops EXPORT_SYMBOL_GPL vmlinux 0xb106e44b _copy_from_iter_flushcache EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end EXPORT_SYMBOL_GPL vmlinux 0xb10f005f __static_call_update +EXPORT_SYMBOL_GPL vmlinux 0xb10f1f12 switchdev_handle_port_obj_del EXPORT_SYMBOL_GPL vmlinux 0xb11cc43b __SCT__tp_func_br_fdb_update EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number -EXPORT_SYMBOL_GPL vmlinux 0xb11fb326 xdp_do_redirect EXPORT_SYMBOL_GPL vmlinux 0xb121d073 ata_noop_qc_prep EXPORT_SYMBOL_GPL vmlinux 0xb122f5a7 regcache_sync EXPORT_SYMBOL_GPL vmlinux 0xb12a2cd5 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xb13b8ca5 __tracepoint_fdb_delete EXPORT_SYMBOL_GPL vmlinux 0xb15cdbd9 dev_pm_opp_put_supported_hw EXPORT_SYMBOL_GPL vmlinux 0xb15d8180 blk_ksm_reprogram_all_keys EXPORT_SYMBOL_GPL vmlinux 0xb16238a3 dev_pm_opp_put_opp_table @@ -24262,12 +24262,11 @@ EXPORT_SYMBOL_GPL vmlinux 0xb165b805 kthread_queue_delayed_work EXPORT_SYMBOL_GPL vmlinux 0xb17fca5a icc_disable EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs -EXPORT_SYMBOL_GPL vmlinux 0xb19d34c2 tcp_set_keepalive -EXPORT_SYMBOL_GPL vmlinux 0xb19d6abc __SCK__tp_func_neigh_event_send_done EXPORT_SYMBOL_GPL vmlinux 0xb19de1e6 rio_request_mport_dma EXPORT_SYMBOL_GPL vmlinux 0xb1a94c44 sata_scr_write EXPORT_SYMBOL_GPL vmlinux 0xb1ab1d3a device_get_phy_mode EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1d72c9e devlink_rate_leaf_create EXPORT_SYMBOL_GPL vmlinux 0xb1d886b1 rio_enable_rx_tx_port EXPORT_SYMBOL_GPL vmlinux 0xb1dab2b8 policy_has_boost_freq EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs @@ -24279,14 +24278,14 @@ EXPORT_SYMBOL_GPL vmlinux 0xb2086137 tty_get_icount EXPORT_SYMBOL_GPL vmlinux 0xb21fec11 edac_mc_alloc EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert -EXPORT_SYMBOL_GPL vmlinux 0xb22e9876 devlink_port_attrs_pci_sf_set EXPORT_SYMBOL_GPL vmlinux 0xb230eb09 sysfs_remove_link -EXPORT_SYMBOL_GPL vmlinux 0xb23790c3 ethnl_cable_test_step EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb247001b fib_info_nh_uses_dev EXPORT_SYMBOL_GPL vmlinux 0xb24e4e1c md_rdev_init EXPORT_SYMBOL_GPL vmlinux 0xb25fc45e lp8788_read_byte EXPORT_SYMBOL_GPL vmlinux 0xb26066fe ibft_phys_addr EXPORT_SYMBOL_GPL vmlinux 0xb2643cce phy_init +EXPORT_SYMBOL_GPL vmlinux 0xb266f6c8 skb_zerocopy_headlen EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr EXPORT_SYMBOL_GPL vmlinux 0xb284aa51 blkcg_activate_policy EXPORT_SYMBOL_GPL vmlinux 0xb284bee6 __vfs_removexattr_noperm @@ -24296,28 +24295,27 @@ EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc EXPORT_SYMBOL_GPL vmlinux 0xb29fa923 dw_pcie_host_deinit EXPORT_SYMBOL_GPL vmlinux 0xb2a9faf5 dev_pm_opp_free_cpufreq_table -EXPORT_SYMBOL_GPL vmlinux 0xb2b44daa __SCK__tp_func_kfree_skb EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait EXPORT_SYMBOL_GPL vmlinux 0xb2d37dec device_set_node EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem EXPORT_SYMBOL_GPL vmlinux 0xb2f18ccb blk_mark_disk_dead EXPORT_SYMBOL_GPL vmlinux 0xb2f3abe5 dm_post_suspending -EXPORT_SYMBOL_GPL vmlinux 0xb307397b lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xb2fe9182 udp4_hwcsum EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put EXPORT_SYMBOL_GPL vmlinux 0xb30d1104 cpufreq_cpu_get EXPORT_SYMBOL_GPL vmlinux 0xb3202cdb gnttab_alloc_pages EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init -EXPORT_SYMBOL_GPL vmlinux 0xb33d60e2 nl_table +EXPORT_SYMBOL_GPL vmlinux 0xb3301b90 __SCK__tp_func_kfree_skb EXPORT_SYMBOL_GPL vmlinux 0xb357e8e9 dpm_for_each_dev -EXPORT_SYMBOL_GPL vmlinux 0xb36059ae pid_vnr EXPORT_SYMBOL_GPL vmlinux 0xb360fa18 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xb36af745 fib_new_table EXPORT_SYMBOL_GPL vmlinux 0xb3755e34 phy_save_page EXPORT_SYMBOL_GPL vmlinux 0xb398ff68 md_start EXPORT_SYMBOL_GPL vmlinux 0xb39b095f devm_rtc_allocate_device EXPORT_SYMBOL_GPL vmlinux 0xb39e5d17 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xb3aa8272 pktgen_xfrm_outer_mode_output EXPORT_SYMBOL_GPL vmlinux 0xb3dd7a00 pinctrl_utils_reserve_map -EXPORT_SYMBOL_GPL vmlinux 0xb3e5efcf sock_prot_inuse_add EXPORT_SYMBOL_GPL vmlinux 0xb3e6e60a __traceiter_sched_overutilized_tp EXPORT_SYMBOL_GPL vmlinux 0xb3f52c76 devm_gpiod_get_optional EXPORT_SYMBOL_GPL vmlinux 0xb40c9e63 device_register @@ -24331,6 +24329,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xb46734e3 virtqueue_disable_cb EXPORT_SYMBOL_GPL vmlinux 0xb46ff805 dw_pcie_setup_rc EXPORT_SYMBOL_GPL vmlinux 0xb4840414 debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0xb4876cba devlink_port_register EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register EXPORT_SYMBOL_GPL vmlinux 0xb4adee0b devfreq_event_enable_edev EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier @@ -24344,18 +24343,17 @@ EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc EXPORT_SYMBOL_GPL vmlinux 0xb50c7a22 xen_xlate_remap_gfn_array EXPORT_SYMBOL_GPL vmlinux 0xb510c250 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xb5137c89 nfs_ssc_client_tbl EXPORT_SYMBOL_GPL vmlinux 0xb51468b5 __SCK__tp_func_rpm_return_int EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state EXPORT_SYMBOL_GPL vmlinux 0xb5201d87 __usb_create_hcd EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge EXPORT_SYMBOL_GPL vmlinux 0xb53926fe handle_simple_irq -EXPORT_SYMBOL_GPL vmlinux 0xb558d05d devlink_param_unregister EXPORT_SYMBOL_GPL vmlinux 0xb55aa29d pci_check_and_unmask_intx -EXPORT_SYMBOL_GPL vmlinux 0xb56161cc sock_diag_unregister_inet_compat EXPORT_SYMBOL_GPL vmlinux 0xb565c5e5 __tracepoint_suspend_resume -EXPORT_SYMBOL_GPL vmlinux 0xb5712711 is_skb_forwardable EXPORT_SYMBOL_GPL vmlinux 0xb5768ae9 md_bitmap_load EXPORT_SYMBOL_GPL vmlinux 0xb58b9f75 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb5a76a18 __tracepoint_devlink_hwmsg EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq EXPORT_SYMBOL_GPL vmlinux 0xb5a93610 ata_dummy_port_ops @@ -24364,7 +24362,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xb5c6befc dax_iomap_rw EXPORT_SYMBOL_GPL vmlinux 0xb5eebc71 virtqueue_detach_unused_buf EXPORT_SYMBOL_GPL vmlinux 0xb5fe9363 fscrypt_set_bio_crypt_ctx_bh -EXPORT_SYMBOL_GPL vmlinux 0xb6047cac devlink_port_param_driverinit_value_set EXPORT_SYMBOL_GPL vmlinux 0xb6067083 ata_bmdma_status EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier EXPORT_SYMBOL_GPL vmlinux 0xb62eba15 gpiod_get_optional @@ -24374,20 +24371,22 @@ EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm EXPORT_SYMBOL_GPL vmlinux 0xb655f91b pci_epc_get_next_free_bar EXPORT_SYMBOL_GPL vmlinux 0xb67475a1 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0xb67537fb devlink_resource_occ_get_unregister EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket -EXPORT_SYMBOL_GPL vmlinux 0xb681beae __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xb6815797 br_fdb_test_addr_hook EXPORT_SYMBOL_GPL vmlinux 0xb68322e2 pci_vfs_assigned EXPORT_SYMBOL_GPL vmlinux 0xb6888188 klp_shadow_get_or_alloc EXPORT_SYMBOL_GPL vmlinux 0xb6a8b430 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xb6a988d5 phy_restart_aneg EXPORT_SYMBOL_GPL vmlinux 0xb6b8dc52 hvc_instantiate EXPORT_SYMBOL_GPL vmlinux 0xb6ba719d bus_get_kset EXPORT_SYMBOL_GPL vmlinux 0xb6c5e614 acpi_processor_evaluate_cst EXPORT_SYMBOL_GPL vmlinux 0xb6c60be2 edac_pci_alloc_ctl_info -EXPORT_SYMBOL_GPL vmlinux 0xb6db1247 xdp_rxq_info_reg EXPORT_SYMBOL_GPL vmlinux 0xb6dd0b34 iommu_sva_unbind_device EXPORT_SYMBOL_GPL vmlinux 0xb6e204d1 console_drivers EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable EXPORT_SYMBOL_GPL vmlinux 0xb6eabe37 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xb6f9c58d call_switchdev_blocking_notifiers EXPORT_SYMBOL_GPL vmlinux 0xb72e969e usb_set_configuration EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase EXPORT_SYMBOL_GPL vmlinux 0xb733eabe inverse_translate @@ -24399,15 +24398,14 @@ EXPORT_SYMBOL_GPL vmlinux 0xb7722589 __iomap_dio_rw EXPORT_SYMBOL_GPL vmlinux 0xb77276a7 fuse_file_poll EXPORT_SYMBOL_GPL vmlinux 0xb774c824 blk_mq_queue_inflight -EXPORT_SYMBOL_GPL vmlinux 0xb78b758c nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xb78acd0c dev_queue_xmit_nit EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude EXPORT_SYMBOL_GPL vmlinux 0xb7b2f88d crypto_dequeue_request -EXPORT_SYMBOL_GPL vmlinux 0xb7bc7510 devlink_param_driverinit_value_get EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7d2c2b1 xfrm_put_translator EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time EXPORT_SYMBOL_GPL vmlinux 0xb7f73ef8 xas_init_marks EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested -EXPORT_SYMBOL_GPL vmlinux 0xb800bb7a skb_mpls_dec_ttl EXPORT_SYMBOL_GPL vmlinux 0xb8137967 devm_namespace_disable EXPORT_SYMBOL_GPL vmlinux 0xb8269362 crypto_stats_skcipher_encrypt EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync @@ -24418,8 +24416,8 @@ EXPORT_SYMBOL_GPL vmlinux 0xb8571bf5 wm8350_block_write EXPORT_SYMBOL_GPL vmlinux 0xb8572691 xen_register_device_domain_owner EXPORT_SYMBOL_GPL vmlinux 0xb857efe1 mmc_regulator_get_supply -EXPORT_SYMBOL_GPL vmlinux 0xb865eddc clean_acked_data_disable -EXPORT_SYMBOL_GPL vmlinux 0xb86f917d security_path_truncate +EXPORT_SYMBOL_GPL vmlinux 0xb86473f2 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0xb8650ec6 ip6_route_input_lookup EXPORT_SYMBOL_GPL vmlinux 0xb8726114 scsi_check_sense EXPORT_SYMBOL_GPL vmlinux 0xb874f3dd __traceiter_block_unplug EXPORT_SYMBOL_GPL vmlinux 0xb87f40fe cppc_set_enable @@ -24431,13 +24429,16 @@ EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout EXPORT_SYMBOL_GPL vmlinux 0xb8b07717 device_property_present EXPORT_SYMBOL_GPL vmlinux 0xb8b2b1f7 mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0xb8c5aeca bpf_trace_run9 EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb9087801 put_pid EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable EXPORT_SYMBOL_GPL vmlinux 0xb9218de3 vfio_pci_core_request EXPORT_SYMBOL_GPL vmlinux 0xb938e67a pm_clk_create EXPORT_SYMBOL_GPL vmlinux 0xb9409e12 serdev_device_alloc EXPORT_SYMBOL_GPL vmlinux 0xb947edcf serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0xb94973cc sk_msg_free_nocharge EXPORT_SYMBOL_GPL vmlinux 0xb962769b sysfs_change_owner EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush EXPORT_SYMBOL_GPL vmlinux 0xb973465e crypto_alloc_rng @@ -24451,16 +24452,14 @@ EXPORT_SYMBOL_GPL vmlinux 0xb9a7de9c __clocksource_register_scale EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put EXPORT_SYMBOL_GPL vmlinux 0xb9bed615 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0xb9c0e092 alloc_skb_for_msg EXPORT_SYMBOL_GPL vmlinux 0xb9c16f51 hv_max_vp_index EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops -EXPORT_SYMBOL_GPL vmlinux 0xb9c6f4c9 __SCK__tp_func_devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first EXPORT_SYMBOL_GPL vmlinux 0xb9d0e46b irq_chip_release_resources_parent EXPORT_SYMBOL_GPL vmlinux 0xb9dd52f6 badblocks_set -EXPORT_SYMBOL_GPL vmlinux 0xb9f62237 ping_seq_stop EXPORT_SYMBOL_GPL vmlinux 0xba01ec83 hv_stimer_global_cleanup EXPORT_SYMBOL_GPL vmlinux 0xba057786 kernel_read_file_from_path_initns -EXPORT_SYMBOL_GPL vmlinux 0xba0dc122 phy_stop_machine EXPORT_SYMBOL_GPL vmlinux 0xba21ced0 __SCK__tp_func_attach_device_to_domain EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get @@ -24468,12 +24467,11 @@ EXPORT_SYMBOL_GPL vmlinux 0xba356263 nd_region_provider_data EXPORT_SYMBOL_GPL vmlinux 0xba4115e0 acpi_subsys_suspend_noirq EXPORT_SYMBOL_GPL vmlinux 0xba43ca6d rio_unmap_inb_region -EXPORT_SYMBOL_GPL vmlinux 0xba54a456 fib_rules_unregister -EXPORT_SYMBOL_GPL vmlinux 0xba5d8854 lwtunnel_fill_encap EXPORT_SYMBOL_GPL vmlinux 0xba5db93f crypto_enqueue_request_head EXPORT_SYMBOL_GPL vmlinux 0xba66abeb pm_generic_thaw_noirq EXPORT_SYMBOL_GPL vmlinux 0xba67f4d3 devm_gpiod_get_array EXPORT_SYMBOL_GPL vmlinux 0xba6a82ed mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xba6a93a9 security_kernel_post_read_file EXPORT_SYMBOL_GPL vmlinux 0xba77b0a6 lp8788_update_bits EXPORT_SYMBOL_GPL vmlinux 0xba82f246 uv_bios_install_heap EXPORT_SYMBOL_GPL vmlinux 0xba89eaf3 vp_modern_remove @@ -24488,19 +24486,15 @@ EXPORT_SYMBOL_GPL vmlinux 0xbaf8c66c dev_pm_opp_disable EXPORT_SYMBOL_GPL vmlinux 0xbaf9d785 __tss_limit_invalid EXPORT_SYMBOL_GPL vmlinux 0xbafd937f ata_pci_bmdma_init -EXPORT_SYMBOL_GPL vmlinux 0xbb0520a4 inet_twsk_hashdance EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch EXPORT_SYMBOL_GPL vmlinux 0xbb0c105f serial8250_handle_irq EXPORT_SYMBOL_GPL vmlinux 0xbb15452a transport_remove_device -EXPORT_SYMBOL_GPL vmlinux 0xbb430c2d security_inode_permission EXPORT_SYMBOL_GPL vmlinux 0xbb49167d blk_mq_flush_busy_ctxs EXPORT_SYMBOL_GPL vmlinux 0xbb4a17bd rio_map_outb_region EXPORT_SYMBOL_GPL vmlinux 0xbb4b619f ehci_setup -EXPORT_SYMBOL_GPL vmlinux 0xbb4c21da unix_outq_len EXPORT_SYMBOL_GPL vmlinux 0xbb5598ce get_llc_id EXPORT_SYMBOL_GPL vmlinux 0xbb5651d0 regmap_get_max_register -EXPORT_SYMBOL_GPL vmlinux 0xbb5c4175 strp_data_ready EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id @@ -24509,16 +24503,15 @@ EXPORT_SYMBOL_GPL vmlinux 0xbb788a8a gpiod_put_array EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc EXPORT_SYMBOL_GPL vmlinux 0xbb9eedf4 usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0xbba518f4 msg_zerocopy_callback EXPORT_SYMBOL_GPL vmlinux 0xbbb78049 iomap_writepage EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info -EXPORT_SYMBOL_GPL vmlinux 0xbbc4aac6 sock_prot_inuse_get EXPORT_SYMBOL_GPL vmlinux 0xbbcb0b68 scsi_internal_device_unblock_nowait EXPORT_SYMBOL_GPL vmlinux 0xbbe56404 sprint_OID EXPORT_SYMBOL_GPL vmlinux 0xbbf4dfbe phy_basic_t1_features EXPORT_SYMBOL_GPL vmlinux 0xbc07a8f5 usb_control_msg_recv -EXPORT_SYMBOL_GPL vmlinux 0xbc0b38e6 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xbc0e7297 security_path_link EXPORT_SYMBOL_GPL vmlinux 0xbc166d1e da9052_enable_irq -EXPORT_SYMBOL_GPL vmlinux 0xbc23cce3 __pneigh_lookup EXPORT_SYMBOL_GPL vmlinux 0xbc3eb5be usb_urb_ep_type_check EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time EXPORT_SYMBOL_GPL vmlinux 0xbc4e24bb copy_mc_to_kernel @@ -24530,6 +24523,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xbc6fb3a7 gnttab_map_refs EXPORT_SYMBOL_GPL vmlinux 0xbc7218bb __clk_mux_determine_rate_closest EXPORT_SYMBOL_GPL vmlinux 0xbc8181a8 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xbc859af0 fib_nexthop_info EXPORT_SYMBOL_GPL vmlinux 0xbc8cfaf0 percpu_down_write EXPORT_SYMBOL_GPL vmlinux 0xbc8ea581 watchdog_init_timeout EXPORT_SYMBOL_GPL vmlinux 0xbc986b87 sdio_retune_crc_enable @@ -24538,10 +24532,9 @@ EXPORT_SYMBOL_GPL vmlinux 0xbca6ac26 spi_alloc_device EXPORT_SYMBOL_GPL vmlinux 0xbca8e0ff pci_pr3_present EXPORT_SYMBOL_GPL vmlinux 0xbcb39a41 dma_buf_unmap_attachment -EXPORT_SYMBOL_GPL vmlinux 0xbcb6f883 ip6_flush_pending_frames EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset -EXPORT_SYMBOL_GPL vmlinux 0xbcc56032 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xbcc77206 tcp_register_ulp EXPORT_SYMBOL_GPL vmlinux 0xbccb3d10 debugfs_create_x8 EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name @@ -24567,16 +24560,16 @@ EXPORT_SYMBOL_GPL vmlinux 0xbdd6596e regulator_bulk_get EXPORT_SYMBOL_GPL vmlinux 0xbded134c devm_request_pci_bus_resources EXPORT_SYMBOL_GPL vmlinux 0xbded8ccb irq_domain_translate_onecell -EXPORT_SYMBOL_GPL vmlinux 0xbdf43964 __sock_recv_ts_and_drops EXPORT_SYMBOL_GPL vmlinux 0xbe194459 shash_ahash_digest EXPORT_SYMBOL_GPL vmlinux 0xbe1c83e0 vfio_pci_core_mmap EXPORT_SYMBOL_GPL vmlinux 0xbe2f6a18 dw_pcie_ep_init_notify EXPORT_SYMBOL_GPL vmlinux 0xbe3da4ad crypto_register_akcipher EXPORT_SYMBOL_GPL vmlinux 0xbe40586f regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xbe433295 ncsi_vlan_rx_kill_vid EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain -EXPORT_SYMBOL_GPL vmlinux 0xbe600b37 tcp_reno_undo_cwnd EXPORT_SYMBOL_GPL vmlinux 0xbe61867a nd_region_dev EXPORT_SYMBOL_GPL vmlinux 0xbe65e182 max_cswd_read_retries +EXPORT_SYMBOL_GPL vmlinux 0xbe662e4a __raw_v4_lookup EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus EXPORT_SYMBOL_GPL vmlinux 0xbe6d43d7 ioasid_put EXPORT_SYMBOL_GPL vmlinux 0xbe71da08 devm_clk_hw_register @@ -24586,37 +24579,33 @@ EXPORT_SYMBOL_GPL vmlinux 0xbe837489 crypto_unregister_skcipher EXPORT_SYMBOL_GPL vmlinux 0xbe94e3d4 dev_attr_em_message_type EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write -EXPORT_SYMBOL_GPL vmlinux 0xbe9fcb3d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0xbe9fdd7f skb_gso_validate_mac_len EXPORT_SYMBOL_GPL vmlinux 0xbea5c9e8 spi_mem_driver_unregister EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized EXPORT_SYMBOL_GPL vmlinux 0xbebba34d md_stop_writes EXPORT_SYMBOL_GPL vmlinux 0xbec52f99 virtio_device_restore EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run -EXPORT_SYMBOL_GPL vmlinux 0xbedf18d2 tcp_set_state EXPORT_SYMBOL_GPL vmlinux 0xbee17839 device_create_file EXPORT_SYMBOL_GPL vmlinux 0xbef94ac6 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xbefeb116 dev_fill_forward_path EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier EXPORT_SYMBOL_GPL vmlinux 0xbf165dec __SCT__tp_func_pelt_se_tp EXPORT_SYMBOL_GPL vmlinux 0xbf268ac0 serdev_device_remove -EXPORT_SYMBOL_GPL vmlinux 0xbf2c46c8 tcf_dev_queue_xmit EXPORT_SYMBOL_GPL vmlinux 0xbf2c5a54 tty_get_pgrp EXPORT_SYMBOL_GPL vmlinux 0xbf30d49d kthread_queue_work EXPORT_SYMBOL_GPL vmlinux 0xbf375c79 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xbf38109c nf_route EXPORT_SYMBOL_GPL vmlinux 0xbf415695 devm_pci_epc_destroy -EXPORT_SYMBOL_GPL vmlinux 0xbf42491a netlink_strict_get_check -EXPORT_SYMBOL_GPL vmlinux 0xbf545281 dev_forward_skb EXPORT_SYMBOL_GPL vmlinux 0xbf56ec5d _copy_mc_to_iter EXPORT_SYMBOL_GPL vmlinux 0xbf5959eb devm_kstrdup EXPORT_SYMBOL_GPL vmlinux 0xbf5b0700 ata_sff_queue_pio_task -EXPORT_SYMBOL_GPL vmlinux 0xbf5bd41d security_path_chown -EXPORT_SYMBOL_GPL vmlinux 0xbf90e17a switchdev_bridge_port_offload EXPORT_SYMBOL_GPL vmlinux 0xbfa4ba00 dma_buf_export EXPORT_SYMBOL_GPL vmlinux 0xbfa794b0 irq_chip_set_type_parent EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports EXPORT_SYMBOL_GPL vmlinux 0xbfbc7575 sysfs_groups_change_owner EXPORT_SYMBOL_GPL vmlinux 0xbfbfe02f device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xbfd50f03 icmp_build_probe EXPORT_SYMBOL_GPL vmlinux 0xbfdc8ae1 dm_table_device_name -EXPORT_SYMBOL_GPL vmlinux 0xbfdd2807 ip6_push_pending_frames EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control EXPORT_SYMBOL_GPL vmlinux 0xbfe8a477 gpiod_direction_output EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp @@ -24632,11 +24621,13 @@ EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings EXPORT_SYMBOL_GPL vmlinux 0xc09ecc73 usb_mon_register EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0bbf6ca lwtunnel_cmp_encap EXPORT_SYMBOL_GPL vmlinux 0xc0bcae38 d_exchange EXPORT_SYMBOL_GPL vmlinux 0xc0c595e1 phy_power_on EXPORT_SYMBOL_GPL vmlinux 0xc0cc0b94 rio_mport_write_config_8 EXPORT_SYMBOL_GPL vmlinux 0xc0cda7a8 gpiod_get_index EXPORT_SYMBOL_GPL vmlinux 0xc0ce3346 acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0xc0dbbb82 iptunnel_metadata_reply EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name EXPORT_SYMBOL_GPL vmlinux 0xc0e7cf45 iommu_register_device_fault_handler EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata @@ -24655,28 +24646,29 @@ EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids EXPORT_SYMBOL_GPL vmlinux 0xc18cdf36 amd_df_indirect_read EXPORT_SYMBOL_GPL vmlinux 0xc1997a3a open_related_ns -EXPORT_SYMBOL_GPL vmlinux 0xc199b790 ip_icmp_error_rfc4884 EXPORT_SYMBOL_GPL vmlinux 0xc1a40177 tty_port_default_client_ops EXPORT_SYMBOL_GPL vmlinux 0xc1b1127f dev_err_probe -EXPORT_SYMBOL_GPL vmlinux 0xc1d41ba6 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xc1c4f068 __traceiter_devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0xc1d7e86c phy_select_page EXPORT_SYMBOL_GPL vmlinux 0xc1d989c5 vfio_external_check_extension EXPORT_SYMBOL_GPL vmlinux 0xc1dcc0d6 iommu_attach_device EXPORT_SYMBOL_GPL vmlinux 0xc1fc46c6 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xc1ffb8d7 __tracepoint_neigh_cleanup_and_release EXPORT_SYMBOL_GPL vmlinux 0xc2033d9f amd_get_highest_perf EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases EXPORT_SYMBOL_GPL vmlinux 0xc23601c1 __SCT__tp_func_pelt_cfs_tp EXPORT_SYMBOL_GPL vmlinux 0xc23e151a pinctrl_select_default_state -EXPORT_SYMBOL_GPL vmlinux 0xc247d2de devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0xc2531d54 __udp4_lib_lookup EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler EXPORT_SYMBOL_GPL vmlinux 0xc261e6fe usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xc2678c5a devlink_rate_leaf_destroy EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock EXPORT_SYMBOL_GPL vmlinux 0xc2713998 dev_pm_domain_attach_by_id EXPORT_SYMBOL_GPL vmlinux 0xc27cbf7f noop_invalidatepage EXPORT_SYMBOL_GPL vmlinux 0xc2856226 ata_common_sdev_attrs EXPORT_SYMBOL_GPL vmlinux 0xc287d96a kvm_set_posted_intr_wakeup_handler EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify -EXPORT_SYMBOL_GPL vmlinux 0xc29efd4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc29c8aab __tracepoint_devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0xc2a03546 iomap_truncate_page EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure @@ -24685,12 +24677,12 @@ EXPORT_SYMBOL_GPL vmlinux 0xc2ca1f7f efivar_entry_size EXPORT_SYMBOL_GPL vmlinux 0xc2cbf3af crypto_stats_kpp_generate_public_key EXPORT_SYMBOL_GPL vmlinux 0xc2d4f1d9 scsi_free_sgtables -EXPORT_SYMBOL_GPL vmlinux 0xc2dce462 task_active_pid_ns EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable EXPORT_SYMBOL_GPL vmlinux 0xc2ec5437 pci_hp_create_module_link EXPORT_SYMBOL_GPL vmlinux 0xc2f3490f fat_fill_super EXPORT_SYMBOL_GPL vmlinux 0xc2fb483f __SCT__tp_func_tcp_bad_csum EXPORT_SYMBOL_GPL vmlinux 0xc3180ae0 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xc31e6517 addrconf_prefix_rcv_add_addr EXPORT_SYMBOL_GPL vmlinux 0xc32ab7ab attribute_container_unregister EXPORT_SYMBOL_GPL vmlinux 0xc3329c64 apic EXPORT_SYMBOL_GPL vmlinux 0xc337353f iomap_file_unshare @@ -24699,21 +24691,21 @@ EXPORT_SYMBOL_GPL vmlinux 0xc35d358f ata_bmdma_stop EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype -EXPORT_SYMBOL_GPL vmlinux 0xc38851d9 ping_bind EXPORT_SYMBOL_GPL vmlinux 0xc3a5e060 regulator_get_current_limit_regmap -EXPORT_SYMBOL_GPL vmlinux 0xc3a8751b scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xc3a8099d security_path_symlink EXPORT_SYMBOL_GPL vmlinux 0xc3b0454d trace_event_raw_init -EXPORT_SYMBOL_GPL vmlinux 0xc3badb2a dev_xdp_prog_count EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3cf220f bpf_trace_run6 EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu EXPORT_SYMBOL_GPL vmlinux 0xc3e631cd i2c_dw_probe_master EXPORT_SYMBOL_GPL vmlinux 0xc3ea1eee __traceiter_block_bio_complete EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough EXPORT_SYMBOL_GPL vmlinux 0xc3ed3126 hvc_poll EXPORT_SYMBOL_GPL vmlinux 0xc3ef4cea input_ff_upload -EXPORT_SYMBOL_GPL vmlinux 0xc3f84ec8 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xc4064707 inet_twsk_put EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc43cfe6d rtnl_link_register EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf EXPORT_SYMBOL_GPL vmlinux 0xc43ff3d1 crypto_register_rngs EXPORT_SYMBOL_GPL vmlinux 0xc44398ab check_move_unevictable_pages @@ -24721,7 +24713,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type EXPORT_SYMBOL_GPL vmlinux 0xc45d0d13 injectm EXPORT_SYMBOL_GPL vmlinux 0xc45e246f housekeeping_test_cpu -EXPORT_SYMBOL_GPL vmlinux 0xc45ef513 nf_hook_entries_insert_raw EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource EXPORT_SYMBOL_GPL vmlinux 0xc473587f blk_req_zone_write_trylock @@ -24731,12 +24722,13 @@ EXPORT_SYMBOL_GPL vmlinux 0xc488dab2 __fscrypt_encrypt_symlink EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string EXPORT_SYMBOL_GPL vmlinux 0xc4913442 vfio_group_put_external_user +EXPORT_SYMBOL_GPL vmlinux 0xc493875c inet_send_prepare EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send EXPORT_SYMBOL_GPL vmlinux 0xc4b61be3 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0xc4bcd1ac net_ns_type_operations EXPORT_SYMBOL_GPL vmlinux 0xc4cbe9df virtqueue_add_outbuf EXPORT_SYMBOL_GPL vmlinux 0xc4d022cb __SCT__tp_func_napi_poll -EXPORT_SYMBOL_GPL vmlinux 0xc4d91ccf rtnl_link_unregister EXPORT_SYMBOL_GPL vmlinux 0xc4db8469 to_software_node EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset EXPORT_SYMBOL_GPL vmlinux 0xc50a94e4 gpiochip_lock_as_irq @@ -24752,8 +24744,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xc5395717 usb_get_descriptor EXPORT_SYMBOL_GPL vmlinux 0xc539b7e4 __clk_determine_rate EXPORT_SYMBOL_GPL vmlinux 0xc53b51b6 dma_request_chan_by_mask -EXPORT_SYMBOL_GPL vmlinux 0xc53f0d8f get_net_ns_by_fd -EXPORT_SYMBOL_GPL vmlinux 0xc5411674 ncsi_register_dev EXPORT_SYMBOL_GPL vmlinux 0xc545477b of_pwm_get EXPORT_SYMBOL_GPL vmlinux 0xc54cffaa __put_task_struct EXPORT_SYMBOL_GPL vmlinux 0xc557192e tpm_chip_start @@ -24777,7 +24767,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xc5f4f00a debugfs_create_u32 EXPORT_SYMBOL_GPL vmlinux 0xc604ab28 __SCT__tp_func_kfree_skb EXPORT_SYMBOL_GPL vmlinux 0xc60591b4 gpiochip_is_requested -EXPORT_SYMBOL_GPL vmlinux 0xc60c1c5e switchdev_handle_fdb_add_to_device EXPORT_SYMBOL_GPL vmlinux 0xc616c759 pcie_aspm_capable EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier EXPORT_SYMBOL_GPL vmlinux 0xc6199a99 sdio_release_irq @@ -24798,30 +24787,32 @@ EXPORT_SYMBOL_GPL vmlinux 0xc6ce6138 nvdimm_flush EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references EXPORT_SYMBOL_GPL vmlinux 0xc6e5bcf3 linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0xc6e96db7 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0xc6eb7dd3 __iptunnel_pull_header EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc7106e73 devlink_port_param_driverinit_value_set EXPORT_SYMBOL_GPL vmlinux 0xc7134738 ata_scsi_slave_destroy EXPORT_SYMBOL_GPL vmlinux 0xc71e64a9 snmp_get_cpu_field -EXPORT_SYMBOL_GPL vmlinux 0xc71f3234 addrconf_prefix_rcv_add_addr EXPORT_SYMBOL_GPL vmlinux 0xc7296047 ata_msleep EXPORT_SYMBOL_GPL vmlinux 0xc729d1b0 trace_event_buffer_commit EXPORT_SYMBOL_GPL vmlinux 0xc731fd0e wm831x_reg_unlock EXPORT_SYMBOL_GPL vmlinux 0xc73934d9 dev_pm_domain_attach_by_name EXPORT_SYMBOL_GPL vmlinux 0xc73abbbb pwm_apply_state EXPORT_SYMBOL_GPL vmlinux 0xc769ff48 tracepoint_probe_unregister -EXPORT_SYMBOL_GPL vmlinux 0xc76c5bc5 ping_err EXPORT_SYMBOL_GPL vmlinux 0xc76f8048 __sbitmap_queue_get EXPORT_SYMBOL_GPL vmlinux 0xc76f85ef mmc_app_cmd -EXPORT_SYMBOL_GPL vmlinux 0xc771787b netif_carrier_event EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key EXPORT_SYMBOL_GPL vmlinux 0xc795d367 da9052_disable_irq_nosync EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a7257a iptunnel_xmit EXPORT_SYMBOL_GPL vmlinux 0xc7a7e770 clk_bulk_enable EXPORT_SYMBOL_GPL vmlinux 0xc7a817e8 clk_hw_get_name EXPORT_SYMBOL_GPL vmlinux 0xc7b2ddc7 phy_power_off EXPORT_SYMBOL_GPL vmlinux 0xc7b62cb2 device_property_read_u32_array EXPORT_SYMBOL_GPL vmlinux 0xc7c17a75 devfreq_event_get_edev_count EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7c3ff0f rtnl_link_unregister EXPORT_SYMBOL_GPL vmlinux 0xc7c818bf cpufreq_driver_target EXPORT_SYMBOL_GPL vmlinux 0xc7cbd968 wm8350_device_init EXPORT_SYMBOL_GPL vmlinux 0xc7de27ee devm_regulator_bulk_get @@ -24832,7 +24823,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop EXPORT_SYMBOL_GPL vmlinux 0xc7fc5855 pci_dev_run_wake EXPORT_SYMBOL_GPL vmlinux 0xc800bb4c spi_mem_supports_op -EXPORT_SYMBOL_GPL vmlinux 0xc80375e4 iptunnel_metadata_reply EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove EXPORT_SYMBOL_GPL vmlinux 0xc8333961 pci_epc_remove_epf EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user @@ -24840,22 +24830,23 @@ EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire EXPORT_SYMBOL_GPL vmlinux 0xc85b8e3e regulator_is_enabled_regmap EXPORT_SYMBOL_GPL vmlinux 0xc86a3c02 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0xc86a7eca devlink_dpipe_match_put EXPORT_SYMBOL_GPL vmlinux 0xc86db7d8 ata_sas_port_alloc EXPORT_SYMBOL_GPL vmlinux 0xc874d710 hv_unmap_ioapic_interrupt EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event EXPORT_SYMBOL_GPL vmlinux 0xc87efeea da9052_disable_irq EXPORT_SYMBOL_GPL vmlinux 0xc87fb025 xas_get_mark EXPORT_SYMBOL_GPL vmlinux 0xc895acba pinctrl_get -EXPORT_SYMBOL_GPL vmlinux 0xc8990ac3 xfrm_unregister_translator EXPORT_SYMBOL_GPL vmlinux 0xc8a9b48f power_supply_external_power_changed EXPORT_SYMBOL_GPL vmlinux 0xc8ba4b7d debugfs_file_get -EXPORT_SYMBOL_GPL vmlinux 0xc8c6a6a0 strp_process EXPORT_SYMBOL_GPL vmlinux 0xc8d280ee clone_private_mount EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8fb4fd9 msg_zerocopy_alloc EXPORT_SYMBOL_GPL vmlinux 0xc90c7d49 blk_queue_set_zoned EXPORT_SYMBOL_GPL vmlinux 0xc913d5df mmc_send_status EXPORT_SYMBOL_GPL vmlinux 0xc91ee1b5 __SCT__tp_func_mc_event EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc92faa15 inet6_cleanup_sock EXPORT_SYMBOL_GPL vmlinux 0xc930835f md_account_bio EXPORT_SYMBOL_GPL vmlinux 0xc93430b7 usb_disable_lpm EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify @@ -24870,12 +24861,12 @@ EXPORT_SYMBOL_GPL vmlinux 0xc979f1ea input_ff_flush EXPORT_SYMBOL_GPL vmlinux 0xc981c8b3 edac_mc_find_csrow_by_page EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc984df4b __inet_lookup_established EXPORT_SYMBOL_GPL vmlinux 0xc990cf87 ata_sff_port_intr EXPORT_SYMBOL_GPL vmlinux 0xc99cfb60 do_splice_from EXPORT_SYMBOL_GPL vmlinux 0xc99d4a36 serdev_device_set_parity EXPORT_SYMBOL_GPL vmlinux 0xc9a4b416 copy_to_user_nofault EXPORT_SYMBOL_GPL vmlinux 0xc9ac62c5 dev_pm_opp_enable -EXPORT_SYMBOL_GPL vmlinux 0xc9b9e656 devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0xc9bed29f trace_array_destroy EXPORT_SYMBOL_GPL vmlinux 0xc9c14fba __tracepoint_block_rq_remap EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler @@ -24886,11 +24877,17 @@ EXPORT_SYMBOL_GPL vmlinux 0xc9ddc545 dummy_irq_chip EXPORT_SYMBOL_GPL vmlinux 0xc9e9354b device_match_name EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ee8850 dst_cache_set_ip6 EXPORT_SYMBOL_GPL vmlinux 0xc9f8b8a2 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xc9fb1e94 devlink_port_attrs_set EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put EXPORT_SYMBOL_GPL vmlinux 0xca05ddb0 bus_register_notifier EXPORT_SYMBOL_GPL vmlinux 0xca12cf8a __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xca201573 devlink_reload_enable +EXPORT_SYMBOL_GPL vmlinux 0xca242069 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xca3715f6 skb_cow_data EXPORT_SYMBOL_GPL vmlinux 0xca37661d devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xca3f7abe skb_scrub_packet EXPORT_SYMBOL_GPL vmlinux 0xca3fbe45 pm_generic_poweroff_late EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds EXPORT_SYMBOL_GPL vmlinux 0xca467318 hibernation_set_ops @@ -24912,7 +24909,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get EXPORT_SYMBOL_GPL vmlinux 0xcaf679f3 pci_hp_deregister EXPORT_SYMBOL_GPL vmlinux 0xcaf6db8f __irq_domain_alloc_fwnode -EXPORT_SYMBOL_GPL vmlinux 0xcaf905e5 sk_msg_memcopy_from_iter EXPORT_SYMBOL_GPL vmlinux 0xcafa6327 __crypto_alloc_tfm EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data EXPORT_SYMBOL_GPL vmlinux 0xcb15f4a4 anon_inode_getfile @@ -24920,7 +24916,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier EXPORT_SYMBOL_GPL vmlinux 0xcb36d7ff iommu_device_unregister EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj -EXPORT_SYMBOL_GPL vmlinux 0xcb6804b1 rtnl_delete_link EXPORT_SYMBOL_GPL vmlinux 0xcb6f3c91 __blkg_prfill_u64 EXPORT_SYMBOL_GPL vmlinux 0xcb83064b scsi_target_unblock EXPORT_SYMBOL_GPL vmlinux 0xcb8a0c24 phy_resolve_aneg_pause @@ -24931,15 +24926,16 @@ EXPORT_SYMBOL_GPL vmlinux 0xcb970751 stop_machine EXPORT_SYMBOL_GPL vmlinux 0xcbb330de pci_stop_root_bus EXPORT_SYMBOL_GPL vmlinux 0xcbb46ca0 misc_cg_set_capacity -EXPORT_SYMBOL_GPL vmlinux 0xcbd1709c nf_queue_nf_hook_drop -EXPORT_SYMBOL_GPL vmlinux 0xcbdd684a xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xcbc917ff devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0xcbd962a9 __SCK__tp_func_fib6_table_lookup EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages EXPORT_SYMBOL_GPL vmlinux 0xcbe6915c device_dma_supported EXPORT_SYMBOL_GPL vmlinux 0xcbe98739 proc_create_net_single EXPORT_SYMBOL_GPL vmlinux 0xcbed20d7 dw8250_setup_port -EXPORT_SYMBOL_GPL vmlinux 0xcbede0a9 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xcbfb60dc devlink_port_attrs_pci_sf_set EXPORT_SYMBOL_GPL vmlinux 0xcbfca4b0 xen_unmap_domain_gfn_range -EXPORT_SYMBOL_GPL vmlinux 0xcc057297 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0xcc014779 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0xcc160403 __tracepoint_napi_poll EXPORT_SYMBOL_GPL vmlinux 0xcc244636 relay_subbufs_consumed EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops @@ -24947,7 +24943,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xcc3ea93b crypto_unregister_rngs EXPORT_SYMBOL_GPL vmlinux 0xcc42c261 irq_chip_retrigger_hierarchy EXPORT_SYMBOL_GPL vmlinux 0xcc51f058 pci_num_vf -EXPORT_SYMBOL_GPL vmlinux 0xcc67fca4 __SCK__tp_func_neigh_event_send_dead EXPORT_SYMBOL_GPL vmlinux 0xcc77a1a3 mbox_request_channel_byname EXPORT_SYMBOL_GPL vmlinux 0xcc799ec5 device_wakeup_enable EXPORT_SYMBOL_GPL vmlinux 0xcc7edfa0 fwnode_get_phy_node @@ -24956,25 +24951,26 @@ EXPORT_SYMBOL_GPL vmlinux 0xcc8ba992 dev_pm_opp_get_max_transition_latency EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcca4e348 xdp_convert_zc_to_xdp_frame EXPORT_SYMBOL_GPL vmlinux 0xcca50c6c hwpoison_filter EXPORT_SYMBOL_GPL vmlinux 0xccbc50a5 __pci_epc_create EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug -EXPORT_SYMBOL_GPL vmlinux 0xccd5e35b register_pernet_subsys EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string EXPORT_SYMBOL_GPL vmlinux 0xccdeba78 wm8350_reg_read EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability EXPORT_SYMBOL_GPL vmlinux 0xccf396a3 x86_perf_get_lbr EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xccfe4727 sock_diag_register EXPORT_SYMBOL_GPL vmlinux 0xccff89fc sdio_release_host EXPORT_SYMBOL_GPL vmlinux 0xcd0469e3 irq_chip_ack_parent EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd24f9e0 sk_psock_msg_verdict EXPORT_SYMBOL_GPL vmlinux 0xcd344a8a bsg_job_get -EXPORT_SYMBOL_GPL vmlinux 0xcd3b0c95 nfs42_ssc_register -EXPORT_SYMBOL_GPL vmlinux 0xcd3c8ed2 devlink_dpipe_headers_unregister EXPORT_SYMBOL_GPL vmlinux 0xcd3de89f gpiod_to_irq EXPORT_SYMBOL_GPL vmlinux 0xcd3e5c7c acpi_release_memory +EXPORT_SYMBOL_GPL vmlinux 0xcd4afdfc switchdev_handle_fdb_add_to_device EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add -EXPORT_SYMBOL_GPL vmlinux 0xcd72d321 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xcd814873 devlink_reload_disable EXPORT_SYMBOL_GPL vmlinux 0xcd81a945 switch_fpu_return EXPORT_SYMBOL_GPL vmlinux 0xcd8e8f82 uv_bios_enum_objs EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq @@ -24985,6 +24981,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs EXPORT_SYMBOL_GPL vmlinux 0xcdcece5d driver_register EXPORT_SYMBOL_GPL vmlinux 0xcdd51ddf spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0xcddff00d net_selftest EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency EXPORT_SYMBOL_GPL vmlinux 0xcdff5362 root_device_unregister EXPORT_SYMBOL_GPL vmlinux 0xce010c79 __tracepoint_pelt_dl_tp @@ -24999,57 +24996,56 @@ EXPORT_SYMBOL_GPL vmlinux 0xce2756ca crypto_unregister_acomps EXPORT_SYMBOL_GPL vmlinux 0xce467d70 posix_acl_default_xattr_handler EXPORT_SYMBOL_GPL vmlinux 0xce481b7b __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xce4f83dd sk_msg_clone EXPORT_SYMBOL_GPL vmlinux 0xce6700ae crypto_stats_skcipher_decrypt EXPORT_SYMBOL_GPL vmlinux 0xce6d380e driver_attach EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching EXPORT_SYMBOL_GPL vmlinux 0xce74251b icc_put -EXPORT_SYMBOL_GPL vmlinux 0xce7ae9d2 __inet_lookup_listener EXPORT_SYMBOL_GPL vmlinux 0xce82db03 kthread_flush_work EXPORT_SYMBOL_GPL vmlinux 0xce90dd95 devres_destroy EXPORT_SYMBOL_GPL vmlinux 0xce940da7 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xce975d89 __traceiter_fib6_table_lookup EXPORT_SYMBOL_GPL vmlinux 0xce985658 kset_find_obj -EXPORT_SYMBOL_GPL vmlinux 0xce9d99c6 netlink_add_tap EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data EXPORT_SYMBOL_GPL vmlinux 0xceb66bec sched_clock_cpu EXPORT_SYMBOL_GPL vmlinux 0xcebc2d7f devfreq_cooling_em_register -EXPORT_SYMBOL_GPL vmlinux 0xced3dbd9 skb_append_pagefrags EXPORT_SYMBOL_GPL vmlinux 0xced73b78 pin_get_name EXPORT_SYMBOL_GPL vmlinux 0xcedbea64 intel_pinctrl_resume_noirq EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console EXPORT_SYMBOL_GPL vmlinux 0xcee1a2f1 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xcefe4ede nl_table EXPORT_SYMBOL_GPL vmlinux 0xcf02ab71 __SCT__tp_func_block_rq_remap EXPORT_SYMBOL_GPL vmlinux 0xcf21270d ksm_madvise EXPORT_SYMBOL_GPL vmlinux 0xcf32f71e cpufreq_dbs_governor_exit EXPORT_SYMBOL_GPL vmlinux 0xcf353e35 usb_role_switch_get -EXPORT_SYMBOL_GPL vmlinux 0xcf35b1e7 fib6_check_nexthop EXPORT_SYMBOL_GPL vmlinux 0xcf5246dc crypto_alloc_sync_skcipher EXPORT_SYMBOL_GPL vmlinux 0xcf52bb33 phy_calibrate EXPORT_SYMBOL_GPL vmlinux 0xcf540422 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xcf617850 bpf_trace_run7 EXPORT_SYMBOL_GPL vmlinux 0xcf6848b1 iommu_map EXPORT_SYMBOL_GPL vmlinux 0xcf86774c __traceiter_rpm_return_int -EXPORT_SYMBOL_GPL vmlinux 0xcfa88cd4 security_file_permission EXPORT_SYMBOL_GPL vmlinux 0xcfaa986b xhci_resume EXPORT_SYMBOL_GPL vmlinux 0xcfc04469 mbox_request_channel EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace EXPORT_SYMBOL_GPL vmlinux 0xcfc8c483 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xcfcfe1ec strp_done EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory EXPORT_SYMBOL_GPL vmlinux 0xcfd63fc6 of_led_get EXPORT_SYMBOL_GPL vmlinux 0xcfd817cc ata_link_offline EXPORT_SYMBOL_GPL vmlinux 0xcfe2d221 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0xcfe6a657 security_path_truncate EXPORT_SYMBOL_GPL vmlinux 0xcfeba669 dma_buf_move_notify EXPORT_SYMBOL_GPL vmlinux 0xcff305f7 __traceiter_pelt_se_tp EXPORT_SYMBOL_GPL vmlinux 0xcff5227d elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xcff8e2bd find_get_pid EXPORT_SYMBOL_GPL vmlinux 0xcffc9fa0 scsi_dh_activate EXPORT_SYMBOL_GPL vmlinux 0xcffe0d44 dev_pm_domain_start -EXPORT_SYMBOL_GPL vmlinux 0xd009980f dev_queue_xmit_nit EXPORT_SYMBOL_GPL vmlinux 0xd0177a65 acrn_setup_intr_handler EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate EXPORT_SYMBOL_GPL vmlinux 0xd045c4f0 wakeup_source_unregister EXPORT_SYMBOL_GPL vmlinux 0xd051d489 srcu_notifier_chain_register -EXPORT_SYMBOL_GPL vmlinux 0xd052ad7f ip_route_output_tunnel -EXPORT_SYMBOL_GPL vmlinux 0xd05c0913 nf_checksum_partial EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister EXPORT_SYMBOL_GPL vmlinux 0xd0654033 dma_get_required_mask EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq @@ -25061,6 +25057,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xd09fb4a2 pinctrl_force_sleep EXPORT_SYMBOL_GPL vmlinux 0xd0a17f55 simple_attr_read EXPORT_SYMBOL_GPL vmlinux 0xd0a1ca63 is_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0xd0a3512a receive_fd EXPORT_SYMBOL_GPL vmlinux 0xd0a8d155 platform_find_device_by_driver EXPORT_SYMBOL_GPL vmlinux 0xd0ad4094 gpiochip_generic_free EXPORT_SYMBOL_GPL vmlinux 0xd0b4a6d8 adp5520_register_notifier @@ -25068,16 +25065,15 @@ EXPORT_SYMBOL_GPL vmlinux 0xd0bac45a regmap_get_raw_write_max EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart EXPORT_SYMBOL_GPL vmlinux 0xd0c97e5d devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xd0ca9c67 get_pid_task EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax EXPORT_SYMBOL_GPL vmlinux 0xd0df12ba __SCT__tp_func_powernv_throttle -EXPORT_SYMBOL_GPL vmlinux 0xd0df6293 ipv6_opt_accepted EXPORT_SYMBOL_GPL vmlinux 0xd0e41748 regmap_field_bulk_alloc EXPORT_SYMBOL_GPL vmlinux 0xd0fd3b39 subsys_dev_iter_exit EXPORT_SYMBOL_GPL vmlinux 0xd0fd5f1c devm_create_dev_dax EXPORT_SYMBOL_GPL vmlinux 0xd0fd8347 gpiod_get_raw_array_value_cansleep -EXPORT_SYMBOL_GPL vmlinux 0xd104f0ef __traceiter_br_fdb_add EXPORT_SYMBOL_GPL vmlinux 0xd115508c wwan_unregister_ops EXPORT_SYMBOL_GPL vmlinux 0xd13190d0 pm_genpd_remove_device EXPORT_SYMBOL_GPL vmlinux 0xd1386738 x509_cert_parse @@ -25091,18 +25087,20 @@ EXPORT_SYMBOL_GPL vmlinux 0xd17d2a22 phy_basic_features EXPORT_SYMBOL_GPL vmlinux 0xd1870b26 pm_clk_resume EXPORT_SYMBOL_GPL vmlinux 0xd188bd03 __sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xd1a313ee skb_splice_bits EXPORT_SYMBOL_GPL vmlinux 0xd1b5a823 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xd1bab21e sk_psock_init EXPORT_SYMBOL_GPL vmlinux 0xd1c7e6aa pci_d3cold_enable EXPORT_SYMBOL_GPL vmlinux 0xd1cac7bf unregister_ftrace_direct EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on EXPORT_SYMBOL_GPL vmlinux 0xd1cc8d9d pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xd1d6c9e1 clean_acked_data_disable EXPORT_SYMBOL_GPL vmlinux 0xd1def20c usb_unpoison_urb EXPORT_SYMBOL_GPL vmlinux 0xd1e37d02 iomap_ioend_try_merge EXPORT_SYMBOL_GPL vmlinux 0xd1e9b2ad __SCT__tp_func_rpm_resume -EXPORT_SYMBOL_GPL vmlinux 0xd1ee86ef __traceiter_neigh_update EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get EXPORT_SYMBOL_GPL vmlinux 0xd1fafc1c device_for_each_child_reverse -EXPORT_SYMBOL_GPL vmlinux 0xd20ac91c __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd2016dfc ethnl_cable_test_finished EXPORT_SYMBOL_GPL vmlinux 0xd20c66ab __SCT__tp_func_sched_util_est_se_tp EXPORT_SYMBOL_GPL vmlinux 0xd214bd56 pm_clk_runtime_suspend EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event @@ -25115,15 +25113,12 @@ EXPORT_SYMBOL_GPL vmlinux 0xd25ba116 pinctrl_utils_add_config EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write EXPORT_SYMBOL_GPL vmlinux 0xd261a08a rtc_update_irq_enable -EXPORT_SYMBOL_GPL vmlinux 0xd269c69d lwtunnel_encap_del_ops EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references -EXPORT_SYMBOL_GPL vmlinux 0xd2837123 ip6_route_output_flags_noref EXPORT_SYMBOL_GPL vmlinux 0xd287fb1b bpf_map_put EXPORT_SYMBOL_GPL vmlinux 0xd289b76c memremap_pages EXPORT_SYMBOL_GPL vmlinux 0xd2aad484 pm_generic_runtime_suspend EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode -EXPORT_SYMBOL_GPL vmlinux 0xd2b76cee lwtunnel_cmp_encap EXPORT_SYMBOL_GPL vmlinux 0xd2eef730 devm_hwspin_lock_free EXPORT_SYMBOL_GPL vmlinux 0xd2fe2ce4 generic_fh_to_dentry EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts @@ -25135,17 +25130,18 @@ EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain EXPORT_SYMBOL_GPL vmlinux 0xd38d42ce usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xd38e9f26 __SCK__tp_func_napi_poll EXPORT_SYMBOL_GPL vmlinux 0xd38ff3c3 fat_free_clusters EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 EXPORT_SYMBOL_GPL vmlinux 0xd39eb8ae ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xd3a7ff09 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xd3b37eb0 netlink_remove_tap EXPORT_SYMBOL_GPL vmlinux 0xd3b83842 regulator_map_voltage_iterate -EXPORT_SYMBOL_GPL vmlinux 0xd3cf60fc skb_pull_rcsum -EXPORT_SYMBOL_GPL vmlinux 0xd3e61f92 __SCK__tp_func_neigh_cleanup_and_release EXPORT_SYMBOL_GPL vmlinux 0xd3ec851c __traceiter_unmap -EXPORT_SYMBOL_GPL vmlinux 0xd3fff44d call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xd4010869 devlink_port_params_register EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq -EXPORT_SYMBOL_GPL vmlinux 0xd41e2762 devlink_port_type_eth_set EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd427e84d unregister_pernet_device EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread EXPORT_SYMBOL_GPL vmlinux 0xd4404350 __SCT__tp_func_block_split EXPORT_SYMBOL_GPL vmlinux 0xd440c807 trace_event_buffer_reserve @@ -25156,8 +25152,8 @@ EXPORT_SYMBOL_GPL vmlinux 0xd45e7325 bpfilter_umh_cleanup EXPORT_SYMBOL_GPL vmlinux 0xd464e0b9 mmc_switch EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs -EXPORT_SYMBOL_GPL vmlinux 0xd46bd8f7 tcpv6_prot EXPORT_SYMBOL_GPL vmlinux 0xd46cb84b ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xd474ec17 skb_tstamp_tx EXPORT_SYMBOL_GPL vmlinux 0xd4997274 blk_queue_max_zone_append_sectors EXPORT_SYMBOL_GPL vmlinux 0xd499c2ae scsi_internal_device_block_nowait EXPORT_SYMBOL_GPL vmlinux 0xd4a22cbe vfio_pci_core_disable @@ -25173,23 +25169,21 @@ EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value EXPORT_SYMBOL_GPL vmlinux 0xd4e9df3c balloon_page_alloc EXPORT_SYMBOL_GPL vmlinux 0xd4f5bfa5 iommu_queue_iopf -EXPORT_SYMBOL_GPL vmlinux 0xd4f7048d xfrm_state_mtu EXPORT_SYMBOL_GPL vmlinux 0xd51784a2 rtc_set_time EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd5466a98 xdp_rxq_info_unreg_mem_model EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata EXPORT_SYMBOL_GPL vmlinux 0xd55ce4c1 phy_pm_runtime_get EXPORT_SYMBOL_GPL vmlinux 0xd5632f68 tps65912_device_init -EXPORT_SYMBOL_GPL vmlinux 0xd565f036 xfrm_audit_policy_delete EXPORT_SYMBOL_GPL vmlinux 0xd56886a9 edac_pci_handle_pe EXPORT_SYMBOL_GPL vmlinux 0xd57fbd31 hwrng_unregister EXPORT_SYMBOL_GPL vmlinux 0xd590e8b5 rtc_initialize_alarm EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59d0a73 devlink_port_param_value_changed EXPORT_SYMBOL_GPL vmlinux 0xd5ab5b23 usb_put_dev EXPORT_SYMBOL_GPL vmlinux 0xd5b372a7 trace_get_event_file -EXPORT_SYMBOL_GPL vmlinux 0xd5c7d51b switchdev_bridge_port_unoffload -EXPORT_SYMBOL_GPL vmlinux 0xd5cb3dbd ping_common_sendmsg EXPORT_SYMBOL_GPL vmlinux 0xd5dd9be2 __acpi_node_get_property_reference EXPORT_SYMBOL_GPL vmlinux 0xd5e09627 gpiochip_remove_pin_ranges EXPORT_SYMBOL_GPL vmlinux 0xd5eb0d4e acpi_register_lps0_dev @@ -25206,75 +25200,85 @@ EXPORT_SYMBOL_GPL vmlinux 0xd6588e36 synth_event_trace_start EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget EXPORT_SYMBOL_GPL vmlinux 0xd673b16e bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0xd69f0812 nf_ip_route EXPORT_SYMBOL_GPL vmlinux 0xd6a8d07f ata_sas_port_init EXPORT_SYMBOL_GPL vmlinux 0xd6be2110 clk_register_mux_table EXPORT_SYMBOL_GPL vmlinux 0xd6c6bd70 blk_steal_bios EXPORT_SYMBOL_GPL vmlinux 0xd6c76a2a pci_remove_root_bus -EXPORT_SYMBOL_GPL vmlinux 0xd6d00017 ip_local_out EXPORT_SYMBOL_GPL vmlinux 0xd6dbde73 xhci_dbg_trace EXPORT_SYMBOL_GPL vmlinux 0xd6edcefd device_create -EXPORT_SYMBOL_GPL vmlinux 0xd6f326eb xfrm_put_translator EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries EXPORT_SYMBOL_GPL vmlinux 0xd7070470 key_type_logon EXPORT_SYMBOL_GPL vmlinux 0xd717289c put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xd7172a69 devlink_param_driverinit_value_get EXPORT_SYMBOL_GPL vmlinux 0xd71f3998 dm_bio_get_target_bio_nr EXPORT_SYMBOL_GPL vmlinux 0xd7269c64 osc_sb_native_usb4_control EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit EXPORT_SYMBOL_GPL vmlinux 0xd72ace90 gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0xd72bdf1d tcp_unregister_ulp EXPORT_SYMBOL_GPL vmlinux 0xd72e4859 nvdimm_provider_data EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd730bf11 fib_nh_common_init EXPORT_SYMBOL_GPL vmlinux 0xd738ec75 bio_release_pages EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end EXPORT_SYMBOL_GPL vmlinux 0xd73d76a7 led_get_default_pattern EXPORT_SYMBOL_GPL vmlinux 0xd742aab5 sched_trace_rq_cpu_capacity EXPORT_SYMBOL_GPL vmlinux 0xd752f884 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0xd75807d6 xdp_return_frame_rx_napi EXPORT_SYMBOL_GPL vmlinux 0xd75ab499 wwan_port_rx EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75f5dfb xdp_rxq_info_reg EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd77d433c __skb_tstamp_tx EXPORT_SYMBOL_GPL vmlinux 0xd77d4fdd efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0xd78ae0bf inet_ctl_sock_create EXPORT_SYMBOL_GPL vmlinux 0xd78f3a8f __kthread_init_worker EXPORT_SYMBOL_GPL vmlinux 0xd78ffc77 devm_regulator_get EXPORT_SYMBOL_GPL vmlinux 0xd7919856 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xd7ab2127 __dev_change_net_namespace EXPORT_SYMBOL_GPL vmlinux 0xd7b5dfee xas_split EXPORT_SYMBOL_GPL vmlinux 0xd7b7fb80 pkcs7_validate_trust EXPORT_SYMBOL_GPL vmlinux 0xd7cb883b dev_pm_qos_update_user_latency_tolerance EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d2e36b xfrm_audit_state_replay EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy EXPORT_SYMBOL_GPL vmlinux 0xd7e0efb5 pm_runtime_barrier EXPORT_SYMBOL_GPL vmlinux 0xd7fb7ea6 trace_output_call EXPORT_SYMBOL_GPL vmlinux 0xd814febb dev_pm_domain_set EXPORT_SYMBOL_GPL vmlinux 0xd81f7e27 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xd827ea1e nf_checksum_partial EXPORT_SYMBOL_GPL vmlinux 0xd8287a34 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xd82a2c15 ipv4_sk_redirect EXPORT_SYMBOL_GPL vmlinux 0xd82ae676 perf_event_enable EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock EXPORT_SYMBOL_GPL vmlinux 0xd858ae18 spi_async_locked EXPORT_SYMBOL_GPL vmlinux 0xd869fe59 __xenbus_register_frontend EXPORT_SYMBOL_GPL vmlinux 0xd86b9a6f __tracepoint_extlog_mem_event -EXPORT_SYMBOL_GPL vmlinux 0xd87575cf inet_csk_route_req EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk EXPORT_SYMBOL_GPL vmlinux 0xd88a4ca7 pm_genpd_init -EXPORT_SYMBOL_GPL vmlinux 0xd8907741 sk_setup_caps EXPORT_SYMBOL_GPL vmlinux 0xd895900f blkdev_ioctl EXPORT_SYMBOL_GPL vmlinux 0xd895e315 crypto_alloc_base EXPORT_SYMBOL_GPL vmlinux 0xd89f23f0 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xd8adfcf6 dev_forward_skb EXPORT_SYMBOL_GPL vmlinux 0xd8c0bafc __percpu_down_read EXPORT_SYMBOL_GPL vmlinux 0xd8c45c5b blk_add_driver_data EXPORT_SYMBOL_GPL vmlinux 0xd8c5caa4 pci_disable_rom EXPORT_SYMBOL_GPL vmlinux 0xd8d065dd hv_stimer_alloc EXPORT_SYMBOL_GPL vmlinux 0xd8d11815 blk_req_needs_zone_write_lock -EXPORT_SYMBOL_GPL vmlinux 0xd8d5b39a ip6_datagram_release_cb EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8e6ab5d skb_partial_csum_set EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key -EXPORT_SYMBOL_GPL vmlinux 0xd90628e2 dst_cache_get_ip4 EXPORT_SYMBOL_GPL vmlinux 0xd9066e46 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xd9094486 xdp_rxq_info_unreg EXPORT_SYMBOL_GPL vmlinux 0xd90a4e3d nvdimm_security_setup_events EXPORT_SYMBOL_GPL vmlinux 0xd91331f6 __clk_hw_register_fixed_rate EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd91a9187 inet6_hash_connect EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk EXPORT_SYMBOL_GPL vmlinux 0xd91f87c4 blkg_conf_prep EXPORT_SYMBOL_GPL vmlinux 0xd925d50e pm_clk_remove_clk -EXPORT_SYMBOL_GPL vmlinux 0xd92cfba1 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xd92b099b cn_add_callback EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable @@ -25290,20 +25294,19 @@ EXPORT_SYMBOL_GPL vmlinux 0xd9db2ef4 spi_mem_exec_op EXPORT_SYMBOL_GPL vmlinux 0xd9e1c5dd usb_add_hcd EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek -EXPORT_SYMBOL_GPL vmlinux 0xd9f4eb5b security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd9e323d8 xfrm_unregister_translator EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda00f146 ip6_dst_lookup EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister EXPORT_SYMBOL_GPL vmlinux 0xda18b92b crypto_larval_alloc EXPORT_SYMBOL_GPL vmlinux 0xda1dc141 dma_release_channel EXPORT_SYMBOL_GPL vmlinux 0xda1f78ee clear_hv_tscchange_cb EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start EXPORT_SYMBOL_GPL vmlinux 0xda32513f pm_generic_poweroff -EXPORT_SYMBOL_GPL vmlinux 0xda3403be skb_to_sgvec EXPORT_SYMBOL_GPL vmlinux 0xda376bac devm_regmap_add_irq_chip EXPORT_SYMBOL_GPL vmlinux 0xda3ccdaa usb_create_shared_hcd EXPORT_SYMBOL_GPL vmlinux 0xda3d4f14 __SCK__tp_func_add_device_to_group EXPORT_SYMBOL_GPL vmlinux 0xda411701 proc_create_net_data -EXPORT_SYMBOL_GPL vmlinux 0xda499a89 tun_get_tx_ring EXPORT_SYMBOL_GPL vmlinux 0xda6c1310 spi_mem_dirmap_read EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request EXPORT_SYMBOL_GPL vmlinux 0xda8369a7 __traceiter_extlog_mem_event @@ -25311,11 +25314,10 @@ EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp EXPORT_SYMBOL_GPL vmlinux 0xdaa5645d pci_add_dynid -EXPORT_SYMBOL_GPL vmlinux 0xdaaba197 sk_msg_return_zero EXPORT_SYMBOL_GPL vmlinux 0xdaaff047 ata_cable_80wire EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert EXPORT_SYMBOL_GPL vmlinux 0xdab6ae06 ata_bmdma_setup -EXPORT_SYMBOL_GPL vmlinux 0xdac9e153 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0xdad00dd2 sk_setup_caps EXPORT_SYMBOL_GPL vmlinux 0xdad1e6bb blk_mq_pci_map_queues EXPORT_SYMBOL_GPL vmlinux 0xdae276e5 i2c_dw_acpi_configure EXPORT_SYMBOL_GPL vmlinux 0xdaeaf727 scsi_host_block @@ -25323,13 +25325,14 @@ EXPORT_SYMBOL_GPL vmlinux 0xdb04f2ed devm_bitmap_alloc EXPORT_SYMBOL_GPL vmlinux 0xdb0a772d iomap_zero_range EXPORT_SYMBOL_GPL vmlinux 0xdb182fad user_read +EXPORT_SYMBOL_GPL vmlinux 0xdb1e12bb sk_detach_filter EXPORT_SYMBOL_GPL vmlinux 0xdb323b21 fuse_init_fs_context_submount EXPORT_SYMBOL_GPL vmlinux 0xdb3498ab kobject_move EXPORT_SYMBOL_GPL vmlinux 0xdb395029 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xdb50572f skb_copy_ubufs EXPORT_SYMBOL_GPL vmlinux 0xdb534ac1 vfio_unregister_group_dev EXPORT_SYMBOL_GPL vmlinux 0xdb5efe9c ata_sas_port_start EXPORT_SYMBOL_GPL vmlinux 0xdb5f4a18 devm_gpiod_get_array_optional -EXPORT_SYMBOL_GPL vmlinux 0xdb621591 security_inode_setattr EXPORT_SYMBOL_GPL vmlinux 0xdb62acaa ata_port_wait_eh EXPORT_SYMBOL_GPL vmlinux 0xdb62dc67 __SCT__tp_func_map EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table @@ -25342,11 +25345,14 @@ EXPORT_SYMBOL_GPL vmlinux 0xdba22746 iomap_bmap EXPORT_SYMBOL_GPL vmlinux 0xdbbcf378 tpm_pm_resume EXPORT_SYMBOL_GPL vmlinux 0xdbcea095 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xdbcedb63 strp_unpause EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq EXPORT_SYMBOL_GPL vmlinux 0xdbf27afe relay_open EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbf7d37c devlink_params_unpublish EXPORT_SYMBOL_GPL vmlinux 0xdc02eb39 dmi_available EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc213add __traceiter_br_fdb_add EXPORT_SYMBOL_GPL vmlinux 0xdc25c1b1 crypto_alloc_akcipher EXPORT_SYMBOL_GPL vmlinux 0xdc2ab89d rtc_alarm_irq_enable EXPORT_SYMBOL_GPL vmlinux 0xdc33ee86 rtc_class_close @@ -25355,24 +25361,28 @@ EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work EXPORT_SYMBOL_GPL vmlinux 0xdc4a05a8 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xdc4cf120 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdc636a98 ping_recvmsg EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list EXPORT_SYMBOL_GPL vmlinux 0xdc719bcd ftrace_ops_set_global_filter EXPORT_SYMBOL_GPL vmlinux 0xdc71ae4c genphy_c45_read_pma EXPORT_SYMBOL_GPL vmlinux 0xdc756258 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xdc771ad4 __netpoll_setup EXPORT_SYMBOL_GPL vmlinux 0xdc7b35ae iommu_sva_get_pasid EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register -EXPORT_SYMBOL_GPL vmlinux 0xdca39780 devlink_trap_groups_register EXPORT_SYMBOL_GPL vmlinux 0xdcaf0240 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xdcb452af tcp_get_info EXPORT_SYMBOL_GPL vmlinux 0xdcd8e59c nvmem_cell_read_u16 EXPORT_SYMBOL_GPL vmlinux 0xdcf1ea56 device_store_int EXPORT_SYMBOL_GPL vmlinux 0xdcf8860b bio_alloc_kiocb EXPORT_SYMBOL_GPL vmlinux 0xdcfd1785 serdev_device_close EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd0ab29a skb_defer_rx_timestamp EXPORT_SYMBOL_GPL vmlinux 0xdd12bb1b genphy_c45_an_disable_aneg EXPORT_SYMBOL_GPL vmlinux 0xdd15c2b2 __pm_runtime_disable EXPORT_SYMBOL_GPL vmlinux 0xdd191ad2 iommu_fwspec_free @@ -25382,7 +25392,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xdd3984d5 devm_nvdimm_memremap EXPORT_SYMBOL_GPL vmlinux 0xdd4253c7 unregister_kretprobe EXPORT_SYMBOL_GPL vmlinux 0xdd45bfec icc_get_name -EXPORT_SYMBOL_GPL vmlinux 0xdd4b8b75 inet6_csk_addr2sockaddr EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args EXPORT_SYMBOL_GPL vmlinux 0xdd6ddcec __traceiter_error_report_end EXPORT_SYMBOL_GPL vmlinux 0xdd70813a irq_domain_disconnect_hierarchy @@ -25402,29 +25411,25 @@ EXPORT_SYMBOL_GPL vmlinux 0xde07d11c subsys_interface_unregister EXPORT_SYMBOL_GPL vmlinux 0xde09a94d xas_find EXPORT_SYMBOL_GPL vmlinux 0xde1446ef extcon_register_notifier -EXPORT_SYMBOL_GPL vmlinux 0xde147215 ip6_sk_redirect -EXPORT_SYMBOL_GPL vmlinux 0xde14f70e xfrm_audit_state_notfound_simple EXPORT_SYMBOL_GPL vmlinux 0xde19ea8a relay_flush EXPORT_SYMBOL_GPL vmlinux 0xde1c0a22 irq_domain_remove EXPORT_SYMBOL_GPL vmlinux 0xde25cc7c sysfs_file_change_owner -EXPORT_SYMBOL_GPL vmlinux 0xde299a99 bpf_trace_run6 EXPORT_SYMBOL_GPL vmlinux 0xde2ee759 sched_trace_rq_nr_running EXPORT_SYMBOL_GPL vmlinux 0xde2f16cc irq_chip_set_affinity_parent -EXPORT_SYMBOL_GPL vmlinux 0xde3af437 __traceiter_neigh_update_done EXPORT_SYMBOL_GPL vmlinux 0xde3bd9af power_supply_put_battery_info EXPORT_SYMBOL_GPL vmlinux 0xde5a03b0 acpi_dev_pm_attach EXPORT_SYMBOL_GPL vmlinux 0xde5a796b device_match_devt EXPORT_SYMBOL_GPL vmlinux 0xde5b3f9d crypto_destroy_tfm EXPORT_SYMBOL_GPL vmlinux 0xde5e1e01 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xde6bf494 skb_segment_list EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 EXPORT_SYMBOL_GPL vmlinux 0xde795751 pci_find_ht_capability -EXPORT_SYMBOL_GPL vmlinux 0xde92da57 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xde8d79e8 rtnl_delete_link EXPORT_SYMBOL_GPL vmlinux 0xde95d921 wm831x_set_bits EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm EXPORT_SYMBOL_GPL vmlinux 0xdecf776a dev_pm_qos_add_ancestor_request EXPORT_SYMBOL_GPL vmlinux 0xdede15a6 pm_genpd_remove_subdomain EXPORT_SYMBOL_GPL vmlinux 0xdee19068 rio_add_mport_pw_handler -EXPORT_SYMBOL_GPL vmlinux 0xdeecf059 __inet_twsk_schedule EXPORT_SYMBOL_GPL vmlinux 0xdef09d37 regcache_mark_dirty EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error EXPORT_SYMBOL_GPL vmlinux 0xdf0c757f ata_tf_to_fis @@ -25434,15 +25439,13 @@ EXPORT_SYMBOL_GPL vmlinux 0xdf1882af dbgp_reset_prep EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key EXPORT_SYMBOL_GPL vmlinux 0xdf448d1c fanout_mutex -EXPORT_SYMBOL_GPL vmlinux 0xdf4f240f addrconf_add_linklocal EXPORT_SYMBOL_GPL vmlinux 0xdf590c13 fsnotify_put_group -EXPORT_SYMBOL_GPL vmlinux 0xdf6d6486 br_ip6_fragment EXPORT_SYMBOL_GPL vmlinux 0xdf81924d uv_bios_mq_watchlist_free EXPORT_SYMBOL_GPL vmlinux 0xdf880592 page_cache_ra_unbounded -EXPORT_SYMBOL_GPL vmlinux 0xdf935941 __tracepoint_neigh_update -EXPORT_SYMBOL_GPL vmlinux 0xdfa75f0c free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0xdfa4e48d inet6_sk_rebuild_header EXPORT_SYMBOL_GPL vmlinux 0xdfac7d1a clk_hw_get_flags EXPORT_SYMBOL_GPL vmlinux 0xdfaedcfe gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0xdfc0ad32 kobject_uevent EXPORT_SYMBOL_GPL vmlinux 0xdfcaaa08 pm_generic_poweroff_noirq EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set EXPORT_SYMBOL_GPL vmlinux 0xdfce1f04 unregister_trace_event @@ -25452,15 +25455,15 @@ EXPORT_SYMBOL_GPL vmlinux 0xe0313d71 rhashtable_insert_slow EXPORT_SYMBOL_GPL vmlinux 0xe034150c usb_autopm_get_interface_async EXPORT_SYMBOL_GPL vmlinux 0xe04c78db __SCT__tp_func_neigh_event_send_done -EXPORT_SYMBOL_GPL vmlinux 0xe053cb28 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xe0547722 inet_csk_listen_start EXPORT_SYMBOL_GPL vmlinux 0xe0562ade device_init_wakeup EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu -EXPORT_SYMBOL_GPL vmlinux 0xe079bc65 fib_rules_lookup EXPORT_SYMBOL_GPL vmlinux 0xe083fa4f serial8250_rx_chars EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved EXPORT_SYMBOL_GPL vmlinux 0xe095957e regulator_register_supply_alias EXPORT_SYMBOL_GPL vmlinux 0xe098e0a9 __SCK__tp_func_block_unplug EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c0389b inet_csk_clone_lock EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq EXPORT_SYMBOL_GPL vmlinux 0xe0d39f1c sgx_set_attribute EXPORT_SYMBOL_GPL vmlinux 0xe0fd4cae serial8250_set_defaults @@ -25471,14 +25474,15 @@ EXPORT_SYMBOL_GPL vmlinux 0xe117e82c icc_provider_add EXPORT_SYMBOL_GPL vmlinux 0xe1232b3e regulator_set_drvdata EXPORT_SYMBOL_GPL vmlinux 0xe136d245 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xe14c0252 rtnl_register_module EXPORT_SYMBOL_GPL vmlinux 0xe14e335c perf_event_create_kernel_counter -EXPORT_SYMBOL_GPL vmlinux 0xe15a8874 ncsi_vlan_rx_add_vid EXPORT_SYMBOL_GPL vmlinux 0xe15df065 usb_driver_release_interface EXPORT_SYMBOL_GPL vmlinux 0xe1601662 dev_pm_opp_sync_regulators EXPORT_SYMBOL_GPL vmlinux 0xe1714157 get_current_tty EXPORT_SYMBOL_GPL vmlinux 0xe174c645 iommu_unmap EXPORT_SYMBOL_GPL vmlinux 0xe1753969 acct_bioset_exit EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe1794ad0 tcp_reno_cong_avoid EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem EXPORT_SYMBOL_GPL vmlinux 0xe1aa2d62 set_hv_tscchange_cb EXPORT_SYMBOL_GPL vmlinux 0xe1abaea1 regulator_set_bypass_regmap @@ -25496,15 +25500,16 @@ EXPORT_SYMBOL_GPL vmlinux 0xe25912e5 shash_register_instance EXPORT_SYMBOL_GPL vmlinux 0xe25d23f3 blocking_notifier_call_chain_robust EXPORT_SYMBOL_GPL vmlinux 0xe260a49d devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xe26e3bc8 devlink_dpipe_action_put EXPORT_SYMBOL_GPL vmlinux 0xe271f20c __SCT__tp_func_pelt_rt_tp EXPORT_SYMBOL_GPL vmlinux 0xe2772594 device_remove_properties EXPORT_SYMBOL_GPL vmlinux 0xe2802a03 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe29115a9 nexthop_find_by_id EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled EXPORT_SYMBOL_GPL vmlinux 0xe29a9c59 iommu_dev_feature_enabled EXPORT_SYMBOL_GPL vmlinux 0xe2b25d50 generic_device_group EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier EXPORT_SYMBOL_GPL vmlinux 0xe2cc24a8 dma_mmap_noncontiguous -EXPORT_SYMBOL_GPL vmlinux 0xe2cda7b7 nf_queue_entry_free EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key EXPORT_SYMBOL_GPL vmlinux 0xe2d058b0 bpf_prog_inc_not_zero EXPORT_SYMBOL_GPL vmlinux 0xe2d769ca perf_event_pause @@ -25512,20 +25517,21 @@ EXPORT_SYMBOL_GPL vmlinux 0xe3280bb1 bpf_offload_dev_create EXPORT_SYMBOL_GPL vmlinux 0xe338c5ac inet_hashinfo2_init_mod EXPORT_SYMBOL_GPL vmlinux 0xe349567b virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0xe3514a78 __tracepoint_neigh_update_done EXPORT_SYMBOL_GPL vmlinux 0xe35699b9 ata_link_next -EXPORT_SYMBOL_GPL vmlinux 0xe36e478d strp_done EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral EXPORT_SYMBOL_GPL vmlinux 0xe3910df5 anon_inode_getfd_secure EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit -EXPORT_SYMBOL_GPL vmlinux 0xe39f6947 bpf_trace_run2 EXPORT_SYMBOL_GPL vmlinux 0xe39fbf14 wm8350_block_read EXPORT_SYMBOL_GPL vmlinux 0xe3a5ed21 __tracepoint_remove_device_from_group EXPORT_SYMBOL_GPL vmlinux 0xe3af0085 uart_handle_cts_change EXPORT_SYMBOL_GPL vmlinux 0xe3b083ef iommu_set_fault_handler EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b25560 do_xdp_generic EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler EXPORT_SYMBOL_GPL vmlinux 0xe3c8f082 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xe3ca4359 init_pid_ns EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init EXPORT_SYMBOL_GPL vmlinux 0xe3d04eb0 dm_noflush_suspending EXPORT_SYMBOL_GPL vmlinux 0xe3e6bbc1 set_primary_fwnode @@ -25538,12 +25544,12 @@ EXPORT_SYMBOL_GPL vmlinux 0xe42a57e4 crypto_get_default_null_skcipher EXPORT_SYMBOL_GPL vmlinux 0xe4306f85 of_hwspin_lock_get_id_byname EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume -EXPORT_SYMBOL_GPL vmlinux 0xe4395bab fib_nl_delrule EXPORT_SYMBOL_GPL vmlinux 0xe43be771 skcipher_walk_done EXPORT_SYMBOL_GPL vmlinux 0xe46f2a23 ata_sas_scsi_ioctl EXPORT_SYMBOL_GPL vmlinux 0xe48611ac trace_clock_global EXPORT_SYMBOL_GPL vmlinux 0xe490f6f5 iomap_finish_ioends EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe49f600e skb_to_sgvec_nomark EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str EXPORT_SYMBOL_GPL vmlinux 0xe4b93f27 public_key_verify_signature @@ -25553,13 +25559,15 @@ EXPORT_SYMBOL_GPL vmlinux 0xe4cf2315 usb_hcd_link_urb_to_ep EXPORT_SYMBOL_GPL vmlinux 0xe4cfc21f iommu_group_for_each_dev EXPORT_SYMBOL_GPL vmlinux 0xe4d77714 unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe4df5299 bpf_prog_create_from_user EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4f7514a devlink_traps_register EXPORT_SYMBOL_GPL vmlinux 0xe5097fa9 pci_epc_mem_exit EXPORT_SYMBOL_GPL vmlinux 0xe50a470f gpiochip_irq_unmap EXPORT_SYMBOL_GPL vmlinux 0xe50a5067 da903x_write EXPORT_SYMBOL_GPL vmlinux 0xe51e7e6e dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xe51ffa7a fib_table_lookup EXPORT_SYMBOL_GPL vmlinux 0xe5216da2 blk_lld_busy -EXPORT_SYMBOL_GPL vmlinux 0xe52c1806 inet_csk_reqsk_queue_hash_add EXPORT_SYMBOL_GPL vmlinux 0xe53511ad irq_domain_associate_many EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister EXPORT_SYMBOL_GPL vmlinux 0xe59a2e60 __ata_change_queue_depth @@ -25569,9 +25577,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xe5bf5ed9 vfio_assign_device_set EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request EXPORT_SYMBOL_GPL vmlinux 0xe5ce1a56 rhashtable_walk_enter -EXPORT_SYMBOL_GPL vmlinux 0xe5d6ae9e xfrm_output_resume -EXPORT_SYMBOL_GPL vmlinux 0xe5d98595 xfrm_register_translator -EXPORT_SYMBOL_GPL vmlinux 0xe5f83614 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0xe5fa296f ip6_datagram_send_ctl EXPORT_SYMBOL_GPL vmlinux 0xe5fbc85a kthread_mod_delayed_work EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work EXPORT_SYMBOL_GPL vmlinux 0xe609caf6 elv_register @@ -25581,9 +25587,12 @@ EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array EXPORT_SYMBOL_GPL vmlinux 0xe63662d0 tracepoint_probe_register_prio_may_exist EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe64c6c5f devlink_dpipe_table_resource_set EXPORT_SYMBOL_GPL vmlinux 0xe653065b device_remove_file_self EXPORT_SYMBOL_GPL vmlinux 0xe69bda93 vfio_pci_core_read EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6a8abb1 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe6c2f946 inet6_lookup EXPORT_SYMBOL_GPL vmlinux 0xe6c3ec91 virtio_check_driver_offered_feature EXPORT_SYMBOL_GPL vmlinux 0xe6c781fa irq_domain_free_fwnode EXPORT_SYMBOL_GPL vmlinux 0xe6d6d364 dev_pm_opp_find_level_exact @@ -25594,12 +25603,15 @@ EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data EXPORT_SYMBOL_GPL vmlinux 0xe700d767 reset_control_bulk_deassert EXPORT_SYMBOL_GPL vmlinux 0xe70afe59 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0xe7168ec1 inet6_sock_destruct EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister EXPORT_SYMBOL_GPL vmlinux 0xe729e726 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xe735e9e2 devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0xe73de937 fwnode_property_match_string EXPORT_SYMBOL_GPL vmlinux 0xe740b58a hv_vp_assist_page -EXPORT_SYMBOL_GPL vmlinux 0xe74bc30a __raw_v4_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe745aca5 dst_cache_get EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe75c8b93 xfrm_audit_state_replay_overflow EXPORT_SYMBOL_GPL vmlinux 0xe763fea7 __traceiter_sched_util_est_cfs_tp EXPORT_SYMBOL_GPL vmlinux 0xe766ea03 mm_kobj EXPORT_SYMBOL_GPL vmlinux 0xe767607a clockevents_config_and_register @@ -25610,8 +25622,8 @@ EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get EXPORT_SYMBOL_GPL vmlinux 0xe7a2492d kick_process EXPORT_SYMBOL_GPL vmlinux 0xe7ae42bd cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe7b2f03a sk_msg_memcopy_from_iter EXPORT_SYMBOL_GPL vmlinux 0xe7b54c84 pwm_free -EXPORT_SYMBOL_GPL vmlinux 0xe7c51ed6 ncsi_unregister_dev EXPORT_SYMBOL_GPL vmlinux 0xe7c558fc regulator_list_voltage EXPORT_SYMBOL_GPL vmlinux 0xe7cc25ee pinctrl_put EXPORT_SYMBOL_GPL vmlinux 0xe7d4c0c0 dmi_kobj @@ -25620,9 +25632,9 @@ EXPORT_SYMBOL_GPL vmlinux 0xe7dcb0ef led_classdev_suspend EXPORT_SYMBOL_GPL vmlinux 0xe7eb643d fbcon_modechange_possible EXPORT_SYMBOL_GPL vmlinux 0xe7f65a9c get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xe7f7216a mptcp_pm_get_local_addr_max EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt EXPORT_SYMBOL_GPL vmlinux 0xe8199ff8 sbitmap_del_wait_queue -EXPORT_SYMBOL_GPL vmlinux 0xe82494c2 of_css EXPORT_SYMBOL_GPL vmlinux 0xe83570dc ehci_resume EXPORT_SYMBOL_GPL vmlinux 0xe83b8147 serdev_device_set_baudrate EXPORT_SYMBOL_GPL vmlinux 0xe83eba32 itlb_multihit_kvm_mitigation @@ -25642,22 +25654,24 @@ EXPORT_SYMBOL_GPL vmlinux 0xe8e235c8 arch_static_call_transform EXPORT_SYMBOL_GPL vmlinux 0xe8f3020f blk_crypto_evict_key EXPORT_SYMBOL_GPL vmlinux 0xe8f5b29a serdev_device_wait_until_sent -EXPORT_SYMBOL_GPL vmlinux 0xe8fd347d inet_hash EXPORT_SYMBOL_GPL vmlinux 0xe90ba293 pinctrl_find_and_add_gpio_range EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read EXPORT_SYMBOL_GPL vmlinux 0xe927355c wait_for_stable_page EXPORT_SYMBOL_GPL vmlinux 0xe9397b9d devfreq_cooling_unregister EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free EXPORT_SYMBOL_GPL vmlinux 0xe9498602 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xe94c098a inet6_compat_ioctl EXPORT_SYMBOL_GPL vmlinux 0xe96e3194 crypto_unregister_skciphers EXPORT_SYMBOL_GPL vmlinux 0xe994f913 regmap_mmio_attach_clk -EXPORT_SYMBOL_GPL vmlinux 0xe99b7c18 ping_queue_rcv_skb EXPORT_SYMBOL_GPL vmlinux 0xe9a025e2 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe9a646ec devlink_trap_policers_unregister EXPORT_SYMBOL_GPL vmlinux 0xe9bffb88 sysfs_remove_link_from_group EXPORT_SYMBOL_GPL vmlinux 0xe9ccd81f iommu_sva_find EXPORT_SYMBOL_GPL vmlinux 0xe9ce931a kvm_para_available +EXPORT_SYMBOL_GPL vmlinux 0xe9cfdb1b ip6_datagram_recv_ctl EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap EXPORT_SYMBOL_GPL vmlinux 0xe9d4f81e cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xe9ebd5fa __sock_recv_wifi_status EXPORT_SYMBOL_GPL vmlinux 0xe9fadf16 __SCT__tp_func_neigh_update_done EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd @@ -25674,23 +25688,23 @@ EXPORT_SYMBOL_GPL vmlinux 0xea602575 irq_get_domain_generic_chip EXPORT_SYMBOL_GPL vmlinux 0xeaa4e71c sb800_prefetch EXPORT_SYMBOL_GPL vmlinux 0xeaac780b device_phy_find_device -EXPORT_SYMBOL_GPL vmlinux 0xeab44d45 fib4_rule_default EXPORT_SYMBOL_GPL vmlinux 0xeab5ee7a hwmon_device_register_with_groups EXPORT_SYMBOL_GPL vmlinux 0xeabdb578 blk_mq_alloc_request_hctx EXPORT_SYMBOL_GPL vmlinux 0xeabec597 mmc_send_tuning -EXPORT_SYMBOL_GPL vmlinux 0xeac8f831 bpf_trace_run7 EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod EXPORT_SYMBOL_GPL vmlinux 0xead5c8e5 clk_bulk_prepare EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae4afae tcp_register_congestion_control EXPORT_SYMBOL_GPL vmlinux 0xeaf06989 platform_device_del EXPORT_SYMBOL_GPL vmlinux 0xeaf0a57c look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xeb0feabc lwtunnel_xmit EXPORT_SYMBOL_GPL vmlinux 0xeb1eefb4 devm_regulator_irq_helper EXPORT_SYMBOL_GPL vmlinux 0xeb3cab49 ata_sff_hsm_move -EXPORT_SYMBOL_GPL vmlinux 0xeb5fd9d1 do_xdp_generic EXPORT_SYMBOL_GPL vmlinux 0xeb81e6fa i2c_handle_smbus_host_notify EXPORT_SYMBOL_GPL vmlinux 0xeb833c22 xen_has_pv_disk_devices EXPORT_SYMBOL_GPL vmlinux 0xeb94536f x86_platform +EXPORT_SYMBOL_GPL vmlinux 0xeba45287 ip_route_output_key_hash EXPORT_SYMBOL_GPL vmlinux 0xebb3e5ca pci_check_and_mask_intx EXPORT_SYMBOL_GPL vmlinux 0xebb76908 md_stop EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep @@ -25700,16 +25714,17 @@ EXPORT_SYMBOL_GPL vmlinux 0xec05948e clk_hw_get_parent_by_index EXPORT_SYMBOL_GPL vmlinux 0xec071646 scsi_queue_work EXPORT_SYMBOL_GPL vmlinux 0xec0f451a xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0xec113b56 __traceiter_br_fdb_external_learn_add EXPORT_SYMBOL_GPL vmlinux 0xec165b15 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xec1ad51c netdev_is_rx_handler_busy EXPORT_SYMBOL_GPL vmlinux 0xec227ff2 fwnode_graph_get_next_endpoint -EXPORT_SYMBOL_GPL vmlinux 0xec264a83 netdev_is_rx_handler_busy EXPORT_SYMBOL_GPL vmlinux 0xec355ea1 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xec3895fd ping_seq_stop EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask EXPORT_SYMBOL_GPL vmlinux 0xec64f3af virtqueue_notify EXPORT_SYMBOL_GPL vmlinux 0xec6e23b9 to_nd_region EXPORT_SYMBOL_GPL vmlinux 0xec7049f5 devm_regmap_field_bulk_free -EXPORT_SYMBOL_GPL vmlinux 0xec72fca9 devlink_params_unpublish EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify EXPORT_SYMBOL_GPL vmlinux 0xec7826e0 auxiliary_driver_unregister EXPORT_SYMBOL_GPL vmlinux 0xec788566 acpi_target_system_state @@ -25717,10 +25732,10 @@ EXPORT_SYMBOL_GPL vmlinux 0xec9b5a04 wakeup_source_destroy EXPORT_SYMBOL_GPL vmlinux 0xec9bbf65 xen_pci_frontend EXPORT_SYMBOL_GPL vmlinux 0xec9ea520 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xecafa87a pskb_put EXPORT_SYMBOL_GPL vmlinux 0xecb0cb80 gpiochip_disable_irq EXPORT_SYMBOL_GPL vmlinux 0xecb23559 dev_pm_qos_add_notifier EXPORT_SYMBOL_GPL vmlinux 0xecb2defd noop_direct_IO -EXPORT_SYMBOL_GPL vmlinux 0xecb8c22c udp_destruct_common EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map EXPORT_SYMBOL_GPL vmlinux 0xeccc3bdf ata_pci_sff_init_one EXPORT_SYMBOL_GPL vmlinux 0xecd00eca pci_set_cacheline_size @@ -25729,7 +25744,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xece12d82 crypto_create_tfm_node EXPORT_SYMBOL_GPL vmlinux 0xecfcd610 hvc_alloc EXPORT_SYMBOL_GPL vmlinux 0xecfe8359 platform_get_irq_optional -EXPORT_SYMBOL_GPL vmlinux 0xed0085e5 sk_msg_free_partial EXPORT_SYMBOL_GPL vmlinux 0xed060206 devm_phy_destroy EXPORT_SYMBOL_GPL vmlinux 0xed1c032e is_software_node EXPORT_SYMBOL_GPL vmlinux 0xed39b7b8 parse_OID @@ -25744,10 +25758,8 @@ EXPORT_SYMBOL_GPL vmlinux 0xed9eda8c __audit_inode_child EXPORT_SYMBOL_GPL vmlinux 0xeda1916c blk_mq_start_stopped_hw_queue EXPORT_SYMBOL_GPL vmlinux 0xedb3d22d usb_hcd_platform_shutdown -EXPORT_SYMBOL_GPL vmlinux 0xedb962e5 __tracepoint_devlink_trap_report EXPORT_SYMBOL_GPL vmlinux 0xedb98159 __efivar_entry_delete EXPORT_SYMBOL_GPL vmlinux 0xedbed5f2 get_device -EXPORT_SYMBOL_GPL vmlinux 0xedc44c15 netdev_rx_handler_register EXPORT_SYMBOL_GPL vmlinux 0xedc89199 thermal_cooling_device_register EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier EXPORT_SYMBOL_GPL vmlinux 0xedd5bd50 gpiod_set_raw_array_value_cansleep @@ -25761,7 +25773,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xedf6898c pci_epf_destroy EXPORT_SYMBOL_GPL vmlinux 0xedff3df8 irq_domain_add_legacy EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 -EXPORT_SYMBOL_GPL vmlinux 0xee1a7eba __put_net EXPORT_SYMBOL_GPL vmlinux 0xee1c26a8 ata_host_put EXPORT_SYMBOL_GPL vmlinux 0xee3762e8 __blkg_prfill_rwstat EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier @@ -25801,13 +25812,14 @@ EXPORT_SYMBOL_GPL vmlinux 0xef8b74d6 hwmon_notify_event EXPORT_SYMBOL_GPL vmlinux 0xef8fc95f kvm_async_pf_task_wait_schedule EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last -EXPORT_SYMBOL_GPL vmlinux 0xef9ef1f1 nfs_ssc_register EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier EXPORT_SYMBOL_GPL vmlinux 0xefc20b29 cpci_hp_unregister_controller EXPORT_SYMBOL_GPL vmlinux 0xefd69c84 devm_phy_optional_get EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs EXPORT_SYMBOL_GPL vmlinux 0xeff42e09 spi_finalize_current_transfer EXPORT_SYMBOL_GPL vmlinux 0xf01b0b4f wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xf0328496 devlink_params_publish +EXPORT_SYMBOL_GPL vmlinux 0xf035bed8 xdp_return_frame EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address @@ -25822,26 +25834,31 @@ EXPORT_SYMBOL_GPL vmlinux 0xf0ce5fed sysfs_chmod_file EXPORT_SYMBOL_GPL vmlinux 0xf0d478c7 list_lru_add EXPORT_SYMBOL_GPL vmlinux 0xf0d74316 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xf0dad644 register_pernet_subsys EXPORT_SYMBOL_GPL vmlinux 0xf0dbe66b regulator_count_voltages -EXPORT_SYMBOL_GPL vmlinux 0xf111f750 ip6_datagram_recv_ctl EXPORT_SYMBOL_GPL vmlinux 0xf11bce9f led_trigger_rename_static -EXPORT_SYMBOL_GPL vmlinux 0xf124b585 fib_nl_newrule EXPORT_SYMBOL_GPL vmlinux 0xf130de0e sched_set_fifo_low EXPORT_SYMBOL_GPL vmlinux 0xf13995cc simple_attr_open EXPORT_SYMBOL_GPL vmlinux 0xf13cf905 iommu_group_get EXPORT_SYMBOL_GPL vmlinux 0xf142f59c __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xf1624c9d ncsi_register_dev EXPORT_SYMBOL_GPL vmlinux 0xf16b7894 vfio_group_get_external_user_from_dev EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off EXPORT_SYMBOL_GPL vmlinux 0xf188a662 rhashtable_walk_exit EXPORT_SYMBOL_GPL vmlinux 0xf1985d8b alloc_io_pgtable_ops -EXPORT_SYMBOL_GPL vmlinux 0xf1af0315 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf1b9c536 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf1c7b2b6 netlink_add_tap EXPORT_SYMBOL_GPL vmlinux 0xf1ca3983 regulator_bulk_set_supply_names EXPORT_SYMBOL_GPL vmlinux 0xf1cd8929 kvm_read_and_reset_apf_flags EXPORT_SYMBOL_GPL vmlinux 0xf1ce3207 irq_domain_push_irq EXPORT_SYMBOL_GPL vmlinux 0xf1e1630f usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xf1e7fb82 sock_gen_put EXPORT_SYMBOL_GPL vmlinux 0xf1fb5e89 get_kernel_pages EXPORT_SYMBOL_GPL vmlinux 0xf214de51 misc_cg_try_charge EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf224df4d switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xf23e534a switchdev_handle_fdb_del_to_device +EXPORT_SYMBOL_GPL vmlinux 0xf23e5598 __put_net EXPORT_SYMBOL_GPL vmlinux 0xf2470878 serial8250_rpm_put EXPORT_SYMBOL_GPL vmlinux 0xf24b1b25 __regmap_init_mmio_clk EXPORT_SYMBOL_GPL vmlinux 0xf2543939 fuse_conn_put @@ -25849,11 +25866,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on EXPORT_SYMBOL_GPL vmlinux 0xf2985455 devm_serdev_device_open -EXPORT_SYMBOL_GPL vmlinux 0xf29a825a metadata_dst_alloc -EXPORT_SYMBOL_GPL vmlinux 0xf2a1fb33 devlink_unregister EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key -EXPORT_SYMBOL_GPL vmlinux 0xf2b83de1 task_cls_state -EXPORT_SYMBOL_GPL vmlinux 0xf2b87729 ethnl_cable_test_fault_length EXPORT_SYMBOL_GPL vmlinux 0xf2c53d53 pci_write_msi_msg EXPORT_SYMBOL_GPL vmlinux 0xf2c8eb56 rio_request_outb_dbell EXPORT_SYMBOL_GPL vmlinux 0xf2e017a4 phy_reset @@ -25871,8 +25884,10 @@ EXPORT_SYMBOL_GPL vmlinux 0xf32a7fa7 wm831x_reg_write EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf3376778 inet6_destroy_sock EXPORT_SYMBOL_GPL vmlinux 0xf342f13c acpi_subsys_suspend_late EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf357ba8b inet_csk_addr2sockaddr EXPORT_SYMBOL_GPL vmlinux 0xf35b31f7 serial8250_update_uartclk EXPORT_SYMBOL_GPL vmlinux 0xf36a71cf register_virtio_driver EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit @@ -25882,12 +25897,10 @@ EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove EXPORT_SYMBOL_GPL vmlinux 0xf3bc3aeb anon_inode_getfd EXPORT_SYMBOL_GPL vmlinux 0xf3c302e3 wm8350_reg_lock -EXPORT_SYMBOL_GPL vmlinux 0xf3cc975c nexthop_select_path EXPORT_SYMBOL_GPL vmlinux 0xf3df776d tpm_is_tpm2 EXPORT_SYMBOL_GPL vmlinux 0xf3e1b115 acpi_dev_get_memory_resources -EXPORT_SYMBOL_GPL vmlinux 0xf3ee7acf int_active_memcg EXPORT_SYMBOL_GPL vmlinux 0xf3ef1d90 __clk_mux_determine_rate -EXPORT_SYMBOL_GPL vmlinux 0xf3f33bae devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0xf400c871 netif_carrier_event EXPORT_SYMBOL_GPL vmlinux 0xf408f9ae spi_controller_suspend EXPORT_SYMBOL_GPL vmlinux 0xf412c23a __devm_clk_hw_register_mux EXPORT_SYMBOL_GPL vmlinux 0xf42e66ad intel_pinctrl_get_soc_data @@ -25898,9 +25911,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit EXPORT_SYMBOL_GPL vmlinux 0xf4823441 regulator_set_load -EXPORT_SYMBOL_GPL vmlinux 0xf49467f7 udp4_hwcsum EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal -EXPORT_SYMBOL_GPL vmlinux 0xf4b59e86 lwtunnel_input EXPORT_SYMBOL_GPL vmlinux 0xf4baa7a6 rt_mutex_lock EXPORT_SYMBOL_GPL vmlinux 0xf4c1ff62 scsi_mode_select EXPORT_SYMBOL_GPL vmlinux 0xf4c36cf0 device_show_int @@ -25911,7 +25922,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xf4dd89bf uv_get_hubless_system EXPORT_SYMBOL_GPL vmlinux 0xf4e35e28 sbitmap_prepare_to_wait EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate -EXPORT_SYMBOL_GPL vmlinux 0xf51ce598 tcp_bpf_sendmsg_redir EXPORT_SYMBOL_GPL vmlinux 0xf520fcba rio_request_inb_pwrite EXPORT_SYMBOL_GPL vmlinux 0xf52ad4f4 usb_root_hub_lost_power EXPORT_SYMBOL_GPL vmlinux 0xf5366bc9 devm_usb_get_phy @@ -25922,6 +25932,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xf54fa1cf crypto_shash_final EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock EXPORT_SYMBOL_GPL vmlinux 0xf55c1d60 efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0xf56717ea ip6_dst_lookup_tunnel EXPORT_SYMBOL_GPL vmlinux 0xf581d6d6 blk_trace_remove EXPORT_SYMBOL_GPL vmlinux 0xf5888fe0 ata_dev_next EXPORT_SYMBOL_GPL vmlinux 0xf5966658 pci_epc_init_notify @@ -25932,23 +25943,23 @@ EXPORT_SYMBOL_GPL vmlinux 0xf5c36a9e ata_pio_need_iordy EXPORT_SYMBOL_GPL vmlinux 0xf5ccdd3e __traceiter_attach_device_to_domain EXPORT_SYMBOL_GPL vmlinux 0xf5deda75 __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0xf5ea0468 devlink_health_reporter_create EXPORT_SYMBOL_GPL vmlinux 0xf5f0b625 ata_sff_port_ops -EXPORT_SYMBOL_GPL vmlinux 0xf5f13be2 fib_nh_common_init EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node EXPORT_SYMBOL_GPL vmlinux 0xf61d1979 dma_buf_put EXPORT_SYMBOL_GPL vmlinux 0xf64aaa25 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xf6511667 ethnl_cable_test_step EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync EXPORT_SYMBOL_GPL vmlinux 0xf67bd4c1 shmem_read_mapping_page_gfp -EXPORT_SYMBOL_GPL vmlinux 0xf6865b54 msg_zerocopy_alloc EXPORT_SYMBOL_GPL vmlinux 0xf6a1cb36 ata_cable_unknown EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6b74eb2 inet_csk_get_port EXPORT_SYMBOL_GPL vmlinux 0xf6c189fc page_mkclean EXPORT_SYMBOL_GPL vmlinux 0xf6c58867 spi_mem_get_name EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable EXPORT_SYMBOL_GPL vmlinux 0xf6d022d0 irq_setup_alt_chip EXPORT_SYMBOL_GPL vmlinux 0xf6d08613 of_icc_get -EXPORT_SYMBOL_GPL vmlinux 0xf6d84be5 sock_gen_put EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge EXPORT_SYMBOL_GPL vmlinux 0xf7079ceb rio_unregister_mport @@ -25958,6 +25969,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xf71ae119 ata_dev_set_feature EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf7482e26 ip6_pol_route EXPORT_SYMBOL_GPL vmlinux 0xf7496f69 __devm_regmap_init_i2c EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on @@ -25979,52 +25991,53 @@ EXPORT_SYMBOL_GPL vmlinux 0xf7ce5362 tty_perform_flush EXPORT_SYMBOL_GPL vmlinux 0xf7d4689a serial8250_get_port EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite -EXPORT_SYMBOL_GPL vmlinux 0xf7d9fd9e dev_nit_active -EXPORT_SYMBOL_GPL vmlinux 0xf7e0ecd5 __SCK__tp_func_neigh_timer_handler EXPORT_SYMBOL_GPL vmlinux 0xf819c6dd da903x_writes EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu EXPORT_SYMBOL_GPL vmlinux 0xf82f42a3 pci_msi_unmask_irq EXPORT_SYMBOL_GPL vmlinux 0xf83bc770 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0xf84da726 udp4_lib_lookup EXPORT_SYMBOL_GPL vmlinux 0xf852a526 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xf854d15f ping_common_sendmsg EXPORT_SYMBOL_GPL vmlinux 0xf85d3f7b devm_gpio_request EXPORT_SYMBOL_GPL vmlinux 0xf8663753 regulator_map_voltage_pickable_linear_range EXPORT_SYMBOL_GPL vmlinux 0xf870f53f show_class_attr_string EXPORT_SYMBOL_GPL vmlinux 0xf873d4dc fpu_copy_uabi_to_guest_fpstate EXPORT_SYMBOL_GPL vmlinux 0xf87f413e led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xf87f464c __SCK__tp_func_neigh_timer_handler EXPORT_SYMBOL_GPL vmlinux 0xf87fe496 serial8250_do_set_divisor EXPORT_SYMBOL_GPL vmlinux 0xf881cecd load_fixmap_gdt EXPORT_SYMBOL_GPL vmlinux 0xf896643f ata_host_suspend EXPORT_SYMBOL_GPL vmlinux 0xf8adad8d spi_get_next_queued_message EXPORT_SYMBOL_GPL vmlinux 0xf8bbc8db perf_pmu_register EXPORT_SYMBOL_GPL vmlinux 0xf8d45f21 sysfs_remove_groups -EXPORT_SYMBOL_GPL vmlinux 0xf8e08f1f lwtunnel_get_encap_size EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit EXPORT_SYMBOL_GPL vmlinux 0xf8fbf5cb __tracepoint_attach_device_to_domain EXPORT_SYMBOL_GPL vmlinux 0xf8fe3986 pat_pfn_immune_to_uc_mtrr -EXPORT_SYMBOL_GPL vmlinux 0xf909a26b lwtunnel_build_state EXPORT_SYMBOL_GPL vmlinux 0xf91f1b39 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xf933ad27 lwtunnel_output EXPORT_SYMBOL_GPL vmlinux 0xf939f121 pci_max_pasids EXPORT_SYMBOL_GPL vmlinux 0xf9416a26 vfio_pci_core_err_handlers EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf EXPORT_SYMBOL_GPL vmlinux 0xf968d4ce mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf96af224 devlink_port_attrs_pci_pf_set EXPORT_SYMBOL_GPL vmlinux 0xf9721188 blkcg_root_css EXPORT_SYMBOL_GPL vmlinux 0xf9732064 led_init_default_state_get EXPORT_SYMBOL_GPL vmlinux 0xf97a7195 rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xf9802980 sk_msg_trim EXPORT_SYMBOL_GPL vmlinux 0xf985e65e dev_pm_opp_adjust_voltage -EXPORT_SYMBOL_GPL vmlinux 0xf99901ac ip_build_and_send_pkt EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies EXPORT_SYMBOL_GPL vmlinux 0xf9b34a0b iopf_queue_free EXPORT_SYMBOL_GPL vmlinux 0xf9b35d06 gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xf9be434f ncsi_stop_dev EXPORT_SYMBOL_GPL vmlinux 0xf9c29e9a mmu_interval_notifier_insert_locked EXPORT_SYMBOL_GPL vmlinux 0xf9c874dd dma_buf_vunmap -EXPORT_SYMBOL_GPL vmlinux 0xf9dc12c0 tcp_cong_avoid_ai EXPORT_SYMBOL_GPL vmlinux 0xf9e52898 uart_try_toggle_sysrq EXPORT_SYMBOL_GPL vmlinux 0xfa01d782 bpf_offload_dev_netdev_unregister EXPORT_SYMBOL_GPL vmlinux 0xfa01f6cd watchdog_notify_pretimeout -EXPORT_SYMBOL_GPL vmlinux 0xfa047f1e devlink_flash_update_timeout_notify EXPORT_SYMBOL_GPL vmlinux 0xfa0926d2 dma_buf_pin EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa20c079 __SCK__tp_func_fdb_delete EXPORT_SYMBOL_GPL vmlinux 0xfa24a6ae i2c_adapter_type EXPORT_SYMBOL_GPL vmlinux 0xfa27b17b devm_thermal_of_cooling_device_register EXPORT_SYMBOL_GPL vmlinux 0xfa31743b hvc_remove @@ -26040,14 +26053,13 @@ EXPORT_SYMBOL_GPL vmlinux 0xfa71d76d gpiochip_get_data EXPORT_SYMBOL_GPL vmlinux 0xfa760101 usb_reset_device EXPORT_SYMBOL_GPL vmlinux 0xfa7f90e0 acpi_debugfs_dir -EXPORT_SYMBOL_GPL vmlinux 0xfa9363b5 __traceiter_kfree_skb EXPORT_SYMBOL_GPL vmlinux 0xfa953250 __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xfaa0d2c5 ipv6_stub EXPORT_SYMBOL_GPL vmlinux 0xfaa5cec7 bus_unregister EXPORT_SYMBOL_GPL vmlinux 0xfaa7084b i2c_new_dummy_device EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit EXPORT_SYMBOL_GPL vmlinux 0xfab39ed7 pinctrl_find_gpio_range_from_pin EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line -EXPORT_SYMBOL_GPL vmlinux 0xfacb15e5 task_cgroup_path EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax EXPORT_SYMBOL_GPL vmlinux 0xfada8d2c edac_device_handle_ue_count EXPORT_SYMBOL_GPL vmlinux 0xfaf13bf6 irq_domain_pop_irq @@ -26058,21 +26070,18 @@ EXPORT_SYMBOL_GPL vmlinux 0xfb1e3aca platform_unregister_drivers EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync EXPORT_SYMBOL_GPL vmlinux 0xfb4477fc ata_bmdma_irq_clear -EXPORT_SYMBOL_GPL vmlinux 0xfb47bfa5 sk_psock_init EXPORT_SYMBOL_GPL vmlinux 0xfb622ced ata_bmdma_start EXPORT_SYMBOL_GPL vmlinux 0xfb63815f tty_port_register_device_serdev EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name EXPORT_SYMBOL_GPL vmlinux 0xfb7196d2 badblocks_exit EXPORT_SYMBOL_GPL vmlinux 0xfb7e6899 __dma_request_channel -EXPORT_SYMBOL_GPL vmlinux 0xfba56e9a devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0xfb9ea167 __traceiter_br_fdb_update EXPORT_SYMBOL_GPL vmlinux 0xfbace861 pwmchip_remove EXPORT_SYMBOL_GPL vmlinux 0xfbb2969e wbt_disable_default -EXPORT_SYMBOL_GPL vmlinux 0xfbbac2a0 rtnl_put_cacheinfo -EXPORT_SYMBOL_GPL vmlinux 0xfbbbb513 __ndisc_fill_addr_option EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action EXPORT_SYMBOL_GPL vmlinux 0xfbc4c004 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xfbd2384a nfs_ssc_register EXPORT_SYMBOL_GPL vmlinux 0xfbdaa6f1 crypto_grab_shash -EXPORT_SYMBOL_GPL vmlinux 0xfbe7f14d ethnl_cable_test_result EXPORT_SYMBOL_GPL vmlinux 0xfbeb1c8c genphy_c45_read_mdix EXPORT_SYMBOL_GPL vmlinux 0xfbeeb13c phy_gbit_all_ports_features EXPORT_SYMBOL_GPL vmlinux 0xfbf054d9 register_user_hw_breakpoint @@ -26088,16 +26097,10 @@ EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power EXPORT_SYMBOL_GPL vmlinux 0xfc479fe0 pwm_put -EXPORT_SYMBOL_GPL vmlinux 0xfc4fb229 validate_xmit_xfrm -EXPORT_SYMBOL_GPL vmlinux 0xfc615837 xfrm_get_translator EXPORT_SYMBOL_GPL vmlinux 0xfc665cd6 pm_wakeup_dev_event EXPORT_SYMBOL_GPL vmlinux 0xfc6ead11 auxiliary_device_init -EXPORT_SYMBOL_GPL vmlinux 0xfc6ecf2f xfrm_dev_resume -EXPORT_SYMBOL_GPL vmlinux 0xfc9184d6 __tracepoint_neigh_event_send_dead -EXPORT_SYMBOL_GPL vmlinux 0xfc9b5370 __ip6_datagram_connect -EXPORT_SYMBOL_GPL vmlinux 0xfc9e1bab init_pid_ns -EXPORT_SYMBOL_GPL vmlinux 0xfca873c2 ndo_dflt_bridge_getlink EXPORT_SYMBOL_GPL vmlinux 0xfcabbe53 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xfcbc81c3 __tracepoint_neigh_event_send_done EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes EXPORT_SYMBOL_GPL vmlinux 0xfcca5424 register_kprobe @@ -26113,19 +26116,18 @@ EXPORT_SYMBOL_GPL vmlinux 0xfd45feeb pm_genpd_add_device EXPORT_SYMBOL_GPL vmlinux 0xfd49d2f2 regmap_noinc_read EXPORT_SYMBOL_GPL vmlinux 0xfd63e8db acpi_spi_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfd6eb728 raw_seq_next EXPORT_SYMBOL_GPL vmlinux 0xfd6ff760 crypto_skcipher_decrypt EXPORT_SYMBOL_GPL vmlinux 0xfd71e32d crypto_grab_spawn EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable EXPORT_SYMBOL_GPL vmlinux 0xfd7ba1a2 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xfd7f90b8 ip6_datagram_release_cb EXPORT_SYMBOL_GPL vmlinux 0xfd85cce2 phy_get -EXPORT_SYMBOL_GPL vmlinux 0xfd936392 security_inode_mkdir EXPORT_SYMBOL_GPL vmlinux 0xfda56ee7 i2c_recover_bus EXPORT_SYMBOL_GPL vmlinux 0xfdafa886 tpm_pcr_extend -EXPORT_SYMBOL_GPL vmlinux 0xfdb91b0b ipv6_recv_error EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type EXPORT_SYMBOL_GPL vmlinux 0xfdc4e7aa vfio_pci_core_ioctl EXPORT_SYMBOL_GPL vmlinux 0xfdc5fc27 nvmem_cell_read_variable_le_u32 -EXPORT_SYMBOL_GPL vmlinux 0xfdd8f8e0 __tracepoint_devlink_hwerr EXPORT_SYMBOL_GPL vmlinux 0xfde4a450 tty_kopen_exclusive EXPORT_SYMBOL_GPL vmlinux 0xfdea2d04 alarm_cancel EXPORT_SYMBOL_GPL vmlinux 0xfdf6f340 thermal_zone_bind_cooling_device @@ -26138,7 +26140,6 @@ EXPORT_SYMBOL_GPL vmlinux 0xfe3e7ed7 rio_route_add_entry EXPORT_SYMBOL_GPL vmlinux 0xfe446b42 cgroup_attach_task_all EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns -EXPORT_SYMBOL_GPL vmlinux 0xfe511843 fib_table_lookup EXPORT_SYMBOL_GPL vmlinux 0xfe591cc1 pci_user_write_config_byte EXPORT_SYMBOL_GPL vmlinux 0xfe5aad0c divider_ro_determine_rate EXPORT_SYMBOL_GPL vmlinux 0xfe62aec1 sched_trace_rq_avg_irq @@ -26146,7 +26147,9 @@ EXPORT_SYMBOL_GPL vmlinux 0xfe67563c pinctrl_dev_get_drvdata EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine EXPORT_SYMBOL_GPL vmlinux 0xfe73555b blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0xfe7d998f phy_speed_down EXPORT_SYMBOL_GPL vmlinux 0xfe7ed0ad sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfe85c91a __traceiter_napi_poll EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page EXPORT_SYMBOL_GPL vmlinux 0xfe8d44c6 devm_device_remove_group EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free @@ -26158,6 +26161,7 @@ EXPORT_SYMBOL_GPL vmlinux 0xfec97189 ehci_suspend EXPORT_SYMBOL_GPL vmlinux 0xfeca2e5e devm_regulator_get_exclusive EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed355b8 nf_nat_hook EXPORT_SYMBOL_GPL vmlinux 0xfed561ff divider_determine_rate EXPORT_SYMBOL_GPL vmlinux 0xfeee2c29 __trace_array_puts EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read @@ -26172,8 +26176,11 @@ EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider EXPORT_SYMBOL_GPL vmlinux 0xff35699e acpi_initialize_hp_context EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff501d55 ethnl_cable_test_free EXPORT_SYMBOL_GPL vmlinux 0xff5bb6ee __SCK__tp_func_sched_update_nr_running_tp EXPORT_SYMBOL_GPL vmlinux 0xff646078 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xff69815f power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0xff6e892e addrconf_add_linklocal EXPORT_SYMBOL_GPL vmlinux 0xff74dc18 device_get_named_child_node EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table @@ -26267,62 +26274,62 @@ PMBUS EXPORT_SYMBOL_GPL 0xd3273a68 pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core PMBUS EXPORT_SYMBOL_GPL 0xde05831d pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core SND_INTEL_SOUNDWIRE_ACPI EXPORT_SYMBOL 0xbb4f9d1f sdw_intel_acpi_scan sound/hda/snd-intel-sdw-acpi -SND_SOC_INTEL_HDA_DSP_COMMON EXPORT_SYMBOL 0xa3a0b3ca hda_dsp_hdmi_build_controls sound/soc/intel/boards/snd-soc-intel-hda-dsp-common +SND_SOC_INTEL_HDA_DSP_COMMON EXPORT_SYMBOL 0x67c25111 hda_dsp_hdmi_build_controls sound/soc/intel/boards/snd-soc-intel-hda-dsp-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x042b72aa max_98373_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x2c6d4429 max_98357a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x4217da40 max_98373_spk_codec_init sound/soc/intel/boards/snd-soc-intel-sof-maxim-common SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x55d73de1 max_98373_trigger sound/soc/intel/boards/snd-soc-intel-sof-maxim-common -SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x6507afd0 max_98357a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x9dfeac73 max_98373_components sound/soc/intel/boards/snd-soc-intel-sof-maxim-common -SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xb4a9fc41 max_98360a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xa1babcff max_98360a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xb4ff73ad max_98373_ops sound/soc/intel/boards/snd-soc-intel-sof-maxim-common -SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xb7a850b2 max_98373_spk_codec_init sound/soc/intel/boards/snd-soc-intel-sof-maxim-common -SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xe8b0af7d max_98373_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-maxim-common -SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xf4585d0a max_98373_dapm_routes sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xdd57aa94 max_98373_dapm_routes sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x11b2ad50 sof_acpi_probe sound/soc/sof/snd-sof-acpi SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x3eea2ea3 sof_acpi_remove sound/soc/sof/snd-sof-acpi SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x914a990a sof_acpi_pm sound/soc/sof/snd-sof-acpi -SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0xb3fd3fd7 sof_acpi_probe sound/soc/sof/snd-sof-acpi -SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x3c8400b0 hda_codec_jack_wake_enable sound/soc/sof/intel/snd-sof-intel-hda -SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x60ae4761 hda_codec_probe_bus sound/soc/sof/intel/snd-sof-intel-hda -SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0xab89a493 hda_codec_jack_check sound/soc/sof/intel/snd-sof-intel-hda -SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x5e553f3f hda_codec_i915_exit sound/soc/sof/intel/snd-sof-intel-hda -SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0xc9ff4e3d hda_codec_i915_display_power sound/soc/sof/intel/snd-sof-intel-hda -SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0xd79d69b9 hda_codec_i915_init sound/soc/sof/intel/snd-sof-intel-hda -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x01b75f2b atom_set_mach_params sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x200d0eb2 atom_get_window_offset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x3d93b73f hda_codec_jack_wake_enable sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x8b988c57 hda_codec_probe_bus sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0xfffd97e0 hda_codec_jack_check sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x0bc1fa53 hda_codec_i915_init sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0xa558d153 hda_codec_i915_display_power sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0xb93908c5 hda_codec_i915_exit sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x0b9dac68 atom_set_mach_params sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x31a6bec0 atom_run sound/soc/sof/intel/snd-sof-intel-atom SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x3503e0b1 atom_irq_thread sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x38b61404 atom_run sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x3cc1562a atom_get_mailbox_offset sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x4d938d09 atom_dai sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x59c8dcfd atom_send_msg sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x93d976cd atom_reset sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xd85d299c atom_machine_select sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xdbd27392 atom_dump sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x3b392b23 atom_dai sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x71986525 atom_get_mailbox_offset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x84ea895a atom_dump sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xd34e5746 atom_reset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xd73336cf atom_get_window_offset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xe5d80c71 atom_machine_select sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xee330fa7 atom_send_msg sound/soc/sof/intel/snd-sof-intel-atom SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xefa4a41a atom_irq_handler sound/soc/sof/intel/snd-sof-intel-atom -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x49c7d9d5 icl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x5836ff74 tgl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x6390ba7b sof_tgl_ops sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x7061ba92 sof_icl_ops sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x73530df7 apl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x8076c79a sof_cnl_ops sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x81a15ad4 jsl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x84fbf75b ehl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x096b8c16 jsl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x0c312199 ehl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x3a2db1f1 sof_cnl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x4fe9511f sof_apl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x5416b5f2 cnl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x8ffe50b4 hda_pci_intel_probe sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x9480be04 tglh_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xdcdc6330 cnl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xe28ef3e9 adls_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xf5b22774 sof_apl_ops sound/soc/sof/intel/snd-sof-intel-hda-common -SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x590e26e5 intel_pcm_open sound/soc/sof/intel/snd-sof-intel-ipc -SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x99d6401a intel_pcm_close sound/soc/sof/intel/snd-sof-intel-ipc -SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xf041e0e2 intel_ipc_pcm_params sound/soc/sof/intel/snd-sof-intel-ipc -SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xfec21d77 intel_ipc_msg_data sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x976c9aa3 adls_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xc10d0f17 icl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xca3accf9 sof_icl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xd0fc29b6 tgl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xd9cbcc10 sof_tgl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xe162d74e tglh_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xfb99db35 apl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x1af26f1a intel_ipc_msg_data sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x5cacebe2 intel_ipc_pcm_params sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0x5db5e315 intel_pcm_open sound/soc/sof/intel/snd-sof-intel-ipc +SND_SOC_SOF_INTEL_HIFI_EP_IPC EXPORT_SYMBOL 0xf87be4fb intel_pcm_close sound/soc/sof/intel/snd-sof-intel-ipc SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x323d326e sof_pci_probe sound/soc/sof/snd-sof-pci SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x6e246642 sof_pci_shutdown sound/soc/sof/snd-sof-pci SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x9c967850 sof_pci_pm sound/soc/sof/snd-sof-pci SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0xf1dd9640 sof_pci_remove sound/soc/sof/snd-sof-pci -SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0xcfecf8b2 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp -SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5939c8b5 sdw_intel_exit drivers/soundwire/soundwire-intel -SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5a537b3c sdw_intel_probe drivers/soundwire/soundwire-intel +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0xae640b47 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x0f044ce4 sdw_intel_probe drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x4eaba1de sdw_intel_startup drivers/soundwire/soundwire-intel SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5af438eb sdw_intel_enable_irq drivers/soundwire/soundwire-intel -SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x85c3d607 sdw_intel_startup drivers/soundwire/soundwire-intel -SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xa7dc0ceb sdw_intel_process_wakeen_event drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x65001dde sdw_intel_process_wakeen_event drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x80fd8746 sdw_intel_exit drivers/soundwire/soundwire-intel SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaa52eba1 sdw_intel_thread drivers/soundwire/soundwire-intel TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x9d8a8803 efi_embedded_fw_list vmlinux TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x9dd8d0e2 efi_embedded_fw_checked vmlinux diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg.modules linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg.modules --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg.modules +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/amd64/intel-iotg.modules @@ -1026,7 +1026,6 @@ ddbridge-dummy-fe de2104x de4x5 -decnet defxx dell-laptop dell-rbtn @@ -1115,7 +1114,6 @@ dmi-sysfs dmm32at dmx3191d -dn_rtmsg dnet dp83640 dp83822 @@ -5198,7 +5196,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/version linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/version --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/version +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/abi/version @@ -1 +1 @@ -5.15.0-1038.43 +5.15.0-1040.46 diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/changelog linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/changelog --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/changelog +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/changelog @@ -1,3 +1,1018 @@ +linux-intel-iotg (5.15.0-1041.47) jammy; urgency=medium + + * jammy/linux-intel-iotg: 5.15.0-1041.47 -proposed tracker (LP: #2033808) + + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - [Config] updateconfigs for BLK_DEV_SX8 + + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - [Config] updateconfigs for DECNET + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * [IOTG][RPL] Integrated TSN controller (stmmac) driver enabling + (LP: #2019222) + - stmmac: intel: Separate ADL-N and RPL-P device ID from TGL + + [ Ubuntu: 5.15.0-85.95 ] + + * jammy/linux: 5.15.0-85.95 -proposed tracker (LP: #2033821) + * Please enable Renesas RZ platform serial installer (LP: #2022361) + - [Config] enable hihope RZ/G2M serial console + - [Config] Mark sh-sci as built-in + * Request backport of xen timekeeping performance improvements (LP: #2033122) + - x86/xen/time: prefer tsc as clocksource when it is invariant + * kdump doesn't work with UEFI secure boot and kernel lockdown enabled on + ARM64 (LP: #2033007) + - [Config]: Enable CONFIG_KEXEC_IMAGE_VERIFY_SIG + - kexec, KEYS: make the code in bzImage64_verify_sig generic + - arm64: kexec_file: use more system keyrings to verify kernel image signature + * ubuntu_kernel_selftests:net:vrf-xfrm-tests.sh: 8 failed test cases on + jammy/fips (LP: #2019880) + - selftests: net: vrf-xfrm-tests: change authentication and encryption algos + * ubuntu_kernel_selftests:net:tls: 88 failed test cases on jammy/fips + (LP: #2019868) + - selftests/harness: allow tests to be skipped during setup + - selftests: net: tls: check if FIPS mode is enabled + * A general-proteciton exception during guest migration to unsupported PKRU + machine (LP: #2032164) + - x86/kvm/fpu: Limit guest user_xfeatures to supported bits of XCR0 + - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES + * CVE-2023-4569 + - netfilter: nf_tables: deactivate catchall elements in next generation + * CVE-2023-20569 + - x86/cpu, kvm: Add support for CPUID_80000021_EAX + - x86/srso: Add a Speculative RAS Overflow mitigation + - x86/srso: Add IBPB_BRTYPE support + - x86/srso: Add SRSO_NO support + - x86/srso: Add IBPB + - x86/srso: Add IBPB on VMEXIT + - x86/srso: Fix return thunks in generated code + - x86/srso: Tie SBPB bit setting to microcode patch detection + - x86: fix backwards merge of GDS/SRSO bit + - x86/srso: Fix build breakage with the LLVM linker + - x86/cpu: Fix __x86_return_thunk symbol type + - x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk() + - x86/alternative: Make custom return thunk unconditional + - objtool: Add frame-pointer-specific function ignore + - x86/ibt: Add ANNOTATE_NOENDBR + - x86/cpu: Clean up SRSO return thunk mess + - x86/cpu: Rename original retbleed methods + - x86/cpu: Rename srso_(.*)_alias to srso_alias_\1 + - x86/cpu: Cleanup the untrain mess + - x86/srso: Explain the untraining sequences a bit more + - x86/static_call: Fix __static_call_fixup() + - x86/retpoline: Don't clobber RFLAGS during srso_safe_ret() + - x86/srso: Disable the mitigation on unaffected configurations + - x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG + - objtool/x86: Fixup frame-pointer vs rethunk + - x86/srso: Correct the mitigation status when SMT is disabled + - objtool/x86: Fix SRSO mess + - Ubuntu: [Config]: enable Speculative Return Stack Overflow mitigation + * Fix unreliable ethernet cable detection on I219 NIC (LP: #2028122) + - e1000e: Use PME poll to circumvent unreliable ACPI wake + * Need to get fine-grained control for FAN(TFN) Participant. (LP: #2031333) + - ACPI: fan: Separate file for attributes creation + - ACPI: fan: Optimize struct acpi_fan_fif + - ACPI: fan: Properly handle fine grain control + - ACPI: fan: Add additional attributes for fine grain control + * [SRU][Ubuntu 22.04.1] Unable to interpret the frequency values in + cpuinfo_min_freq and cpuino_max_freq sysfs files. (LP: #2030924) + - cpufreq: intel_pstate: Fix scaling for hybrid-capable + * CVE-2023-40283 + - Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb + * CVE-2023-20588 + - x86/bugs: Increase the x86 bugs vector size to two u32s + - x86/CPU/AMD: Do not leak quotient data after a division by 0 + - x86/CPU/AMD: Fix the DIV(0) initial fix attempt + * CVE-2023-4194 + - net: tun_chr_open(): set sk_uid from current_fsuid() + - net: tap_open(): set sk_uid from current_fsuid() + * CVE-2023-4155 + - KVM: SEV: Refactor out sev_es_state struct + - KVM: SEV: Fall back to vmalloc for SEV-ES scratch area if necessary + - KVM: SVM: Do not terminate SEV-ES guests on GHCB validation failure + - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors + - KVM: SEV: snapshot the GHCB before accessing it + - KVM: SEV: only access GHCB fields once + * CVE-2023-1206 + - tcp: Reduce chance of collisions in inet6_hashfn(). + * Crashing with CPU soft lock on GA kernel 5.15.0.79.76 and HWE kernel + 5.19.0-46.47-22.04.1 (LP: #2032176) + - Revert "KVM: x86: enable TDP MMU by default" + * Jammy update: v5.15.122 upstream stable release (LP: #2032690) + - Linux 5.15.122 + - Upstream stable to v5.15.122 + * Jammy update: v5.15.121 upstream stable release (LP: #2032689) + - netfilter: nf_tables: drop map element references from preparation phase + - fs: pipe: reveal missing function protoypes + - x86/resctrl: Only show tasks' pid in current pid namespace + - blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost + - md/raid10: check slab-out-of-bounds in md_bitmap_get_counter + - md/raid10: fix overflow of md/safe_mode_delay + - md/raid10: fix wrong setting of max_corr_read_errors + - md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request + - md/raid10: fix io loss while replacement replace rdev + - irqchip/jcore-aic: Fix missing allocation of IRQ descriptors + - svcrdma: Prevent page release when nothing was received + - posix-timers: Prevent RT livelock in itimer_delete() + - tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode(). + - clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe + - PM: domains: fix integer overflow issues in genpd_parse_state() + - perf/arm-cmn: Fix DTC reset + - powercap: RAPL: Fix CONFIG_IOSF_MBI dependency + - ARM: 9303/1: kprobes: avoid missing-declaration warnings + - cpufreq: intel_pstate: Fix energy_performance_preference for passive + - thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe() + - rcutorture: Correct name of use_softirq module parameter + - rcuscale: Always log error message + - rcuscale: Move shutdown from wait_event() to wait_event_idle() + - rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup() + - rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale + - kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME + is undefined + - perf/ibs: Fix interface via core pmu events + - x86/mm: Fix __swp_entry_to_pte() for Xen PV guests + - locking/atomic: arm: fix sync ops + - evm: Complete description of evm_inode_setattr() + - evm: Fix build warnings + - ima: Fix build warnings + - pstore/ram: Add check for kstrdup + - igc: Enable and fix RX hash usage by netstack + - wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation + - wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx + - libbpf: btf_dump_type_data_check_overflow needs to consider + BTF_MEMBER_BITFIELD_SIZE + - samples/bpf: Fix buffer overflow in tcp_basertt + - spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG + - wifi: wilc1000: fix for absent RSN capabilities WFA testcase + - wifi: mwifiex: Fix the size of a memory allocation in + mwifiex_ret_802_11_scan() + - sctp: add bpf_bypass_getsockopt proto callback + - libbpf: fix offsetof() and container_of() to work with CO-RE + - bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen + - spi: dw: Round of n_bytes to power of 2 + - nfc: llcp: fix possible use of uninitialized variable in + nfc_llcp_send_connect() + - bpftool: JIT limited misreported as negative value on aarch64 + - regulator: core: Fix more error checking for debugfs_create_dir() + - regulator: core: Streamline debugfs operations + - wifi: orinoco: Fix an error handling path in spectrum_cs_probe() + - wifi: orinoco: Fix an error handling path in orinoco_cs_probe() + - wifi: atmel: Fix an error handling path in atmel_probe() + - wl3501_cs: use eth_hw_addr_set() + - wifi: wl3501_cs: Fix an error handling path in wl3501_probe() + - wifi: ray_cs: Utilize strnlen() in parse_addr() + - wifi: ray_cs: Drop useless status variable in parse_addr() + - wifi: ray_cs: Fix an error handling path in ray_probe() + - wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes + - selftests/bpf: Fix check_mtu using wrong variable type + - wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled + - wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown + - watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct + config + - watchdog/perf: more properly prevent false positives with turbo modes + - kexec: fix a memory leak in crash_shrink_memory() + - memstick r592: make memstick_debug_get_tpc_name() static + - wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key() + - rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO + - wifi: iwlwifi: pull from TXQs with softirqs disabled + - iwlwifi: don't dump_stack() when we get an unexpected interrupt + - wifi: iwlwifi: pcie: fix NULL pointer dereference in + iwl_pcie_irq_rx_msix_handler() + - wifi: cfg80211: rewrite merging of inherited elements + - wifi: iwlwifi: mvm: indicate HW decrypt for beacon protection + - wifi: ath9k: convert msecs to jiffies where needed + - bpf: Omit superfluous address family check in __bpf_skc_lookup + - bpf: Factor out socket lookup functions for the TC hookpoint. + - bpf: Call __bpf_sk_lookup()/__bpf_skc_lookup() directly via TC hookpoint + - bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings + - can: length: fix bitstuffing count + - igc: Fix race condition in PTP tx code + - net: stmmac: fix double serdes powerdown + - netlink: fix potential deadlock in netlink_set_err() + - netlink: do not hard code device address lenth in fdb dumps + - bonding: do not assume skb mac_header is set + - selftests: rtnetlink: remove netdevsim device after ipsec offload test + - gtp: Fix use-after-free in __gtp_encap_destroy(). + - net: axienet: Move reset before 64-bit DMA detection + - sfc: fix crash when reading stats while NIC is resetting + - lib/ts_bm: reset initial match offset for every block of text + - netfilter: conntrack: dccp: copy entire header to stack buffer, not just + basic one + - netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return + value. + - ipvlan: Fix return value of ipvlan_queue_xmit() + - netlink: Add __sock_i_ino() for __netlink_diag_dump(). + - drm/amd/display: Add logging for display MALL refresh setting + - radeon: avoid double free in ci_dpm_init() + - drm/amd/display: Explicitly specify update type per plane info change + - Input: drv260x - sleep between polling GO bit + - drm/bridge: tc358768: always enable HS video mode + - drm/bridge: tc358768: fix PLL parameters computation + - drm/bridge: tc358768: fix PLL target frequency + - drm/bridge: tc358768: fix TCLK_ZEROCNT computation + - drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation + - drm/bridge: tc358768: fix TCLK_TRAILCNT computation + - drm/bridge: tc358768: fix THS_ZEROCNT computation + - drm/bridge: tc358768: fix TXTAGOCNT computation + - drm/bridge: tc358768: fix THS_TRAILCNT computation + - drm/vram-helper: fix function names in vram helper doc + - ARM: dts: BCM5301X: Drop "clock-names" from the SPI node + - ARM: dts: meson8b: correct uart_B and uart_C clock references + - Input: adxl34x - do not hardcode interrupt trigger type + - drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks` + - drm/panel: sharp-ls043t1le01: adjust mode settings + - ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards + - bus: ti-sysc: Fix dispc quirk masking bool variables + - arm64: dts: microchip: sparx5: do not use PSCI on reference boards + - clk: imx: scu: use _safe list iterator to avoid a use after free + - RDMA/bnxt_re: Disable/kill tasklet only if it is enabled + - RDMA/bnxt_re: Fix to remove unnecessary return labels + - RDMA/bnxt_re: Use unique names while registering interrupts + - RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid + - RDMA/bnxt_re: Fix to remove an unnecessary log + - drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rate + - drm/msm/disp/dpu: get timing engine status from intf status register + - drm/msm/dpu: Set DPU_DATA_HCTL_EN for in INTF_SC7180_MASK + - ARM: dts: gta04: Move model property out of pinctrl node + - arm64: dts: qcom: msm8916: correct camss unit address + - arm64: dts: qcom: msm8994: correct SPMI unit address + - arm64: dts: qcom: msm8996: correct camss unit address + - arm64: dts: qcom: sdm630: correct camss unit address + - arm64: dts: qcom: sdm845: correct camss unit address + - arm64: dts: qcom: db820c: Move blsp1_uart2 pin states to msm8996.dtsi + - arm64: dts: qcom: apq8016-sbc: Update modem and WiFi firmware path + - arm64: dts: qcom: apq8016-sbc: Clarify firmware-names + - arm64: dts: qcom: apq8016-sbc: fix mpps state names + - arm64: dts: qcom: Drop unneeded extra device-specific includes + - arm64: dts: qcom: apq8016-sbc: Fix regulator constraints + - arm64: dts: qcom: apq8016-sbc: Fix 1.8V power rail on LS expansion + - drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H + - ARM: ep93xx: fix missing-prototype warnings + - ARM: omap2: fix missing tick_broadcast() prototype + - arm64: dts: qcom: apq8096: fix fixed regulator name property + - arm64: dts: mediatek: mt8183: Add mediatek,broken-save-restore-fw to kukui + - ARM: dts: stm32: Shorten the AV96 HDMI sound card name + - memory: brcmstb_dpfe: fix testing array offset after use + - ASoC: es8316: Increment max value for ALC Capture Target Volume control + - ASoC: es8316: Do not set rate constraints for unsupported MCLKs + - ARM: dts: meson8: correct uart_B and uart_C clock references + - soc/fsl/qe: fix usb.c build errors + - RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes + - IB/hfi1: Use bitmap_zalloc() when applicable + - IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate + - RDMA/hns: Fix hns_roce_table_get return value + - ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier + - arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1 + - fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe() + - arm64: dts: ti: k3-j7200: Fix physical address of pin + - ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2 + - ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx + - hwmon: (gsc-hwmon) fix fan pwm temperature scaling + - hwmon: (adm1275) Allow setting sample averaging + - hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272 + - ARM: dts: BCM5301X: fix duplex-full => full-duplex + - drm/amdkfd: Fix potential deallocation of previously deallocated memory. + - drm/amd/display: Fix artifacting on eDP panels when engaging freesync video + mode + - drm/radeon: fix possible division-by-zero errors + - amdgpu: validate offset_in_bo of drm_amdgpu_gem_va + - drm/msm/a5xx: really check for A510 in a5xx_gpu_init + - RDMA/bnxt_re: wraparound mbox producer index + - RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context + - clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe + - clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe() + - arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k + - clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider() + - clk: tegra: tegra124-emc: Fix potential memory leak + - ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer + - drm/msm/dpu: do not enable color-management if DSPPs are not available + - drm/msm/dp: Free resources after unregistering them + - arm64: dts: mediatek: Add cpufreq nodes for MT8192 + - arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz + - drm/msm/dpu: correct MERGE_3D length + - clk: vc5: check memory returned by kasprintf() + - clk: cdce925: check return value of kasprintf() + - clk: si5341: return error if one synth clock registration fails + - clk: si5341: check return value of {devm_}kasprintf() + - clk: si5341: free unused memory on probe failure + - clk: keystone: sci-clk: check return value of kasprintf() + - clk: ti: clkctrl: check return value of kasprintf() + - drivers: meson: secure-pwrc: always enable DMA domain + - ovl: update of dentry revalidate flags after copy up + - ASoC: imx-audmix: check return value of devm_kasprintf() + - clk: Fix memory leak in devm_clk_notifier_register() + - PCI: cadence: Fix Gen2 Link Retraining process + - PCI: vmd: Reset VMD config register between soft reboots + - scsi: qedf: Fix NULL dereference in error handling + - pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors + - PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free + - scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe() + - PCI: pciehp: Cancel bringup sequence if card is not present + - PCI: ftpci100: Release the clock resources + - PCI: Add pci_clear_master() stub for non-CONFIG_PCI + - perf bench: Use unbuffered output when pipe/tee'ing to a file + - perf bench: Add missing setlocale() call to allow usage of %'d style + formatting + - pinctrl: cherryview: Return correct value if pin in push-pull mode + - kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures + - powerpc/interrupt: Don't read MSR from interrupt_exit_kernel_prepare() + - powerpc/signal32: Force inlining of __unsafe_save_user_regs() and + save_tm_user_regs_unsafe() + - perf script: Fix allocation of evsel->priv related to per-event dump files + - perf dwarf-aux: Fix off-by-one in die_get_varname() + - powerpc/64s: Fix VAS mm use after free + - pinctrl: microchip-sgpio: check return value of devm_kasprintf() + - pinctrl: at91-pio4: check return value of devm_kasprintf() + - powerpc/powernv/sriov: perform null check on iov before dereferencing iov + - powerpc: simplify ppc_save_regs + - powerpc: update ppc_save_regs to save current r1 in pt_regs + - riscv: uprobes: Restore thread.bad_cause + - powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo + - powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross- + boundary + - hwrng: virtio - add an internal buffer + - hwrng: virtio - don't wait on cleanup + - hwrng: virtio - don't waste entropy + - hwrng: virtio - always add a pending request + - hwrng: virtio - Fix race on data_avail and actual data + - modpost: remove broken calculation of exception_table_entry size + - crypto: nx - fix build warnings when DEBUG_FS is not enabled + - modpost: fix section mismatch message for R_ARM_ABS32 + - modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24} + - crypto: marvell/cesa - Fix type mismatch warning + - modpost: fix off by one in is_executable_section() + - ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard + - crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag + - crypto: qat - replace get_current_node() with numa_node_id() + - crypto: qat - use reference to structure in dma_map_single() + - crypto: kpp - Add helper to set reqsize + - crypto: qat - Use helper to set reqsize + - crypto: qat - unmap buffer before free for DH + - crypto: qat - unmap buffers before free for RSA + - NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION + - SMB3: Do not send lease break acknowledgment if all file handles have been + closed + - dax: Fix dax_mapping_release() use after free + - dax: Introduce alloc_dev_dax_id() + - dax/kmem: Pass valid argument to memory_group_register_static + - hwrng: st - keep clock enabled while hwrng is registered + - kbuild: Disable GCOV for *.mod.o + - efi/libstub: Disable PCI DMA before grabbing the EFI memory map + - ksmbd: avoid field overflow warning + - ACPI: utils: Fix acpi_evaluate_dsm_typed() redefinition error + - bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page + - USB: serial: option: add LARA-R6 01B PIDs + - usb: dwc3: gadget: Propagate core init errors to UDC during pullup + - phy: tegra: xusb: Clear the driver reference in usb-phy dev + - iio: adc: ad7192: Fix null ad7192_state pointer access + - iio: adc: ad7192: Fix internal/external clock selection + - iio: accel: fxls8962af: errata bug only applicable for FXLS8962AF + - iio: accel: fxls8962af: fixup buffer scan element type + - ALSA: hda/realtek: Add quirk for Clevo NPx0SNx + - ALSA: jack: Fix mutex call in snd_jack_report() + - block: fix signed int overflow in Amiga partition support + - block: add overflow checks for Amiga partition support + - block: change all __u32 annotations to __be32 in affs_hardblocks.h + - block: increment diskseq on all media change events + - SUNRPC: Fix UAF in svc_tcp_listen_data_ready() + - w1: w1_therm: fix locking behavior in convert_t + - w1: fix loop in w1_fini() + - sh: j2: Use ioremap() to translate device tree address into kernel memory + - usb: dwc2: platform: Improve error reporting for problems during .remove() + - usb: dwc2: Fix some error handling paths + - serial: 8250: omap: Fix freeing of resources on failed register + - clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs + - clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks + - media: usb: Check az6007_read() return value + - media: videodev2.h: Fix struct v4l2_input tuner index comment + - media: usb: siano: Fix warning due to null work_func_t function pointer + - media: i2c: Correct format propagation for st-mipid02 + - clk: qcom: reset: Allow specifying custom reset delay + - clk: qcom: reset: support resetting multiple bits + - clk: qcom: ipq6018: fix networking resets + - usb: dwc3: qcom: Fix potential memory leak + - usb: gadget: u_serial: Add null pointer check in gserial_suspend + - extcon: Fix kernel doc of property fields to avoid warnings + - extcon: Fix kernel doc of property capability fields to avoid warnings + - usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe() + - usb: hide unused usbfs_notify_suspend/resume functions + - serial: 8250: lock port for stop_rx() in omap8250_irq() + - serial: 8250: lock port for UART_IER access in omap8250_irq() + - kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR + - coresight: Fix loss of connection info when a module is unloaded + - mfd: rt5033: Drop rt5033-battery sub-device + - media: venus: helpers: Fix ALIGN() of non power of two + - media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var() + - KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes + - usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove() + - usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe() + - usb: common: usb-conn-gpio: Set last role to unknown before initial + detection + - usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe() + - mfd: intel-lpss: Add missing check for platform_get_resource + - Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial + detection" + - serial: 8250_omap: Use force_suspend and resume for system suspend + - test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation + - nvmem: rmem: Use NVMEM_DEVID_AUTO + - mfd: stmfx: Fix error path in stmfx_chip_init + - mfd: stmfx: Nullify stmfx->vdd in case of error + - KVM: s390: vsie: fix the length of APCB bitmap + - KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler + - mfd: stmpe: Only disable the regulators if they are enabled + - phy: tegra: xusb: check return value of devm_kzalloc() + - pwm: imx-tpm: force 'real_period' to be zero in suspend + - pwm: sysfs: Do not apply state to already disabled PWMs + - pwm: ab8500: Fix error code in probe() + - pwm: mtk_disp: Fix the disable flow of disp_pwm + - md/raid10: fix the condition to call bio_end_io_acct() + - rtc: st-lpc: Release some resources in st_rtc_probe() in case of error + - drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times + - media: cec: i2c: ch7322: also select REGMAP + - sctp: fix potential deadlock on &net->sctp.addr_wq_lock + - net/sched: act_ipt: add sanity checks on table name and hook locations + - Add MODULE_FIRMWARE() for FIRMWARE_TG357766. + - ibmvnic: Do not reset dql stats on NON_FATAL err + - net: dsa: vsc73xx: fix MTU configuration + - spi: bcm-qspi: return error if neither hif_mspi nor mspi is available + - mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 + - f2fs: fix error path handling in truncate_dnode() + - octeontx2-af: Fix mapping for NIX block from CGX connection + - octeontx2-af: Add validation before accessing cgx and lmac + - ntfs: Fix panic about slab-out-of-bounds caused by ntfs_listxattr() + - powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y + - net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode + - tcp: annotate data races in __tcp_oow_rate_limited() + - xsk: Honor SO_BINDTODEVICE on bind + - net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX + - riscv: move memblock_allow_resize() after linear mapping is ready + - pptp: Fix fib lookup calls. + - net: dsa: tag_sja1105: fix MAC DA patching from meta frames + - octeontx-af: fix hardware timestamp configuration + - s390/qeth: Fix vipa deletion + - sh: dma: Fix DMA channel offset calculation + - apparmor: fix missing error check for rhashtable_insert_fast + - i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process() + - i2c: xiic: Don't try to handle more interrupt events after error + - extcon: usbc-tusb320: Convert to i2c's .probe_new() + - btrfs: do not BUG_ON() on tree mod log failure at balance_level() + - i2c: qup: Add missing unwind goto in qup_i2c_probe() + - NFSD: add encoding of op_recall flag for write delegation + - io_uring: wait interruptibly for request completions on exit + - mmc: core: disable TRIM on Kingston EMMC04G-M627 + - mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M + - mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS + - mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is + used. + - bcache: fixup btree_cache_wait list damage + - bcache: Remove unnecessary NULL point check in node allocations + - bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent + - um: Use HOST_DIR for mrproper + - integrity: Fix possible multiple allocation in integrity_inode_get() + - autofs: use flexible array in ioctl structure + - shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs + - ext4: Remove ext4 locking of moved directory + - Revert "f2fs: fix potential corruption when moving a directory" + - fs: Establish locking order for unrelated directories + - fs: Lock moved directories + - ipvs: increase ip_vs_conn_tab_bits range for 64BIT + - jffs2: reduce stack usage in jffs2_build_xattr_subsystem() + - fs: avoid empty option when generating legacy mount string + - btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile + - btrfs: delete unused BGs while reclaiming BGs + - btrfs: bail out reclaim process if filesystem is read-only + - btrfs: reinsert BGs failed to reclaim + - btrfs: fix race when deleting quota root from the dirty cow roots list + - btrfs: fix extent buffer leak after tree mod log failure at split_node() + - btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block() + - ASoC: mediatek: mt8173: Fix irq error path + - ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path + - ARM: dts: qcom: ipq4019: fix broken NAND controller properties override + - ARM: orion5x: fix d2net gpio initialization + - leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename + - fs: no need to check source + - ovl: fix null pointer dereference in ovl_get_acl_rcu() + - fanotify: disallow mount/sb marks on kernel internal pseudo fs + - netfilter: conntrack: Avoid nf_ct_helper_hash uses after free + - wireguard: queueing: use saner cpu selection wrapping + - wireguard: netlink: send staged packets when setting initial private key + - tty: serial: fsl_lpuart: add earlycon for imx8ulp platform + - block/partition: fix signedness issue for Amiga partitions + - io_uring: Use io_schedule* in cqring wait + - io_uring: add reschedule point to handle_tw_list() + - net: lan743x: Don't sleep in atomic context + - workqueue: clean up WORK_* constant types, clarify masking + - ksmbd: use ksmbd_req_buf_next() in ksmbd_smb2_check_message() + - ksmbd: validate command payload size + - ksmbd: fix out-of-bound read in smb2_write + - ksmbd: validate session id and tree id in the compound request + - drm/panel: simple: Add connector_type for innolux_at043tn24 + - drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime + - drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags + - igc: Remove delay during TX ring configuration + - net/mlx5e: fix double free in mlx5e_destroy_flow_table + - net/mlx5e: fix memory leak in mlx5e_ptp_open + - net/mlx5e: Check for NOT_READY flag state after locking + - igc: set TP bit in 'supported' and 'advertising' fields of + ethtool_link_ksettings + - igc: Handle PPS start time programming for past time values + - scsi: qla2xxx: Fix error code in qla2x00_start_sp() + - bpf: Fix max stack depth check for async callbacks + - net: mvneta: fix txq_map in case of txq_number==1 + - gve: Set default duplex configuration to full + - ionic: remove WARN_ON to prevent panic_on_warn + - net: bgmac: postpone turning IRQs off to avoid SoC hangs + - net: prevent skb corruption on frag list segmentation + - icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev(). + - udp6: fix udp6_ehashfn() typo + - ntb: idt: Fix error handling in idt_pci_driver_init() + - NTB: amd: Fix error handling in amd_ntb_pci_driver_init() + - ntb: intel: Fix error handling in intel_ntb_pci_driver_init() + - NTB: ntb_transport: fix possible memory leak while device_register() fails + - NTB: ntb_tool: Add check for devm_kcalloc + - ipv6/addrconf: fix a potential refcount underflow for idev + - platform/x86: wmi: remove unnecessary argument + - platform/x86: wmi: use guid_t and guid_equal() + - platform/x86: wmi: move variables + - platform/x86: wmi: Break possible infinite loop when parsing GUID + - kernel/trace: Fix cleanup logic of enable_trace_eprobe + - igc: Fix launchtime before start of cycle + - igc: Fix inserting of empty frame for launchtime + - bpf, riscv: Support riscv jit to provide bpf_line_info + - riscv, bpf: Fix inconsistent JIT image generation + - drm/i915: Fix one wrong caching mode enum usage + - octeontx2-pf: Add additional check for MCAM rules + - erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF + - erofs: decouple basic mount options from fs_context + - erofs: fix fsdax unavailability for chunk-based regular files + - wifi: airo: avoid uninitialized warning in airo_get_rate() + - bpf: cpumap: Fix memory leak in cpu_map_update_elem + - net/sched: flower: Ensure both minimum and maximum ports are specified + - riscv: mm: fix truncation warning on RV32 + - netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() + - net/sched: make psched_mtu() RTNL-less safe + - nvme-pci: remove nvme_queue from nvme_iod + - nvme-pci: fix DMA direction of unmapping integrity data + - pinctrl: amd: Fix mistake in handling clearing pins at startup + - pinctrl: amd: Detect internal GPIO0 debounce handling + - pinctrl: amd: Detect and mask spurious interrupts + - pinctrl: amd: Only use special debounce behavior for GPIO 0 + - tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation + - mtd: rawnand: meson: fix unaligned DMA buffers handling + - net: bcmgenet: Ensure MDIO unregistration has clocks enabled + - mm/damon/ops-common: atomically test and clear young on ptes and pmds + - powerpc: Fail build if using recordmcount with binutils v2.37 + - misc: fastrpc: Create fastrpc scalar with correct buffer count + - powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 + - arm64: errata: Add detection for TRBE overwrite in FILL mode + - erofs: fix compact 4B support for 16k block size + - MIPS: Loongson: Fix cpu_probe_loongson() again + - MIPS: KVM: Fix NULL pointer dereference + - ext4: Fix reusing stale buffer heads from last failed mounting + - ext4: fix wrong unit use in ext4_mb_clear_bb + - ext4: get block from bh in ext4_free_blocks for fast commit replay + - ext4: fix wrong unit use in ext4_mb_new_blocks + - ext4: fix to check return value of freeze_bdev() in ext4_shutdown() + - ext4: turn quotas off if mount failed after enabling quotas + - ext4: only update i_reserved_data_blocks on successful block allocation + - jfs: jfs_dmap: Validate db_l2nbperpage while mounting + - hwrng: imx-rngc - fix the timeout for init and self check + - dm integrity: reduce vmalloc space footprint on 32-bit architectures + - PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9235 + - PCI: qcom: Disable write access to read only registers for IP v2.3.3 + - PCI: rockchip: Assert PCI Configuration Enable bit after probe + - PCI: rockchip: Write PCI Device ID to correct register + - PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked + - PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core + - PCI: rockchip: Use u32 variable to access 32-bit registers + - PCI: rockchip: Set address alignment for endpoint mode + - misc: pci_endpoint_test: Free IRQs before removing the device + - misc: pci_endpoint_test: Re-init completion for every test + - mfd: pm8008: Fix module autoloading + - md/raid0: add discard support for the 'original' layout + - dm init: add dm-mod.waitfor to wait for asynchronously probed block devices + - fs: dlm: return positive pid value for F_GETLK + - drm/atomic: Allow vblank-enabled + self-refresh "disable" + - drm/rockchip: vop: Leave vblank enabled in self-refresh + - drm/amdgpu: fix clearing mappings for BOs that are always valid in VM + - drm/amd/display: Correct `DMUB_FW_VERSION` macro + - drm/amdgpu: avoid restore process run into dead loop. + - drm/ttm: Don't leak a resource on swapout move error + - serial: atmel: don't enable IRQs prematurely + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in + case of error + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when + iterating clk + - tty: serial: imx: fix rs485 rx after tx + - firmware: stratix10-svc: Fix a potential resource leak in + svc_create_memory_pool() + - libceph: harden msgr2.1 frame segment length checks + - ceph: don't let check_caps skip sending responses for revoke msgs + - xhci: Fix resume issue of some ZHAOXIN hosts + - xhci: Fix TRB prefetch issue of ZHAOXIN hosts + - xhci: Show ZHAOXIN xHCI root hub speed correctly + - meson saradc: fix clock divider mask length + - opp: Fix use-after-free in lazy_opp_tables after probe deferral + - soundwire: qcom: fix storing port config out-of-bounds + - Revert "8250: add support for ASIX devices with a FIFO bug" + - bus: ixp4xx: fix IXP4XX_EXP_T1_MASK + - s390/decompressor: fix misaligned symbol build error + - tracing/histograms: Add histograms to hist_vars if they have referenced + variables + - tracing: Fix memory leak of iter->temp when reading trace_pipe + - samples: ftrace: Save required argument registers in sample trampolines + - net: ena: fix shift-out-of-bounds in exponential backoff + - ring-buffer: Fix deadloop issue on reading trace_pipe + - ftrace: Fix possible warning on checking all pages used in + ftrace_process_locs() + - xtensa: ISS: fix call to split_if_spec + - tracing: Fix null pointer dereference in tracing_err_log_open() + - selftests: mptcp: sockopt: return error if wrong mark + - selftests: mptcp: depend on SYN_COOKIES + - tracing/probes: Fix not to count error code to total length + - tracing/probes: Fix to update dynamic data counter if fetcharg uses it + - scsi: qla2xxx: Wait for io return on terminate rport + - scsi: qla2xxx: Array index may go out of bound + - scsi: qla2xxx: Avoid fcport pointer dereference + - scsi: qla2xxx: Fix buffer overrun + - scsi: qla2xxx: Fix potential NULL pointer dereference + - scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport() + - scsi: qla2xxx: Correct the index of array + - scsi: qla2xxx: Pointer may be dereferenced + - scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue + - MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled + - net/sched: sch_qfq: reintroduce lmax bound check for MTU + - drm/atomic: Fix potential use-after-free in nonblocking commits + - Linux 5.15.121 + * Jammy update: v5.15.120 upstream stable release (LP: #2032688) + - mptcp: fix possible divide by zero in recvmsg() + - mptcp: consolidate fallback and non fallback state machine + - mm, hwpoison: try to recover from copy-on write faults + - mm, hwpoison: when copy-on-write hits poison, take page offline + - drm/amdgpu: Set vmbo destroy after pt bo is created + - x86/microcode/AMD: Load late on both threads too + - x86/smp: Use dedicated cache-line for mwait_play_dead() + - can: isotp: isotp_sendmsg(): fix return error fix on TX path + - bpf: ensure main program has an extable + - HID: wacom: Use ktime_t rather than int when dealing with timestamps + - HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651. + - Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak + in mtk_thermal_probe" + - perf symbols: Symbol lookup with kcore can fail if multiple segments match + stext + - scripts/tags.sh: Resolve gtags empty index generation + - drm/amdgpu: Validate VM ioctl flags. + - parisc: Delete redundant register definitions in + - nubus: Partially revert proc_create_single_data() conversion + - Linux 5.15.120 + * Jammy update: v5.15.119 upstream stable release (LP: #2032683) + - drm/amd/display: fix the system hang while disable PSR + - tracing: Add tracing_reset_all_online_cpus_unlocked() function + - tpm, tpm_tis: Claim locality in interrupt handler + - drm/amd/display: Add minimal pipe split transition state + - drm/amd/display: Use dc_update_planes_and_stream + - drm/amd/display: Add wrapper to call planes and stream update + - tick/common: Align tick period during sched_timer setup + - selftests: mptcp: lib: skip if missing symbol + - selftests: mptcp: lib: skip if not below kernel version + - selftests/mount_setattr: fix redefine struct mount_attr build error + - selftests: mptcp: pm nl: remove hardcoded default limits + - selftests: mptcp: join: use 'iptables-legacy' if available + - selftests: mptcp: join: skip check if MIB counter not supported + - nilfs2: fix buffer corruption due to concurrent device reads + - ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() + - KVM: Avoid illegal stage2 mapping on invalid memory slot + - Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails + - Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs + - PCI: hv: Fix a race condition bug in hv_pci_query_relations() + - Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally" + - PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev + - PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic + - PCI: hv: Add a per-bus mutex state_lock + - cgroup: Do not corrupt task iteration when rebinding subsystem + - mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916 + - mmc: meson-gx: remove redundant mmc_request_done() call from irq context + - mmc: mmci: stm32: fix max busy timeout calculation + - ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN + - regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK + - regmap: spi-avmm: Fix regmap_bus max_raw_write + - writeback: fix dereferencing NULL mapping->host on writeback_page_template + - io_uring/net: save msghdr->msg_control for retries + - io_uring/net: clear msg_controllen on partial sendmsg retry + - io_uring/net: disable partial retries for recvmsg with cmsg + - nilfs2: prevent general protection fault in nilfs_clear_dirty_page() + - x86/mm: Avoid using set_pgd() outside of real PGD pages + - memfd: check for non-NULL file_seals in memfd_create() syscall + - mmc: meson-gx: fix deferred probing + - ieee802154: hwsim: Fix possible memory leaks + - xfrm: Treat already-verified secpath entries as optional + - xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c + - xfrm: Ensure policies always checked on XFRM-I input path + - bpf: track immediate values written to stack by BPF_ST instruction + - bpf: Fix verifier id tracking of scalars on spill + - xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets + - selftests: net: fcnal-test: check if FIPS mode is enabled + - xfrm: Linearize the skb after offloading if needed. + - net: qca_spi: Avoid high load if QCA7000 is not available + - mmc: mtk-sd: fix deferred probing + - mmc: mvsdio: fix deferred probing + - mmc: omap: fix deferred probing + - mmc: omap_hsmmc: fix deferred probing + - mmc: owl: fix deferred probing + - mmc: sdhci-acpi: fix deferred probing + - mmc: sh_mmcif: fix deferred probing + - mmc: usdhi60rol0: fix deferred probing + - ipvs: align inner_mac_header for encapsulation + - net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch + - net: dsa: mt7530: fix handling of BPDUs on MT7530 switch + - be2net: Extend xmit workaround to BE3 chip + - netfilter: nft_set_pipapo: .walk does not deal with generations + - netfilter: nf_tables: disallow element updates of bound anonymous sets + - netfilter: nf_tables: reject unbound anonymous set before commit phase + - netfilter: nf_tables: reject unbound chain set before commit phase + - netfilter: nf_tables: disallow updates of anonymous sets + - netfilter: nfnetlink_osf: fix module autoload + - Revert "net: phy: dp83867: perform soft reset and retain established link" + - bpf/btf: Accept function names that contain dots + - selftests: forwarding: Fix race condition in mirror installation + - sch_netem: acquire qdisc lock in netem_change() + - gpio: Allow per-parent interrupt data + - gpiolib: Fix GPIO chip IRQ initialization restriction + - gpio: sifive: add missing check for platform_get_irq + - scsi: target: iscsi: Prevent login threads from racing between each other + - HID: wacom: Add error check to wacom_parse_and_register() + - arm64: Add missing Set/Way CMO encodings + - media: cec: core: don't set last_initiator if tx in progress + - nfcsim.c: Fix error checking for debugfs_create_dir + - usb: gadget: udc: fix NULL dereference in remove() + - nvme: double KA polling frequency to avoid KATO with TBKAS on + - Input: soc_button_array - add invalid acpi_index DMI quirk handling + - s390/cio: unregister device when the only path is gone + - spi: lpspi: disable lpspi module irq in DMA mode + - ASoC: simple-card: Add missing of_node_put() in case of error + - soundwire: dmi-quirks: add new mapping for HP Spectre x360 + - ASoC: nau8824: Add quirk to active-high jack-detect + - s390/purgatory: disable branch profiling + - ARM: dts: Fix erroneous ADS touchscreen polarities + - drm/exynos: vidi: fix a wrong error return + - drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl + - drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl + - vhost_net: revert upend_idx only on retriable error + - x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys + - i2c: imx-lpi2c: fix type char overflow issue when calculating the clock + cycle + - act_mirred: remove unneded merge conflict markers + - Linux 5.15.119 + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - test_firmware: Use kstrtobool() instead of strtobool() + - test_firmware: prevent race conditions by a correct implementation of + locking + - test_firmware: fix a memory leak with reqs buffer + - ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate + - drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram + - of: overlay: rename variables to be consistent + - of: overlay: rework overlay apply and remove kfree()s + - of: overlay: Fix missing of_node_put() in error case of + init_overlay_changeset() + - power: supply: ab8500: Fix external_power_changed race + - power: supply: sc27xx: Fix external_power_changed race + - power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + + schedule() + - ARM: dts: vexpress: add missing cache properties + - tools: gpio: fix debounce_period_us output of lsgpio + - power: supply: Ratelimit no data debug output + - platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0 + - regulator: Fix error checking for debugfs_create_dir + - irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues + - power: supply: Fix logic checking if system is running from battery + - btrfs: scrub: try harder to mark RAID56 block groups read-only + - btrfs: handle memory allocation failure in btrfs_csum_one_bio + - ASoC: soc-pcm: test if a BE can be prepared + - parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu() + - parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory() + - MIPS: unhide PATA_PLATFORM + - MIPS: Alchemy: fix dbdma2 + - mips: Move initrd_start check after initrd address sanitisation. + - ASoC: dwc: move DMA init to snd_soc_dai_driver probe() + - xen/blkfront: Only check REQ_FUA for writes + - drm:amd:amdgpu: Fix missing buffer object unlock in failure path + - NVMe: Add MAXIO 1602 to bogus nid list. + - irqchip/gic: Correctly validate OF quirk descriptors + - wifi: cfg80211: fix locking in regulatory disconnect + - wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid() + - epoll: ep_autoremove_wake_function should use list_del_init_careful + - ocfs2: fix use-after-free when unmounting read-only filesystem + - ocfs2: check new file size on fallocate call + - nios2: dts: Fix tse_mac "max-frame-size" property + - nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key() + - nilfs2: fix possible out-of-bounds segment allocation in resize ioctl + - kexec: support purgatories with .text.hot sections + - x86/purgatory: remove PGO flags + - powerpc/purgatory: remove PGO flags + - ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD + playback + - dm thin metadata: check fail_io before using data_sm + - nouveau: fix client work fence deletion race + - RDMA/uverbs: Restrict usage of privileged QKEYs + - net: usb: qmi_wwan: add support for Compal RXM-G1 + - drm/amdgpu: add missing radeon secondary PCI ID + - ALSA: hda/realtek: Add a quirk for Compaq N14JP6 + - Remove DECnet support from kernel + - [Config] updateconfigs for DECNET + - thunderbolt: dma_test: Use correct value for absent rings when creating + paths + - thunderbolt: Mask ring interrupt on Intel hardware as well + - USB: serial: option: add Quectel EM061KGL series + - serial: lantiq: add missing interrupt ack + - usb: dwc3: gadget: Reset num TRBs before giving back the request + - RDMA/rtrs: Fix the last iu->buf leak in err path + - RDMA/rtrs: Fix rxe_dealloc_pd warning + - RDMA/rxe: Fix packet length checks + - spi: fsl-dspi: avoid SCK glitches with continuous transfers + - netfilter: nf_tables: integrate pipapo into commit protocol + - netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM + - net: enetc: correct the indexes of highest and 2nd highest TCs + - ping6: Fix send to link-local addresses with VRF. + - net/sched: simplify tcf_pedit_act + - net/sched: act_pedit: remove extra check for key type + - net/sched: act_pedit: Parse L3 Header for L4 offset + - RDMA/rxe: Remove the unused variable obj + - RDMA/rxe: Removed unused name from rxe_task struct + - RDMA/rxe: Fix the use-before-initialization error of resp_pkts + - iavf: remove mask from iavf_irq_enable_queues() + - octeontx2-af: fixed resource availability check + - octeontx2-af: fix lbk link credits on cn10k + - RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions + - RDMA/cma: Always set static rate to 0 for RoCE + - IB/uverbs: Fix to consider event queue closing also upon non-blocking mode + - IB/isert: Fix dead lock in ib_isert + - IB/isert: Fix possible list corruption in CMA handler + - IB/isert: Fix incorrect release of isert connection + - net: ethtool: correct MAX attribute value for stats + - ipvlan: fix bound dev checking for IPv6 l3s mode + - sctp: fix an error code in sctp_sf_eat_auth() + - igc: Clean the TX buffer and TX descriptor ring + - igb: fix nvm.ops.read() error handling + - drm/nouveau: don't detect DSM for non-NVIDIA device + - drm/nouveau/dp: check for NULL nv_connector->native_mode + - drm/nouveau: add nv_encoder pointer check for NULL + - cifs: fix lease break oops in xfstest generic/098 + - ext4: drop the call to ext4_error() from ext4_get_group_info() + - net/sched: cls_api: Fix lockup on flushing explicitly created chain + - net: lapbether: only support ethernet devices + - dm: don't lock fs when the map is NULL during suspend or resume + - net: tipc: resize nlattr array to correct size + - selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET + - afs: Fix vlserver probe RTT handling + - cgroup: always put cset in cgroup_css_set_put_fork + - rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period + - neighbour: Remove unused inline function neigh_key_eq16() + - net: Remove unused inline function dst_hold_and_use() + - net: Remove DECnet leftovers from flow.h. + - neighbour: delete neigh_lookup_nodev as not used + - of: overlay: add entry to of_overlay_action_name[] + - mmc: block: ensure error propagation for non-blk + - nilfs2: reject devices with insufficient block count + - Linux 5.15.118 + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - ata: ahci: fix enum constants for gcc-13 + - gcc-plugins: Reorganize gimple includes for GCC 13 + - remove the sx8 block driver + - [Config] updateconfigs for BLK_DEV_SX8 + - sfc (gcc13): synchronize ef100_enqueue_skb()'s return type + - i40e: Remove string printing for i40e_status + - i40e: use int for i40e_status + - i40e: fix build warning in ice_fltr_add_mac_to_list() + - bonding (gcc13): synchronize bond_{a,t}lb_xmit() types + - f2fs: fix iostat lock protection + - blk-iocost: avoid 64-bit division in ioc_timer_fn + - platform/surface: aggregator: Allow completion work-items to be executed in + parallel + - spi: qup: Request DMA before enabling clocks + - afs: Fix setting of mtime when creating a file/dir/symlink + - wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll + - neighbour: fix unaligned access to pneigh_entry + - net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods + - bpf: Fix UAF in task local storage + - net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down + - net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT + - net: enetc: correct the statistics of rx bytes + - net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values + - drm/i915: Explain the magic numbers for AUX SYNC/precharge length + - drm/i915: Use 18 fast wake AUX sync len + - Bluetooth: Fix l2cap_disconnect_req deadlock + - Bluetooth: L2CAP: Add missing checks for invalid DCID + - qed/qede: Fix scheduling while atomic + - wifi: cfg80211: fix locking in sched scan stop work + - selftests/bpf: Verify optval=NULL case + - selftests/bpf: Fix sockopt_sk selftest + - netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper + - netfilter: ipset: Add schedule point in call_ad(). + - ipv6: rpl: Fix Route of Death. + - rfs: annotate lockless accesses to sk->sk_rxhash + - rfs: annotate lockless accesses to RFS sock flow table + - drm/i915/selftests: Increase timeout for live_parallel_switch + - drm/i915/selftests: Stop using kthread_stop() + - drm/i915/selftests: Add some missing error propagation + - net: sched: move rtm_tca_policy declaration to include file + - net: sched: act_police: fix sparse errors in tcf_police_dump() + - net: sched: fix possible refcount leak in tc_chain_tmplt_add() + - bpf: Add extra path pointer check to d_path helper + - lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() + - bnxt_en: Don't issue AP reset during ethtool's reset operation + - bnxt_en: Query default VLAN before VNIC setup on a VF + - bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks + - batman-adv: Broken sync while rescheduling delayed work + - Input: xpad - delete a Razer DeathAdder mouse VID/PID entry + - Input: psmouse - fix OOB access in Elantech protocol + - Input: fix open count when closing inhibited device + - ALSA: hda/realtek: Add quirk for Clevo NS50AU + - ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01 + - drm/i915/gt: Use the correct error value when kernel_context() fails + - drm/amd/pm: conditionally disable pcie lane switching for some + sienna_cichlid SKUs + - drm/amdgpu: fix xclk freq on CHIP_STONEY + - drm/amd/pm: Fix power context allocation in SMU13 + - can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in + J1939 Socket + - can: j1939: change j1939_netdev_lock type to mutex + - can: j1939: avoid possible use-after-free when j1939_can_rx_register fails + - ceph: fix use-after-free bug for inodes when flushing capsnaps + - s390/dasd: Use correct lock while counting channel queue length + - Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk + - Bluetooth: hci_qca: fix debugfs registration + - tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta' + - rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting + - rbd: get snapshot context after exclusive lock is ensured to be held + - pinctrl: meson-axg: add missing GPIOA_18 gpio group + - usb: usbfs: Enforce page requirements for mmap + - usb: usbfs: Use consistent mmap functions + - ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc + - ASoC: codecs: wsa881x: do not set can_multi_write flag + - arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite + boards + - arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals + - arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts + - ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback + returning void + - ASoC: mediatek: mt8195: fix use-after-free in driver remove path + - arm64: dts: imx8mn-beacon: Fix SPI CS pinmux + - i2c: mv64xxx: Fix reading invalid status value in atomic mode + - firmware: arm_ffa: Set handle field to zero in memory descriptor + - i2c: sprd: Delete i2c adapter in .remove's error path + - eeprom: at24: also select REGMAP + - riscv: fix kprobe __user string arg print fault issue + - vduse: avoid empty string for dev name + - vhost: support PACKED when setting-getting vring_base + - vhost_vdpa: support PACKED when setting-getting vring_base + - ext4: only check dquot_initialize_needed() when debugging + - Linux 5.15.117 + * CVE-2023-4273 + - exfat: check if filename entries exceeds max filename length + * CVE-2023-4128 + - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_route: No longer copy tcf_result on update to avoid use- + after-free + * CVE-2023-3863 + - nfc: llcp: simplify llcp_sock_connect() error paths + - net: nfc: Fix use-after-free caused by nfc_llcp_find_local + + -- Philip Cox Mon, 18 Sep 2023 15:24:26 -0400 + +linux-intel-iotg (5.15.0-1040.46) jammy; urgency=medium + + * jammy/linux-intel-iotg: 5.15.0-1040.46 -proposed tracker (LP: #2034188) + + [ Ubuntu: 5.15.0-84.93 ] + + * jammy/linux: 5.15.0-84.93 -proposed tracker (LP: #2034202) + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * CVE-2023-4569 + - netfilter: nf_tables: deactivate catchall elements in next generation + * CVE-2023-40283 + - Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb + * CVE-2023-20588 + - x86/bugs: Increase the x86 bugs vector size to two u32s + - x86/CPU/AMD: Do not leak quotient data after a division by 0 + - x86/CPU/AMD: Fix the DIV(0) initial fix attempt + * CVE-2023-4128 + - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_route: No longer copy tcf_result on update to avoid use- + after-free + + -- Jian Hui Lee Mon, 11 Sep 2023 13:40:54 +0800 + linux-intel-iotg (5.15.0-1039.45) jammy; urgency=medium * jammy/linux-intel-iotg: 5.15.0-1039.45 -proposed tracker (LP: #2030409) diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/reconstruct linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/reconstruct --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/reconstruct +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/reconstruct @@ -3,6 +3,7 @@ rm -f 'Documentation/devicetree/bindings/ata/ahci-ceva.txt' rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb2-phy.yaml' rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml' +rm -f 'Documentation/networking/decnet.rst' rm -f 'arch/alpha/include/asm/bugs.h' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/Makefile' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts' @@ -10,6 +11,10 @@ rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/msm8996-mtp.dtsi' rm -f 'arch/hexagon/include/asm/timer-regs.h' rm -f 'arch/parisc/include/asm/bugs.h' rm -f 'arch/powerpc/include/asm/bugs.h' @@ -19,6 +24,8 @@ rm -f 'arch/xtensa/include/asm/bugs.h' rm -f 'crypto/blake2s_generic.c' rm -f 'crypto/memneq.c' +rm -f 'drivers/acpi/fan.c' +rm -f 'drivers/block/sx8.c' rm -f 'drivers/bus/mhi/core/Makefile' rm -f 'drivers/bus/mhi/core/boot.c' rm -f 'drivers/bus/mhi/core/debugfs.c' @@ -55,10 +62,36 @@ rm -f 'include/asm-generic/bugs.h' rm -f 'include/linux/counter_enum.h' rm -f 'include/linux/platform_data/x86/intel-spi.h' +rm -f 'include/net/dn.h' +rm -f 'include/net/dn_dev.h' +rm -f 'include/net/dn_fib.h' +rm -f 'include/net/dn_neigh.h' +rm -f 'include/net/dn_nsp.h' +rm -f 'include/net/dn_route.h' rm -f 'include/trace/events/random.h' +rm -f 'include/uapi/linux/dn.h' +rm -f 'include/uapi/linux/netfilter_decnet.h' rm -f 'kernel/futex.c' +rm -f 'net/decnet/Kconfig' +rm -f 'net/decnet/Makefile' +rm -f 'net/decnet/README' +rm -f 'net/decnet/af_decnet.c' +rm -f 'net/decnet/dn_dev.c' +rm -f 'net/decnet/dn_fib.c' +rm -f 'net/decnet/dn_neigh.c' +rm -f 'net/decnet/dn_nsp_in.c' +rm -f 'net/decnet/dn_nsp_out.c' +rm -f 'net/decnet/dn_route.c' +rm -f 'net/decnet/dn_rules.c' +rm -f 'net/decnet/dn_table.c' +rm -f 'net/decnet/dn_timer.c' +rm -f 'net/decnet/netfilter/Kconfig' +rm -f 'net/decnet/netfilter/Makefile' +rm -f 'net/decnet/netfilter/dn_rtmsg.c' +rm -f 'net/decnet/sysctl_net_decnet.c' rm -f 'net/qrtr/qrtr.c' rm -f 'net/sched/cls_tcindex.c' +rm -f 'net/xfrm/xfrm_interface.c' rm -f 'tools/build/feature/test-libpython-version.c' rm -f 'tools/perf/arch/arm64/util/machine.c' rm -f 'tools/perf/arch/powerpc/util/machine.c' diff -u linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/tracking-bug linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/tracking-bug --- linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/tracking-bug +++ linux-intel-iotg-5.15-5.15.0/debian.intel-iotg/tracking-bug @@ -1 +1 @@ -2030409 2023.08.07-1 +2033808 2023.09.04-1 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/abiname linux-intel-iotg-5.15-5.15.0/debian.master/abi/abiname --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/abiname +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/abiname @@ -1 +1 @@ -81 +83 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/amd64/generic.modules linux-intel-iotg-5.15-5.15.0/debian.master/abi/amd64/generic.modules --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/amd64/generic.modules +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/amd64/generic.modules @@ -1026,7 +1026,6 @@ ddbridge-dummy-fe de2104x de4x5 -decnet defxx dell-laptop dell-rbtn @@ -1115,7 +1114,6 @@ dmi-sysfs dmm32at dmx3191d -dn_rtmsg dnet dp83640 dp83822 @@ -5192,7 +5190,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic-64k.modules linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic-64k.modules --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic-64k.modules +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic-64k.modules @@ -1096,7 +1096,6 @@ ddbridge ddbridge-dummy-fe de2104x -decnet defxx denali denali_dt @@ -1182,7 +1181,6 @@ dmi-sysfs dmm32at dmx3191d -dn_rtmsg dnet dp83640 dp83822 @@ -5108,7 +5106,6 @@ sgi_w1 sgp30 sgp40 -sh-sci sh_eth sh_mmcif sh_mobile_lcdcfb @@ -5991,7 +5988,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic.modules linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic.modules --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic.modules +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/arm64/generic.modules @@ -1096,7 +1096,6 @@ ddbridge ddbridge-dummy-fe de2104x -decnet defxx denali denali_dt @@ -1182,7 +1181,6 @@ dmi-sysfs dmm32at dmx3191d -dn_rtmsg dnet dp83640 dp83822 @@ -5109,7 +5107,6 @@ sgi_w1 sgp30 sgp40 -sh-sci sh_eth sh_mmcif sh_mobile_lcdcfb @@ -5992,7 +5989,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic-lpae.modules linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic-lpae.modules --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic-lpae.modules +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic-lpae.modules @@ -1041,7 +1041,6 @@ ddbridge ddbridge-dummy-fe de2104x -decnet defxx denali denali_dt @@ -1126,7 +1125,6 @@ dmi-sysfs dmm32at dmx3191d -dn_rtmsg dnet dove_thermal dp83640 @@ -4874,7 +4872,6 @@ sgi_w1 sgp30 sgp40 -sh-sci sh_eth sh_mmcif sh_mobile_lcdcfb @@ -5643,7 +5640,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic.modules linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic.modules --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic.modules +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/armhf/generic.modules @@ -1051,7 +1051,6 @@ ddbridge ddbridge-dummy-fe de2104x -decnet defxx denali denali_dt @@ -1135,7 +1134,6 @@ dmi-sysfs dmm32at dmx3191d -dn_rtmsg dnet dove_thermal dp83640 @@ -4969,7 +4967,6 @@ sgi_w1 sgp30 sgp40 -sh-sci sh_eth sh_mmcif sh_mobile_lcdcfb @@ -5768,7 +5765,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/ppc64el/generic.modules linux-intel-iotg-5.15-5.15.0/debian.master/abi/ppc64el/generic.modules --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/ppc64el/generic.modules +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/ppc64el/generic.modules @@ -948,7 +948,6 @@ ddbridge-dummy-fe de2104x de4x5 -decnet defxx denali denali_dt @@ -1026,7 +1025,6 @@ dmfe dmm32at dmx3191d -dn_rtmsg dnet dp83640 dp83822 @@ -4926,7 +4924,6 @@ svc-i3c-master svgalib switchtec -sx8 sx8654 sx9310 sx9500 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/abi/version linux-intel-iotg-5.15-5.15.0/debian.master/abi/version --- linux-intel-iotg-5.15-5.15.0/debian.master/abi/version +++ linux-intel-iotg-5.15-5.15.0/debian.master/abi/version @@ -1 +1 @@ -5.15.0-81.90 +5.15.0-83.92 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/changelog linux-intel-iotg-5.15-5.15.0/debian.master/changelog --- linux-intel-iotg-5.15-5.15.0/debian.master/changelog +++ linux-intel-iotg-5.15-5.15.0/debian.master/changelog @@ -1,3 +1,1000 @@ +linux (5.15.0-85.95) jammy; urgency=medium + + * jammy/linux: 5.15.0-85.95 -proposed tracker (LP: #2033821) + + * Please enable Renesas RZ platform serial installer (LP: #2022361) + - [Config] enable hihope RZ/G2M serial console + - [Config] Mark sh-sci as built-in + + * Request backport of xen timekeeping performance improvements (LP: #2033122) + - x86/xen/time: prefer tsc as clocksource when it is invariant + + * kdump doesn't work with UEFI secure boot and kernel lockdown enabled on + ARM64 (LP: #2033007) + - [Config]: Enable CONFIG_KEXEC_IMAGE_VERIFY_SIG + - kexec, KEYS: make the code in bzImage64_verify_sig generic + - arm64: kexec_file: use more system keyrings to verify kernel image signature + + * ubuntu_kernel_selftests:net:vrf-xfrm-tests.sh: 8 failed test cases on + jammy/fips (LP: #2019880) + - selftests: net: vrf-xfrm-tests: change authentication and encryption algos + + * ubuntu_kernel_selftests:net:tls: 88 failed test cases on jammy/fips + (LP: #2019868) + - selftests/harness: allow tests to be skipped during setup + - selftests: net: tls: check if FIPS mode is enabled + + * A general-proteciton exception during guest migration to unsupported PKRU + machine (LP: #2032164) + - x86/kvm/fpu: Limit guest user_xfeatures to supported bits of XCR0 + - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES + + * CVE-2023-4569 + - netfilter: nf_tables: deactivate catchall elements in next generation + + * CVE-2023-20569 + - x86/cpu, kvm: Add support for CPUID_80000021_EAX + - x86/srso: Add a Speculative RAS Overflow mitigation + - x86/srso: Add IBPB_BRTYPE support + - x86/srso: Add SRSO_NO support + - x86/srso: Add IBPB + - x86/srso: Add IBPB on VMEXIT + - x86/srso: Fix return thunks in generated code + - x86/srso: Tie SBPB bit setting to microcode patch detection + - x86: fix backwards merge of GDS/SRSO bit + - x86/srso: Fix build breakage with the LLVM linker + - x86/cpu: Fix __x86_return_thunk symbol type + - x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk() + - x86/alternative: Make custom return thunk unconditional + - objtool: Add frame-pointer-specific function ignore + - x86/ibt: Add ANNOTATE_NOENDBR + - x86/cpu: Clean up SRSO return thunk mess + - x86/cpu: Rename original retbleed methods + - x86/cpu: Rename srso_(.*)_alias to srso_alias_\1 + - x86/cpu: Cleanup the untrain mess + - x86/srso: Explain the untraining sequences a bit more + - x86/static_call: Fix __static_call_fixup() + - x86/retpoline: Don't clobber RFLAGS during srso_safe_ret() + - x86/srso: Disable the mitigation on unaffected configurations + - x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG + - objtool/x86: Fixup frame-pointer vs rethunk + - x86/srso: Correct the mitigation status when SMT is disabled + - objtool/x86: Fix SRSO mess + - Ubuntu: [Config]: enable Speculative Return Stack Overflow mitigation + + * Fix unreliable ethernet cable detection on I219 NIC (LP: #2028122) + - e1000e: Use PME poll to circumvent unreliable ACPI wake + + * Need to get fine-grained control for FAN(TFN) Participant. (LP: #2031333) + - ACPI: fan: Separate file for attributes creation + - ACPI: fan: Optimize struct acpi_fan_fif + - ACPI: fan: Properly handle fine grain control + - ACPI: fan: Add additional attributes for fine grain control + + * [SRU][Ubuntu 22.04.1] Unable to interpret the frequency values in + cpuinfo_min_freq and cpuino_max_freq sysfs files. (LP: #2030924) + - cpufreq: intel_pstate: Fix scaling for hybrid-capable + + * CVE-2023-40283 + - Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb + + * CVE-2023-20588 + - x86/bugs: Increase the x86 bugs vector size to two u32s + - x86/CPU/AMD: Do not leak quotient data after a division by 0 + - x86/CPU/AMD: Fix the DIV(0) initial fix attempt + + * CVE-2023-4194 + - net: tun_chr_open(): set sk_uid from current_fsuid() + - net: tap_open(): set sk_uid from current_fsuid() + + * CVE-2023-4155 + - KVM: SEV: Refactor out sev_es_state struct + - KVM: SEV: Fall back to vmalloc for SEV-ES scratch area if necessary + - KVM: SVM: Do not terminate SEV-ES guests on GHCB validation failure + - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors + - KVM: SEV: snapshot the GHCB before accessing it + - KVM: SEV: only access GHCB fields once + + * CVE-2023-1206 + - tcp: Reduce chance of collisions in inet6_hashfn(). + + * Crashing with CPU soft lock on GA kernel 5.15.0.79.76 and HWE kernel + 5.19.0-46.47-22.04.1 (LP: #2032176) + - Revert "KVM: x86: enable TDP MMU by default" + + * Jammy update: v5.15.122 upstream stable release (LP: #2032690) + - Linux 5.15.122 + - Upstream stable to v5.15.122 + + * Jammy update: v5.15.121 upstream stable release (LP: #2032689) + - netfilter: nf_tables: drop map element references from preparation phase + - fs: pipe: reveal missing function protoypes + - x86/resctrl: Only show tasks' pid in current pid namespace + - blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost + - md/raid10: check slab-out-of-bounds in md_bitmap_get_counter + - md/raid10: fix overflow of md/safe_mode_delay + - md/raid10: fix wrong setting of max_corr_read_errors + - md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request + - md/raid10: fix io loss while replacement replace rdev + - irqchip/jcore-aic: Fix missing allocation of IRQ descriptors + - svcrdma: Prevent page release when nothing was received + - posix-timers: Prevent RT livelock in itimer_delete() + - tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode(). + - clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe + - PM: domains: fix integer overflow issues in genpd_parse_state() + - perf/arm-cmn: Fix DTC reset + - powercap: RAPL: Fix CONFIG_IOSF_MBI dependency + - ARM: 9303/1: kprobes: avoid missing-declaration warnings + - cpufreq: intel_pstate: Fix energy_performance_preference for passive + - thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe() + - rcutorture: Correct name of use_softirq module parameter + - rcuscale: Always log error message + - rcuscale: Move shutdown from wait_event() to wait_event_idle() + - rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup() + - rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale + - kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME + is undefined + - perf/ibs: Fix interface via core pmu events + - x86/mm: Fix __swp_entry_to_pte() for Xen PV guests + - locking/atomic: arm: fix sync ops + - evm: Complete description of evm_inode_setattr() + - evm: Fix build warnings + - ima: Fix build warnings + - pstore/ram: Add check for kstrdup + - igc: Enable and fix RX hash usage by netstack + - wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation + - wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx + - libbpf: btf_dump_type_data_check_overflow needs to consider + BTF_MEMBER_BITFIELD_SIZE + - samples/bpf: Fix buffer overflow in tcp_basertt + - spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG + - wifi: wilc1000: fix for absent RSN capabilities WFA testcase + - wifi: mwifiex: Fix the size of a memory allocation in + mwifiex_ret_802_11_scan() + - sctp: add bpf_bypass_getsockopt proto callback + - libbpf: fix offsetof() and container_of() to work with CO-RE + - bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen + - spi: dw: Round of n_bytes to power of 2 + - nfc: llcp: fix possible use of uninitialized variable in + nfc_llcp_send_connect() + - bpftool: JIT limited misreported as negative value on aarch64 + - regulator: core: Fix more error checking for debugfs_create_dir() + - regulator: core: Streamline debugfs operations + - wifi: orinoco: Fix an error handling path in spectrum_cs_probe() + - wifi: orinoco: Fix an error handling path in orinoco_cs_probe() + - wifi: atmel: Fix an error handling path in atmel_probe() + - wl3501_cs: use eth_hw_addr_set() + - wifi: wl3501_cs: Fix an error handling path in wl3501_probe() + - wifi: ray_cs: Utilize strnlen() in parse_addr() + - wifi: ray_cs: Drop useless status variable in parse_addr() + - wifi: ray_cs: Fix an error handling path in ray_probe() + - wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes + - selftests/bpf: Fix check_mtu using wrong variable type + - wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled + - wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown + - watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct + config + - watchdog/perf: more properly prevent false positives with turbo modes + - kexec: fix a memory leak in crash_shrink_memory() + - memstick r592: make memstick_debug_get_tpc_name() static + - wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key() + - rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO + - wifi: iwlwifi: pull from TXQs with softirqs disabled + - iwlwifi: don't dump_stack() when we get an unexpected interrupt + - wifi: iwlwifi: pcie: fix NULL pointer dereference in + iwl_pcie_irq_rx_msix_handler() + - wifi: cfg80211: rewrite merging of inherited elements + - wifi: iwlwifi: mvm: indicate HW decrypt for beacon protection + - wifi: ath9k: convert msecs to jiffies where needed + - bpf: Omit superfluous address family check in __bpf_skc_lookup + - bpf: Factor out socket lookup functions for the TC hookpoint. + - bpf: Call __bpf_sk_lookup()/__bpf_skc_lookup() directly via TC hookpoint + - bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings + - can: length: fix bitstuffing count + - igc: Fix race condition in PTP tx code + - net: stmmac: fix double serdes powerdown + - netlink: fix potential deadlock in netlink_set_err() + - netlink: do not hard code device address lenth in fdb dumps + - bonding: do not assume skb mac_header is set + - selftests: rtnetlink: remove netdevsim device after ipsec offload test + - gtp: Fix use-after-free in __gtp_encap_destroy(). + - net: axienet: Move reset before 64-bit DMA detection + - sfc: fix crash when reading stats while NIC is resetting + - lib/ts_bm: reset initial match offset for every block of text + - netfilter: conntrack: dccp: copy entire header to stack buffer, not just + basic one + - netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return + value. + - ipvlan: Fix return value of ipvlan_queue_xmit() + - netlink: Add __sock_i_ino() for __netlink_diag_dump(). + - drm/amd/display: Add logging for display MALL refresh setting + - radeon: avoid double free in ci_dpm_init() + - drm/amd/display: Explicitly specify update type per plane info change + - Input: drv260x - sleep between polling GO bit + - drm/bridge: tc358768: always enable HS video mode + - drm/bridge: tc358768: fix PLL parameters computation + - drm/bridge: tc358768: fix PLL target frequency + - drm/bridge: tc358768: fix TCLK_ZEROCNT computation + - drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation + - drm/bridge: tc358768: fix TCLK_TRAILCNT computation + - drm/bridge: tc358768: fix THS_ZEROCNT computation + - drm/bridge: tc358768: fix TXTAGOCNT computation + - drm/bridge: tc358768: fix THS_TRAILCNT computation + - drm/vram-helper: fix function names in vram helper doc + - ARM: dts: BCM5301X: Drop "clock-names" from the SPI node + - ARM: dts: meson8b: correct uart_B and uart_C clock references + - Input: adxl34x - do not hardcode interrupt trigger type + - drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks` + - drm/panel: sharp-ls043t1le01: adjust mode settings + - ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards + - bus: ti-sysc: Fix dispc quirk masking bool variables + - arm64: dts: microchip: sparx5: do not use PSCI on reference boards + - clk: imx: scu: use _safe list iterator to avoid a use after free + - RDMA/bnxt_re: Disable/kill tasklet only if it is enabled + - RDMA/bnxt_re: Fix to remove unnecessary return labels + - RDMA/bnxt_re: Use unique names while registering interrupts + - RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid + - RDMA/bnxt_re: Fix to remove an unnecessary log + - drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rate + - drm/msm/disp/dpu: get timing engine status from intf status register + - drm/msm/dpu: Set DPU_DATA_HCTL_EN for in INTF_SC7180_MASK + - ARM: dts: gta04: Move model property out of pinctrl node + - arm64: dts: qcom: msm8916: correct camss unit address + - arm64: dts: qcom: msm8994: correct SPMI unit address + - arm64: dts: qcom: msm8996: correct camss unit address + - arm64: dts: qcom: sdm630: correct camss unit address + - arm64: dts: qcom: sdm845: correct camss unit address + - arm64: dts: qcom: db820c: Move blsp1_uart2 pin states to msm8996.dtsi + - arm64: dts: qcom: apq8016-sbc: Update modem and WiFi firmware path + - arm64: dts: qcom: apq8016-sbc: Clarify firmware-names + - arm64: dts: qcom: apq8016-sbc: fix mpps state names + - arm64: dts: qcom: Drop unneeded extra device-specific includes + - arm64: dts: qcom: apq8016-sbc: Fix regulator constraints + - arm64: dts: qcom: apq8016-sbc: Fix 1.8V power rail on LS expansion + - drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H + - ARM: ep93xx: fix missing-prototype warnings + - ARM: omap2: fix missing tick_broadcast() prototype + - arm64: dts: qcom: apq8096: fix fixed regulator name property + - arm64: dts: mediatek: mt8183: Add mediatek,broken-save-restore-fw to kukui + - ARM: dts: stm32: Shorten the AV96 HDMI sound card name + - memory: brcmstb_dpfe: fix testing array offset after use + - ASoC: es8316: Increment max value for ALC Capture Target Volume control + - ASoC: es8316: Do not set rate constraints for unsupported MCLKs + - ARM: dts: meson8: correct uart_B and uart_C clock references + - soc/fsl/qe: fix usb.c build errors + - RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes + - IB/hfi1: Use bitmap_zalloc() when applicable + - IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate + - RDMA/hns: Fix hns_roce_table_get return value + - ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier + - arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1 + - fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe() + - arm64: dts: ti: k3-j7200: Fix physical address of pin + - ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2 + - ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx + - hwmon: (gsc-hwmon) fix fan pwm temperature scaling + - hwmon: (adm1275) Allow setting sample averaging + - hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272 + - ARM: dts: BCM5301X: fix duplex-full => full-duplex + - drm/amdkfd: Fix potential deallocation of previously deallocated memory. + - drm/amd/display: Fix artifacting on eDP panels when engaging freesync video + mode + - drm/radeon: fix possible division-by-zero errors + - amdgpu: validate offset_in_bo of drm_amdgpu_gem_va + - drm/msm/a5xx: really check for A510 in a5xx_gpu_init + - RDMA/bnxt_re: wraparound mbox producer index + - RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context + - clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe + - clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe() + - arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k + - clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider() + - clk: tegra: tegra124-emc: Fix potential memory leak + - ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer + - drm/msm/dpu: do not enable color-management if DSPPs are not available + - drm/msm/dp: Free resources after unregistering them + - arm64: dts: mediatek: Add cpufreq nodes for MT8192 + - arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz + - drm/msm/dpu: correct MERGE_3D length + - clk: vc5: check memory returned by kasprintf() + - clk: cdce925: check return value of kasprintf() + - clk: si5341: return error if one synth clock registration fails + - clk: si5341: check return value of {devm_}kasprintf() + - clk: si5341: free unused memory on probe failure + - clk: keystone: sci-clk: check return value of kasprintf() + - clk: ti: clkctrl: check return value of kasprintf() + - drivers: meson: secure-pwrc: always enable DMA domain + - ovl: update of dentry revalidate flags after copy up + - ASoC: imx-audmix: check return value of devm_kasprintf() + - clk: Fix memory leak in devm_clk_notifier_register() + - PCI: cadence: Fix Gen2 Link Retraining process + - PCI: vmd: Reset VMD config register between soft reboots + - scsi: qedf: Fix NULL dereference in error handling + - pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors + - PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free + - scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe() + - PCI: pciehp: Cancel bringup sequence if card is not present + - PCI: ftpci100: Release the clock resources + - PCI: Add pci_clear_master() stub for non-CONFIG_PCI + - perf bench: Use unbuffered output when pipe/tee'ing to a file + - perf bench: Add missing setlocale() call to allow usage of %'d style + formatting + - pinctrl: cherryview: Return correct value if pin in push-pull mode + - kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures + - powerpc/interrupt: Don't read MSR from interrupt_exit_kernel_prepare() + - powerpc/signal32: Force inlining of __unsafe_save_user_regs() and + save_tm_user_regs_unsafe() + - perf script: Fix allocation of evsel->priv related to per-event dump files + - perf dwarf-aux: Fix off-by-one in die_get_varname() + - powerpc/64s: Fix VAS mm use after free + - pinctrl: microchip-sgpio: check return value of devm_kasprintf() + - pinctrl: at91-pio4: check return value of devm_kasprintf() + - powerpc/powernv/sriov: perform null check on iov before dereferencing iov + - powerpc: simplify ppc_save_regs + - powerpc: update ppc_save_regs to save current r1 in pt_regs + - riscv: uprobes: Restore thread.bad_cause + - powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo + - powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross- + boundary + - hwrng: virtio - add an internal buffer + - hwrng: virtio - don't wait on cleanup + - hwrng: virtio - don't waste entropy + - hwrng: virtio - always add a pending request + - hwrng: virtio - Fix race on data_avail and actual data + - modpost: remove broken calculation of exception_table_entry size + - crypto: nx - fix build warnings when DEBUG_FS is not enabled + - modpost: fix section mismatch message for R_ARM_ABS32 + - modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24} + - crypto: marvell/cesa - Fix type mismatch warning + - modpost: fix off by one in is_executable_section() + - ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard + - crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag + - crypto: qat - replace get_current_node() with numa_node_id() + - crypto: qat - use reference to structure in dma_map_single() + - crypto: kpp - Add helper to set reqsize + - crypto: qat - Use helper to set reqsize + - crypto: qat - unmap buffer before free for DH + - crypto: qat - unmap buffers before free for RSA + - NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION + - SMB3: Do not send lease break acknowledgment if all file handles have been + closed + - dax: Fix dax_mapping_release() use after free + - dax: Introduce alloc_dev_dax_id() + - dax/kmem: Pass valid argument to memory_group_register_static + - hwrng: st - keep clock enabled while hwrng is registered + - kbuild: Disable GCOV for *.mod.o + - efi/libstub: Disable PCI DMA before grabbing the EFI memory map + - ksmbd: avoid field overflow warning + - ACPI: utils: Fix acpi_evaluate_dsm_typed() redefinition error + - bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page + - USB: serial: option: add LARA-R6 01B PIDs + - usb: dwc3: gadget: Propagate core init errors to UDC during pullup + - phy: tegra: xusb: Clear the driver reference in usb-phy dev + - iio: adc: ad7192: Fix null ad7192_state pointer access + - iio: adc: ad7192: Fix internal/external clock selection + - iio: accel: fxls8962af: errata bug only applicable for FXLS8962AF + - iio: accel: fxls8962af: fixup buffer scan element type + - ALSA: hda/realtek: Add quirk for Clevo NPx0SNx + - ALSA: jack: Fix mutex call in snd_jack_report() + - block: fix signed int overflow in Amiga partition support + - block: add overflow checks for Amiga partition support + - block: change all __u32 annotations to __be32 in affs_hardblocks.h + - block: increment diskseq on all media change events + - SUNRPC: Fix UAF in svc_tcp_listen_data_ready() + - w1: w1_therm: fix locking behavior in convert_t + - w1: fix loop in w1_fini() + - sh: j2: Use ioremap() to translate device tree address into kernel memory + - usb: dwc2: platform: Improve error reporting for problems during .remove() + - usb: dwc2: Fix some error handling paths + - serial: 8250: omap: Fix freeing of resources on failed register + - clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs + - clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks + - media: usb: Check az6007_read() return value + - media: videodev2.h: Fix struct v4l2_input tuner index comment + - media: usb: siano: Fix warning due to null work_func_t function pointer + - media: i2c: Correct format propagation for st-mipid02 + - clk: qcom: reset: Allow specifying custom reset delay + - clk: qcom: reset: support resetting multiple bits + - clk: qcom: ipq6018: fix networking resets + - usb: dwc3: qcom: Fix potential memory leak + - usb: gadget: u_serial: Add null pointer check in gserial_suspend + - extcon: Fix kernel doc of property fields to avoid warnings + - extcon: Fix kernel doc of property capability fields to avoid warnings + - usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe() + - usb: hide unused usbfs_notify_suspend/resume functions + - serial: 8250: lock port for stop_rx() in omap8250_irq() + - serial: 8250: lock port for UART_IER access in omap8250_irq() + - kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR + - coresight: Fix loss of connection info when a module is unloaded + - mfd: rt5033: Drop rt5033-battery sub-device + - media: venus: helpers: Fix ALIGN() of non power of two + - media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var() + - KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes + - usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove() + - usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe() + - usb: common: usb-conn-gpio: Set last role to unknown before initial + detection + - usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe() + - mfd: intel-lpss: Add missing check for platform_get_resource + - Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial + detection" + - serial: 8250_omap: Use force_suspend and resume for system suspend + - test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation + - nvmem: rmem: Use NVMEM_DEVID_AUTO + - mfd: stmfx: Fix error path in stmfx_chip_init + - mfd: stmfx: Nullify stmfx->vdd in case of error + - KVM: s390: vsie: fix the length of APCB bitmap + - KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler + - mfd: stmpe: Only disable the regulators if they are enabled + - phy: tegra: xusb: check return value of devm_kzalloc() + - pwm: imx-tpm: force 'real_period' to be zero in suspend + - pwm: sysfs: Do not apply state to already disabled PWMs + - pwm: ab8500: Fix error code in probe() + - pwm: mtk_disp: Fix the disable flow of disp_pwm + - md/raid10: fix the condition to call bio_end_io_acct() + - rtc: st-lpc: Release some resources in st_rtc_probe() in case of error + - drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times + - media: cec: i2c: ch7322: also select REGMAP + - sctp: fix potential deadlock on &net->sctp.addr_wq_lock + - net/sched: act_ipt: add sanity checks on table name and hook locations + - Add MODULE_FIRMWARE() for FIRMWARE_TG357766. + - ibmvnic: Do not reset dql stats on NON_FATAL err + - net: dsa: vsc73xx: fix MTU configuration + - spi: bcm-qspi: return error if neither hif_mspi nor mspi is available + - mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 + - f2fs: fix error path handling in truncate_dnode() + - octeontx2-af: Fix mapping for NIX block from CGX connection + - octeontx2-af: Add validation before accessing cgx and lmac + - ntfs: Fix panic about slab-out-of-bounds caused by ntfs_listxattr() + - powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y + - net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode + - tcp: annotate data races in __tcp_oow_rate_limited() + - xsk: Honor SO_BINDTODEVICE on bind + - net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX + - riscv: move memblock_allow_resize() after linear mapping is ready + - pptp: Fix fib lookup calls. + - net: dsa: tag_sja1105: fix MAC DA patching from meta frames + - octeontx-af: fix hardware timestamp configuration + - s390/qeth: Fix vipa deletion + - sh: dma: Fix DMA channel offset calculation + - apparmor: fix missing error check for rhashtable_insert_fast + - i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process() + - i2c: xiic: Don't try to handle more interrupt events after error + - extcon: usbc-tusb320: Convert to i2c's .probe_new() + - btrfs: do not BUG_ON() on tree mod log failure at balance_level() + - i2c: qup: Add missing unwind goto in qup_i2c_probe() + - NFSD: add encoding of op_recall flag for write delegation + - io_uring: wait interruptibly for request completions on exit + - mmc: core: disable TRIM on Kingston EMMC04G-M627 + - mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M + - mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS + - mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is + used. + - bcache: fixup btree_cache_wait list damage + - bcache: Remove unnecessary NULL point check in node allocations + - bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent + - um: Use HOST_DIR for mrproper + - integrity: Fix possible multiple allocation in integrity_inode_get() + - autofs: use flexible array in ioctl structure + - shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs + - ext4: Remove ext4 locking of moved directory + - Revert "f2fs: fix potential corruption when moving a directory" + - fs: Establish locking order for unrelated directories + - fs: Lock moved directories + - ipvs: increase ip_vs_conn_tab_bits range for 64BIT + - jffs2: reduce stack usage in jffs2_build_xattr_subsystem() + - fs: avoid empty option when generating legacy mount string + - btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile + - btrfs: delete unused BGs while reclaiming BGs + - btrfs: bail out reclaim process if filesystem is read-only + - btrfs: reinsert BGs failed to reclaim + - btrfs: fix race when deleting quota root from the dirty cow roots list + - btrfs: fix extent buffer leak after tree mod log failure at split_node() + - btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block() + - ASoC: mediatek: mt8173: Fix irq error path + - ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path + - ARM: dts: qcom: ipq4019: fix broken NAND controller properties override + - ARM: orion5x: fix d2net gpio initialization + - leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename + - fs: no need to check source + - ovl: fix null pointer dereference in ovl_get_acl_rcu() + - fanotify: disallow mount/sb marks on kernel internal pseudo fs + - netfilter: conntrack: Avoid nf_ct_helper_hash uses after free + - wireguard: queueing: use saner cpu selection wrapping + - wireguard: netlink: send staged packets when setting initial private key + - tty: serial: fsl_lpuart: add earlycon for imx8ulp platform + - block/partition: fix signedness issue for Amiga partitions + - io_uring: Use io_schedule* in cqring wait + - io_uring: add reschedule point to handle_tw_list() + - net: lan743x: Don't sleep in atomic context + - workqueue: clean up WORK_* constant types, clarify masking + - ksmbd: use ksmbd_req_buf_next() in ksmbd_smb2_check_message() + - ksmbd: validate command payload size + - ksmbd: fix out-of-bound read in smb2_write + - ksmbd: validate session id and tree id in the compound request + - drm/panel: simple: Add connector_type for innolux_at043tn24 + - drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime + - drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags + - igc: Remove delay during TX ring configuration + - net/mlx5e: fix double free in mlx5e_destroy_flow_table + - net/mlx5e: fix memory leak in mlx5e_ptp_open + - net/mlx5e: Check for NOT_READY flag state after locking + - igc: set TP bit in 'supported' and 'advertising' fields of + ethtool_link_ksettings + - igc: Handle PPS start time programming for past time values + - scsi: qla2xxx: Fix error code in qla2x00_start_sp() + - bpf: Fix max stack depth check for async callbacks + - net: mvneta: fix txq_map in case of txq_number==1 + - gve: Set default duplex configuration to full + - ionic: remove WARN_ON to prevent panic_on_warn + - net: bgmac: postpone turning IRQs off to avoid SoC hangs + - net: prevent skb corruption on frag list segmentation + - icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev(). + - udp6: fix udp6_ehashfn() typo + - ntb: idt: Fix error handling in idt_pci_driver_init() + - NTB: amd: Fix error handling in amd_ntb_pci_driver_init() + - ntb: intel: Fix error handling in intel_ntb_pci_driver_init() + - NTB: ntb_transport: fix possible memory leak while device_register() fails + - NTB: ntb_tool: Add check for devm_kcalloc + - ipv6/addrconf: fix a potential refcount underflow for idev + - platform/x86: wmi: remove unnecessary argument + - platform/x86: wmi: use guid_t and guid_equal() + - platform/x86: wmi: move variables + - platform/x86: wmi: Break possible infinite loop when parsing GUID + - kernel/trace: Fix cleanup logic of enable_trace_eprobe + - igc: Fix launchtime before start of cycle + - igc: Fix inserting of empty frame for launchtime + - bpf, riscv: Support riscv jit to provide bpf_line_info + - riscv, bpf: Fix inconsistent JIT image generation + - drm/i915: Fix one wrong caching mode enum usage + - octeontx2-pf: Add additional check for MCAM rules + - erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF + - erofs: decouple basic mount options from fs_context + - erofs: fix fsdax unavailability for chunk-based regular files + - wifi: airo: avoid uninitialized warning in airo_get_rate() + - bpf: cpumap: Fix memory leak in cpu_map_update_elem + - net/sched: flower: Ensure both minimum and maximum ports are specified + - riscv: mm: fix truncation warning on RV32 + - netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() + - net/sched: make psched_mtu() RTNL-less safe + - nvme-pci: remove nvme_queue from nvme_iod + - nvme-pci: fix DMA direction of unmapping integrity data + - pinctrl: amd: Fix mistake in handling clearing pins at startup + - pinctrl: amd: Detect internal GPIO0 debounce handling + - pinctrl: amd: Detect and mask spurious interrupts + - pinctrl: amd: Only use special debounce behavior for GPIO 0 + - tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation + - mtd: rawnand: meson: fix unaligned DMA buffers handling + - net: bcmgenet: Ensure MDIO unregistration has clocks enabled + - mm/damon/ops-common: atomically test and clear young on ptes and pmds + - powerpc: Fail build if using recordmcount with binutils v2.37 + - misc: fastrpc: Create fastrpc scalar with correct buffer count + - powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 + - arm64: errata: Add detection for TRBE overwrite in FILL mode + - erofs: fix compact 4B support for 16k block size + - MIPS: Loongson: Fix cpu_probe_loongson() again + - MIPS: KVM: Fix NULL pointer dereference + - ext4: Fix reusing stale buffer heads from last failed mounting + - ext4: fix wrong unit use in ext4_mb_clear_bb + - ext4: get block from bh in ext4_free_blocks for fast commit replay + - ext4: fix wrong unit use in ext4_mb_new_blocks + - ext4: fix to check return value of freeze_bdev() in ext4_shutdown() + - ext4: turn quotas off if mount failed after enabling quotas + - ext4: only update i_reserved_data_blocks on successful block allocation + - jfs: jfs_dmap: Validate db_l2nbperpage while mounting + - hwrng: imx-rngc - fix the timeout for init and self check + - dm integrity: reduce vmalloc space footprint on 32-bit architectures + - PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9235 + - PCI: qcom: Disable write access to read only registers for IP v2.3.3 + - PCI: rockchip: Assert PCI Configuration Enable bit after probe + - PCI: rockchip: Write PCI Device ID to correct register + - PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked + - PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core + - PCI: rockchip: Use u32 variable to access 32-bit registers + - PCI: rockchip: Set address alignment for endpoint mode + - misc: pci_endpoint_test: Free IRQs before removing the device + - misc: pci_endpoint_test: Re-init completion for every test + - mfd: pm8008: Fix module autoloading + - md/raid0: add discard support for the 'original' layout + - dm init: add dm-mod.waitfor to wait for asynchronously probed block devices + - fs: dlm: return positive pid value for F_GETLK + - drm/atomic: Allow vblank-enabled + self-refresh "disable" + - drm/rockchip: vop: Leave vblank enabled in self-refresh + - drm/amdgpu: fix clearing mappings for BOs that are always valid in VM + - drm/amd/display: Correct `DMUB_FW_VERSION` macro + - drm/amdgpu: avoid restore process run into dead loop. + - drm/ttm: Don't leak a resource on swapout move error + - serial: atmel: don't enable IRQs prematurely + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in + case of error + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when + iterating clk + - tty: serial: imx: fix rs485 rx after tx + - firmware: stratix10-svc: Fix a potential resource leak in + svc_create_memory_pool() + - libceph: harden msgr2.1 frame segment length checks + - ceph: don't let check_caps skip sending responses for revoke msgs + - xhci: Fix resume issue of some ZHAOXIN hosts + - xhci: Fix TRB prefetch issue of ZHAOXIN hosts + - xhci: Show ZHAOXIN xHCI root hub speed correctly + - meson saradc: fix clock divider mask length + - opp: Fix use-after-free in lazy_opp_tables after probe deferral + - soundwire: qcom: fix storing port config out-of-bounds + - Revert "8250: add support for ASIX devices with a FIFO bug" + - bus: ixp4xx: fix IXP4XX_EXP_T1_MASK + - s390/decompressor: fix misaligned symbol build error + - tracing/histograms: Add histograms to hist_vars if they have referenced + variables + - tracing: Fix memory leak of iter->temp when reading trace_pipe + - samples: ftrace: Save required argument registers in sample trampolines + - net: ena: fix shift-out-of-bounds in exponential backoff + - ring-buffer: Fix deadloop issue on reading trace_pipe + - ftrace: Fix possible warning on checking all pages used in + ftrace_process_locs() + - xtensa: ISS: fix call to split_if_spec + - tracing: Fix null pointer dereference in tracing_err_log_open() + - selftests: mptcp: sockopt: return error if wrong mark + - selftests: mptcp: depend on SYN_COOKIES + - tracing/probes: Fix not to count error code to total length + - tracing/probes: Fix to update dynamic data counter if fetcharg uses it + - scsi: qla2xxx: Wait for io return on terminate rport + - scsi: qla2xxx: Array index may go out of bound + - scsi: qla2xxx: Avoid fcport pointer dereference + - scsi: qla2xxx: Fix buffer overrun + - scsi: qla2xxx: Fix potential NULL pointer dereference + - scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport() + - scsi: qla2xxx: Correct the index of array + - scsi: qla2xxx: Pointer may be dereferenced + - scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue + - MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled + - net/sched: sch_qfq: reintroduce lmax bound check for MTU + - drm/atomic: Fix potential use-after-free in nonblocking commits + - Linux 5.15.121 + + * Jammy update: v5.15.120 upstream stable release (LP: #2032688) + - mptcp: fix possible divide by zero in recvmsg() + - mptcp: consolidate fallback and non fallback state machine + - mm, hwpoison: try to recover from copy-on write faults + - mm, hwpoison: when copy-on-write hits poison, take page offline + - drm/amdgpu: Set vmbo destroy after pt bo is created + - x86/microcode/AMD: Load late on both threads too + - x86/smp: Use dedicated cache-line for mwait_play_dead() + - can: isotp: isotp_sendmsg(): fix return error fix on TX path + - bpf: ensure main program has an extable + - HID: wacom: Use ktime_t rather than int when dealing with timestamps + - HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651. + - Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak + in mtk_thermal_probe" + - perf symbols: Symbol lookup with kcore can fail if multiple segments match + stext + - scripts/tags.sh: Resolve gtags empty index generation + - drm/amdgpu: Validate VM ioctl flags. + - parisc: Delete redundant register definitions in + - nubus: Partially revert proc_create_single_data() conversion + - Linux 5.15.120 + + * Jammy update: v5.15.119 upstream stable release (LP: #2032683) + - drm/amd/display: fix the system hang while disable PSR + - tracing: Add tracing_reset_all_online_cpus_unlocked() function + - tpm, tpm_tis: Claim locality in interrupt handler + - drm/amd/display: Add minimal pipe split transition state + - drm/amd/display: Use dc_update_planes_and_stream + - drm/amd/display: Add wrapper to call planes and stream update + - tick/common: Align tick period during sched_timer setup + - selftests: mptcp: lib: skip if missing symbol + - selftests: mptcp: lib: skip if not below kernel version + - selftests/mount_setattr: fix redefine struct mount_attr build error + - selftests: mptcp: pm nl: remove hardcoded default limits + - selftests: mptcp: join: use 'iptables-legacy' if available + - selftests: mptcp: join: skip check if MIB counter not supported + - nilfs2: fix buffer corruption due to concurrent device reads + - ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() + - KVM: Avoid illegal stage2 mapping on invalid memory slot + - Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails + - Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs + - PCI: hv: Fix a race condition bug in hv_pci_query_relations() + - Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally" + - PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev + - PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic + - PCI: hv: Add a per-bus mutex state_lock + - cgroup: Do not corrupt task iteration when rebinding subsystem + - mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916 + - mmc: meson-gx: remove redundant mmc_request_done() call from irq context + - mmc: mmci: stm32: fix max busy timeout calculation + - ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN + - regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK + - regmap: spi-avmm: Fix regmap_bus max_raw_write + - writeback: fix dereferencing NULL mapping->host on writeback_page_template + - io_uring/net: save msghdr->msg_control for retries + - io_uring/net: clear msg_controllen on partial sendmsg retry + - io_uring/net: disable partial retries for recvmsg with cmsg + - nilfs2: prevent general protection fault in nilfs_clear_dirty_page() + - x86/mm: Avoid using set_pgd() outside of real PGD pages + - memfd: check for non-NULL file_seals in memfd_create() syscall + - mmc: meson-gx: fix deferred probing + - ieee802154: hwsim: Fix possible memory leaks + - xfrm: Treat already-verified secpath entries as optional + - xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c + - xfrm: Ensure policies always checked on XFRM-I input path + - bpf: track immediate values written to stack by BPF_ST instruction + - bpf: Fix verifier id tracking of scalars on spill + - xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets + - selftests: net: fcnal-test: check if FIPS mode is enabled + - xfrm: Linearize the skb after offloading if needed. + - net: qca_spi: Avoid high load if QCA7000 is not available + - mmc: mtk-sd: fix deferred probing + - mmc: mvsdio: fix deferred probing + - mmc: omap: fix deferred probing + - mmc: omap_hsmmc: fix deferred probing + - mmc: owl: fix deferred probing + - mmc: sdhci-acpi: fix deferred probing + - mmc: sh_mmcif: fix deferred probing + - mmc: usdhi60rol0: fix deferred probing + - ipvs: align inner_mac_header for encapsulation + - net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch + - net: dsa: mt7530: fix handling of BPDUs on MT7530 switch + - be2net: Extend xmit workaround to BE3 chip + - netfilter: nft_set_pipapo: .walk does not deal with generations + - netfilter: nf_tables: disallow element updates of bound anonymous sets + - netfilter: nf_tables: reject unbound anonymous set before commit phase + - netfilter: nf_tables: reject unbound chain set before commit phase + - netfilter: nf_tables: disallow updates of anonymous sets + - netfilter: nfnetlink_osf: fix module autoload + - Revert "net: phy: dp83867: perform soft reset and retain established link" + - bpf/btf: Accept function names that contain dots + - selftests: forwarding: Fix race condition in mirror installation + - sch_netem: acquire qdisc lock in netem_change() + - gpio: Allow per-parent interrupt data + - gpiolib: Fix GPIO chip IRQ initialization restriction + - gpio: sifive: add missing check for platform_get_irq + - scsi: target: iscsi: Prevent login threads from racing between each other + - HID: wacom: Add error check to wacom_parse_and_register() + - arm64: Add missing Set/Way CMO encodings + - media: cec: core: don't set last_initiator if tx in progress + - nfcsim.c: Fix error checking for debugfs_create_dir + - usb: gadget: udc: fix NULL dereference in remove() + - nvme: double KA polling frequency to avoid KATO with TBKAS on + - Input: soc_button_array - add invalid acpi_index DMI quirk handling + - s390/cio: unregister device when the only path is gone + - spi: lpspi: disable lpspi module irq in DMA mode + - ASoC: simple-card: Add missing of_node_put() in case of error + - soundwire: dmi-quirks: add new mapping for HP Spectre x360 + - ASoC: nau8824: Add quirk to active-high jack-detect + - s390/purgatory: disable branch profiling + - ARM: dts: Fix erroneous ADS touchscreen polarities + - drm/exynos: vidi: fix a wrong error return + - drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl + - drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl + - vhost_net: revert upend_idx only on retriable error + - x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys + - i2c: imx-lpi2c: fix type char overflow issue when calculating the clock + cycle + - act_mirred: remove unneded merge conflict markers + - Linux 5.15.119 + + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - test_firmware: Use kstrtobool() instead of strtobool() + - test_firmware: prevent race conditions by a correct implementation of + locking + - test_firmware: fix a memory leak with reqs buffer + - ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate + - drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram + - of: overlay: rename variables to be consistent + - of: overlay: rework overlay apply and remove kfree()s + - of: overlay: Fix missing of_node_put() in error case of + init_overlay_changeset() + - power: supply: ab8500: Fix external_power_changed race + - power: supply: sc27xx: Fix external_power_changed race + - power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + + schedule() + - ARM: dts: vexpress: add missing cache properties + - tools: gpio: fix debounce_period_us output of lsgpio + - power: supply: Ratelimit no data debug output + - platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0 + - regulator: Fix error checking for debugfs_create_dir + - irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues + - power: supply: Fix logic checking if system is running from battery + - btrfs: scrub: try harder to mark RAID56 block groups read-only + - btrfs: handle memory allocation failure in btrfs_csum_one_bio + - ASoC: soc-pcm: test if a BE can be prepared + - parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu() + - parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory() + - MIPS: unhide PATA_PLATFORM + - MIPS: Alchemy: fix dbdma2 + - mips: Move initrd_start check after initrd address sanitisation. + - ASoC: dwc: move DMA init to snd_soc_dai_driver probe() + - xen/blkfront: Only check REQ_FUA for writes + - drm:amd:amdgpu: Fix missing buffer object unlock in failure path + - NVMe: Add MAXIO 1602 to bogus nid list. + - irqchip/gic: Correctly validate OF quirk descriptors + - wifi: cfg80211: fix locking in regulatory disconnect + - wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid() + - epoll: ep_autoremove_wake_function should use list_del_init_careful + - ocfs2: fix use-after-free when unmounting read-only filesystem + - ocfs2: check new file size on fallocate call + - nios2: dts: Fix tse_mac "max-frame-size" property + - nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key() + - nilfs2: fix possible out-of-bounds segment allocation in resize ioctl + - kexec: support purgatories with .text.hot sections + - x86/purgatory: remove PGO flags + - powerpc/purgatory: remove PGO flags + - ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD + playback + - dm thin metadata: check fail_io before using data_sm + - nouveau: fix client work fence deletion race + - RDMA/uverbs: Restrict usage of privileged QKEYs + - net: usb: qmi_wwan: add support for Compal RXM-G1 + - drm/amdgpu: add missing radeon secondary PCI ID + - ALSA: hda/realtek: Add a quirk for Compaq N14JP6 + - Remove DECnet support from kernel + - [Config] updateconfigs for DECNET + - thunderbolt: dma_test: Use correct value for absent rings when creating + paths + - thunderbolt: Mask ring interrupt on Intel hardware as well + - USB: serial: option: add Quectel EM061KGL series + - serial: lantiq: add missing interrupt ack + - usb: dwc3: gadget: Reset num TRBs before giving back the request + - RDMA/rtrs: Fix the last iu->buf leak in err path + - RDMA/rtrs: Fix rxe_dealloc_pd warning + - RDMA/rxe: Fix packet length checks + - spi: fsl-dspi: avoid SCK glitches with continuous transfers + - netfilter: nf_tables: integrate pipapo into commit protocol + - netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM + - net: enetc: correct the indexes of highest and 2nd highest TCs + - ping6: Fix send to link-local addresses with VRF. + - net/sched: simplify tcf_pedit_act + - net/sched: act_pedit: remove extra check for key type + - net/sched: act_pedit: Parse L3 Header for L4 offset + - RDMA/rxe: Remove the unused variable obj + - RDMA/rxe: Removed unused name from rxe_task struct + - RDMA/rxe: Fix the use-before-initialization error of resp_pkts + - iavf: remove mask from iavf_irq_enable_queues() + - octeontx2-af: fixed resource availability check + - octeontx2-af: fix lbk link credits on cn10k + - RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions + - RDMA/cma: Always set static rate to 0 for RoCE + - IB/uverbs: Fix to consider event queue closing also upon non-blocking mode + - IB/isert: Fix dead lock in ib_isert + - IB/isert: Fix possible list corruption in CMA handler + - IB/isert: Fix incorrect release of isert connection + - net: ethtool: correct MAX attribute value for stats + - ipvlan: fix bound dev checking for IPv6 l3s mode + - sctp: fix an error code in sctp_sf_eat_auth() + - igc: Clean the TX buffer and TX descriptor ring + - igb: fix nvm.ops.read() error handling + - drm/nouveau: don't detect DSM for non-NVIDIA device + - drm/nouveau/dp: check for NULL nv_connector->native_mode + - drm/nouveau: add nv_encoder pointer check for NULL + - cifs: fix lease break oops in xfstest generic/098 + - ext4: drop the call to ext4_error() from ext4_get_group_info() + - net/sched: cls_api: Fix lockup on flushing explicitly created chain + - net: lapbether: only support ethernet devices + - dm: don't lock fs when the map is NULL during suspend or resume + - net: tipc: resize nlattr array to correct size + - selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET + - afs: Fix vlserver probe RTT handling + - cgroup: always put cset in cgroup_css_set_put_fork + - rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period + - neighbour: Remove unused inline function neigh_key_eq16() + - net: Remove unused inline function dst_hold_and_use() + - net: Remove DECnet leftovers from flow.h. + - neighbour: delete neigh_lookup_nodev as not used + - of: overlay: add entry to of_overlay_action_name[] + - mmc: block: ensure error propagation for non-blk + - nilfs2: reject devices with insufficient block count + - Linux 5.15.118 + + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - ata: ahci: fix enum constants for gcc-13 + - gcc-plugins: Reorganize gimple includes for GCC 13 + - remove the sx8 block driver + - [Config] updateconfigs for BLK_DEV_SX8 + - sfc (gcc13): synchronize ef100_enqueue_skb()'s return type + - i40e: Remove string printing for i40e_status + - i40e: use int for i40e_status + - i40e: fix build warning in ice_fltr_add_mac_to_list() + - bonding (gcc13): synchronize bond_{a,t}lb_xmit() types + - f2fs: fix iostat lock protection + - blk-iocost: avoid 64-bit division in ioc_timer_fn + - platform/surface: aggregator: Allow completion work-items to be executed in + parallel + - spi: qup: Request DMA before enabling clocks + - afs: Fix setting of mtime when creating a file/dir/symlink + - wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll + - neighbour: fix unaligned access to pneigh_entry + - net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods + - bpf: Fix UAF in task local storage + - net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down + - net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT + - net: enetc: correct the statistics of rx bytes + - net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values + - drm/i915: Explain the magic numbers for AUX SYNC/precharge length + - drm/i915: Use 18 fast wake AUX sync len + - Bluetooth: Fix l2cap_disconnect_req deadlock + - Bluetooth: L2CAP: Add missing checks for invalid DCID + - qed/qede: Fix scheduling while atomic + - wifi: cfg80211: fix locking in sched scan stop work + - selftests/bpf: Verify optval=NULL case + - selftests/bpf: Fix sockopt_sk selftest + - netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper + - netfilter: ipset: Add schedule point in call_ad(). + - ipv6: rpl: Fix Route of Death. + - rfs: annotate lockless accesses to sk->sk_rxhash + - rfs: annotate lockless accesses to RFS sock flow table + - drm/i915/selftests: Increase timeout for live_parallel_switch + - drm/i915/selftests: Stop using kthread_stop() + - drm/i915/selftests: Add some missing error propagation + - net: sched: move rtm_tca_policy declaration to include file + - net: sched: act_police: fix sparse errors in tcf_police_dump() + - net: sched: fix possible refcount leak in tc_chain_tmplt_add() + - bpf: Add extra path pointer check to d_path helper + - lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() + - bnxt_en: Don't issue AP reset during ethtool's reset operation + - bnxt_en: Query default VLAN before VNIC setup on a VF + - bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks + - batman-adv: Broken sync while rescheduling delayed work + - Input: xpad - delete a Razer DeathAdder mouse VID/PID entry + - Input: psmouse - fix OOB access in Elantech protocol + - Input: fix open count when closing inhibited device + - ALSA: hda/realtek: Add quirk for Clevo NS50AU + - ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01 + - drm/i915/gt: Use the correct error value when kernel_context() fails + - drm/amd/pm: conditionally disable pcie lane switching for some + sienna_cichlid SKUs + - drm/amdgpu: fix xclk freq on CHIP_STONEY + - drm/amd/pm: Fix power context allocation in SMU13 + - can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in + J1939 Socket + - can: j1939: change j1939_netdev_lock type to mutex + - can: j1939: avoid possible use-after-free when j1939_can_rx_register fails + - ceph: fix use-after-free bug for inodes when flushing capsnaps + - s390/dasd: Use correct lock while counting channel queue length + - Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk + - Bluetooth: hci_qca: fix debugfs registration + - tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta' + - rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting + - rbd: get snapshot context after exclusive lock is ensured to be held + - pinctrl: meson-axg: add missing GPIOA_18 gpio group + - usb: usbfs: Enforce page requirements for mmap + - usb: usbfs: Use consistent mmap functions + - ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc + - ASoC: codecs: wsa881x: do not set can_multi_write flag + - arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite + boards + - arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals + - arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts + - ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback + returning void + - ASoC: mediatek: mt8195: fix use-after-free in driver remove path + - arm64: dts: imx8mn-beacon: Fix SPI CS pinmux + - i2c: mv64xxx: Fix reading invalid status value in atomic mode + - firmware: arm_ffa: Set handle field to zero in memory descriptor + - i2c: sprd: Delete i2c adapter in .remove's error path + - eeprom: at24: also select REGMAP + - riscv: fix kprobe __user string arg print fault issue + - vduse: avoid empty string for dev name + - vhost: support PACKED when setting-getting vring_base + - vhost_vdpa: support PACKED when setting-getting vring_base + - ext4: only check dquot_initialize_needed() when debugging + - Linux 5.15.117 + + * CVE-2023-4273 + - exfat: check if filename entries exceeds max filename length + + * CVE-2023-4128 + - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_route: No longer copy tcf_result on update to avoid use- + after-free + + * CVE-2023-3863 + - nfc: llcp: simplify llcp_sock_connect() error paths + - net: nfc: Fix use-after-free caused by nfc_llcp_find_local + + -- Stefan Bader Fri, 01 Sep 2023 14:52:39 +0200 + linux (5.15.0-83.92) jammy; urgency=medium * jammy/linux: 5.15.0-83.92 -proposed tracker (LP: #2031132) diff -u linux-intel-iotg-5.15-5.15.0/debian.master/config/annotations linux-intel-iotg-5.15-5.15.0/debian.master/config/annotations --- linux-intel-iotg-5.15-5.15.0/debian.master/config/annotations +++ linux-intel-iotg-5.15-5.15.0/debian.master/config/annotations @@ -567,6 +567,15 @@ CONFIG_SERIAL_MULTI_INSTANTIATE policy<{'amd64': 'm'}> CONFIG_SERIAL_MULTI_INSTANTIATE note<'LP:#1965496'> +CONFIG_SERIAL_SH_SCI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_SH_SCI note<'LP: #2022361'> + +CONFIG_SERIAL_SH_SCI_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_SH_SCI_CONSOLE note<'LP: #2022361'> + +CONFIG_SERIAL_SH_SCI_EARLYCON policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_SH_SCI_EARLYCON note<'LP: #2022361'> + CONFIG_SETEND_EMULATION policy<{'arm64': 'y'}> CONFIG_SETEND_EMULATION note<'LP:1545542'> @@ -2087,7 +2096,6 @@ CONFIG_BLK_DEV_RNBD_CLIENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> CONFIG_BLK_DEV_RNBD_SERVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}> CONFIG_BLK_DEV_RSXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> -CONFIG_BLK_DEV_SX8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> CONFIG_BLK_DEV_THROTTLING_LOW policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> CONFIG_BLK_DEV_ZONED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> CONFIG_BLK_INLINE_ENCRYPTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> @@ -3044,6 +3052,7 @@ CONFIG_CPU_PM policy<{'arm64': 'y', 'armhf': 'y'}> CONFIG_CPU_RMAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> CONFIG_CPU_SPECTRE policy<{'armhf': 'y'}> +CONFIG_CPU_SRSO policy<{'amd64': 'y'}> CONFIG_CPU_SUP_AMD policy<{'amd64': 'y'}> CONFIG_CPU_SUP_CENTAUR policy<{'amd64': 'y'}> CONFIG_CPU_SUP_HYGON policy<{'amd64': 'y'}> @@ -3527,9 +3536,6 @@ CONFIG_DEBUG_WQ_FORCE_RR_CPU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> CONFIG_DEBUG_WW_MUTEX_SLOWPATH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> CONFIG_DEBUG_WX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> -CONFIG_DECNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}> -CONFIG_DECNET_NF_GRABULATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> -CONFIG_DECNET_ROUTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> CONFIG_DECOMPRESS_BZIP2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> CONFIG_DECOMPRESS_GZIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> CONFIG_DECOMPRESS_LZ4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> @@ -6535,7 +6541,7 @@ CONFIG_KEXEC_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> CONFIG_KEXEC_ELF policy<{'ppc64el': 'y'}> CONFIG_KEXEC_FILE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'n'}> -CONFIG_KEXEC_IMAGE_VERIFY_SIG policy<{'arm64': 'n'}> +CONFIG_KEXEC_IMAGE_VERIFY_SIG policy<{'arm64': 'y'}> CONFIG_KEXEC_JUMP policy<{'amd64': 'y'}> CONFIG_KEXEC_SIG policy<{'amd64': 'y', 'arm64': 'y'}> CONFIG_KEXEC_SIG_FORCE policy<{'amd64': 'n'}> @@ -11006,7 +11012,6 @@ CONFIG_SERIAL_SC16IS7XX_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> CONFIG_SERIAL_SCCNXP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> CONFIG_SERIAL_SCCNXP_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> -CONFIG_SERIAL_SH_SCI policy<{'arm64': 'm', 'armhf': 'm'}> CONFIG_SERIAL_SH_SCI_DMA policy<{'arm64': 'y', 'armhf': 'y'}> CONFIG_SERIAL_SH_SCI_NR_UARTS policy<{'arm64': '2', 'armhf': '2'}> CONFIG_SERIAL_SIFIVE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> diff -u linux-intel-iotg-5.15-5.15.0/debian.master/reconstruct linux-intel-iotg-5.15-5.15.0/debian.master/reconstruct --- linux-intel-iotg-5.15-5.15.0/debian.master/reconstruct +++ linux-intel-iotg-5.15-5.15.0/debian.master/reconstruct @@ -3,6 +3,7 @@ rm -f 'Documentation/devicetree/bindings/ata/ahci-ceva.txt' rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb2-phy.yaml' rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml' +rm -f 'Documentation/networking/decnet.rst' rm -f 'arch/alpha/include/asm/bugs.h' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/Makefile' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts' @@ -10,6 +11,10 @@ rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts' rm -f 'arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi' +rm -f 'arch/arm64/boot/dts/qcom/msm8996-mtp.dtsi' rm -f 'arch/hexagon/include/asm/timer-regs.h' rm -f 'arch/parisc/include/asm/bugs.h' rm -f 'arch/powerpc/include/asm/bugs.h' @@ -19,6 +24,8 @@ rm -f 'arch/xtensa/include/asm/bugs.h' rm -f 'crypto/blake2s_generic.c' rm -f 'crypto/memneq.c' +rm -f 'drivers/acpi/fan.c' +rm -f 'drivers/block/sx8.c' rm -f 'drivers/bus/mhi/core/Makefile' rm -f 'drivers/bus/mhi/core/boot.c' rm -f 'drivers/bus/mhi/core/debugfs.c' @@ -49,10 +56,36 @@ rm -f 'fs/io_uring.c' rm -f 'include/asm-generic/bugs.h' rm -f 'include/linux/counter_enum.h' +rm -f 'include/net/dn.h' +rm -f 'include/net/dn_dev.h' +rm -f 'include/net/dn_fib.h' +rm -f 'include/net/dn_neigh.h' +rm -f 'include/net/dn_nsp.h' +rm -f 'include/net/dn_route.h' rm -f 'include/trace/events/random.h' +rm -f 'include/uapi/linux/dn.h' +rm -f 'include/uapi/linux/netfilter_decnet.h' rm -f 'kernel/futex.c' +rm -f 'net/decnet/Kconfig' +rm -f 'net/decnet/Makefile' +rm -f 'net/decnet/README' +rm -f 'net/decnet/af_decnet.c' +rm -f 'net/decnet/dn_dev.c' +rm -f 'net/decnet/dn_fib.c' +rm -f 'net/decnet/dn_neigh.c' +rm -f 'net/decnet/dn_nsp_in.c' +rm -f 'net/decnet/dn_nsp_out.c' +rm -f 'net/decnet/dn_route.c' +rm -f 'net/decnet/dn_rules.c' +rm -f 'net/decnet/dn_table.c' +rm -f 'net/decnet/dn_timer.c' +rm -f 'net/decnet/netfilter/Kconfig' +rm -f 'net/decnet/netfilter/Makefile' +rm -f 'net/decnet/netfilter/dn_rtmsg.c' +rm -f 'net/decnet/sysctl_net_decnet.c' rm -f 'net/qrtr/qrtr.c' rm -f 'net/sched/cls_tcindex.c' +rm -f 'net/xfrm/xfrm_interface.c' rm -f 'tools/build/feature/test-libpython-version.c' rm -f 'tools/perf/arch/arm64/util/machine.c' rm -f 'tools/perf/arch/powerpc/util/machine.c' diff -u linux-intel-iotg-5.15-5.15.0/debian.master/tracking-bug linux-intel-iotg-5.15-5.15.0/debian.master/tracking-bug --- linux-intel-iotg-5.15-5.15.0/debian.master/tracking-bug +++ linux-intel-iotg-5.15-5.15.0/debian.master/tracking-bug @@ -1 +1 @@ -2031132 2023.08.07-3 +2033821 2023.09.04-1 diff -u linux-intel-iotg-5.15-5.15.0/debian.master/upstream-stable linux-intel-iotg-5.15-5.15.0/debian.master/upstream-stable --- linux-intel-iotg-5.15-5.15.0/debian.master/upstream-stable +++ linux-intel-iotg-5.15-5.15.0/debian.master/upstream-stable @@ -3 +3 @@ - linux-5.15.y = v5.15.116 + linux-5.15.y = v5.15.122 diff -u linux-intel-iotg-5.15-5.15.0/debian/changelog linux-intel-iotg-5.15-5.15.0/debian/changelog --- linux-intel-iotg-5.15-5.15.0/debian/changelog +++ linux-intel-iotg-5.15-5.15.0/debian/changelog @@ -1,3 +1,1024 @@ +linux-intel-iotg-5.15 (5.15.0-1041.47~20.04.1) focal; urgency=medium + + * focal/linux-intel-iotg-5.15: 5.15.0-1041.47~20.04.1 -proposed tracker + (LP: #2036561) + + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - [Config] updateconfigs for DECNET + + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - [Config] updateconfigs for BLK_DEV_SX8 + + [ Ubuntu: 5.15.0-1041.47 ] + + * jammy/linux-intel-iotg: 5.15.0-1041.47 -proposed tracker (LP: #2033808) + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - [Config] updateconfigs for BLK_DEV_SX8 + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - [Config] updateconfigs for DECNET + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * [IOTG][RPL] Integrated TSN controller (stmmac) driver enabling + (LP: #2019222) + - stmmac: intel: Separate ADL-N and RPL-P device ID from TGL + * jammy/linux: 5.15.0-85.95 -proposed tracker (LP: #2033821) + * Please enable Renesas RZ platform serial installer (LP: #2022361) + - [Config] enable hihope RZ/G2M serial console + - [Config] Mark sh-sci as built-in + * Request backport of xen timekeeping performance improvements (LP: #2033122) + - x86/xen/time: prefer tsc as clocksource when it is invariant + * kdump doesn't work with UEFI secure boot and kernel lockdown enabled on + ARM64 (LP: #2033007) + - [Config]: Enable CONFIG_KEXEC_IMAGE_VERIFY_SIG + - kexec, KEYS: make the code in bzImage64_verify_sig generic + - arm64: kexec_file: use more system keyrings to verify kernel image signature + * ubuntu_kernel_selftests:net:vrf-xfrm-tests.sh: 8 failed test cases on + jammy/fips (LP: #2019880) + - selftests: net: vrf-xfrm-tests: change authentication and encryption algos + * ubuntu_kernel_selftests:net:tls: 88 failed test cases on jammy/fips + (LP: #2019868) + - selftests/harness: allow tests to be skipped during setup + - selftests: net: tls: check if FIPS mode is enabled + * A general-proteciton exception during guest migration to unsupported PKRU + machine (LP: #2032164) + - x86/kvm/fpu: Limit guest user_xfeatures to supported bits of XCR0 + - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES + * CVE-2023-4569 + - netfilter: nf_tables: deactivate catchall elements in next generation + * CVE-2023-20569 + - x86/cpu, kvm: Add support for CPUID_80000021_EAX + - x86/srso: Add a Speculative RAS Overflow mitigation + - x86/srso: Add IBPB_BRTYPE support + - x86/srso: Add SRSO_NO support + - x86/srso: Add IBPB + - x86/srso: Add IBPB on VMEXIT + - x86/srso: Fix return thunks in generated code + - x86/srso: Tie SBPB bit setting to microcode patch detection + - x86: fix backwards merge of GDS/SRSO bit + - x86/srso: Fix build breakage with the LLVM linker + - x86/cpu: Fix __x86_return_thunk symbol type + - x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk() + - x86/alternative: Make custom return thunk unconditional + - objtool: Add frame-pointer-specific function ignore + - x86/ibt: Add ANNOTATE_NOENDBR + - x86/cpu: Clean up SRSO return thunk mess + - x86/cpu: Rename original retbleed methods + - x86/cpu: Rename srso_(.*)_alias to srso_alias_\1 + - x86/cpu: Cleanup the untrain mess + - x86/srso: Explain the untraining sequences a bit more + - x86/static_call: Fix __static_call_fixup() + - x86/retpoline: Don't clobber RFLAGS during srso_safe_ret() + - x86/srso: Disable the mitigation on unaffected configurations + - x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG + - objtool/x86: Fixup frame-pointer vs rethunk + - x86/srso: Correct the mitigation status when SMT is disabled + - objtool/x86: Fix SRSO mess + - Ubuntu: [Config]: enable Speculative Return Stack Overflow mitigation + * Fix unreliable ethernet cable detection on I219 NIC (LP: #2028122) + - e1000e: Use PME poll to circumvent unreliable ACPI wake + * Need to get fine-grained control for FAN(TFN) Participant. (LP: #2031333) + - ACPI: fan: Separate file for attributes creation + - ACPI: fan: Optimize struct acpi_fan_fif + - ACPI: fan: Properly handle fine grain control + - ACPI: fan: Add additional attributes for fine grain control + * [SRU][Ubuntu 22.04.1] Unable to interpret the frequency values in + cpuinfo_min_freq and cpuino_max_freq sysfs files. (LP: #2030924) + - cpufreq: intel_pstate: Fix scaling for hybrid-capable + * CVE-2023-40283 + - Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb + * CVE-2023-20588 + - x86/bugs: Increase the x86 bugs vector size to two u32s + - x86/CPU/AMD: Do not leak quotient data after a division by 0 + - x86/CPU/AMD: Fix the DIV(0) initial fix attempt + * CVE-2023-4194 + - net: tun_chr_open(): set sk_uid from current_fsuid() + - net: tap_open(): set sk_uid from current_fsuid() + * CVE-2023-4155 + - KVM: SEV: Refactor out sev_es_state struct + - KVM: SEV: Fall back to vmalloc for SEV-ES scratch area if necessary + - KVM: SVM: Do not terminate SEV-ES guests on GHCB validation failure + - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors + - KVM: SEV: snapshot the GHCB before accessing it + - KVM: SEV: only access GHCB fields once + * CVE-2023-1206 + - tcp: Reduce chance of collisions in inet6_hashfn(). + * Crashing with CPU soft lock on GA kernel 5.15.0.79.76 and HWE kernel + 5.19.0-46.47-22.04.1 (LP: #2032176) + - Revert "KVM: x86: enable TDP MMU by default" + * Jammy update: v5.15.122 upstream stable release (LP: #2032690) + - Linux 5.15.122 + - Upstream stable to v5.15.122 + * Jammy update: v5.15.121 upstream stable release (LP: #2032689) + - netfilter: nf_tables: drop map element references from preparation phase + - fs: pipe: reveal missing function protoypes + - x86/resctrl: Only show tasks' pid in current pid namespace + - blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost + - md/raid10: check slab-out-of-bounds in md_bitmap_get_counter + - md/raid10: fix overflow of md/safe_mode_delay + - md/raid10: fix wrong setting of max_corr_read_errors + - md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request + - md/raid10: fix io loss while replacement replace rdev + - irqchip/jcore-aic: Fix missing allocation of IRQ descriptors + - svcrdma: Prevent page release when nothing was received + - posix-timers: Prevent RT livelock in itimer_delete() + - tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode(). + - clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe + - PM: domains: fix integer overflow issues in genpd_parse_state() + - perf/arm-cmn: Fix DTC reset + - powercap: RAPL: Fix CONFIG_IOSF_MBI dependency + - ARM: 9303/1: kprobes: avoid missing-declaration warnings + - cpufreq: intel_pstate: Fix energy_performance_preference for passive + - thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe() + - rcutorture: Correct name of use_softirq module parameter + - rcuscale: Always log error message + - rcuscale: Move shutdown from wait_event() to wait_event_idle() + - rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup() + - rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale + - kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME + is undefined + - perf/ibs: Fix interface via core pmu events + - x86/mm: Fix __swp_entry_to_pte() for Xen PV guests + - locking/atomic: arm: fix sync ops + - evm: Complete description of evm_inode_setattr() + - evm: Fix build warnings + - ima: Fix build warnings + - pstore/ram: Add check for kstrdup + - igc: Enable and fix RX hash usage by netstack + - wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation + - wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx + - libbpf: btf_dump_type_data_check_overflow needs to consider + BTF_MEMBER_BITFIELD_SIZE + - samples/bpf: Fix buffer overflow in tcp_basertt + - spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG + - wifi: wilc1000: fix for absent RSN capabilities WFA testcase + - wifi: mwifiex: Fix the size of a memory allocation in + mwifiex_ret_802_11_scan() + - sctp: add bpf_bypass_getsockopt proto callback + - libbpf: fix offsetof() and container_of() to work with CO-RE + - bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen + - spi: dw: Round of n_bytes to power of 2 + - nfc: llcp: fix possible use of uninitialized variable in + nfc_llcp_send_connect() + - bpftool: JIT limited misreported as negative value on aarch64 + - regulator: core: Fix more error checking for debugfs_create_dir() + - regulator: core: Streamline debugfs operations + - wifi: orinoco: Fix an error handling path in spectrum_cs_probe() + - wifi: orinoco: Fix an error handling path in orinoco_cs_probe() + - wifi: atmel: Fix an error handling path in atmel_probe() + - wl3501_cs: use eth_hw_addr_set() + - wifi: wl3501_cs: Fix an error handling path in wl3501_probe() + - wifi: ray_cs: Utilize strnlen() in parse_addr() + - wifi: ray_cs: Drop useless status variable in parse_addr() + - wifi: ray_cs: Fix an error handling path in ray_probe() + - wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes + - selftests/bpf: Fix check_mtu using wrong variable type + - wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled + - wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown + - watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct + config + - watchdog/perf: more properly prevent false positives with turbo modes + - kexec: fix a memory leak in crash_shrink_memory() + - memstick r592: make memstick_debug_get_tpc_name() static + - wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key() + - rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO + - wifi: iwlwifi: pull from TXQs with softirqs disabled + - iwlwifi: don't dump_stack() when we get an unexpected interrupt + - wifi: iwlwifi: pcie: fix NULL pointer dereference in + iwl_pcie_irq_rx_msix_handler() + - wifi: cfg80211: rewrite merging of inherited elements + - wifi: iwlwifi: mvm: indicate HW decrypt for beacon protection + - wifi: ath9k: convert msecs to jiffies where needed + - bpf: Omit superfluous address family check in __bpf_skc_lookup + - bpf: Factor out socket lookup functions for the TC hookpoint. + - bpf: Call __bpf_sk_lookup()/__bpf_skc_lookup() directly via TC hookpoint + - bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings + - can: length: fix bitstuffing count + - igc: Fix race condition in PTP tx code + - net: stmmac: fix double serdes powerdown + - netlink: fix potential deadlock in netlink_set_err() + - netlink: do not hard code device address lenth in fdb dumps + - bonding: do not assume skb mac_header is set + - selftests: rtnetlink: remove netdevsim device after ipsec offload test + - gtp: Fix use-after-free in __gtp_encap_destroy(). + - net: axienet: Move reset before 64-bit DMA detection + - sfc: fix crash when reading stats while NIC is resetting + - lib/ts_bm: reset initial match offset for every block of text + - netfilter: conntrack: dccp: copy entire header to stack buffer, not just + basic one + - netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return + value. + - ipvlan: Fix return value of ipvlan_queue_xmit() + - netlink: Add __sock_i_ino() for __netlink_diag_dump(). + - drm/amd/display: Add logging for display MALL refresh setting + - radeon: avoid double free in ci_dpm_init() + - drm/amd/display: Explicitly specify update type per plane info change + - Input: drv260x - sleep between polling GO bit + - drm/bridge: tc358768: always enable HS video mode + - drm/bridge: tc358768: fix PLL parameters computation + - drm/bridge: tc358768: fix PLL target frequency + - drm/bridge: tc358768: fix TCLK_ZEROCNT computation + - drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation + - drm/bridge: tc358768: fix TCLK_TRAILCNT computation + - drm/bridge: tc358768: fix THS_ZEROCNT computation + - drm/bridge: tc358768: fix TXTAGOCNT computation + - drm/bridge: tc358768: fix THS_TRAILCNT computation + - drm/vram-helper: fix function names in vram helper doc + - ARM: dts: BCM5301X: Drop "clock-names" from the SPI node + - ARM: dts: meson8b: correct uart_B and uart_C clock references + - Input: adxl34x - do not hardcode interrupt trigger type + - drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks` + - drm/panel: sharp-ls043t1le01: adjust mode settings + - ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards + - bus: ti-sysc: Fix dispc quirk masking bool variables + - arm64: dts: microchip: sparx5: do not use PSCI on reference boards + - clk: imx: scu: use _safe list iterator to avoid a use after free + - RDMA/bnxt_re: Disable/kill tasklet only if it is enabled + - RDMA/bnxt_re: Fix to remove unnecessary return labels + - RDMA/bnxt_re: Use unique names while registering interrupts + - RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid + - RDMA/bnxt_re: Fix to remove an unnecessary log + - drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rate + - drm/msm/disp/dpu: get timing engine status from intf status register + - drm/msm/dpu: Set DPU_DATA_HCTL_EN for in INTF_SC7180_MASK + - ARM: dts: gta04: Move model property out of pinctrl node + - arm64: dts: qcom: msm8916: correct camss unit address + - arm64: dts: qcom: msm8994: correct SPMI unit address + - arm64: dts: qcom: msm8996: correct camss unit address + - arm64: dts: qcom: sdm630: correct camss unit address + - arm64: dts: qcom: sdm845: correct camss unit address + - arm64: dts: qcom: db820c: Move blsp1_uart2 pin states to msm8996.dtsi + - arm64: dts: qcom: apq8016-sbc: Update modem and WiFi firmware path + - arm64: dts: qcom: apq8016-sbc: Clarify firmware-names + - arm64: dts: qcom: apq8016-sbc: fix mpps state names + - arm64: dts: qcom: Drop unneeded extra device-specific includes + - arm64: dts: qcom: apq8016-sbc: Fix regulator constraints + - arm64: dts: qcom: apq8016-sbc: Fix 1.8V power rail on LS expansion + - drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H + - ARM: ep93xx: fix missing-prototype warnings + - ARM: omap2: fix missing tick_broadcast() prototype + - arm64: dts: qcom: apq8096: fix fixed regulator name property + - arm64: dts: mediatek: mt8183: Add mediatek,broken-save-restore-fw to kukui + - ARM: dts: stm32: Shorten the AV96 HDMI sound card name + - memory: brcmstb_dpfe: fix testing array offset after use + - ASoC: es8316: Increment max value for ALC Capture Target Volume control + - ASoC: es8316: Do not set rate constraints for unsupported MCLKs + - ARM: dts: meson8: correct uart_B and uart_C clock references + - soc/fsl/qe: fix usb.c build errors + - RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes + - IB/hfi1: Use bitmap_zalloc() when applicable + - IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate + - RDMA/hns: Fix hns_roce_table_get return value + - ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier + - arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1 + - fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe() + - arm64: dts: ti: k3-j7200: Fix physical address of pin + - ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2 + - ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx + - hwmon: (gsc-hwmon) fix fan pwm temperature scaling + - hwmon: (adm1275) Allow setting sample averaging + - hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272 + - ARM: dts: BCM5301X: fix duplex-full => full-duplex + - drm/amdkfd: Fix potential deallocation of previously deallocated memory. + - drm/amd/display: Fix artifacting on eDP panels when engaging freesync video + mode + - drm/radeon: fix possible division-by-zero errors + - amdgpu: validate offset_in_bo of drm_amdgpu_gem_va + - drm/msm/a5xx: really check for A510 in a5xx_gpu_init + - RDMA/bnxt_re: wraparound mbox producer index + - RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context + - clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe + - clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe() + - arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k + - clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider() + - clk: tegra: tegra124-emc: Fix potential memory leak + - ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer + - drm/msm/dpu: do not enable color-management if DSPPs are not available + - drm/msm/dp: Free resources after unregistering them + - arm64: dts: mediatek: Add cpufreq nodes for MT8192 + - arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz + - drm/msm/dpu: correct MERGE_3D length + - clk: vc5: check memory returned by kasprintf() + - clk: cdce925: check return value of kasprintf() + - clk: si5341: return error if one synth clock registration fails + - clk: si5341: check return value of {devm_}kasprintf() + - clk: si5341: free unused memory on probe failure + - clk: keystone: sci-clk: check return value of kasprintf() + - clk: ti: clkctrl: check return value of kasprintf() + - drivers: meson: secure-pwrc: always enable DMA domain + - ovl: update of dentry revalidate flags after copy up + - ASoC: imx-audmix: check return value of devm_kasprintf() + - clk: Fix memory leak in devm_clk_notifier_register() + - PCI: cadence: Fix Gen2 Link Retraining process + - PCI: vmd: Reset VMD config register between soft reboots + - scsi: qedf: Fix NULL dereference in error handling + - pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors + - PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free + - scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe() + - PCI: pciehp: Cancel bringup sequence if card is not present + - PCI: ftpci100: Release the clock resources + - PCI: Add pci_clear_master() stub for non-CONFIG_PCI + - perf bench: Use unbuffered output when pipe/tee'ing to a file + - perf bench: Add missing setlocale() call to allow usage of %'d style + formatting + - pinctrl: cherryview: Return correct value if pin in push-pull mode + - kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures + - powerpc/interrupt: Don't read MSR from interrupt_exit_kernel_prepare() + - powerpc/signal32: Force inlining of __unsafe_save_user_regs() and + save_tm_user_regs_unsafe() + - perf script: Fix allocation of evsel->priv related to per-event dump files + - perf dwarf-aux: Fix off-by-one in die_get_varname() + - powerpc/64s: Fix VAS mm use after free + - pinctrl: microchip-sgpio: check return value of devm_kasprintf() + - pinctrl: at91-pio4: check return value of devm_kasprintf() + - powerpc/powernv/sriov: perform null check on iov before dereferencing iov + - powerpc: simplify ppc_save_regs + - powerpc: update ppc_save_regs to save current r1 in pt_regs + - riscv: uprobes: Restore thread.bad_cause + - powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo + - powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross- + boundary + - hwrng: virtio - add an internal buffer + - hwrng: virtio - don't wait on cleanup + - hwrng: virtio - don't waste entropy + - hwrng: virtio - always add a pending request + - hwrng: virtio - Fix race on data_avail and actual data + - modpost: remove broken calculation of exception_table_entry size + - crypto: nx - fix build warnings when DEBUG_FS is not enabled + - modpost: fix section mismatch message for R_ARM_ABS32 + - modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24} + - crypto: marvell/cesa - Fix type mismatch warning + - modpost: fix off by one in is_executable_section() + - ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard + - crypto: qat - honor CRYPTO_TFM_REQ_MAY_SLEEP flag + - crypto: qat - replace get_current_node() with numa_node_id() + - crypto: qat - use reference to structure in dma_map_single() + - crypto: kpp - Add helper to set reqsize + - crypto: qat - Use helper to set reqsize + - crypto: qat - unmap buffer before free for DH + - crypto: qat - unmap buffers before free for RSA + - NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION + - SMB3: Do not send lease break acknowledgment if all file handles have been + closed + - dax: Fix dax_mapping_release() use after free + - dax: Introduce alloc_dev_dax_id() + - dax/kmem: Pass valid argument to memory_group_register_static + - hwrng: st - keep clock enabled while hwrng is registered + - kbuild: Disable GCOV for *.mod.o + - efi/libstub: Disable PCI DMA before grabbing the EFI memory map + - ksmbd: avoid field overflow warning + - ACPI: utils: Fix acpi_evaluate_dsm_typed() redefinition error + - bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page + - USB: serial: option: add LARA-R6 01B PIDs + - usb: dwc3: gadget: Propagate core init errors to UDC during pullup + - phy: tegra: xusb: Clear the driver reference in usb-phy dev + - iio: adc: ad7192: Fix null ad7192_state pointer access + - iio: adc: ad7192: Fix internal/external clock selection + - iio: accel: fxls8962af: errata bug only applicable for FXLS8962AF + - iio: accel: fxls8962af: fixup buffer scan element type + - ALSA: hda/realtek: Add quirk for Clevo NPx0SNx + - ALSA: jack: Fix mutex call in snd_jack_report() + - block: fix signed int overflow in Amiga partition support + - block: add overflow checks for Amiga partition support + - block: change all __u32 annotations to __be32 in affs_hardblocks.h + - block: increment diskseq on all media change events + - SUNRPC: Fix UAF in svc_tcp_listen_data_ready() + - w1: w1_therm: fix locking behavior in convert_t + - w1: fix loop in w1_fini() + - sh: j2: Use ioremap() to translate device tree address into kernel memory + - usb: dwc2: platform: Improve error reporting for problems during .remove() + - usb: dwc2: Fix some error handling paths + - serial: 8250: omap: Fix freeing of resources on failed register + - clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs + - clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks + - media: usb: Check az6007_read() return value + - media: videodev2.h: Fix struct v4l2_input tuner index comment + - media: usb: siano: Fix warning due to null work_func_t function pointer + - media: i2c: Correct format propagation for st-mipid02 + - clk: qcom: reset: Allow specifying custom reset delay + - clk: qcom: reset: support resetting multiple bits + - clk: qcom: ipq6018: fix networking resets + - usb: dwc3: qcom: Fix potential memory leak + - usb: gadget: u_serial: Add null pointer check in gserial_suspend + - extcon: Fix kernel doc of property fields to avoid warnings + - extcon: Fix kernel doc of property capability fields to avoid warnings + - usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe() + - usb: hide unused usbfs_notify_suspend/resume functions + - serial: 8250: lock port for stop_rx() in omap8250_irq() + - serial: 8250: lock port for UART_IER access in omap8250_irq() + - kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR + - coresight: Fix loss of connection info when a module is unloaded + - mfd: rt5033: Drop rt5033-battery sub-device + - media: venus: helpers: Fix ALIGN() of non power of two + - media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var() + - KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes + - usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove() + - usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe() + - usb: common: usb-conn-gpio: Set last role to unknown before initial + detection + - usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe() + - mfd: intel-lpss: Add missing check for platform_get_resource + - Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial + detection" + - serial: 8250_omap: Use force_suspend and resume for system suspend + - test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation + - nvmem: rmem: Use NVMEM_DEVID_AUTO + - mfd: stmfx: Fix error path in stmfx_chip_init + - mfd: stmfx: Nullify stmfx->vdd in case of error + - KVM: s390: vsie: fix the length of APCB bitmap + - KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler + - mfd: stmpe: Only disable the regulators if they are enabled + - phy: tegra: xusb: check return value of devm_kzalloc() + - pwm: imx-tpm: force 'real_period' to be zero in suspend + - pwm: sysfs: Do not apply state to already disabled PWMs + - pwm: ab8500: Fix error code in probe() + - pwm: mtk_disp: Fix the disable flow of disp_pwm + - md/raid10: fix the condition to call bio_end_io_acct() + - rtc: st-lpc: Release some resources in st_rtc_probe() in case of error + - drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times + - media: cec: i2c: ch7322: also select REGMAP + - sctp: fix potential deadlock on &net->sctp.addr_wq_lock + - net/sched: act_ipt: add sanity checks on table name and hook locations + - Add MODULE_FIRMWARE() for FIRMWARE_TG357766. + - ibmvnic: Do not reset dql stats on NON_FATAL err + - net: dsa: vsc73xx: fix MTU configuration + - spi: bcm-qspi: return error if neither hif_mspi nor mspi is available + - mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 + - f2fs: fix error path handling in truncate_dnode() + - octeontx2-af: Fix mapping for NIX block from CGX connection + - octeontx2-af: Add validation before accessing cgx and lmac + - ntfs: Fix panic about slab-out-of-bounds caused by ntfs_listxattr() + - powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y + - net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode + - tcp: annotate data races in __tcp_oow_rate_limited() + - xsk: Honor SO_BINDTODEVICE on bind + - net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX + - riscv: move memblock_allow_resize() after linear mapping is ready + - pptp: Fix fib lookup calls. + - net: dsa: tag_sja1105: fix MAC DA patching from meta frames + - octeontx-af: fix hardware timestamp configuration + - s390/qeth: Fix vipa deletion + - sh: dma: Fix DMA channel offset calculation + - apparmor: fix missing error check for rhashtable_insert_fast + - i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process() + - i2c: xiic: Don't try to handle more interrupt events after error + - extcon: usbc-tusb320: Convert to i2c's .probe_new() + - btrfs: do not BUG_ON() on tree mod log failure at balance_level() + - i2c: qup: Add missing unwind goto in qup_i2c_probe() + - NFSD: add encoding of op_recall flag for write delegation + - io_uring: wait interruptibly for request completions on exit + - mmc: core: disable TRIM on Kingston EMMC04G-M627 + - mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M + - mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS + - mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is + used. + - bcache: fixup btree_cache_wait list damage + - bcache: Remove unnecessary NULL point check in node allocations + - bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent + - um: Use HOST_DIR for mrproper + - integrity: Fix possible multiple allocation in integrity_inode_get() + - autofs: use flexible array in ioctl structure + - shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs + - ext4: Remove ext4 locking of moved directory + - Revert "f2fs: fix potential corruption when moving a directory" + - fs: Establish locking order for unrelated directories + - fs: Lock moved directories + - ipvs: increase ip_vs_conn_tab_bits range for 64BIT + - jffs2: reduce stack usage in jffs2_build_xattr_subsystem() + - fs: avoid empty option when generating legacy mount string + - btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile + - btrfs: delete unused BGs while reclaiming BGs + - btrfs: bail out reclaim process if filesystem is read-only + - btrfs: reinsert BGs failed to reclaim + - btrfs: fix race when deleting quota root from the dirty cow roots list + - btrfs: fix extent buffer leak after tree mod log failure at split_node() + - btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block() + - ASoC: mediatek: mt8173: Fix irq error path + - ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path + - ARM: dts: qcom: ipq4019: fix broken NAND controller properties override + - ARM: orion5x: fix d2net gpio initialization + - leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename + - fs: no need to check source + - ovl: fix null pointer dereference in ovl_get_acl_rcu() + - fanotify: disallow mount/sb marks on kernel internal pseudo fs + - netfilter: conntrack: Avoid nf_ct_helper_hash uses after free + - wireguard: queueing: use saner cpu selection wrapping + - wireguard: netlink: send staged packets when setting initial private key + - tty: serial: fsl_lpuart: add earlycon for imx8ulp platform + - block/partition: fix signedness issue for Amiga partitions + - io_uring: Use io_schedule* in cqring wait + - io_uring: add reschedule point to handle_tw_list() + - net: lan743x: Don't sleep in atomic context + - workqueue: clean up WORK_* constant types, clarify masking + - ksmbd: use ksmbd_req_buf_next() in ksmbd_smb2_check_message() + - ksmbd: validate command payload size + - ksmbd: fix out-of-bound read in smb2_write + - ksmbd: validate session id and tree id in the compound request + - drm/panel: simple: Add connector_type for innolux_at043tn24 + - drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime + - drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags + - igc: Remove delay during TX ring configuration + - net/mlx5e: fix double free in mlx5e_destroy_flow_table + - net/mlx5e: fix memory leak in mlx5e_ptp_open + - net/mlx5e: Check for NOT_READY flag state after locking + - igc: set TP bit in 'supported' and 'advertising' fields of + ethtool_link_ksettings + - igc: Handle PPS start time programming for past time values + - scsi: qla2xxx: Fix error code in qla2x00_start_sp() + - bpf: Fix max stack depth check for async callbacks + - net: mvneta: fix txq_map in case of txq_number==1 + - gve: Set default duplex configuration to full + - ionic: remove WARN_ON to prevent panic_on_warn + - net: bgmac: postpone turning IRQs off to avoid SoC hangs + - net: prevent skb corruption on frag list segmentation + - icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev(). + - udp6: fix udp6_ehashfn() typo + - ntb: idt: Fix error handling in idt_pci_driver_init() + - NTB: amd: Fix error handling in amd_ntb_pci_driver_init() + - ntb: intel: Fix error handling in intel_ntb_pci_driver_init() + - NTB: ntb_transport: fix possible memory leak while device_register() fails + - NTB: ntb_tool: Add check for devm_kcalloc + - ipv6/addrconf: fix a potential refcount underflow for idev + - platform/x86: wmi: remove unnecessary argument + - platform/x86: wmi: use guid_t and guid_equal() + - platform/x86: wmi: move variables + - platform/x86: wmi: Break possible infinite loop when parsing GUID + - kernel/trace: Fix cleanup logic of enable_trace_eprobe + - igc: Fix launchtime before start of cycle + - igc: Fix inserting of empty frame for launchtime + - bpf, riscv: Support riscv jit to provide bpf_line_info + - riscv, bpf: Fix inconsistent JIT image generation + - drm/i915: Fix one wrong caching mode enum usage + - octeontx2-pf: Add additional check for MCAM rules + - erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF + - erofs: decouple basic mount options from fs_context + - erofs: fix fsdax unavailability for chunk-based regular files + - wifi: airo: avoid uninitialized warning in airo_get_rate() + - bpf: cpumap: Fix memory leak in cpu_map_update_elem + - net/sched: flower: Ensure both minimum and maximum ports are specified + - riscv: mm: fix truncation warning on RV32 + - netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() + - net/sched: make psched_mtu() RTNL-less safe + - nvme-pci: remove nvme_queue from nvme_iod + - nvme-pci: fix DMA direction of unmapping integrity data + - pinctrl: amd: Fix mistake in handling clearing pins at startup + - pinctrl: amd: Detect internal GPIO0 debounce handling + - pinctrl: amd: Detect and mask spurious interrupts + - pinctrl: amd: Only use special debounce behavior for GPIO 0 + - tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation + - mtd: rawnand: meson: fix unaligned DMA buffers handling + - net: bcmgenet: Ensure MDIO unregistration has clocks enabled + - mm/damon/ops-common: atomically test and clear young on ptes and pmds + - powerpc: Fail build if using recordmcount with binutils v2.37 + - misc: fastrpc: Create fastrpc scalar with correct buffer count + - powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 + - arm64: errata: Add detection for TRBE overwrite in FILL mode + - erofs: fix compact 4B support for 16k block size + - MIPS: Loongson: Fix cpu_probe_loongson() again + - MIPS: KVM: Fix NULL pointer dereference + - ext4: Fix reusing stale buffer heads from last failed mounting + - ext4: fix wrong unit use in ext4_mb_clear_bb + - ext4: get block from bh in ext4_free_blocks for fast commit replay + - ext4: fix wrong unit use in ext4_mb_new_blocks + - ext4: fix to check return value of freeze_bdev() in ext4_shutdown() + - ext4: turn quotas off if mount failed after enabling quotas + - ext4: only update i_reserved_data_blocks on successful block allocation + - jfs: jfs_dmap: Validate db_l2nbperpage while mounting + - hwrng: imx-rngc - fix the timeout for init and self check + - dm integrity: reduce vmalloc space footprint on 32-bit architectures + - PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9235 + - PCI: qcom: Disable write access to read only registers for IP v2.3.3 + - PCI: rockchip: Assert PCI Configuration Enable bit after probe + - PCI: rockchip: Write PCI Device ID to correct register + - PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked + - PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core + - PCI: rockchip: Use u32 variable to access 32-bit registers + - PCI: rockchip: Set address alignment for endpoint mode + - misc: pci_endpoint_test: Free IRQs before removing the device + - misc: pci_endpoint_test: Re-init completion for every test + - mfd: pm8008: Fix module autoloading + - md/raid0: add discard support for the 'original' layout + - dm init: add dm-mod.waitfor to wait for asynchronously probed block devices + - fs: dlm: return positive pid value for F_GETLK + - drm/atomic: Allow vblank-enabled + self-refresh "disable" + - drm/rockchip: vop: Leave vblank enabled in self-refresh + - drm/amdgpu: fix clearing mappings for BOs that are always valid in VM + - drm/amd/display: Correct `DMUB_FW_VERSION` macro + - drm/amdgpu: avoid restore process run into dead loop. + - drm/ttm: Don't leak a resource on swapout move error + - serial: atmel: don't enable IRQs prematurely + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in + case of error + - tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when + iterating clk + - tty: serial: imx: fix rs485 rx after tx + - firmware: stratix10-svc: Fix a potential resource leak in + svc_create_memory_pool() + - libceph: harden msgr2.1 frame segment length checks + - ceph: don't let check_caps skip sending responses for revoke msgs + - xhci: Fix resume issue of some ZHAOXIN hosts + - xhci: Fix TRB prefetch issue of ZHAOXIN hosts + - xhci: Show ZHAOXIN xHCI root hub speed correctly + - meson saradc: fix clock divider mask length + - opp: Fix use-after-free in lazy_opp_tables after probe deferral + - soundwire: qcom: fix storing port config out-of-bounds + - Revert "8250: add support for ASIX devices with a FIFO bug" + - bus: ixp4xx: fix IXP4XX_EXP_T1_MASK + - s390/decompressor: fix misaligned symbol build error + - tracing/histograms: Add histograms to hist_vars if they have referenced + variables + - tracing: Fix memory leak of iter->temp when reading trace_pipe + - samples: ftrace: Save required argument registers in sample trampolines + - net: ena: fix shift-out-of-bounds in exponential backoff + - ring-buffer: Fix deadloop issue on reading trace_pipe + - ftrace: Fix possible warning on checking all pages used in + ftrace_process_locs() + - xtensa: ISS: fix call to split_if_spec + - tracing: Fix null pointer dereference in tracing_err_log_open() + - selftests: mptcp: sockopt: return error if wrong mark + - selftests: mptcp: depend on SYN_COOKIES + - tracing/probes: Fix not to count error code to total length + - tracing/probes: Fix to update dynamic data counter if fetcharg uses it + - scsi: qla2xxx: Wait for io return on terminate rport + - scsi: qla2xxx: Array index may go out of bound + - scsi: qla2xxx: Avoid fcport pointer dereference + - scsi: qla2xxx: Fix buffer overrun + - scsi: qla2xxx: Fix potential NULL pointer dereference + - scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport() + - scsi: qla2xxx: Correct the index of array + - scsi: qla2xxx: Pointer may be dereferenced + - scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue + - MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled + - net/sched: sch_qfq: reintroduce lmax bound check for MTU + - drm/atomic: Fix potential use-after-free in nonblocking commits + - Linux 5.15.121 + * Jammy update: v5.15.120 upstream stable release (LP: #2032688) + - mptcp: fix possible divide by zero in recvmsg() + - mptcp: consolidate fallback and non fallback state machine + - mm, hwpoison: try to recover from copy-on write faults + - mm, hwpoison: when copy-on-write hits poison, take page offline + - drm/amdgpu: Set vmbo destroy after pt bo is created + - x86/microcode/AMD: Load late on both threads too + - x86/smp: Use dedicated cache-line for mwait_play_dead() + - can: isotp: isotp_sendmsg(): fix return error fix on TX path + - bpf: ensure main program has an extable + - HID: wacom: Use ktime_t rather than int when dealing with timestamps + - HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651. + - Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak + in mtk_thermal_probe" + - perf symbols: Symbol lookup with kcore can fail if multiple segments match + stext + - scripts/tags.sh: Resolve gtags empty index generation + - drm/amdgpu: Validate VM ioctl flags. + - parisc: Delete redundant register definitions in + - nubus: Partially revert proc_create_single_data() conversion + - Linux 5.15.120 + * Jammy update: v5.15.119 upstream stable release (LP: #2032683) + - drm/amd/display: fix the system hang while disable PSR + - tracing: Add tracing_reset_all_online_cpus_unlocked() function + - tpm, tpm_tis: Claim locality in interrupt handler + - drm/amd/display: Add minimal pipe split transition state + - drm/amd/display: Use dc_update_planes_and_stream + - drm/amd/display: Add wrapper to call planes and stream update + - tick/common: Align tick period during sched_timer setup + - selftests: mptcp: lib: skip if missing symbol + - selftests: mptcp: lib: skip if not below kernel version + - selftests/mount_setattr: fix redefine struct mount_attr build error + - selftests: mptcp: pm nl: remove hardcoded default limits + - selftests: mptcp: join: use 'iptables-legacy' if available + - selftests: mptcp: join: skip check if MIB counter not supported + - nilfs2: fix buffer corruption due to concurrent device reads + - ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() + - KVM: Avoid illegal stage2 mapping on invalid memory slot + - Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails + - Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs + - PCI: hv: Fix a race condition bug in hv_pci_query_relations() + - Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally" + - PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev + - PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic + - PCI: hv: Add a per-bus mutex state_lock + - cgroup: Do not corrupt task iteration when rebinding subsystem + - mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916 + - mmc: meson-gx: remove redundant mmc_request_done() call from irq context + - mmc: mmci: stm32: fix max busy timeout calculation + - ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN + - regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK + - regmap: spi-avmm: Fix regmap_bus max_raw_write + - writeback: fix dereferencing NULL mapping->host on writeback_page_template + - io_uring/net: save msghdr->msg_control for retries + - io_uring/net: clear msg_controllen on partial sendmsg retry + - io_uring/net: disable partial retries for recvmsg with cmsg + - nilfs2: prevent general protection fault in nilfs_clear_dirty_page() + - x86/mm: Avoid using set_pgd() outside of real PGD pages + - memfd: check for non-NULL file_seals in memfd_create() syscall + - mmc: meson-gx: fix deferred probing + - ieee802154: hwsim: Fix possible memory leaks + - xfrm: Treat already-verified secpath entries as optional + - xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c + - xfrm: Ensure policies always checked on XFRM-I input path + - bpf: track immediate values written to stack by BPF_ST instruction + - bpf: Fix verifier id tracking of scalars on spill + - xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets + - selftests: net: fcnal-test: check if FIPS mode is enabled + - xfrm: Linearize the skb after offloading if needed. + - net: qca_spi: Avoid high load if QCA7000 is not available + - mmc: mtk-sd: fix deferred probing + - mmc: mvsdio: fix deferred probing + - mmc: omap: fix deferred probing + - mmc: omap_hsmmc: fix deferred probing + - mmc: owl: fix deferred probing + - mmc: sdhci-acpi: fix deferred probing + - mmc: sh_mmcif: fix deferred probing + - mmc: usdhi60rol0: fix deferred probing + - ipvs: align inner_mac_header for encapsulation + - net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch + - net: dsa: mt7530: fix handling of BPDUs on MT7530 switch + - be2net: Extend xmit workaround to BE3 chip + - netfilter: nft_set_pipapo: .walk does not deal with generations + - netfilter: nf_tables: disallow element updates of bound anonymous sets + - netfilter: nf_tables: reject unbound anonymous set before commit phase + - netfilter: nf_tables: reject unbound chain set before commit phase + - netfilter: nf_tables: disallow updates of anonymous sets + - netfilter: nfnetlink_osf: fix module autoload + - Revert "net: phy: dp83867: perform soft reset and retain established link" + - bpf/btf: Accept function names that contain dots + - selftests: forwarding: Fix race condition in mirror installation + - sch_netem: acquire qdisc lock in netem_change() + - gpio: Allow per-parent interrupt data + - gpiolib: Fix GPIO chip IRQ initialization restriction + - gpio: sifive: add missing check for platform_get_irq + - scsi: target: iscsi: Prevent login threads from racing between each other + - HID: wacom: Add error check to wacom_parse_and_register() + - arm64: Add missing Set/Way CMO encodings + - media: cec: core: don't set last_initiator if tx in progress + - nfcsim.c: Fix error checking for debugfs_create_dir + - usb: gadget: udc: fix NULL dereference in remove() + - nvme: double KA polling frequency to avoid KATO with TBKAS on + - Input: soc_button_array - add invalid acpi_index DMI quirk handling + - s390/cio: unregister device when the only path is gone + - spi: lpspi: disable lpspi module irq in DMA mode + - ASoC: simple-card: Add missing of_node_put() in case of error + - soundwire: dmi-quirks: add new mapping for HP Spectre x360 + - ASoC: nau8824: Add quirk to active-high jack-detect + - s390/purgatory: disable branch profiling + - ARM: dts: Fix erroneous ADS touchscreen polarities + - drm/exynos: vidi: fix a wrong error return + - drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl + - drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl + - vhost_net: revert upend_idx only on retriable error + - x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys + - i2c: imx-lpi2c: fix type char overflow issue when calculating the clock + cycle + - act_mirred: remove unneded merge conflict markers + - Linux 5.15.119 + * Jammy update: v5.15.118 upstream stable release (LP: #2030239) + - test_firmware: Use kstrtobool() instead of strtobool() + - test_firmware: prevent race conditions by a correct implementation of + locking + - test_firmware: fix a memory leak with reqs buffer + - ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate + - drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram + - of: overlay: rename variables to be consistent + - of: overlay: rework overlay apply and remove kfree()s + - of: overlay: Fix missing of_node_put() in error case of + init_overlay_changeset() + - power: supply: ab8500: Fix external_power_changed race + - power: supply: sc27xx: Fix external_power_changed race + - power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + + schedule() + - ARM: dts: vexpress: add missing cache properties + - tools: gpio: fix debounce_period_us output of lsgpio + - power: supply: Ratelimit no data debug output + - platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0 + - regulator: Fix error checking for debugfs_create_dir + - irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues + - power: supply: Fix logic checking if system is running from battery + - btrfs: scrub: try harder to mark RAID56 block groups read-only + - btrfs: handle memory allocation failure in btrfs_csum_one_bio + - ASoC: soc-pcm: test if a BE can be prepared + - parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu() + - parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory() + - MIPS: unhide PATA_PLATFORM + - MIPS: Alchemy: fix dbdma2 + - mips: Move initrd_start check after initrd address sanitisation. + - ASoC: dwc: move DMA init to snd_soc_dai_driver probe() + - xen/blkfront: Only check REQ_FUA for writes + - drm:amd:amdgpu: Fix missing buffer object unlock in failure path + - NVMe: Add MAXIO 1602 to bogus nid list. + - irqchip/gic: Correctly validate OF quirk descriptors + - wifi: cfg80211: fix locking in regulatory disconnect + - wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid() + - epoll: ep_autoremove_wake_function should use list_del_init_careful + - ocfs2: fix use-after-free when unmounting read-only filesystem + - ocfs2: check new file size on fallocate call + - nios2: dts: Fix tse_mac "max-frame-size" property + - nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key() + - nilfs2: fix possible out-of-bounds segment allocation in resize ioctl + - kexec: support purgatories with .text.hot sections + - x86/purgatory: remove PGO flags + - powerpc/purgatory: remove PGO flags + - ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD + playback + - dm thin metadata: check fail_io before using data_sm + - nouveau: fix client work fence deletion race + - RDMA/uverbs: Restrict usage of privileged QKEYs + - net: usb: qmi_wwan: add support for Compal RXM-G1 + - drm/amdgpu: add missing radeon secondary PCI ID + - ALSA: hda/realtek: Add a quirk for Compaq N14JP6 + - Remove DECnet support from kernel + - [Config] updateconfigs for DECNET + - thunderbolt: dma_test: Use correct value for absent rings when creating + paths + - thunderbolt: Mask ring interrupt on Intel hardware as well + - USB: serial: option: add Quectel EM061KGL series + - serial: lantiq: add missing interrupt ack + - usb: dwc3: gadget: Reset num TRBs before giving back the request + - RDMA/rtrs: Fix the last iu->buf leak in err path + - RDMA/rtrs: Fix rxe_dealloc_pd warning + - RDMA/rxe: Fix packet length checks + - spi: fsl-dspi: avoid SCK glitches with continuous transfers + - netfilter: nf_tables: integrate pipapo into commit protocol + - netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM + - net: enetc: correct the indexes of highest and 2nd highest TCs + - ping6: Fix send to link-local addresses with VRF. + - net/sched: simplify tcf_pedit_act + - net/sched: act_pedit: remove extra check for key type + - net/sched: act_pedit: Parse L3 Header for L4 offset + - RDMA/rxe: Remove the unused variable obj + - RDMA/rxe: Removed unused name from rxe_task struct + - RDMA/rxe: Fix the use-before-initialization error of resp_pkts + - iavf: remove mask from iavf_irq_enable_queues() + - octeontx2-af: fixed resource availability check + - octeontx2-af: fix lbk link credits on cn10k + - RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions + - RDMA/cma: Always set static rate to 0 for RoCE + - IB/uverbs: Fix to consider event queue closing also upon non-blocking mode + - IB/isert: Fix dead lock in ib_isert + - IB/isert: Fix possible list corruption in CMA handler + - IB/isert: Fix incorrect release of isert connection + - net: ethtool: correct MAX attribute value for stats + - ipvlan: fix bound dev checking for IPv6 l3s mode + - sctp: fix an error code in sctp_sf_eat_auth() + - igc: Clean the TX buffer and TX descriptor ring + - igb: fix nvm.ops.read() error handling + - drm/nouveau: don't detect DSM for non-NVIDIA device + - drm/nouveau/dp: check for NULL nv_connector->native_mode + - drm/nouveau: add nv_encoder pointer check for NULL + - cifs: fix lease break oops in xfstest generic/098 + - ext4: drop the call to ext4_error() from ext4_get_group_info() + - net/sched: cls_api: Fix lockup on flushing explicitly created chain + - net: lapbether: only support ethernet devices + - dm: don't lock fs when the map is NULL during suspend or resume + - net: tipc: resize nlattr array to correct size + - selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET + - afs: Fix vlserver probe RTT handling + - cgroup: always put cset in cgroup_css_set_put_fork + - rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period + - neighbour: Remove unused inline function neigh_key_eq16() + - net: Remove unused inline function dst_hold_and_use() + - net: Remove DECnet leftovers from flow.h. + - neighbour: delete neigh_lookup_nodev as not used + - of: overlay: add entry to of_overlay_action_name[] + - mmc: block: ensure error propagation for non-blk + - nilfs2: reject devices with insufficient block count + - Linux 5.15.118 + * Jammy update: v5.15.117 upstream stable release (LP: #2030107) + - ata: ahci: fix enum constants for gcc-13 + - gcc-plugins: Reorganize gimple includes for GCC 13 + - remove the sx8 block driver + - [Config] updateconfigs for BLK_DEV_SX8 + - sfc (gcc13): synchronize ef100_enqueue_skb()'s return type + - i40e: Remove string printing for i40e_status + - i40e: use int for i40e_status + - i40e: fix build warning in ice_fltr_add_mac_to_list() + - bonding (gcc13): synchronize bond_{a,t}lb_xmit() types + - f2fs: fix iostat lock protection + - blk-iocost: avoid 64-bit division in ioc_timer_fn + - platform/surface: aggregator: Allow completion work-items to be executed in + parallel + - spi: qup: Request DMA before enabling clocks + - afs: Fix setting of mtime when creating a file/dir/symlink + - wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll + - neighbour: fix unaligned access to pneigh_entry + - net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods + - bpf: Fix UAF in task local storage + - net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down + - net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT + - net: enetc: correct the statistics of rx bytes + - net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values + - drm/i915: Explain the magic numbers for AUX SYNC/precharge length + - drm/i915: Use 18 fast wake AUX sync len + - Bluetooth: Fix l2cap_disconnect_req deadlock + - Bluetooth: L2CAP: Add missing checks for invalid DCID + - qed/qede: Fix scheduling while atomic + - wifi: cfg80211: fix locking in sched scan stop work + - selftests/bpf: Verify optval=NULL case + - selftests/bpf: Fix sockopt_sk selftest + - netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper + - netfilter: ipset: Add schedule point in call_ad(). + - ipv6: rpl: Fix Route of Death. + - rfs: annotate lockless accesses to sk->sk_rxhash + - rfs: annotate lockless accesses to RFS sock flow table + - drm/i915/selftests: Increase timeout for live_parallel_switch + - drm/i915/selftests: Stop using kthread_stop() + - drm/i915/selftests: Add some missing error propagation + - net: sched: move rtm_tca_policy declaration to include file + - net: sched: act_police: fix sparse errors in tcf_police_dump() + - net: sched: fix possible refcount leak in tc_chain_tmplt_add() + - bpf: Add extra path pointer check to d_path helper + - lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() + - bnxt_en: Don't issue AP reset during ethtool's reset operation + - bnxt_en: Query default VLAN before VNIC setup on a VF + - bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks + - batman-adv: Broken sync while rescheduling delayed work + - Input: xpad - delete a Razer DeathAdder mouse VID/PID entry + - Input: psmouse - fix OOB access in Elantech protocol + - Input: fix open count when closing inhibited device + - ALSA: hda/realtek: Add quirk for Clevo NS50AU + - ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01 + - drm/i915/gt: Use the correct error value when kernel_context() fails + - drm/amd/pm: conditionally disable pcie lane switching for some + sienna_cichlid SKUs + - drm/amdgpu: fix xclk freq on CHIP_STONEY + - drm/amd/pm: Fix power context allocation in SMU13 + - can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in + J1939 Socket + - can: j1939: change j1939_netdev_lock type to mutex + - can: j1939: avoid possible use-after-free when j1939_can_rx_register fails + - ceph: fix use-after-free bug for inodes when flushing capsnaps + - s390/dasd: Use correct lock while counting channel queue length + - Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk + - Bluetooth: hci_qca: fix debugfs registration + - tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta' + - rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting + - rbd: get snapshot context after exclusive lock is ensured to be held + - pinctrl: meson-axg: add missing GPIOA_18 gpio group + - usb: usbfs: Enforce page requirements for mmap + - usb: usbfs: Use consistent mmap functions + - ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc + - ASoC: codecs: wsa881x: do not set can_multi_write flag + - arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite + boards + - arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals + - arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts + - ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback + returning void + - ASoC: mediatek: mt8195: fix use-after-free in driver remove path + - arm64: dts: imx8mn-beacon: Fix SPI CS pinmux + - i2c: mv64xxx: Fix reading invalid status value in atomic mode + - firmware: arm_ffa: Set handle field to zero in memory descriptor + - i2c: sprd: Delete i2c adapter in .remove's error path + - eeprom: at24: also select REGMAP + - riscv: fix kprobe __user string arg print fault issue + - vduse: avoid empty string for dev name + - vhost: support PACKED when setting-getting vring_base + - vhost_vdpa: support PACKED when setting-getting vring_base + - ext4: only check dquot_initialize_needed() when debugging + - Linux 5.15.117 + * CVE-2023-4273 + - exfat: check if filename entries exceeds max filename length + * CVE-2023-4128 + - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_route: No longer copy tcf_result on update to avoid use- + after-free + * CVE-2023-3863 + - nfc: llcp: simplify llcp_sock_connect() error paths + - net: nfc: Fix use-after-free caused by nfc_llcp_find_local + + -- Philip Cox Mon, 25 Sep 2023 13:46:38 -0400 + +linux-intel-iotg-5.15 (5.15.0-1040.46~20.04.1) focal; urgency=medium + + * focal/linux-intel-iotg-5.15: 5.15.0-1040.46~20.04.1 -proposed tracker + (LP: #2034187) + + [ Ubuntu: 5.15.0-1040.46 ] + + * jammy/linux-intel-iotg: 5.15.0-1040.46 -proposed tracker (LP: #2034188) + * jammy/linux: 5.15.0-84.93 -proposed tracker (LP: #2034202) + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + * CVE-2023-4569 + - netfilter: nf_tables: deactivate catchall elements in next generation + * CVE-2023-40283 + - Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb + * CVE-2023-20588 + - x86/bugs: Increase the x86 bugs vector size to two u32s + - x86/CPU/AMD: Do not leak quotient data after a division by 0 + - x86/CPU/AMD: Fix the DIV(0) initial fix attempt + * CVE-2023-4128 + - net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after- + free + - net/sched: cls_route: No longer copy tcf_result on update to avoid use- + after-free + + -- Jian Hui Lee Wed, 13 Sep 2023 13:47:42 +0800 + linux-intel-iotg-5.15 (5.15.0-1039.45~20.04.1) focal; urgency=medium * focal/linux-intel-iotg-5.15: 5.15.0-1039.45~20.04.1 -proposed tracker diff -u linux-intel-iotg-5.15-5.15.0/debian/control linux-intel-iotg-5.15-5.15.0/debian/control --- linux-intel-iotg-5.15-5.15.0/debian/control +++ linux-intel-iotg-5.15-5.15.0/debian/control @@ -61,7 +61,7 @@ XS-Testsuite: autopkgtest #XS-Testsuite-Depends: gcc-4.7 binutils -Package: linux-intel-iotg-5.15-headers-5.15.0-1039 +Package: linux-intel-iotg-5.15-headers-5.15.0-1041 Build-Profiles: Architecture: all Multi-Arch: foreign @@ -71,7 +71,7 @@ Description: Header files related to Linux kernel version 5.15.0 This package provides kernel header files for version 5.15.0, for sites that want the latest kernel headers. Please read - /usr/share/doc/linux-intel-iotg-5.15-headers-5.15.0-1039/debian.README.gz for details + /usr/share/doc/linux-intel-iotg-5.15-headers-5.15.0-1041/debian.README.gz for details Package: linux-intel-iotg-5.15-tools-common Build-Profiles: @@ -85,18 +85,18 @@ version locked tools (such as perf and x86_energy_perf_policy) for version 5.15.0. -Package: linux-intel-iotg-5.15-tools-5.15.0-1039 +Package: linux-intel-iotg-5.15-tools-5.15.0-1041 Build-Profiles: Architecture: amd64 Section: devel Priority: optional Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common -Description: Linux kernel version specific tools for version 5.15.0-1039 +Description: Linux kernel version specific tools for version 5.15.0-1041 This package provides the architecture dependant parts for kernel version locked tools (such as perf and x86_energy_perf_policy) for - version 5.15.0-1039 on + version 5.15.0-1041 on 64 bit x86. - You probably want to install linux-tools-5.15.0-1039-. + You probably want to install linux-tools-5.15.0-1041-. Package: linux-intel-iotg-5.15-cloud-tools-common Build-Profiles: @@ -109,17 +109,17 @@ This package provides the architecture independent parts for kernel version locked tools for cloud tools for version 5.15.0. -Package: linux-intel-iotg-5.15-cloud-tools-5.15.0-1039 +Package: linux-intel-iotg-5.15-cloud-tools-5.15.0-1041 Build-Profiles: Architecture: amd64 Section: devel Priority: optional Depends: ${misc:Depends}, ${shlibs:Depends}, linux-cloud-tools-common -Description: Linux kernel version specific cloud tools for version 5.15.0-1039 +Description: Linux kernel version specific cloud tools for version 5.15.0-1041 This package provides the architecture dependant parts for kernel - version locked tools for cloud tools for version 5.15.0-1039 on + version locked tools for cloud tools for version 5.15.0-1041 on 64 bit x86. - You probably want to install linux-cloud-tools-5.15.0-1039-. + You probably want to install linux-cloud-tools-5.15.0-1041-. Package: linux-intel-iotg-5.15-tools-host Build-Profiles: @@ -133,17 +133,17 @@ -Package: linux-image-unsigned-5.15.0-1039-intel-iotg +Package: linux-image-unsigned-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: kernel Priority: optional Provides: linux-image, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, virtualbox-guest-modules [amd64], ${linux:rprovides} -Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.15.0-1039-intel-iotg +Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.15.0-1041-intel-iotg Recommends: grub-pc [amd64] | grub-efi-amd64 [amd64] | grub-efi-ia32 [amd64] | grub [amd64] | lilo [amd64], initramfs-tools | linux-initramfs-tool Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x] -Conflicts: linux-image-5.15.0-1039-intel-iotg -Suggests: fdutils, linux-doc | linux-intel-iotg-5.15-source-5.15.0, linux-intel-iotg-5.15-tools, linux-headers-5.15.0-1039-intel-iotg, linux-modules-extra-5.15.0-1039-intel-iotg +Conflicts: linux-image-5.15.0-1041-intel-iotg +Suggests: fdutils, linux-doc | linux-intel-iotg-5.15-source-5.15.0, linux-intel-iotg-5.15-tools, linux-headers-5.15.0-1041-intel-iotg, linux-modules-extra-5.15.0-1041-intel-iotg Description: Linux kernel image for version 5.15.0 on 64 bit x86 SMP This package contains the unsigned Linux kernel image for version 5.15.0 on 64 bit x86 SMP. @@ -156,12 +156,12 @@ the linux-intel-iotg meta-package, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-5.15.0-1039-intel-iotg +Package: linux-modules-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: kernel Priority: optional -Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.15.0-1039-intel-iotg | linux-image-unsigned-5.15.0-1039-intel-iotg +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.15.0-1041-intel-iotg | linux-image-unsigned-5.15.0-1041-intel-iotg Built-Using: ${linux:BuiltUsing} Description: Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP Contains the corresponding System.map file, the modules built by the @@ -176,12 +176,12 @@ the linux-intel-iotg meta-package, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-extra-5.15.0-1039-intel-iotg +Package: linux-modules-extra-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: kernel Priority: optional -Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.15.0-1039-intel-iotg | linux-image-unsigned-5.15.0-1039-intel-iotg, crda | wireless-crda +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.15.0-1041-intel-iotg | linux-image-unsigned-5.15.0-1041-intel-iotg, crda | wireless-crda Description: Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP This package contains the Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP. @@ -198,21 +198,21 @@ the linux-intel-iotg meta-package, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-headers-5.15.0-1039-intel-iotg +Package: linux-headers-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: devel Priority: optional -Depends: ${misc:Depends}, linux-intel-iotg-5.15-headers-5.15.0-1039, ${shlibs:Depends} +Depends: ${misc:Depends}, linux-intel-iotg-5.15-headers-5.15.0-1041, ${shlibs:Depends} Provides: linux-headers, linux-headers-3.0 Description: Linux kernel headers for version 5.15.0 on 64 bit x86 SMP This package provides kernel header files for version 5.15.0 on 64 bit x86 SMP. . This is for sites that want the latest kernel headers. Please read - /usr/share/doc/linux-headers-5.15.0-1039/debian.README.gz for details. + /usr/share/doc/linux-headers-5.15.0-1041/debian.README.gz for details. -Package: linux-image-unsigned-5.15.0-1039-intel-iotg-dbgsym +Package: linux-image-unsigned-5.15.0-1041-intel-iotg-dbgsym Build-Profiles: Architecture: amd64 Section: devel @@ -229,31 +229,31 @@ is uncompressed, and unstripped. This package also includes the unstripped modules. -Package: linux-tools-5.15.0-1039-intel-iotg +Package: linux-tools-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: devel Priority: optional -Depends: ${misc:Depends}, linux-intel-iotg-5.15-tools-5.15.0-1039 -Description: Linux kernel version specific tools for version 5.15.0-1039 +Depends: ${misc:Depends}, linux-intel-iotg-5.15-tools-5.15.0-1041 +Description: Linux kernel version specific tools for version 5.15.0-1041 This package provides the architecture dependant parts for kernel version locked tools (such as perf and x86_energy_perf_policy) for - version 5.15.0-1039 on + version 5.15.0-1041 on 64 bit x86. -Package: linux-cloud-tools-5.15.0-1039-intel-iotg +Package: linux-cloud-tools-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: devel Priority: optional -Depends: ${misc:Depends}, linux-intel-iotg-5.15-cloud-tools-5.15.0-1039 -Description: Linux kernel version specific cloud tools for version 5.15.0-1039 +Depends: ${misc:Depends}, linux-intel-iotg-5.15-cloud-tools-5.15.0-1041 +Description: Linux kernel version specific cloud tools for version 5.15.0-1041 This package provides the architecture dependant parts for kernel - version locked tools for cloud for version 5.15.0-1039 on + version locked tools for cloud for version 5.15.0-1041 on 64 bit x86. -Package: linux-buildinfo-5.15.0-1039-intel-iotg +Package: linux-buildinfo-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: kernel @@ -267,18 +267,18 @@ You likely do not want to install this package. -Package: linux-modules-iwlwifi-5.15.0-1039-intel-iotg +Package: linux-modules-iwlwifi-5.15.0-1041-intel-iotg Build-Profiles: Architecture: amd64 Section: kernel Priority: optional Depends: ${misc:Depends}, - linux-image-5.15.0-1039-intel-iotg | linux-image-unsigned-5.15.0-1039-intel-iotg, + linux-image-5.15.0-1041-intel-iotg | linux-image-unsigned-5.15.0-1041-intel-iotg, Built-Using: ${linux:BuiltUsing} -Description: Linux kernel iwlwifi modules for version 5.15.0-1039 +Description: Linux kernel iwlwifi modules for version 5.15.0-1041 This package provides the Linux kernel iwlwifi modules for version - 5.15.0-1039. + 5.15.0-1041. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-iwlwifi-intel-iotg* meta-packages, diff -u linux-intel-iotg-5.15-5.15.0/drivers/acpi/sleep.c linux-intel-iotg-5.15-5.15.0/drivers/acpi/sleep.c --- linux-intel-iotg-5.15-5.15.0/drivers/acpi/sleep.c +++ linux-intel-iotg-5.15-5.15.0/drivers/acpi/sleep.c @@ -635,11 +635,19 @@ } /* - * Disable and clear GPE status before interrupt is enabled. Some GPEs - * (like wakeup GPE) haven't handler, this can avoid such GPE misfire. - * acpi_leave_sleep_state will reenable specific GPEs later + * Disable all GPE and clear their status bits before interrupts are + * enabled. Some GPEs (like wakeup GPEs) have no handlers and this can + * prevent them from producing spurious interrups. + * + * acpi_leave_sleep_state() will reenable specific GPEs later. + * + * Because this code runs on one CPU with disabled interrupts (all of + * the other CPUs are offline at this time), it need not acquire any + * sleeping locks which may trigger an implicit preemption point even + * if there is no contention, so avoid doing that by using a low-level + * library routine here. */ - acpi_disable_all_gpes(); + acpi_hw_disable_all_gpes(); /* Allow EC transactions to happen. */ acpi_ec_unblock_transactions(); diff -u linux-intel-iotg-5.15-5.15.0/drivers/ata/ahci.h linux-intel-iotg-5.15-5.15.0/drivers/ata/ahci.h --- linux-intel-iotg-5.15-5.15.0/drivers/ata/ahci.h +++ linux-intel-iotg-5.15-5.15.0/drivers/ata/ahci.h @@ -24,6 +24,7 @@ #include #include #include +#include /* Enclosure Management Control */ #define EM_CTRL_MSG_TYPE 0x000f0000 @@ -54,12 +55,12 @@ AHCI_PORT_PRIV_FBS_DMA_SZ = AHCI_CMD_SLOT_SZ + AHCI_CMD_TBL_AR_SZ + (AHCI_RX_FIS_SZ * 16), - AHCI_IRQ_ON_SG = (1 << 31), - AHCI_CMD_ATAPI = (1 << 5), - AHCI_CMD_WRITE = (1 << 6), - AHCI_CMD_PREFETCH = (1 << 7), - AHCI_CMD_RESET = (1 << 8), - AHCI_CMD_CLR_BUSY = (1 << 10), + AHCI_IRQ_ON_SG = BIT(31), + AHCI_CMD_ATAPI = BIT(5), + AHCI_CMD_WRITE = BIT(6), + AHCI_CMD_PREFETCH = BIT(7), + AHCI_CMD_RESET = BIT(8), + AHCI_CMD_CLR_BUSY = BIT(10), RX_FIS_PIO_SETUP = 0x20, /* offset of PIO Setup FIS data */ RX_FIS_D2H_REG = 0x40, /* offset of D2H Register FIS data */ @@ -77,37 +78,37 @@ HOST_CAP2 = 0x24, /* host capabilities, extended */ /* HOST_CTL bits */ - HOST_RESET = (1 << 0), /* reset controller; self-clear */ - HOST_IRQ_EN = (1 << 1), /* global IRQ enable */ - HOST_MRSM = (1 << 2), /* MSI Revert to Single Message */ - HOST_AHCI_EN = (1 << 31), /* AHCI enabled */ + HOST_RESET = BIT(0), /* reset controller; self-clear */ + HOST_IRQ_EN = BIT(1), /* global IRQ enable */ + HOST_MRSM = BIT(2), /* MSI Revert to Single Message */ + HOST_AHCI_EN = BIT(31), /* AHCI enabled */ /* HOST_CAP bits */ - HOST_CAP_SXS = (1 << 5), /* Supports External SATA */ - HOST_CAP_EMS = (1 << 6), /* Enclosure Management support */ - HOST_CAP_CCC = (1 << 7), /* Command Completion Coalescing */ - HOST_CAP_PART = (1 << 13), /* Partial state capable */ - HOST_CAP_SSC = (1 << 14), /* Slumber state capable */ - HOST_CAP_PIO_MULTI = (1 << 15), /* PIO multiple DRQ support */ - HOST_CAP_FBS = (1 << 16), /* FIS-based switching support */ - HOST_CAP_PMP = (1 << 17), /* Port Multiplier support */ - HOST_CAP_ONLY = (1 << 18), /* Supports AHCI mode only */ - HOST_CAP_CLO = (1 << 24), /* Command List Override support */ - HOST_CAP_LED = (1 << 25), /* Supports activity LED */ - HOST_CAP_ALPM = (1 << 26), /* Aggressive Link PM support */ - HOST_CAP_SSS = (1 << 27), /* Staggered Spin-up */ - HOST_CAP_MPS = (1 << 28), /* Mechanical presence switch */ - HOST_CAP_SNTF = (1 << 29), /* SNotification register */ - HOST_CAP_NCQ = (1 << 30), /* Native Command Queueing */ - HOST_CAP_64 = (1 << 31), /* PCI DAC (64-bit DMA) support */ + HOST_CAP_SXS = BIT(5), /* Supports External SATA */ + HOST_CAP_EMS = BIT(6), /* Enclosure Management support */ + HOST_CAP_CCC = BIT(7), /* Command Completion Coalescing */ + HOST_CAP_PART = BIT(13), /* Partial state capable */ + HOST_CAP_SSC = BIT(14), /* Slumber state capable */ + HOST_CAP_PIO_MULTI = BIT(15), /* PIO multiple DRQ support */ + HOST_CAP_FBS = BIT(16), /* FIS-based switching support */ + HOST_CAP_PMP = BIT(17), /* Port Multiplier support */ + HOST_CAP_ONLY = BIT(18), /* Supports AHCI mode only */ + HOST_CAP_CLO = BIT(24), /* Command List Override support */ + HOST_CAP_LED = BIT(25), /* Supports activity LED */ + HOST_CAP_ALPM = BIT(26), /* Aggressive Link PM support */ + HOST_CAP_SSS = BIT(27), /* Staggered Spin-up */ + HOST_CAP_MPS = BIT(28), /* Mechanical presence switch */ + HOST_CAP_SNTF = BIT(29), /* SNotification register */ + HOST_CAP_NCQ = BIT(30), /* Native Command Queueing */ + HOST_CAP_64 = BIT(31), /* PCI DAC (64-bit DMA) support */ /* HOST_CAP2 bits */ - HOST_CAP2_BOH = (1 << 0), /* BIOS/OS handoff supported */ - HOST_CAP2_NVMHCI = (1 << 1), /* NVMHCI supported */ - HOST_CAP2_APST = (1 << 2), /* Automatic partial to slumber */ - HOST_CAP2_SDS = (1 << 3), /* Support device sleep */ - HOST_CAP2_SADM = (1 << 4), /* Support aggressive DevSlp */ - HOST_CAP2_DESO = (1 << 5), /* DevSlp from slumber only */ + HOST_CAP2_BOH = BIT(0), /* BIOS/OS handoff supported */ + HOST_CAP2_NVMHCI = BIT(1), /* NVMHCI supported */ + HOST_CAP2_APST = BIT(2), /* Automatic partial to slumber */ + HOST_CAP2_SDS = BIT(3), /* Support device sleep */ + HOST_CAP2_SADM = BIT(4), /* Support aggressive DevSlp */ + HOST_CAP2_DESO = BIT(5), /* DevSlp from slumber only */ /* registers for each SATA port */ PORT_LST_ADDR = 0x00, /* command list DMA addr */ @@ -129,24 +130,24 @@ PORT_DEVSLP = 0x44, /* device sleep */ /* PORT_IRQ_{STAT,MASK} bits */ - PORT_IRQ_COLD_PRES = (1 << 31), /* cold presence detect */ - PORT_IRQ_TF_ERR = (1 << 30), /* task file error */ - PORT_IRQ_HBUS_ERR = (1 << 29), /* host bus fatal error */ - PORT_IRQ_HBUS_DATA_ERR = (1 << 28), /* host bus data error */ - PORT_IRQ_IF_ERR = (1 << 27), /* interface fatal error */ - PORT_IRQ_IF_NONFATAL = (1 << 26), /* interface non-fatal error */ - PORT_IRQ_OVERFLOW = (1 << 24), /* xfer exhausted available S/G */ - PORT_IRQ_BAD_PMP = (1 << 23), /* incorrect port multiplier */ - - PORT_IRQ_PHYRDY = (1 << 22), /* PhyRdy changed */ - PORT_IRQ_DEV_ILCK = (1 << 7), /* device interlock */ - PORT_IRQ_CONNECT = (1 << 6), /* port connect change status */ - PORT_IRQ_SG_DONE = (1 << 5), /* descriptor processed */ - PORT_IRQ_UNK_FIS = (1 << 4), /* unknown FIS rx'd */ - PORT_IRQ_SDB_FIS = (1 << 3), /* Set Device Bits FIS rx'd */ - PORT_IRQ_DMAS_FIS = (1 << 2), /* DMA Setup FIS rx'd */ - PORT_IRQ_PIOS_FIS = (1 << 1), /* PIO Setup FIS rx'd */ - PORT_IRQ_D2H_REG_FIS = (1 << 0), /* D2H Register FIS rx'd */ + PORT_IRQ_COLD_PRES = BIT(31), /* cold presence detect */ + PORT_IRQ_TF_ERR = BIT(30), /* task file error */ + PORT_IRQ_HBUS_ERR = BIT(29), /* host bus fatal error */ + PORT_IRQ_HBUS_DATA_ERR = BIT(28), /* host bus data error */ + PORT_IRQ_IF_ERR = BIT(27), /* interface fatal error */ + PORT_IRQ_IF_NONFATAL = BIT(26), /* interface non-fatal error */ + PORT_IRQ_OVERFLOW = BIT(24), /* xfer exhausted available S/G */ + PORT_IRQ_BAD_PMP = BIT(23), /* incorrect port multiplier */ + + PORT_IRQ_PHYRDY = BIT(22), /* PhyRdy changed */ + PORT_IRQ_DEV_ILCK = BIT(7), /* device interlock */ + PORT_IRQ_CONNECT = BIT(6), /* port connect change status */ + PORT_IRQ_SG_DONE = BIT(5), /* descriptor processed */ + PORT_IRQ_UNK_FIS = BIT(4), /* unknown FIS rx'd */ + PORT_IRQ_SDB_FIS = BIT(3), /* Set Device Bits FIS rx'd */ + PORT_IRQ_DMAS_FIS = BIT(2), /* DMA Setup FIS rx'd */ + PORT_IRQ_PIOS_FIS = BIT(1), /* PIO Setup FIS rx'd */ + PORT_IRQ_D2H_REG_FIS = BIT(0), /* D2H Register FIS rx'd */ PORT_IRQ_FREEZE = PORT_IRQ_HBUS_ERR | PORT_IRQ_IF_ERR | @@ -162,34 +163,34 @@ PORT_IRQ_PIOS_FIS | PORT_IRQ_D2H_REG_FIS, /* PORT_CMD bits */ - PORT_CMD_ASP = (1 << 27), /* Aggressive Slumber/Partial */ - PORT_CMD_ALPE = (1 << 26), /* Aggressive Link PM enable */ - PORT_CMD_ATAPI = (1 << 24), /* Device is ATAPI */ - PORT_CMD_FBSCP = (1 << 22), /* FBS Capable Port */ - PORT_CMD_ESP = (1 << 21), /* External Sata Port */ - PORT_CMD_HPCP = (1 << 18), /* HotPlug Capable Port */ - PORT_CMD_PMP = (1 << 17), /* PMP attached */ - PORT_CMD_LIST_ON = (1 << 15), /* cmd list DMA engine running */ - PORT_CMD_FIS_ON = (1 << 14), /* FIS DMA engine running */ - PORT_CMD_FIS_RX = (1 << 4), /* Enable FIS receive DMA engine */ - PORT_CMD_CLO = (1 << 3), /* Command list override */ - PORT_CMD_POWER_ON = (1 << 2), /* Power up device */ - PORT_CMD_SPIN_UP = (1 << 1), /* Spin up device */ - PORT_CMD_START = (1 << 0), /* Enable port DMA engine */ - - PORT_CMD_ICC_MASK = (0xf << 28), /* i/f ICC state mask */ - PORT_CMD_ICC_ACTIVE = (0x1 << 28), /* Put i/f in active state */ - PORT_CMD_ICC_PARTIAL = (0x2 << 28), /* Put i/f in partial state */ - PORT_CMD_ICC_SLUMBER = (0x6 << 28), /* Put i/f in slumber state */ + PORT_CMD_ASP = BIT(27), /* Aggressive Slumber/Partial */ + PORT_CMD_ALPE = BIT(26), /* Aggressive Link PM enable */ + PORT_CMD_ATAPI = BIT(24), /* Device is ATAPI */ + PORT_CMD_FBSCP = BIT(22), /* FBS Capable Port */ + PORT_CMD_ESP = BIT(21), /* External Sata Port */ + PORT_CMD_HPCP = BIT(18), /* HotPlug Capable Port */ + PORT_CMD_PMP = BIT(17), /* PMP attached */ + PORT_CMD_LIST_ON = BIT(15), /* cmd list DMA engine running */ + PORT_CMD_FIS_ON = BIT(14), /* FIS DMA engine running */ + PORT_CMD_FIS_RX = BIT(4), /* Enable FIS receive DMA engine */ + PORT_CMD_CLO = BIT(3), /* Command list override */ + PORT_CMD_POWER_ON = BIT(2), /* Power up device */ + PORT_CMD_SPIN_UP = BIT(1), /* Spin up device */ + PORT_CMD_START = BIT(0), /* Enable port DMA engine */ + + PORT_CMD_ICC_MASK = (0xfu << 28), /* i/f ICC state mask */ + PORT_CMD_ICC_ACTIVE = (0x1u << 28), /* Put i/f in active state */ + PORT_CMD_ICC_PARTIAL = (0x2u << 28), /* Put i/f in partial state */ + PORT_CMD_ICC_SLUMBER = (0x6u << 28), /* Put i/f in slumber state */ /* PORT_FBS bits */ PORT_FBS_DWE_OFFSET = 16, /* FBS device with error offset */ PORT_FBS_ADO_OFFSET = 12, /* FBS active dev optimization offset */ PORT_FBS_DEV_OFFSET = 8, /* FBS device to issue offset */ PORT_FBS_DEV_MASK = (0xf << PORT_FBS_DEV_OFFSET), /* FBS.DEV */ - PORT_FBS_SDE = (1 << 2), /* FBS single device error */ - PORT_FBS_DEC = (1 << 1), /* FBS device error clear */ - PORT_FBS_EN = (1 << 0), /* Enable FBS */ + PORT_FBS_SDE = BIT(2), /* FBS single device error */ + PORT_FBS_DEC = BIT(1), /* FBS device error clear */ + PORT_FBS_EN = BIT(0), /* Enable FBS */ /* PORT_DEVSLP bits */ PORT_DEVSLP_DM_OFFSET = 25, /* DITO multiplier offset */ @@ -197,52 +198,52 @@ PORT_DEVSLP_DITO_OFFSET = 15, /* DITO offset */ PORT_DEVSLP_MDAT_OFFSET = 10, /* Minimum assertion time */ PORT_DEVSLP_DETO_OFFSET = 2, /* DevSlp exit timeout */ - PORT_DEVSLP_DSP = (1 << 1), /* DevSlp present */ - PORT_DEVSLP_ADSE = (1 << 0), /* Aggressive DevSlp enable */ + PORT_DEVSLP_DSP = BIT(1), /* DevSlp present */ + PORT_DEVSLP_ADSE = BIT(0), /* Aggressive DevSlp enable */ /* hpriv->flags bits */ #define AHCI_HFLAGS(flags) .private_data = (void *)(flags) - AHCI_HFLAG_NO_NCQ = (1 << 0), - AHCI_HFLAG_IGN_IRQ_IF_ERR = (1 << 1), /* ignore IRQ_IF_ERR */ - AHCI_HFLAG_IGN_SERR_INTERNAL = (1 << 2), /* ignore SERR_INTERNAL */ - AHCI_HFLAG_32BIT_ONLY = (1 << 3), /* force 32bit */ - AHCI_HFLAG_MV_PATA = (1 << 4), /* PATA port */ - AHCI_HFLAG_NO_MSI = (1 << 5), /* no PCI MSI */ - AHCI_HFLAG_NO_PMP = (1 << 6), /* no PMP */ - AHCI_HFLAG_SECT255 = (1 << 8), /* max 255 sectors */ - AHCI_HFLAG_YES_NCQ = (1 << 9), /* force NCQ cap on */ - AHCI_HFLAG_NO_SUSPEND = (1 << 10), /* don't suspend */ - AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = (1 << 11), /* treat SRST timeout as - link offline */ - AHCI_HFLAG_NO_SNTF = (1 << 12), /* no sntf */ - AHCI_HFLAG_NO_FPDMA_AA = (1 << 13), /* no FPDMA AA */ - AHCI_HFLAG_YES_FBS = (1 << 14), /* force FBS cap on */ - AHCI_HFLAG_DELAY_ENGINE = (1 << 15), /* do not start engine on - port start (wait until - error-handling stage) */ - AHCI_HFLAG_NO_DEVSLP = (1 << 17), /* no device sleep */ - AHCI_HFLAG_NO_FBS = (1 << 18), /* no FBS */ + AHCI_HFLAG_NO_NCQ = BIT(0), + AHCI_HFLAG_IGN_IRQ_IF_ERR = BIT(1), /* ignore IRQ_IF_ERR */ + AHCI_HFLAG_IGN_SERR_INTERNAL = BIT(2), /* ignore SERR_INTERNAL */ + AHCI_HFLAG_32BIT_ONLY = BIT(3), /* force 32bit */ + AHCI_HFLAG_MV_PATA = BIT(4), /* PATA port */ + AHCI_HFLAG_NO_MSI = BIT(5), /* no PCI MSI */ + AHCI_HFLAG_NO_PMP = BIT(6), /* no PMP */ + AHCI_HFLAG_SECT255 = BIT(8), /* max 255 sectors */ + AHCI_HFLAG_YES_NCQ = BIT(9), /* force NCQ cap on */ + AHCI_HFLAG_NO_SUSPEND = BIT(10), /* don't suspend */ + AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = BIT(11), /* treat SRST timeout as + link offline */ + AHCI_HFLAG_NO_SNTF = BIT(12), /* no sntf */ + AHCI_HFLAG_NO_FPDMA_AA = BIT(13), /* no FPDMA AA */ + AHCI_HFLAG_YES_FBS = BIT(14), /* force FBS cap on */ + AHCI_HFLAG_DELAY_ENGINE = BIT(15), /* do not start engine on + port start (wait until + error-handling stage) */ + AHCI_HFLAG_NO_DEVSLP = BIT(17), /* no device sleep */ + AHCI_HFLAG_NO_FBS = BIT(18), /* no FBS */ #ifdef CONFIG_PCI_MSI - AHCI_HFLAG_MULTI_MSI = (1 << 20), /* per-port MSI(-X) */ + AHCI_HFLAG_MULTI_MSI = BIT(20), /* per-port MSI(-X) */ #else /* compile out MSI infrastructure */ AHCI_HFLAG_MULTI_MSI = 0, #endif - AHCI_HFLAG_WAKE_BEFORE_STOP = (1 << 22), /* wake before DMA stop */ - AHCI_HFLAG_YES_ALPM = (1 << 23), /* force ALPM cap on */ - AHCI_HFLAG_NO_WRITE_TO_RO = (1 << 24), /* don't write to read - only registers */ - AHCI_HFLAG_IS_MOBILE = (1 << 25), /* mobile chipset, use - SATA_MOBILE_LPM_POLICY - as default lpm_policy */ - AHCI_HFLAG_SUSPEND_PHYS = (1 << 26), /* handle PHYs during - suspend/resume */ - AHCI_HFLAG_IGN_NOTSUPP_POWER_ON = (1 << 27), /* ignore -EOPNOTSUPP - from phy_power_on() */ - AHCI_HFLAG_NO_SXS = (1 << 28), /* SXS not supported */ + AHCI_HFLAG_WAKE_BEFORE_STOP = BIT(22), /* wake before DMA stop */ + AHCI_HFLAG_YES_ALPM = BIT(23), /* force ALPM cap on */ + AHCI_HFLAG_NO_WRITE_TO_RO = BIT(24), /* don't write to read + only registers */ + AHCI_HFLAG_IS_MOBILE = BIT(25), /* mobile chipset, use + SATA_MOBILE_LPM_POLICY + as default lpm_policy */ + AHCI_HFLAG_SUSPEND_PHYS = BIT(26), /* handle PHYs during + suspend/resume */ + AHCI_HFLAG_IGN_NOTSUPP_POWER_ON = BIT(27), /* ignore -EOPNOTSUPP + from phy_power_on() */ + AHCI_HFLAG_NO_SXS = BIT(28), /* SXS not supported */ /* ap->flags bits */ @@ -258,22 +259,22 @@ EM_MAX_RETRY = 5, /* em_ctl bits */ - EM_CTL_RST = (1 << 9), /* Reset */ - EM_CTL_TM = (1 << 8), /* Transmit Message */ - EM_CTL_MR = (1 << 0), /* Message Received */ - EM_CTL_ALHD = (1 << 26), /* Activity LED */ - EM_CTL_XMT = (1 << 25), /* Transmit Only */ - EM_CTL_SMB = (1 << 24), /* Single Message Buffer */ - EM_CTL_SGPIO = (1 << 19), /* SGPIO messages supported */ - EM_CTL_SES = (1 << 18), /* SES-2 messages supported */ - EM_CTL_SAFTE = (1 << 17), /* SAF-TE messages supported */ - EM_CTL_LED = (1 << 16), /* LED messages supported */ + EM_CTL_RST = BIT(9), /* Reset */ + EM_CTL_TM = BIT(8), /* Transmit Message */ + EM_CTL_MR = BIT(0), /* Message Received */ + EM_CTL_ALHD = BIT(26), /* Activity LED */ + EM_CTL_XMT = BIT(25), /* Transmit Only */ + EM_CTL_SMB = BIT(24), /* Single Message Buffer */ + EM_CTL_SGPIO = BIT(19), /* SGPIO messages supported */ + EM_CTL_SES = BIT(18), /* SES-2 messages supported */ + EM_CTL_SAFTE = BIT(17), /* SAF-TE messages supported */ + EM_CTL_LED = BIT(16), /* LED messages supported */ /* em message type */ - EM_MSG_TYPE_LED = (1 << 0), /* LED */ - EM_MSG_TYPE_SAFTE = (1 << 1), /* SAF-TE */ - EM_MSG_TYPE_SES2 = (1 << 2), /* SES-2 */ - EM_MSG_TYPE_SGPIO = (1 << 3), /* SGPIO */ + EM_MSG_TYPE_LED = BIT(0), /* LED */ + EM_MSG_TYPE_SAFTE = BIT(1), /* SAF-TE */ + EM_MSG_TYPE_SES2 = BIT(2), /* SES-2 */ + EM_MSG_TYPE_SGPIO = BIT(3), /* SGPIO */ }; struct ahci_cmd_hdr { diff -u linux-intel-iotg-5.15-5.15.0/drivers/base/cpu.c linux-intel-iotg-5.15-5.15.0/drivers/base/cpu.c --- linux-intel-iotg-5.15-5.15.0/drivers/base/cpu.c +++ linux-intel-iotg-5.15-5.15.0/drivers/base/cpu.c @@ -583,6 +583,12 @@ return sysfs_emit(buf, "Not affected\n"); } +ssize_t __weak cpu_show_spec_rstack_overflow(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "Not affected\n"); +} + static DEVICE_ATTR(meltdown, 0444, cpu_show_meltdown, NULL); static DEVICE_ATTR(spectre_v1, 0444, cpu_show_spectre_v1, NULL); static DEVICE_ATTR(spectre_v2, 0444, cpu_show_spectre_v2, NULL); @@ -595,6 +601,7 @@ static DEVICE_ATTR(mmio_stale_data, 0444, cpu_show_mmio_stale_data, NULL); static DEVICE_ATTR(retbleed, 0444, cpu_show_retbleed, NULL); static DEVICE_ATTR(gather_data_sampling, 0444, cpu_show_gds, NULL); +static DEVICE_ATTR(spec_rstack_overflow, 0444, cpu_show_spec_rstack_overflow, NULL); static struct attribute *cpu_root_vulnerabilities_attrs[] = { &dev_attr_meltdown.attr, @@ -609,6 +616,7 @@ &dev_attr_mmio_stale_data.attr, &dev_attr_retbleed.attr, &dev_attr_gather_data_sampling.attr, + &dev_attr_spec_rstack_overflow.attr, NULL }; diff -u linux-intel-iotg-5.15-5.15.0/drivers/base/power/domain.c linux-intel-iotg-5.15-5.15.0/drivers/base/power/domain.c --- linux-intel-iotg-5.15-5.15.0/drivers/base/power/domain.c +++ linux-intel-iotg-5.15-5.15.0/drivers/base/power/domain.c @@ -2860,10 +2860,10 @@ err = of_property_read_u32(state_node, "min-residency-us", &residency); if (!err) - genpd_state->residency_ns = 1000 * residency; + genpd_state->residency_ns = 1000LL * residency; - genpd_state->power_on_latency_ns = 1000 * exit_latency; - genpd_state->power_off_latency_ns = 1000 * entry_latency; + genpd_state->power_on_latency_ns = 1000LL * exit_latency; + genpd_state->power_off_latency_ns = 1000LL * entry_latency; genpd_state->fwnode = &state_node->fwnode; return 0; diff -u linux-intel-iotg-5.15-5.15.0/drivers/block/Kconfig linux-intel-iotg-5.15-5.15.0/drivers/block/Kconfig --- linux-intel-iotg-5.15-5.15.0/drivers/block/Kconfig +++ linux-intel-iotg-5.15-5.15.0/drivers/block/Kconfig @@ -271,15 +271,6 @@ If unsure, say N. -config BLK_DEV_SX8 - tristate "Promise SATA SX8 support" - depends on PCI - help - Saying Y or M here will enable support for the - Promise SATA SX8 controllers. - - Use devices /dev/sx8/$N and /dev/sx8/$Np$M. - config BLK_DEV_RAM tristate "RAM block device support" help diff -u linux-intel-iotg-5.15-5.15.0/drivers/block/rbd.c linux-intel-iotg-5.15-5.15.0/drivers/block/rbd.c --- linux-intel-iotg-5.15-5.15.0/drivers/block/rbd.c +++ linux-intel-iotg-5.15-5.15.0/drivers/block/rbd.c @@ -1335,14 +1335,30 @@ /* * Must be called after rbd_obj_calc_img_extents(). */ -static bool rbd_obj_copyup_enabled(struct rbd_obj_request *obj_req) +static void rbd_obj_set_copyup_enabled(struct rbd_obj_request *obj_req) { - if (!obj_req->num_img_extents || - (rbd_obj_is_entire(obj_req) && - !obj_req->img_request->snapc->num_snaps)) - return false; + rbd_assert(obj_req->img_request->snapc); - return true; + if (obj_req->img_request->op_type == OBJ_OP_DISCARD) { + dout("%s %p objno %llu discard\n", __func__, obj_req, + obj_req->ex.oe_objno); + return; + } + + if (!obj_req->num_img_extents) { + dout("%s %p objno %llu not overlapping\n", __func__, obj_req, + obj_req->ex.oe_objno); + return; + } + + if (rbd_obj_is_entire(obj_req) && + !obj_req->img_request->snapc->num_snaps) { + dout("%s %p objno %llu entire\n", __func__, obj_req, + obj_req->ex.oe_objno); + return; + } + + obj_req->flags |= RBD_OBJ_FLAG_COPYUP_ENABLED; } static u64 rbd_obj_img_extents_bytes(struct rbd_obj_request *obj_req) @@ -1443,6 +1459,7 @@ static struct ceph_osd_request * rbd_obj_add_osd_request(struct rbd_obj_request *obj_req, int num_ops) { + rbd_assert(obj_req->img_request->snapc); return __rbd_obj_add_osd_request(obj_req, obj_req->img_request->snapc, num_ops); } @@ -1579,15 +1596,18 @@ mutex_init(&img_request->state_mutex); } +/* + * Only snap_id is captured here, for reads. For writes, snapshot + * context is captured in rbd_img_object_requests() after exclusive + * lock is ensured to be held. + */ static void rbd_img_capture_header(struct rbd_img_request *img_req) { struct rbd_device *rbd_dev = img_req->rbd_dev; lockdep_assert_held(&rbd_dev->header_rwsem); - if (rbd_img_is_write(img_req)) - img_req->snapc = ceph_get_snap_context(rbd_dev->header.snapc); - else + if (!rbd_img_is_write(img_req)) img_req->snap_id = rbd_dev->spec->snap_id; if (rbd_dev_parent_get(rbd_dev)) @@ -2234,9 +2254,6 @@ if (ret) return ret; - if (rbd_obj_copyup_enabled(obj_req)) - obj_req->flags |= RBD_OBJ_FLAG_COPYUP_ENABLED; - obj_req->write_state = RBD_OBJ_WRITE_START; return 0; } @@ -2342,8 +2359,6 @@ if (ret) return ret; - if (rbd_obj_copyup_enabled(obj_req)) - obj_req->flags |= RBD_OBJ_FLAG_COPYUP_ENABLED; if (!obj_req->num_img_extents) { obj_req->flags |= RBD_OBJ_FLAG_NOOP_FOR_NONEXISTENT; if (rbd_obj_is_entire(obj_req)) @@ -3288,6 +3303,7 @@ case RBD_OBJ_WRITE_START: rbd_assert(!*result); + rbd_obj_set_copyup_enabled(obj_req); if (rbd_obj_write_is_noop(obj_req)) return true; @@ -3474,9 +3490,19 @@ static void rbd_img_object_requests(struct rbd_img_request *img_req) { + struct rbd_device *rbd_dev = img_req->rbd_dev; struct rbd_obj_request *obj_req; rbd_assert(!img_req->pending.result && !img_req->pending.num_pending); + rbd_assert(!need_exclusive_lock(img_req) || + __rbd_is_lock_owner(rbd_dev)); + + if (rbd_img_is_write(img_req)) { + rbd_assert(!img_req->snapc); + down_read(&rbd_dev->header_rwsem); + img_req->snapc = ceph_get_snap_context(rbd_dev->header.snapc); + up_read(&rbd_dev->header_rwsem); + } for_each_obj_request(img_req, obj_req) { int result = 0; @@ -3494,7 +3520,6 @@ static bool rbd_img_advance(struct rbd_img_request *img_req, int *result) { - struct rbd_device *rbd_dev = img_req->rbd_dev; int ret; again: @@ -3515,9 +3540,6 @@ if (*result) return true; - rbd_assert(!need_exclusive_lock(img_req) || - __rbd_is_lock_owner(rbd_dev)); - rbd_img_object_requests(img_req); if (!img_req->pending.num_pending) { *result = img_req->pending.result; @@ -3979,6 +4001,10 @@ { int ret; + ret = rbd_dev_refresh(rbd_dev); + if (ret) + return ret; + if (rbd_dev->header.features & RBD_FEATURE_OBJECT_MAP) { ret = rbd_object_map_open(rbd_dev); if (ret) diff -u linux-intel-iotg-5.15-5.15.0/drivers/block/xen-blkfront.c linux-intel-iotg-5.15-5.15.0/drivers/block/xen-blkfront.c --- linux-intel-iotg-5.15-5.15.0/drivers/block/xen-blkfront.c +++ linux-intel-iotg-5.15-5.15.0/drivers/block/xen-blkfront.c @@ -780,7 +780,8 @@ ring_req->u.rw.handle = info->handle; ring_req->operation = rq_data_dir(req) ? BLKIF_OP_WRITE : BLKIF_OP_READ; - if (req_op(req) == REQ_OP_FLUSH || req->cmd_flags & REQ_FUA) { + if (req_op(req) == REQ_OP_FLUSH || + (req_op(req) == REQ_OP_WRITE && (req->cmd_flags & REQ_FUA))) { /* * Ideally we can do an unordered flush-to-disk. * In case the backend onlysupports barriers, use that. diff -u linux-intel-iotg-5.15-5.15.0/drivers/bluetooth/hci_qca.c linux-intel-iotg-5.15-5.15.0/drivers/bluetooth/hci_qca.c --- linux-intel-iotg-5.15-5.15.0/drivers/bluetooth/hci_qca.c +++ linux-intel-iotg-5.15-5.15.0/drivers/bluetooth/hci_qca.c @@ -78,7 +78,8 @@ QCA_HW_ERROR_EVENT, QCA_SSR_TRIGGERED, QCA_BT_OFF, - QCA_ROM_FW + QCA_ROM_FW, + QCA_DEBUGFS_CREATED, }; enum qca_capabilities { @@ -635,6 +636,9 @@ if (!hdev->debugfs) return; + if (test_and_set_bit(QCA_DEBUGFS_CREATED, &qca->flags)) + return; + ibs_dir = debugfs_create_dir("ibs", hdev->debugfs); /* read only */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/bus/intel-ixp4xx-eb.c linux-intel-iotg-5.15-5.15.0/drivers/bus/intel-ixp4xx-eb.c --- linux-intel-iotg-5.15-5.15.0/drivers/bus/intel-ixp4xx-eb.c +++ linux-intel-iotg-5.15-5.15.0/drivers/bus/intel-ixp4xx-eb.c @@ -33,7 +33,7 @@ #define IXP4XX_EXP_TIMING_STRIDE 0x04 #define IXP4XX_EXP_CS_EN BIT(31) #define IXP456_EXP_PAR_EN BIT(30) /* Only on IXP45x and IXP46x */ -#define IXP4XX_EXP_T1_MASK GENMASK(28, 27) +#define IXP4XX_EXP_T1_MASK GENMASK(29, 28) #define IXP4XX_EXP_T1_SHIFT 28 #define IXP4XX_EXP_T2_MASK GENMASK(27, 26) #define IXP4XX_EXP_T2_SHIFT 26 diff -u linux-intel-iotg-5.15-5.15.0/drivers/bus/ti-sysc.c linux-intel-iotg-5.15-5.15.0/drivers/bus/ti-sysc.c --- linux-intel-iotg-5.15-5.15.0/drivers/bus/ti-sysc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/bus/ti-sysc.c @@ -1759,7 +1759,7 @@ if (!ddata->module_va) return -EIO; - /* DISP_CONTROL */ + /* DISP_CONTROL, shut down lcd and digit on disable if enabled */ val = sysc_read(ddata, dispc_offset + 0x40); lcd_en = val & lcd_en_mask; digit_en = val & digit_en_mask; @@ -1771,7 +1771,7 @@ else irq_mask |= BIT(2) | BIT(3); /* EVSYNC bits */ } - if (disable & (lcd_en | digit_en)) + if (disable && (lcd_en || digit_en)) sysc_write(ddata, dispc_offset + 0x40, val & ~(lcd_en_mask | digit_en_mask)); diff -u linux-intel-iotg-5.15-5.15.0/drivers/char/agp/parisc-agp.c linux-intel-iotg-5.15-5.15.0/drivers/char/agp/parisc-agp.c --- linux-intel-iotg-5.15-5.15.0/drivers/char/agp/parisc-agp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/char/agp/parisc-agp.c @@ -90,6 +90,9 @@ { struct _parisc_agp_info *info = &parisc_agp_info; + /* force fdc ops to be visible to IOMMU */ + asm_io_sync(); + writeq(info->gart_base | ilog2(info->gart_size), info->ioc_regs+IOC_PCOM); readq(info->ioc_regs+IOC_PCOM); /* flush */ } @@ -158,6 +161,7 @@ info->gatt[j] = parisc_agp_mask_memory(agp_bridge, paddr, type); + asm_io_fdc(&info->gatt[j]); } } @@ -191,7 +195,16 @@ parisc_agp_mask_memory(struct agp_bridge_data *bridge, dma_addr_t addr, int type) { - return SBA_PDIR_VALID_BIT | addr; + unsigned ci; /* coherent index */ + dma_addr_t pa; + + pa = addr & IOVP_MASK; + asm("lci 0(%1), %0" : "=r" (ci) : "r" (phys_to_virt(pa))); + + pa |= (ci >> PAGE_SHIFT) & 0xff;/* move CI (8 bits) into lowest byte */ + pa |= SBA_PDIR_VALID_BIT; /* set "valid" bit */ + + return cpu_to_le64(pa); } static void diff -u linux-intel-iotg-5.15-5.15.0/drivers/char/hw_random/imx-rngc.c linux-intel-iotg-5.15-5.15.0/drivers/char/hw_random/imx-rngc.c --- linux-intel-iotg-5.15-5.15.0/drivers/char/hw_random/imx-rngc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/char/hw_random/imx-rngc.c @@ -110,7 +110,7 @@ cmd = readl(rngc->base + RNGC_COMMAND); writel(cmd | RNGC_CMD_SELF_TEST, rngc->base + RNGC_COMMAND); - ret = wait_for_completion_timeout(&rngc->rng_op_done, RNGC_TIMEOUT); + ret = wait_for_completion_timeout(&rngc->rng_op_done, msecs_to_jiffies(RNGC_TIMEOUT)); imx_rngc_irq_mask_clear(rngc); if (!ret) return -ETIMEDOUT; @@ -187,9 +187,7 @@ cmd = readl(rngc->base + RNGC_COMMAND); writel(cmd | RNGC_CMD_SEED, rngc->base + RNGC_COMMAND); - ret = wait_for_completion_timeout(&rngc->rng_op_done, - RNGC_TIMEOUT); - + ret = wait_for_completion_timeout(&rngc->rng_op_done, msecs_to_jiffies(RNGC_TIMEOUT)); if (!ret) { ret = -ETIMEDOUT; goto err; diff -u linux-intel-iotg-5.15-5.15.0/drivers/char/tpm/tpm_tis_core.c linux-intel-iotg-5.15-5.15.0/drivers/char/tpm/tpm_tis_core.c --- linux-intel-iotg-5.15-5.15.0/drivers/char/tpm/tpm_tis_core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/char/tpm/tpm_tis_core.c @@ -731,7 +731,9 @@ wake_up_interruptible(&priv->int_queue); /* Clear interrupts handled with TPM_EOI */ + tpm_tis_request_locality(chip, 0); rc = tpm_tis_write32(priv, TPM_INT_STATUS(priv->locality), interrupt); + tpm_tis_relinquish_locality(chip, 0); if (rc < 0) return IRQ_NONE; diff -u linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-si5341.c linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-si5341.c --- linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-si5341.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-si5341.c @@ -1554,7 +1554,7 @@ struct clk_init_data init; struct clk *input; const char *root_clock_name; - const char *synth_clock_names[SI5341_NUM_SYNTH]; + const char *synth_clock_names[SI5341_NUM_SYNTH] = { NULL }; int err; unsigned int i; struct clk_si5341_output_config config[SI5341_MAX_NUM_OUTPUTS]; @@ -1698,6 +1698,10 @@ for (i = 0; i < data->num_synth; ++i) { synth_clock_names[i] = devm_kasprintf(&client->dev, GFP_KERNEL, "%s.N%u", client->dev.of_node->name, i); + if (!synth_clock_names[i]) { + err = -ENOMEM; + goto free_clk_names; + } init.name = synth_clock_names[i]; data->synth[i].index = i; data->synth[i].data = data; @@ -1706,6 +1710,7 @@ if (err) { dev_err(&client->dev, "synth N%u registration failed\n", i); + goto free_clk_names; } } @@ -1715,6 +1720,10 @@ for (i = 0; i < data->num_outputs; ++i) { init.name = kasprintf(GFP_KERNEL, "%s.%d", client->dev.of_node->name, i); + if (!init.name) { + err = -ENOMEM; + goto free_clk_names; + } init.flags = config[i].synth_master ? CLK_SET_RATE_PARENT : 0; data->clk[i].index = i; data->clk[i].data = data; @@ -1736,7 +1745,7 @@ if (err) { dev_err(&client->dev, "output %u registration failed\n", i); - goto cleanup; + goto free_clk_names; } if (config[i].always_on) clk_prepare(data->clk[i].hw.clk); @@ -1746,7 +1755,7 @@ data); if (err) { dev_err(&client->dev, "unable to add clk provider\n"); - goto cleanup; + goto free_clk_names; } if (initialization_required) { @@ -1754,11 +1763,11 @@ regcache_cache_only(data->regmap, false); err = regcache_sync(data->regmap); if (err < 0) - goto cleanup; + goto free_clk_names; err = si5341_finalize_defaults(data); if (err < 0) - goto cleanup; + goto free_clk_names; } /* wait for device to report input clock present and PLL lock */ @@ -1767,32 +1776,31 @@ 10000, 250000); if (err) { dev_err(&client->dev, "Error waiting for input clock or PLL lock\n"); - goto cleanup; + goto free_clk_names; } /* clear sticky alarm bits from initialization */ err = regmap_write(data->regmap, SI5341_STATUS_STICKY, 0); if (err) { dev_err(&client->dev, "unable to clear sticky status\n"); - goto cleanup; + goto free_clk_names; } err = sysfs_create_files(&client->dev.kobj, si5341_attributes); - if (err) { + if (err) dev_err(&client->dev, "unable to create sysfs files\n"); - goto cleanup; - } +free_clk_names: /* Free the names, clk framework makes copies */ for (i = 0; i < data->num_synth; ++i) devm_kfree(&client->dev, (void *)synth_clock_names[i]); - return 0; - cleanup: - for (i = 0; i < SI5341_MAX_NUM_OUTPUTS; ++i) { - if (data->clk[i].vddo_reg) - regulator_disable(data->clk[i].vddo_reg); + if (err) { + for (i = 0; i < SI5341_MAX_NUM_OUTPUTS; ++i) { + if (data->clk[i].vddo_reg) + regulator_disable(data->clk[i].vddo_reg); + } } return err; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-versaclock5.c linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-versaclock5.c --- linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-versaclock5.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-versaclock5.c @@ -992,6 +992,11 @@ } init.name = kasprintf(GFP_KERNEL, "%pOFn.mux", client->dev.of_node); + if (!init.name) { + ret = -ENOMEM; + goto err_clk; + } + init.ops = &vc5_mux_ops; init.flags = 0; init.parent_names = parent_names; @@ -1006,6 +1011,10 @@ memset(&init, 0, sizeof(init)); init.name = kasprintf(GFP_KERNEL, "%pOFn.dbl", client->dev.of_node); + if (!init.name) { + ret = -ENOMEM; + goto err_clk; + } init.ops = &vc5_dbl_ops; init.flags = CLK_SET_RATE_PARENT; init.parent_names = parent_names; @@ -1021,6 +1030,10 @@ /* Register PFD */ memset(&init, 0, sizeof(init)); init.name = kasprintf(GFP_KERNEL, "%pOFn.pfd", client->dev.of_node); + if (!init.name) { + ret = -ENOMEM; + goto err_clk; + } init.ops = &vc5_pfd_ops; init.flags = CLK_SET_RATE_PARENT; init.parent_names = parent_names; @@ -1038,6 +1051,10 @@ /* Register PLL */ memset(&init, 0, sizeof(init)); init.name = kasprintf(GFP_KERNEL, "%pOFn.pll", client->dev.of_node); + if (!init.name) { + ret = -ENOMEM; + goto err_clk; + } init.ops = &vc5_pll_ops; init.flags = CLK_SET_RATE_PARENT; init.parent_names = parent_names; @@ -1057,6 +1074,10 @@ memset(&init, 0, sizeof(init)); init.name = kasprintf(GFP_KERNEL, "%pOFn.fod%d", client->dev.of_node, idx); + if (!init.name) { + ret = -ENOMEM; + goto err_clk; + } init.ops = &vc5_fod_ops; init.flags = CLK_SET_RATE_PARENT; init.parent_names = parent_names; @@ -1075,6 +1096,10 @@ memset(&init, 0, sizeof(init)); init.name = kasprintf(GFP_KERNEL, "%pOFn.out0_sel_i2cb", client->dev.of_node); + if (!init.name) { + ret = -ENOMEM; + goto err_clk; + } init.ops = &vc5_clk_out_ops; init.flags = CLK_SET_RATE_PARENT; init.parent_names = parent_names; @@ -1101,6 +1126,10 @@ memset(&init, 0, sizeof(init)); init.name = kasprintf(GFP_KERNEL, "%pOFn.out%d", client->dev.of_node, idx + 1); + if (!init.name) { + ret = -ENOMEM; + goto err_clk; + } init.ops = &vc5_clk_out_ops; init.flags = CLK_SET_RATE_PARENT; init.parent_names = parent_names; diff -u linux-intel-iotg-5.15-5.15.0/drivers/clk/clk.c linux-intel-iotg-5.15-5.15.0/drivers/clk/clk.c --- linux-intel-iotg-5.15-5.15.0/drivers/clk/clk.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/clk.c @@ -4504,6 +4504,7 @@ if (!ret) { devres->clk = clk; devres->nb = nb; + devres_add(dev, devres); } else { devres_free(devres); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mn.c linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mn.c --- linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mn.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mn.c @@ -299,7 +299,7 @@ void __iomem *base; int ret; - clk_hw_data = kzalloc(struct_size(clk_hw_data, hws, + clk_hw_data = devm_kzalloc(dev, struct_size(clk_hw_data, hws, IMX8MN_CLK_END), GFP_KERNEL); if (WARN_ON(!clk_hw_data)) return -ENOMEM; @@ -316,10 +316,10 @@ hws[IMX8MN_CLK_EXT4] = imx_obtain_fixed_clk_hw(np, "clk_ext4"); np = of_find_compatible_node(NULL, NULL, "fsl,imx8mn-anatop"); - base = of_iomap(np, 0); + base = devm_of_iomap(dev, np, 0, NULL); of_node_put(np); - if (WARN_ON(!base)) { - ret = -ENOMEM; + if (WARN_ON(IS_ERR(base))) { + ret = PTR_ERR(base); goto unregister_hws; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mp.c linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mp.c --- linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-imx8mp.c @@ -407,25 +407,22 @@ struct device *dev = &pdev->dev; struct device_node *np; void __iomem *anatop_base, *ccm_base; + int err; np = of_find_compatible_node(NULL, NULL, "fsl,imx8mp-anatop"); - anatop_base = of_iomap(np, 0); + anatop_base = devm_of_iomap(dev, np, 0, NULL); of_node_put(np); - if (WARN_ON(!anatop_base)) - return -ENOMEM; + if (WARN_ON(IS_ERR(anatop_base))) + return PTR_ERR(anatop_base); np = dev->of_node; ccm_base = devm_platform_ioremap_resource(pdev, 0); - if (WARN_ON(IS_ERR(ccm_base))) { - iounmap(anatop_base); + if (WARN_ON(IS_ERR(ccm_base))) return PTR_ERR(ccm_base); - } - clk_hw_data = kzalloc(struct_size(clk_hw_data, hws, IMX8MP_CLK_END), GFP_KERNEL); - if (WARN_ON(!clk_hw_data)) { - iounmap(anatop_base); + clk_hw_data = devm_kzalloc(dev, struct_size(clk_hw_data, hws, IMX8MP_CLK_END), GFP_KERNEL); + if (WARN_ON(!clk_hw_data)) return -ENOMEM; - } clk_hw_data->num = IMX8MP_CLK_END; hws = clk_hw_data->hws; @@ -710,7 +707,12 @@ imx_check_clk_hws(hws, IMX8MP_CLK_END); - of_clk_add_hw_provider(np, of_clk_hw_onecell_get, clk_hw_data); + err = of_clk_add_hw_provider(np, of_clk_hw_onecell_get, clk_hw_data); + if (err < 0) { + dev_err(dev, "failed to register hws for i.MX8MP\n"); + imx_unregister_hw_clocks(hws, IMX8MP_CLK_END); + return err; + } imx_register_uart_clocks(4); diff -u linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-scu.c linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-scu.c --- linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-scu.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/imx/clk-scu.c @@ -702,11 +702,11 @@ void imx_clk_scu_unregister(void) { - struct imx_scu_clk_node *clk; + struct imx_scu_clk_node *clk, *n; int i; for (i = 0; i < IMX_SC_R_LAST; i++) { - list_for_each_entry(clk, &imx_scu_clks[i], node) { + list_for_each_entry_safe(clk, n, &imx_scu_clks[i], node) { clk_hw_unregister(clk->hw); kfree(clk); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/clk/tegra/clk-tegra124-emc.c linux-intel-iotg-5.15-5.15.0/drivers/clk/tegra/clk-tegra124-emc.c --- linux-intel-iotg-5.15-5.15.0/drivers/clk/tegra/clk-tegra124-emc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/tegra/clk-tegra124-emc.c @@ -464,6 +464,7 @@ err = load_one_timing_from_dt(tegra, timing, child); if (err) { of_node_put(child); + kfree(tegra->timings); return err; } @@ -515,6 +516,7 @@ err = load_timings_from_dt(tegra, node, node_ram_code); if (err) { of_node_put(node); + kfree(tegra); return ERR_PTR(err); } } diff -u linux-intel-iotg-5.15-5.15.0/drivers/cpufreq/intel_pstate.c linux-intel-iotg-5.15-5.15.0/drivers/cpufreq/intel_pstate.c --- linux-intel-iotg-5.15-5.15.0/drivers/cpufreq/intel_pstate.c +++ linux-intel-iotg-5.15-5.15.0/drivers/cpufreq/intel_pstate.c @@ -298,6 +298,13 @@ static struct cpufreq_driver *intel_pstate_driver __read_mostly; +#define HYBRID_SCALING_FACTOR 78741 + +static inline int core_get_scaling(void) +{ + return 100000; +} + #ifdef CONFIG_ACPI static bool acpi_ppc; #endif @@ -396,6 +403,26 @@ return cppc_perf.nominal_perf; } + +static int intel_pstate_cppc_get_scaling(int cpu) +{ + struct cppc_perf_caps cppc_perf; + int ret; + + ret = cppc_get_perf_caps(cpu, &cppc_perf); + + /* + * If the nominal frequency and the nominal performance are not + * zero and the ratio between them is not 100, return the hybrid + * scaling factor. + */ + if (!ret && cppc_perf.nominal_perf && cppc_perf.nominal_freq && + cppc_perf.nominal_perf * 100 != cppc_perf.nominal_freq) + return HYBRID_SCALING_FACTOR; + + return core_get_scaling(); +} + #else /* CONFIG_ACPI_CPPC_LIB */ static inline void intel_pstate_set_itmt_prio(int cpu) { @@ -502,6 +529,11 @@ { return -ENOTSUPP; } + +static int intel_pstate_cppc_get_scaling(int cpu) +{ + return core_get_scaling(); +} #endif /* CONFIG_ACPI_CPPC_LIB */ /** @@ -834,6 +866,8 @@ err = cpufreq_start_governor(policy); if (!ret) ret = err; + } else { + ret = 0; } } @@ -1764,11 +1798,6 @@ return ret; } -static inline int core_get_scaling(void) -{ - return 100000; -} - static u64 core_get_val(struct cpudata *cpudata, int pstate) { u64 val; @@ -1805,16 +1834,28 @@ *cpu_type = get_this_hybrid_cpu_type(); } -static int hybrid_get_cpu_scaling(int cpu) +static int hwp_get_cpu_scaling(int cpu) { u8 cpu_type = 0; smp_call_function_single(cpu, hybrid_get_type, &cpu_type, 1); /* P-cores have a smaller perf level-to-freqency scaling factor. */ if (cpu_type == 0x40) - return 78741; + return HYBRID_SCALING_FACTOR; - return core_get_scaling(); + /* Use default core scaling for E-cores */ + if (cpu_type == 0x20) + return core_get_scaling(); + + /* + * If reached here, this system is either non-hybrid (like Tiger + * Lake) or hybrid-capable (like Alder Lake or Raptor Lake) with + * no E cores (in which case CPUID for hybrid support is 0). + * + * The CPPC nominal_frequency field is 0 for non-hybrid systems, + * so the default core scaling will be used for them. + */ + return intel_pstate_cppc_get_scaling(cpu); } static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate) @@ -3270,8 +3311,7 @@ if (!default_driver) default_driver = &intel_pstate; - if (boot_cpu_has(X86_FEATURE_HYBRID_CPU)) - pstate_funcs.get_cpu_scaling = hybrid_get_cpu_scaling; + pstate_funcs.get_cpu_scaling = hwp_get_cpu_scaling; goto hwp_cpu_matched; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/crypto/marvell/cesa/cipher.c linux-intel-iotg-5.15-5.15.0/drivers/crypto/marvell/cesa/cipher.c --- linux-intel-iotg-5.15-5.15.0/drivers/crypto/marvell/cesa/cipher.c +++ linux-intel-iotg-5.15-5.15.0/drivers/crypto/marvell/cesa/cipher.c @@ -297,7 +297,7 @@ static int mv_cesa_des3_ede_setkey(struct crypto_skcipher *cipher, const u8 *key, unsigned int len) { - struct mv_cesa_des_ctx *ctx = crypto_skcipher_ctx(cipher); + struct mv_cesa_des3_ctx *ctx = crypto_skcipher_ctx(cipher); int err; err = verify_skcipher_des3_key(cipher, key); diff -u linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_algs.c linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_algs.c --- linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_algs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_algs.c @@ -605,7 +605,7 @@ { struct qat_alg_aead_ctx *ctx = crypto_aead_ctx(tfm); struct qat_crypto_instance *inst = NULL; - int node = get_current_node(); + int node = numa_node_id(); struct device *dev; int ret; @@ -706,7 +706,8 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst, struct scatterlist *sgl, struct scatterlist *sglout, - struct qat_crypto_request *qat_req) + struct qat_crypto_request *qat_req, + gfp_t flags) { struct device *dev = &GET_DEV(inst->accel_dev); int i, sg_nctr = 0; @@ -727,7 +728,7 @@ qat_req->buf.sgl_dst_valid = false; if (n > QAT_MAX_BUFF_DESC) { - bufl = kzalloc_node(sz, GFP_ATOMIC, node); + bufl = kzalloc_node(sz, flags, node); if (unlikely(!bufl)) return -ENOMEM; } else { @@ -771,7 +772,7 @@ sg_nctr = 0; if (n > QAT_MAX_BUFF_DESC) { - buflout = kzalloc_node(sz_out, GFP_ATOMIC, node); + buflout = kzalloc_node(sz_out, flags, node); if (unlikely(!buflout)) goto err_in; } else { @@ -972,6 +973,7 @@ struct icp_qat_fw_la_auth_req_params *auth_param; struct icp_qat_fw_la_bulk_req *msg; int digst_size = crypto_aead_authsize(aead_tfm); + gfp_t f = qat_algs_alloc_flags(&areq->base); int ret; u32 cipher_len; @@ -979,7 +981,7 @@ if (cipher_len % AES_BLOCK_SIZE != 0) return -EINVAL; - ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req); + ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req, f); if (unlikely(ret)) return ret; @@ -1014,6 +1016,7 @@ struct qat_crypto_request *qat_req = aead_request_ctx(areq); struct icp_qat_fw_la_cipher_req_params *cipher_param; struct icp_qat_fw_la_auth_req_params *auth_param; + gfp_t f = qat_algs_alloc_flags(&areq->base); struct icp_qat_fw_la_bulk_req *msg; u8 *iv = areq->iv; int ret; @@ -1021,7 +1024,7 @@ if (areq->cryptlen % AES_BLOCK_SIZE != 0) return -EINVAL; - ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req); + ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req, f); if (unlikely(ret)) return ret; @@ -1068,7 +1071,7 @@ { struct qat_crypto_instance *inst = NULL; struct device *dev; - int node = get_current_node(); + int node = numa_node_id(); int ret; inst = qat_crypto_get_instance_node(node); @@ -1199,13 +1202,14 @@ struct qat_alg_skcipher_ctx *ctx = crypto_tfm_ctx(tfm); struct qat_crypto_request *qat_req = skcipher_request_ctx(req); struct icp_qat_fw_la_cipher_req_params *cipher_param; + gfp_t f = qat_algs_alloc_flags(&req->base); struct icp_qat_fw_la_bulk_req *msg; int ret; if (req->cryptlen == 0) return 0; - ret = qat_alg_sgl_to_bufl(ctx->inst, req->src, req->dst, qat_req); + ret = qat_alg_sgl_to_bufl(ctx->inst, req->src, req->dst, qat_req, f); if (unlikely(ret)) return ret; @@ -1264,13 +1268,14 @@ struct qat_alg_skcipher_ctx *ctx = crypto_tfm_ctx(tfm); struct qat_crypto_request *qat_req = skcipher_request_ctx(req); struct icp_qat_fw_la_cipher_req_params *cipher_param; + gfp_t f = qat_algs_alloc_flags(&req->base); struct icp_qat_fw_la_bulk_req *msg; int ret; if (req->cryptlen == 0) return 0; - ret = qat_alg_sgl_to_bufl(ctx->inst, req->src, req->dst, qat_req); + ret = qat_alg_sgl_to_bufl(ctx->inst, req->src, req->dst, qat_req, f); if (unlikely(ret)) return ret; diff -u linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_asym_algs.c linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_asym_algs.c --- linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_asym_algs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_asym_algs.c @@ -170,15 +170,14 @@ } areq->dst_len = req->ctx.dh->p_size; + dma_unmap_single(dev, req->out.dh.r, req->ctx.dh->p_size, + DMA_FROM_DEVICE); if (req->dst_align) { scatterwalk_map_and_copy(req->dst_align, areq->dst, 0, areq->dst_len, 1); kfree_sensitive(req->dst_align); } - dma_unmap_single(dev, req->out.dh.r, req->ctx.dh->p_size, - DMA_FROM_DEVICE); - dma_unmap_single(dev, req->phy_in, sizeof(struct qat_dh_input_params), DMA_TO_DEVICE); dma_unmap_single(dev, req->phy_out, @@ -224,9 +223,10 @@ struct qat_asym_request *qat_req = PTR_ALIGN(kpp_request_ctx(req), 64); struct icp_qat_fw_pke_request *msg = &qat_req->req; - int ret; + gfp_t flags = qat_algs_alloc_flags(&req->base); int n_input_params = 0; u8 *vaddr; + int ret; if (unlikely(!ctx->xa)) return -EINVAL; @@ -291,7 +291,7 @@ } else { int shift = ctx->p_size - req->src_len; - qat_req->src_align = kzalloc(ctx->p_size, GFP_KERNEL); + qat_req->src_align = kzalloc(ctx->p_size, flags); if (unlikely(!qat_req->src_align)) return ret; @@ -317,7 +317,7 @@ qat_req->dst_align = NULL; vaddr = sg_virt(req->dst); } else { - qat_req->dst_align = kzalloc(ctx->p_size, GFP_KERNEL); + qat_req->dst_align = kzalloc(ctx->p_size, flags); if (unlikely(!qat_req->dst_align)) goto unmap_src; @@ -331,13 +331,13 @@ qat_req->in.dh.in_tab[n_input_params] = 0; qat_req->out.dh.out_tab[1] = 0; /* Mapping in.in.b or in.in_g2.xa is the same */ - qat_req->phy_in = dma_map_single(dev, &qat_req->in.dh.in.b, + qat_req->phy_in = dma_map_single(dev, &qat_req->in.dh, sizeof(struct qat_dh_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; - qat_req->phy_out = dma_map_single(dev, &qat_req->out.dh.r, + qat_req->phy_out = dma_map_single(dev, &qat_req->out.dh, sizeof(struct qat_dh_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) @@ -488,11 +488,13 @@ { struct qat_dh_ctx *ctx = kpp_tfm_ctx(tfm); struct qat_crypto_instance *inst = - qat_crypto_get_instance_node(get_current_node()); + qat_crypto_get_instance_node(numa_node_id()); if (!inst) return -EINVAL; + kpp_set_reqsize(tfm, sizeof(struct qat_asym_request) + 64); + ctx->p_size = 0; ctx->g2 = false; ctx->inst = inst; @@ -518,12 +520,14 @@ err = (err == ICP_QAT_FW_COMN_STATUS_FLAG_OK) ? 0 : -EINVAL; - kfree_sensitive(req->src_align); - dma_unmap_single(dev, req->in.rsa.enc.m, req->ctx.rsa->key_sz, DMA_TO_DEVICE); + kfree_sensitive(req->src_align); + areq->dst_len = req->ctx.rsa->key_sz; + dma_unmap_single(dev, req->out.rsa.enc.c, req->ctx.rsa->key_sz, + DMA_FROM_DEVICE); if (req->dst_align) { scatterwalk_map_and_copy(req->dst_align, areq->dst, 0, areq->dst_len, 1); @@ -531,9 +535,6 @@ kfree_sensitive(req->dst_align); } - dma_unmap_single(dev, req->out.rsa.enc.c, req->ctx.rsa->key_sz, - DMA_FROM_DEVICE); - dma_unmap_single(dev, req->phy_in, sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); dma_unmap_single(dev, req->phy_out, @@ -650,6 +651,7 @@ struct qat_asym_request *qat_req = PTR_ALIGN(akcipher_request_ctx(req), 64); struct icp_qat_fw_pke_request *msg = &qat_req->req; + gfp_t flags = qat_algs_alloc_flags(&req->base); u8 *vaddr; int ret; @@ -696,7 +698,7 @@ } else { int shift = ctx->key_sz - req->src_len; - qat_req->src_align = kzalloc(ctx->key_sz, GFP_KERNEL); + qat_req->src_align = kzalloc(ctx->key_sz, flags); if (unlikely(!qat_req->src_align)) return ret; @@ -714,7 +716,7 @@ qat_req->dst_align = NULL; vaddr = sg_virt(req->dst); } else { - qat_req->dst_align = kzalloc(ctx->key_sz, GFP_KERNEL); + qat_req->dst_align = kzalloc(ctx->key_sz, flags); if (unlikely(!qat_req->dst_align)) goto unmap_src; vaddr = qat_req->dst_align; @@ -727,13 +729,13 @@ qat_req->in.rsa.in_tab[3] = 0; qat_req->out.rsa.out_tab[1] = 0; - qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.enc.m, + qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa, sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; - qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.enc.c, + qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa, sizeof(struct qat_rsa_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) @@ -783,6 +785,7 @@ struct qat_asym_request *qat_req = PTR_ALIGN(akcipher_request_ctx(req), 64); struct icp_qat_fw_pke_request *msg = &qat_req->req; + gfp_t flags = qat_algs_alloc_flags(&req->base); u8 *vaddr; int ret; @@ -839,7 +842,7 @@ } else { int shift = ctx->key_sz - req->src_len; - qat_req->src_align = kzalloc(ctx->key_sz, GFP_KERNEL); + qat_req->src_align = kzalloc(ctx->key_sz, flags); if (unlikely(!qat_req->src_align)) return ret; @@ -857,7 +860,7 @@ qat_req->dst_align = NULL; vaddr = sg_virt(req->dst); } else { - qat_req->dst_align = kzalloc(ctx->key_sz, GFP_KERNEL); + qat_req->dst_align = kzalloc(ctx->key_sz, flags); if (unlikely(!qat_req->dst_align)) goto unmap_src; vaddr = qat_req->dst_align; @@ -872,13 +875,13 @@ else qat_req->in.rsa.in_tab[3] = 0; qat_req->out.rsa.out_tab[1] = 0; - qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.dec.c, + qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa, sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; - qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.dec.m, + qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa, sizeof(struct qat_rsa_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) @@ -1222,11 +1225,13 @@ { struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); struct qat_crypto_instance *inst = - qat_crypto_get_instance_node(get_current_node()); + qat_crypto_get_instance_node(numa_node_id()); if (!inst) return -EINVAL; + akcipher_set_reqsize(tfm, sizeof(struct qat_asym_request) + 64); + ctx->key_sz = 0; ctx->inst = inst; return 0; @@ -1249,7 +1254,6 @@ .max_size = qat_rsa_max_size, .init = qat_rsa_init_tfm, .exit = qat_rsa_exit_tfm, - .reqsize = sizeof(struct qat_asym_request) + 64, .base = { .cra_name = "rsa", .cra_driver_name = "qat-rsa", @@ -1266,7 +1270,6 @@ .max_size = qat_dh_max_size, .init = qat_dh_init_tfm, .exit = qat_dh_exit_tfm, - .reqsize = sizeof(struct qat_asym_request) + 64, .base = { .cra_name = "dh", .cra_driver_name = "qat-dh", diff -u linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_crypto.h linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_crypto.h --- linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_crypto.h +++ linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/qat_crypto.h @@ -111,2 +111,7 @@ +static inline gfp_t qat_algs_alloc_flags(struct crypto_async_request *req) +{ + return req->flags & CRYPTO_TFM_REQ_MAY_SLEEP ? GFP_KERNEL : GFP_ATOMIC; +} + #endif diff -u linux-intel-iotg-5.15-5.15.0/drivers/dax/bus.c linux-intel-iotg-5.15-5.15.0/drivers/dax/bus.c --- linux-intel-iotg-5.15-5.15.0/drivers/dax/bus.c +++ linux-intel-iotg-5.15-5.15.0/drivers/dax/bus.c @@ -402,18 +402,34 @@ put_device(dev); } +static void dax_region_free(struct kref *kref) +{ + struct dax_region *dax_region; + + dax_region = container_of(kref, struct dax_region, kref); + kfree(dax_region); +} + +void dax_region_put(struct dax_region *dax_region) +{ + kref_put(&dax_region->kref, dax_region_free); +} +EXPORT_SYMBOL_GPL(dax_region_put); + /* a return value >= 0 indicates this invocation invalidated the id */ static int __free_dev_dax_id(struct dev_dax *dev_dax) { - struct dax_region *dax_region = dev_dax->region; struct device *dev = &dev_dax->dev; + struct dax_region *dax_region; int rc = dev_dax->id; device_lock_assert(dev); - if (is_static(dax_region) || dev_dax->id < 0) + if (!dev_dax->dyn_id || dev_dax->id < 0) return -1; + dax_region = dev_dax->region; ida_free(&dax_region->ida, dev_dax->id); + dax_region_put(dax_region); dev_dax->id = -1; return rc; } @@ -429,6 +445,20 @@ return rc; } +static int alloc_dev_dax_id(struct dev_dax *dev_dax) +{ + struct dax_region *dax_region = dev_dax->region; + int id; + + id = ida_alloc(&dax_region->ida, GFP_KERNEL); + if (id < 0) + return id; + kref_get(&dax_region->kref); + dev_dax->dyn_id = true; + dev_dax->id = id; + return id; +} + static ssize_t delete_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t len) { @@ -516,20 +546,6 @@ NULL, }; -static void dax_region_free(struct kref *kref) -{ - struct dax_region *dax_region; - - dax_region = container_of(kref, struct dax_region, kref); - kfree(dax_region); -} - -void dax_region_put(struct dax_region *dax_region) -{ - kref_put(&dax_region->kref, dax_region_free); -} -EXPORT_SYMBOL_GPL(dax_region_put); - static void dax_region_unregister(void *region) { struct dax_region *dax_region = region; @@ -591,10 +607,12 @@ static void dax_mapping_release(struct device *dev) { struct dax_mapping *mapping = to_dax_mapping(dev); - struct dev_dax *dev_dax = to_dev_dax(dev->parent); + struct device *parent = dev->parent; + struct dev_dax *dev_dax = to_dev_dax(parent); ida_free(&dev_dax->ida, mapping->id); kfree(mapping); + put_device(parent); } static void unregister_dax_mapping(void *data) @@ -734,6 +752,7 @@ dev = &mapping->dev; device_initialize(dev); dev->parent = &dev_dax->dev; + get_device(dev->parent); dev->type = &dax_mapping_type; dev_set_name(dev, "mapping%d", mapping->id); rc = device_add(dev); @@ -1251,12 +1270,10 @@ static void dev_dax_release(struct device *dev) { struct dev_dax *dev_dax = to_dev_dax(dev); - struct dax_region *dax_region = dev_dax->region; struct dax_device *dax_dev = dev_dax->dax_dev; put_dax(dax_dev); free_dev_dax_id(dev_dax); - dax_region_put(dax_region); kfree(dev_dax->pgmap); kfree(dev_dax); } @@ -1280,6 +1297,7 @@ if (!dev_dax) return ERR_PTR(-ENOMEM); + dev_dax->region = dax_region; if (is_static(dax_region)) { if (dev_WARN_ONCE(parent, data->id < 0, "dynamic id specified to static region\n")) { @@ -1295,13 +1313,11 @@ goto err_id; } - rc = ida_alloc(&dax_region->ida, GFP_KERNEL); + rc = alloc_dev_dax_id(dev_dax); if (rc < 0) goto err_id; - dev_dax->id = rc; } - dev_dax->region = dax_region; dev = &dev_dax->dev; device_initialize(dev); dev_set_name(dev, "dax%d.%d", dax_region->id, dev_dax->id); @@ -1339,7 +1355,6 @@ dev_dax->target_node = dax_region->target_node; dev_dax->align = dax_region->align; ida_init(&dev_dax->ida); - kref_get(&dax_region->kref); inode = dax_inode(dax_dev); dev->devt = inode->i_rdev; diff -u linux-intel-iotg-5.15-5.15.0/drivers/dax/kmem.c linux-intel-iotg-5.15-5.15.0/drivers/dax/kmem.c --- linux-intel-iotg-5.15-5.15.0/drivers/dax/kmem.c +++ linux-intel-iotg-5.15-5.15.0/drivers/dax/kmem.c @@ -88,7 +88,7 @@ if (!data->res_name) goto err_res_name; - rc = memory_group_register_static(numa_node, total_len); + rc = memory_group_register_static(numa_node, PFN_UP(total_len)); if (rc < 0) goto err_reg_mgid; data->mgid = rc; diff -u linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon-usbc-tusb320.c linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon-usbc-tusb320.c --- linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon-usbc-tusb320.c +++ linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon-usbc-tusb320.c @@ -428,8 +428,7 @@ return 0; } -static int tusb320_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int tusb320_probe(struct i2c_client *client) { struct tusb320_priv *priv; const void *match_data; @@ -502,7 +501,7 @@ MODULE_DEVICE_TABLE(of, tusb320_extcon_dt_match); static struct i2c_driver tusb320_extcon_driver = { - .probe = tusb320_probe, + .probe_new = tusb320_probe, .driver = { .name = "extcon-tusb320", .of_match_table = tusb320_extcon_dt_match, diff -u linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon.c linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon.c --- linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon.c +++ linux-intel-iotg-5.15-5.15.0/drivers/extcon/extcon.c @@ -196,6 +196,14 @@ * @attr_name: "name" sysfs entry * @attr_state: "state" sysfs entry * @attrs: the array pointing to attr_name and attr_state for attr_g + * @usb_propval: the array of USB connector properties + * @chg_propval: the array of charger connector properties + * @jack_propval: the array of jack connector properties + * @disp_propval: the array of display connector properties + * @usb_bits: the bit array of the USB connector property capabilities + * @chg_bits: the bit array of the charger connector property capabilities + * @jack_bits: the bit array of the jack connector property capabilities + * @disp_bits: the bit array of the display connector property capabilities */ struct extcon_cable { struct extcon_dev *edev; diff -u linux-intel-iotg-5.15-5.15.0/drivers/firmware/arm_ffa/driver.c linux-intel-iotg-5.15-5.15.0/drivers/firmware/arm_ffa/driver.c --- linux-intel-iotg-5.15-5.15.0/drivers/firmware/arm_ffa/driver.c +++ linux-intel-iotg-5.15-5.15.0/drivers/firmware/arm_ffa/driver.c @@ -454,6 +454,7 @@ ep_mem_access->flag = 0; ep_mem_access->reserved = 0; } + mem_region->handle = 0; mem_region->reserved_0 = 0; mem_region->reserved_1 = 0; mem_region->ep_count = args->nattrs; diff -u linux-intel-iotg-5.15-5.15.0/drivers/firmware/stratix10-svc.c linux-intel-iotg-5.15-5.15.0/drivers/firmware/stratix10-svc.c --- linux-intel-iotg-5.15-5.15.0/drivers/firmware/stratix10-svc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/firmware/stratix10-svc.c @@ -622,7 +622,7 @@ end = rounddown(sh_memory->addr + sh_memory->size, PAGE_SIZE); paddr = begin; size = end - begin; - va = memremap(paddr, size, MEMREMAP_WC); + va = devm_memremap(dev, paddr, size, MEMREMAP_WC); if (!va) { dev_err(dev, "fail to remap shared memory\n"); return ERR_PTR(-EINVAL); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpio-sifive.c linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpio-sifive.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpio-sifive.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpio-sifive.c @@ -215,8 +215,12 @@ return -ENODEV; } - for (i = 0; i < ngpio; i++) - chip->irq_number[i] = platform_get_irq(pdev, i); + for (i = 0; i < ngpio; i++) { + ret = platform_get_irq(pdev, i); + if (ret < 0) + return ret; + chip->irq_number[i] = ret; + } ret = bgpio_init(&chip->gc, dev, 4, chip->base + SIFIVE_GPIO_INPUT_VAL, diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpiolib.c linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpiolib.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpiolib.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpio/gpiolib.c @@ -1578,9 +1578,14 @@ } if (gc->irq.parent_handler) { - void *data = gc->irq.parent_handler_data ?: gc; - for (i = 0; i < gc->irq.num_parents; i++) { + void *data; + + if (gc->irq.per_parent_data) + data = gc->irq.parent_handler_data_array[i]; + else + data = gc->irq.parent_handler_data ?: gc; + /* * The parent IRQ chip is already using the chip_data * for this IRQ chip, so our callbacks simply use the @@ -1678,6 +1683,14 @@ gc->to_irq = gpiochip_to_irq; gc->irq.domain = domain; + /* + * Using barrier() here to prevent compiler from reordering + * gc->irq.initialized before adding irqdomain. + */ + barrier(); + + gc->irq.initialized = true; + return 0; } EXPORT_SYMBOL_GPL(gpiochip_irqchip_add_domain); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c @@ -2350,6 +2350,9 @@ if (!attachment->is_mapped) continue; + if (attachment->bo_va->base.bo->tbo.pin_count) + continue; + kfd_mem_dmaunmap_attachment(mem, attachment); ret = update_gpuvm_pte(mem, attachment, &sync_obj, NULL); if (ret) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -1557,6 +1557,7 @@ 0x5874, 0x5940, 0x5941, + 0x5b70, 0x5b72, 0x5b73, 0x5b74, diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -78,9 +78,10 @@ static void amdgpu_bo_vm_destroy(struct ttm_buffer_object *tbo) { struct amdgpu_device *adev = amdgpu_ttm_adev(tbo->bdev); - struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); + struct amdgpu_bo *shadow_bo = ttm_to_amdgpu_bo(tbo), *bo; struct amdgpu_bo_vm *vmbo; + bo = shadow_bo->parent; vmbo = to_amdgpu_bo_vm(bo); /* in case amdgpu_device_recover_vram got NULL of bo->parent */ if (!list_empty(&vmbo->shadow_list)) { @@ -684,13 +685,11 @@ * num of amdgpu_vm_pt entries. */ BUG_ON(bp->bo_ptr_size < sizeof(struct amdgpu_bo_vm)); - bp->destroy = &amdgpu_bo_vm_destroy; r = amdgpu_bo_create(adev, bp, &bo_ptr); if (r) return r; *vmbo_ptr = to_amdgpu_bo_vm(bo_ptr); - INIT_LIST_HEAD(&(*vmbo_ptr)->shadow_list); return r; } @@ -741,6 +740,8 @@ mutex_lock(&adev->shadow_list_lock); list_add_tail(&vmbo->shadow_list, &adev->shadow_list); + vmbo->shadow->parent = amdgpu_bo_ref(&vmbo->bo); + vmbo->shadow->tbo.destroy = &amdgpu_bo_vm_destroy; mutex_unlock(&adev->shadow_list_lock); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -983,7 +983,6 @@ return r; } - (*vmbo)->shadow->parent = amdgpu_bo_ref(bo); amdgpu_bo_add_to_shadow_list(*vmbo); return 0; @@ -2335,14 +2334,14 @@ uint64_t eaddr; /* validate the parameters */ - if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || - size == 0 || size & ~PAGE_MASK) + if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || size & ~PAGE_MASK) + return -EINVAL; + if (saddr + size <= saddr || offset + size <= offset) return -EINVAL; /* make sure object fit at this offset */ eaddr = saddr + size - 1; - if (saddr >= eaddr || - (bo && offset + size > amdgpu_bo_size(bo)) || + if ((bo && offset + size > amdgpu_bo_size(bo)) || (eaddr >= adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT)) return -EINVAL; @@ -2401,14 +2400,14 @@ int r; /* validate the parameters */ - if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || - size == 0 || size & ~PAGE_MASK) + if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || size & ~PAGE_MASK) + return -EINVAL; + if (saddr + size <= saddr || offset + size <= offset) return -EINVAL; /* make sure object fit at this offset */ eaddr = saddr + size - 1; - if (saddr >= eaddr || - (bo && offset + size > amdgpu_bo_size(bo)) || + if ((bo && offset + size > amdgpu_bo_size(bo)) || (eaddr >= adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT)) return -EINVAL; @@ -2576,18 +2575,30 @@ /* Insert partial mapping before the range */ if (!list_empty(&before->list)) { + struct amdgpu_bo *bo = before->bo_va->base.bo; + amdgpu_vm_it_insert(before, &vm->va); if (before->flags & AMDGPU_PTE_PRT) amdgpu_vm_prt_get(adev); + + if (bo && bo->tbo.base.resv == vm->root.bo->tbo.base.resv && + !before->bo_va->base.moved) + amdgpu_vm_bo_moved(&before->bo_va->base); } else { kfree(before); } /* Insert partial mapping after the range */ if (!list_empty(&after->list)) { + struct amdgpu_bo *bo = after->bo_va->base.bo; + amdgpu_vm_it_insert(after, &vm->va); if (after->flags & AMDGPU_PTE_PRT) amdgpu_vm_prt_get(adev); + + if (bo && bo->tbo.base.resv == vm->root.bo->tbo.base.resv && + !after->bo_va->base.moved) + amdgpu_vm_bo_moved(&after->bo_va->base); } else { kfree(after); } @@ -3275,6 +3286,10 @@ long timeout = msecs_to_jiffies(2000); int r; + /* No valid flags defined yet */ + if (args->in.flags) + return -EINVAL; + switch (args->in.op) { case AMDGPU_VM_OP_RESERVE_VMID: /* We only have requirement to reserve vmid from gfxhub */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -7197,8 +7197,10 @@ return r; r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); - if (unlikely(r != 0)) + if (unlikely(r != 0)) { + amdgpu_bo_unreserve(ring->mqd_obj); return r; + } gfx_v10_0_kiq_init_queue(ring); amdgpu_bo_kunmap(ring->mqd_obj); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c @@ -3871,8 +3871,10 @@ return r; r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr); - if (unlikely(r != 0)) + if (unlikely(r != 0)) { + amdgpu_bo_unreserve(ring->mqd_obj); return r; + } gfx_v9_0_kiq_init_queue(ring); amdgpu_bo_kunmap(ring->mqd_obj); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/vi.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/vi.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/vi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdgpu/vi.c @@ -542,8 +542,15 @@ u32 reference_clock = adev->clock.spll.reference_freq; u32 tmp; - if (adev->flags & AMD_IS_APU) - return reference_clock; + if (adev->flags & AMD_IS_APU) { + switch (adev->asic_type) { + case CHIP_STONEY: + /* vbios says 48Mhz, but the actual freq is 100Mhz */ + return 10000; + default: + return reference_clock; + } + } tmp = RREG32_SMC(ixCG_CLKPIN_CNTL_2); if (REG_GET_FIELD(tmp, CG_CLKPIN_CNTL_2, MUX_TCLK_TO_XCLK)) diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -356,6 +356,35 @@ } /** + * update_planes_and_stream_adapter() - Send planes to be updated in DC + * + * DC has a generic way to update planes and stream via + * dc_update_planes_and_stream function; however, DM might need some + * adjustments and preparation before calling it. This function is a wrapper + * for the dc_update_planes_and_stream that does any required configuration + * before passing control to DC. + */ +static inline bool update_planes_and_stream_adapter(struct dc *dc, + int update_type, + int planes_count, + struct dc_stream_state *stream, + struct dc_stream_update *stream_update, + struct dc_surface_update *array_of_surface_update) +{ + /* + * Previous frame finished and HW is ready for optimization. + */ + if (update_type == UPDATE_TYPE_FAST) + dc_post_update_surfaces_to_stream(dc); + + return dc_update_planes_and_stream(dc, + array_of_surface_update, + planes_count, + stream, + stream_update); +} + +/** * dm_pflip_high_irq() - Handle pageflip interrupt * @interrupt_params: ignored * @@ -2602,10 +2631,13 @@ bundle->surface_updates[m].surface->force_full_update = true; } - dc_commit_updates_for_stream( - dm->dc, bundle->surface_updates, - dc_state->stream_status->plane_count, - dc_state->streams[k], &bundle->stream_update, dc_state); + + update_planes_and_stream_adapter(dm->dc, + UPDATE_TYPE_FULL, + dc_state->stream_status->plane_count, + dc_state->streams[k], + &bundle->stream_update, + bundle->surface_updates); } cleanup: @@ -9278,6 +9310,12 @@ if (acrtc_state->abm_level != dm_old_crtc_state->abm_level) bundle->stream_update.abm_level = &acrtc_state->abm_level; + mutex_lock(&dm->dc_lock); + if ((acrtc_state->update_type > UPDATE_TYPE_FAST) && + acrtc_state->stream->link->psr_settings.psr_allow_active) + amdgpu_dm_psr_disable(acrtc_state->stream); + mutex_unlock(&dm->dc_lock); + /* * If FreeSync state on the stream has changed then we need to * re-adjust the min/max bounds now that DC doesn't handle this @@ -9291,16 +9329,13 @@ spin_unlock_irqrestore(&pcrtc->dev->event_lock, flags); } mutex_lock(&dm->dc_lock); - if ((acrtc_state->update_type > UPDATE_TYPE_FAST) && - acrtc_state->stream->link->psr_settings.psr_allow_active) - amdgpu_dm_psr_disable(acrtc_state->stream); - dc_commit_updates_for_stream(dm->dc, - bundle->surface_updates, - planes_count, - acrtc_state->stream, - &bundle->stream_update, - dc_state); + update_planes_and_stream_adapter(dm->dc, + acrtc_state->update_type, + planes_count, + acrtc_state->stream, + &bundle->stream_update, + bundle->surface_updates); /** * Enable or disable the interrupts on the backend. @@ -9726,12 +9761,11 @@ mutex_lock(&dm->dc_lock); - dc_commit_updates_for_stream(dm->dc, - dummy_updates, - status->plane_count, - dm_new_crtc_state->stream, - &stream_update, - dc_state); + dc_update_planes_and_stream(dm->dc, + dummy_updates, + status->plane_count, + dm_new_crtc_state->stream, + &stream_update); mutex_unlock(&dm->dc_lock); } @@ -10235,6 +10269,8 @@ /* Now check if we should set freesync video mode */ if (amdgpu_freesync_vid_mode && dm_new_crtc_state->stream && + dc_is_stream_unchanged(new_stream, dm_old_crtc_state->stream) && + dc_is_stream_scaling_unchanged(new_stream, dm_old_crtc_state->stream) && is_timing_unchanged_for_freesync(new_crtc_state, old_crtc_state)) { new_crtc_state->mode_changed = false; diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/core/dc.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/core/dc.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/core/dc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -2206,9 +2206,6 @@ enum surface_update_type overall_type = UPDATE_TYPE_FAST; union surface_update_flags *update_flags = &u->surface->update_flags; - if (u->flip_addr) - update_flags->bits.addr_update = 1; - if (!is_surface_in_context(context, u->surface) || u->surface->force_full_update) { update_flags->raw = 0xFFFFFFFF; return UPDATE_TYPE_FULL; @@ -2629,6 +2626,137 @@ } } +void dc_reset_state(struct dc *dc, struct dc_state *context) +{ + dc_resource_state_destruct(context); + + /* clear the structure, but don't reset the reference count */ + memset(context, 0, offsetof(struct dc_state, refcount)); + + init_state(dc, context); +} + +static bool update_planes_and_stream_state(struct dc *dc, + struct dc_surface_update *srf_updates, int surface_count, + struct dc_stream_state *stream, + struct dc_stream_update *stream_update, + enum surface_update_type *new_update_type, + struct dc_state **new_context) +{ + struct dc_state *context; + int i, j; + enum surface_update_type update_type; + const struct dc_stream_status *stream_status; + struct dc_context *dc_ctx = dc->ctx; + + stream_status = dc_stream_get_status(stream); + + if (!stream_status) { + if (surface_count) /* Only an error condition if surf_count non-zero*/ + ASSERT(false); + + return false; /* Cannot commit surface to stream that is not committed */ + } + + context = dc->current_state; + + update_type = dc_check_update_surfaces_for_stream( + dc, srf_updates, surface_count, stream_update, stream_status); + + /* update current stream with the new updates */ + copy_stream_update_to_stream(dc, context, stream, stream_update); + + /* do not perform surface update if surface has invalid dimensions + * (all zero) and no scaling_info is provided + */ + if (surface_count > 0) { + for (i = 0; i < surface_count; i++) { + if ((srf_updates[i].surface->src_rect.width == 0 || + srf_updates[i].surface->src_rect.height == 0 || + srf_updates[i].surface->dst_rect.width == 0 || + srf_updates[i].surface->dst_rect.height == 0) && + (!srf_updates[i].scaling_info || + srf_updates[i].scaling_info->src_rect.width == 0 || + srf_updates[i].scaling_info->src_rect.height == 0 || + srf_updates[i].scaling_info->dst_rect.width == 0 || + srf_updates[i].scaling_info->dst_rect.height == 0)) { + DC_ERROR("Invalid src/dst rects in surface update!\n"); + return false; + } + } + } + + if (update_type >= update_surface_trace_level) + update_surface_trace(dc, srf_updates, surface_count); + + if (update_type >= UPDATE_TYPE_FULL) { + struct dc_plane_state *new_planes[MAX_SURFACES] = {0}; + + for (i = 0; i < surface_count; i++) + new_planes[i] = srf_updates[i].surface; + + /* initialize scratch memory for building context */ + context = dc_create_state(dc); + if (context == NULL) { + DC_ERROR("Failed to allocate new validate context!\n"); + return false; + } + + dc_resource_state_copy_construct( + dc->current_state, context); + + /*remove old surfaces from context */ + if (!dc_rem_all_planes_for_stream(dc, stream, context)) { + + BREAK_TO_DEBUGGER(); + goto fail; + } + + /* add surface to context */ + if (!dc_add_all_planes_for_stream(dc, stream, new_planes, surface_count, context)) { + + BREAK_TO_DEBUGGER(); + goto fail; + } + } + + /* save update parameters into surface */ + for (i = 0; i < surface_count; i++) { + struct dc_plane_state *surface = srf_updates[i].surface; + + copy_surface_update_to_plane(surface, &srf_updates[i]); + + if (update_type >= UPDATE_TYPE_MED) { + for (j = 0; j < dc->res_pool->pipe_count; j++) { + struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[j]; + + if (pipe_ctx->plane_state != surface) + continue; + + resource_build_scaling_params(pipe_ctx); + } + } + } + + if (update_type == UPDATE_TYPE_FULL) { + if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) { + BREAK_TO_DEBUGGER(); + goto fail; + } + } + + *new_context = context; + *new_update_type = update_type; + + return true; + +fail: + dc_release_state(context); + + return false; + +} + static void commit_planes_do_stream_update(struct dc *dc, struct dc_stream_state *stream, struct dc_stream_update *stream_update, @@ -3026,6 +3154,152 @@ } } +static bool commit_minimal_transition_state(struct dc *dc, + struct dc_state *transition_base_context) +{ + struct dc_state *transition_context = dc_create_state(dc); + enum pipe_split_policy tmp_policy; + enum dc_status ret = DC_ERROR_UNEXPECTED; + unsigned int i, j; + + if (!transition_context) + return false; + + tmp_policy = dc->debug.pipe_split_policy; + dc->debug.pipe_split_policy = MPC_SPLIT_AVOID; + + dc_resource_state_copy_construct(transition_base_context, transition_context); + + //commit minimal state + if (dc->res_pool->funcs->validate_bandwidth(dc, transition_context, false)) { + for (i = 0; i < transition_context->stream_count; i++) { + struct dc_stream_status *stream_status = &transition_context->stream_status[i]; + + for (j = 0; j < stream_status->plane_count; j++) { + struct dc_plane_state *plane_state = stream_status->plane_states[j]; + + /* force vsync flip when reconfiguring pipes to prevent underflow + * and corruption + */ + plane_state->flip_immediate = false; + } + } + + ret = dc_commit_state_no_check(dc, transition_context); + } + + //always release as dc_commit_state_no_check retains in good case + dc_release_state(transition_context); + + //restore previous pipe split policy + dc->debug.pipe_split_policy = tmp_policy; + + if (ret != DC_OK) { + //this should never happen + BREAK_TO_DEBUGGER(); + return false; + } + + //force full surface update + for (i = 0; i < dc->current_state->stream_count; i++) { + for (j = 0; j < dc->current_state->stream_status[i].plane_count; j++) { + dc->current_state->stream_status[i].plane_states[j]->update_flags.raw = 0xFFFFFFFF; + } + } + + return true; +} + +bool dc_update_planes_and_stream(struct dc *dc, + struct dc_surface_update *srf_updates, int surface_count, + struct dc_stream_state *stream, + struct dc_stream_update *stream_update) +{ + struct dc_state *context; + enum surface_update_type update_type; + int i; + + /* In cases where MPO and split or ODM are used transitions can + * cause underflow. Apply stream configuration with minimal pipe + * split first to avoid unsupported transitions for active pipes. + */ + bool force_minimal_pipe_splitting = false; + bool is_plane_addition = false; + + struct dc_stream_status *cur_stream_status = stream_get_status(dc->current_state, stream); + + if (cur_stream_status && + dc->current_state->stream_count > 0 && + dc->debug.pipe_split_policy != MPC_SPLIT_AVOID) { + /* determine if minimal transition is required */ + if (cur_stream_status->plane_count > surface_count) { + force_minimal_pipe_splitting = true; + } else if (cur_stream_status->plane_count < surface_count) { + force_minimal_pipe_splitting = true; + is_plane_addition = true; + } + } + + /* on plane addition, minimal state is the current one */ + if (force_minimal_pipe_splitting && is_plane_addition && + !commit_minimal_transition_state(dc, dc->current_state)) + return false; + + if (!update_planes_and_stream_state( + dc, + srf_updates, + surface_count, + stream, + stream_update, + &update_type, + &context)) + return false; + + /* on plane addition, minimal state is the new one */ + if (force_minimal_pipe_splitting && !is_plane_addition) { + if (!commit_minimal_transition_state(dc, context)) { + dc_release_state(context); + return false; + } + + update_type = UPDATE_TYPE_FULL; + } + + commit_planes_for_stream( + dc, + srf_updates, + surface_count, + stream, + stream_update, + update_type, + context); + + if (dc->current_state != context) { + + /* Since memory free requires elevated IRQL, an interrupt + * request is generated by mem free. If this happens + * between freeing and reassigning the context, our vsync + * interrupt will call into dc and cause a memory + * corruption BSOD. Hence, we first reassign the context, + * then free the old context. + */ + + struct dc_state *old = dc->current_state; + + dc->current_state = context; + dc_release_state(old); + + // clear any forced full updates + for (i = 0; i < dc->res_pool->pipe_count; i++) { + struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[i]; + + if (pipe_ctx->plane_state && pipe_ctx->stream == stream) + pipe_ctx->plane_state->force_full_update = false; + } + } + return true; +} + void dc_commit_updates_for_stream(struct dc *dc, struct dc_surface_update *srf_updates, int surface_count, diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/dc_stream.h linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/dc_stream.h --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/dc_stream.h +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/dc_stream.h @@ -288,6 +288,9 @@ struct dc_stream_state *old_stream, struct dc_stream_state *stream); /* + * Setup stream attributes if no stream updates are provided + * there will be no impact on the stream parameters + * * Set up surface attributes and associate to a stream * The surfaces parameter is an absolute set of all surface active for the stream. * If no surfaces are provided, the stream will be blanked; no memory read. @@ -296,8 +299,23 @@ * After this call: * Surfaces attributes are programmed and configured to be composed into stream. * This does not trigger a flip. No surface address is programmed. + * */ +bool dc_update_planes_and_stream(struct dc *dc, + struct dc_surface_update *surface_updates, int surface_count, + struct dc_stream_state *dc_stream, + struct dc_stream_update *stream_update); +/* + * Set up surface attributes and associate to a stream + * The surfaces parameter is an absolute set of all surface active for the stream. + * If no surfaces are provided, the stream will be blanked; no memory read. + * Any flip related attribute changes must be done through this interface. + * + * After this call: + * Surfaces attributes are programmed and configured to be composed into stream. + * This does not trigger a flip. No surface address is programmed. + */ void dc_commit_updates_for_stream(struct dc *dc, struct dc_surface_update *srf_updates, int surface_count, diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dmub/dmub_srv.h linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dmub/dmub_srv.h --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dmub/dmub_srv.h +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dmub/dmub_srv.h @@ -450,7 +450,7 @@ * of a firmware to know if feature or functionality is supported or present. */ #define DMUB_FW_VERSION(major, minor, revision) \ - ((((major) & 0xFF) << 24) | (((minor) & 0xFF) << 16) | ((revision) & 0xFFFF)) + ((((major) & 0xFF) << 24) | (((minor) & 0xFF) << 16) | (((revision) & 0xFF) << 8)) /** * dmub_srv_create() - creates the DMUB service. diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c @@ -1928,33 +1928,94 @@ return 0; } +static void sienna_cichlid_get_override_pcie_settings(struct smu_context *smu, + uint32_t *gen_speed_override, + uint32_t *lane_width_override) +{ + struct amdgpu_device *adev = smu->adev; + + *gen_speed_override = 0xff; + *lane_width_override = 0xff; + + switch (adev->pdev->device) { + case 0x73A0: + case 0x73A1: + case 0x73A2: + case 0x73A3: + case 0x73AB: + case 0x73AE: + /* Bit 7:0: PCIE lane width, 1 to 7 corresponds is x1 to x32 */ + *lane_width_override = 6; + break; + case 0x73E0: + case 0x73E1: + case 0x73E3: + *lane_width_override = 4; + break; + case 0x7420: + case 0x7421: + case 0x7422: + case 0x7423: + case 0x7424: + *lane_width_override = 3; + break; + default: + break; + } +} + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + static int sienna_cichlid_update_pcie_parameters(struct smu_context *smu, uint32_t pcie_gen_cap, uint32_t pcie_width_cap) { struct smu_11_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context; - - uint32_t smu_pcie_arg; + struct smu_11_0_pcie_table *pcie_table = &dpm_context->dpm_tables.pcie_table; + uint32_t gen_speed_override, lane_width_override; uint8_t *table_member1, *table_member2; + uint32_t min_gen_speed, max_gen_speed; + uint32_t min_lane_width, max_lane_width; + uint32_t smu_pcie_arg; int ret, i; GET_PPTABLE_MEMBER(PcieGenSpeed, &table_member1); GET_PPTABLE_MEMBER(PcieLaneCount, &table_member2); - /* lclk dpm table setup */ - for (i = 0; i < MAX_PCIE_CONF; i++) { - dpm_context->dpm_tables.pcie_table.pcie_gen[i] = table_member1[i]; - dpm_context->dpm_tables.pcie_table.pcie_lane[i] = table_member2[i]; + sienna_cichlid_get_override_pcie_settings(smu, + &gen_speed_override, + &lane_width_override); + + /* PCIE gen speed override */ + if (gen_speed_override != 0xff) { + min_gen_speed = MIN(pcie_gen_cap, gen_speed_override); + max_gen_speed = MIN(pcie_gen_cap, gen_speed_override); + } else { + min_gen_speed = MAX(0, table_member1[0]); + max_gen_speed = MIN(pcie_gen_cap, table_member1[1]); + min_gen_speed = min_gen_speed > max_gen_speed ? + max_gen_speed : min_gen_speed; } + pcie_table->pcie_gen[0] = min_gen_speed; + pcie_table->pcie_gen[1] = max_gen_speed; + + /* PCIE lane width override */ + if (lane_width_override != 0xff) { + min_lane_width = MIN(pcie_width_cap, lane_width_override); + max_lane_width = MIN(pcie_width_cap, lane_width_override); + } else { + min_lane_width = MAX(1, table_member2[0]); + max_lane_width = MIN(pcie_width_cap, table_member2[1]); + min_lane_width = min_lane_width > max_lane_width ? + max_lane_width : min_lane_width; + } + pcie_table->pcie_lane[0] = min_lane_width; + pcie_table->pcie_lane[1] = max_lane_width; for (i = 0; i < NUM_LINK_LEVELS; i++) { - smu_pcie_arg = (i << 16) | - ((table_member1[i] <= pcie_gen_cap) ? - (table_member1[i] << 8) : - (pcie_gen_cap << 8)) | - ((table_member2[i] <= pcie_width_cap) ? - table_member2[i] : - pcie_width_cap); + smu_pcie_arg = (i << 16 | + pcie_table->pcie_gen[i] << 8 | + pcie_table->pcie_lane[i]); ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_OverridePcieParameters, @@ -1962,11 +2023,6 @@ NULL); if (ret) return ret; - - if (table_member1[i] > pcie_gen_cap) - dpm_context->dpm_tables.pcie_table.pcie_gen[i] = pcie_gen_cap; - if (table_member2[i] > pcie_width_cap) - dpm_context->dpm_tables.pcie_table.pcie_lane[i] = pcie_width_cap; } return 0; diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c @@ -456,11 +456,11 @@ if (smu_power->power_context || smu_power->power_context_size != 0) return -EINVAL; - smu_power->power_context = kzalloc(sizeof(struct smu_13_0_dpm_context), + smu_power->power_context = kzalloc(sizeof(struct smu_13_0_power_context), GFP_KERNEL); if (!smu_power->power_context) return -ENOMEM; - smu_power->power_context_size = sizeof(struct smu_13_0_dpm_context); + smu_power->power_context_size = sizeof(struct smu_13_0_power_context); return 0; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/bridge/ti-sn65dsi86.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/bridge/ti-sn65dsi86.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -147,9 +147,9 @@ * each other's read-modify-write. */ struct ti_sn65dsi86 { - struct auxiliary_device bridge_aux; - struct auxiliary_device gpio_aux; - struct auxiliary_device aux_aux; + struct auxiliary_device *bridge_aux; + struct auxiliary_device *gpio_aux; + struct auxiliary_device *aux_aux; struct device *dev; struct regmap *regmap; @@ -412,27 +412,34 @@ auxiliary_device_delete(data); } -/* - * AUX bus docs say that a non-NULL release is mandatory, but it makes no - * sense for the model used here where all of the aux devices are allocated - * in the single shared structure. We'll use this noop as a workaround. - */ -static void ti_sn65dsi86_noop(struct device *dev) {} +static void ti_sn65dsi86_aux_device_release(struct device *dev) +{ + struct auxiliary_device *aux = container_of(dev, struct auxiliary_device, dev); + + kfree(aux); +} static int ti_sn65dsi86_add_aux_device(struct ti_sn65dsi86 *pdata, - struct auxiliary_device *aux, + struct auxiliary_device **aux_out, const char *name) { struct device *dev = pdata->dev; + struct auxiliary_device *aux; int ret; + aux = kzalloc(sizeof(*aux), GFP_KERNEL); + if (!aux) + return -ENOMEM; + aux->name = name; aux->dev.parent = dev; - aux->dev.release = ti_sn65dsi86_noop; + aux->dev.release = ti_sn65dsi86_aux_device_release; device_set_of_node_from_dev(&aux->dev, dev); ret = auxiliary_device_init(aux); - if (ret) + if (ret) { + kfree(aux); return ret; + } ret = devm_add_action_or_reset(dev, ti_sn65dsi86_uninit_aux, aux); if (ret) return ret; @@ -441,6 +448,8 @@ if (ret) return ret; ret = devm_add_action_or_reset(dev, ti_sn65dsi86_delete_aux, aux); + if (!ret) + *aux_out = aux; return ret; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic.c @@ -138,6 +138,12 @@ if (!state->planes) goto fail; + /* + * Because drm_atomic_state can be committed asynchronously we need our + * own reference and cannot rely on the on implied by drm_file in the + * ioctl call. + */ + drm_dev_get(dev); state->dev = dev; DRM_DEBUG_ATOMIC("Allocated atomic state %p\n", state); @@ -297,7 +303,8 @@ void __drm_atomic_state_free(struct kref *ref) { struct drm_atomic_state *state = container_of(ref, typeof(*state), ref); - struct drm_mode_config *config = &state->dev->mode_config; + struct drm_device *dev = state->dev; + struct drm_mode_config *config = &dev->mode_config; drm_atomic_state_clear(state); @@ -309,6 +316,8 @@ drm_atomic_state_default_release(state); kfree(state); } + + drm_dev_put(dev); } EXPORT_SYMBOL(__drm_atomic_state_free); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic_helper.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic_helper.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic_helper.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_atomic_helper.c @@ -1115,7 +1115,16 @@ continue; ret = drm_crtc_vblank_get(crtc); - WARN_ONCE(ret != -EINVAL, "driver forgot to call drm_crtc_vblank_off()\n"); + /* + * Self-refresh is not a true "disable"; ensure vblank remains + * enabled. + */ + if (new_crtc_state->self_refresh_active) + WARN_ONCE(ret != 0, + "driver disabled vblank in self-refresh\n"); + else + WARN_ONCE(ret != -EINVAL, + "driver forgot to call drm_crtc_vblank_off()\n"); if (ret == 0) drm_crtc_vblank_put(crtc); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_dp_aux.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_dp_aux.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_dp_aux.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_dp_aux.c @@ -119,6 +119,32 @@ return index ? 0 : 1; } +static int intel_dp_aux_sync_len(void) +{ + int precharge = 16; /* 10-16 */ + int preamble = 16; + + return precharge + preamble; +} + +static int intel_dp_aux_fw_sync_len(void) +{ + int precharge = 10; /* 10-16 */ + int preamble = 8; + + return precharge + preamble; +} + +static int g4x_dp_aux_precharge_len(void) +{ + int precharge_min = 10; + int preamble = 16; + + /* HW wants the length of the extra precharge in 2us units */ + return (intel_dp_aux_sync_len() - + precharge_min - preamble) / 2; +} + static u32 g4x_get_aux_send_ctl(struct intel_dp *intel_dp, int send_bytes, u32 aux_clock_divider) @@ -141,7 +167,7 @@ timeout | DP_AUX_CH_CTL_RECEIVE_ERROR | (send_bytes << DP_AUX_CH_CTL_MESSAGE_SIZE_SHIFT) | - (3 << DP_AUX_CH_CTL_PRECHARGE_2US_SHIFT) | + (g4x_dp_aux_precharge_len() << DP_AUX_CH_CTL_PRECHARGE_2US_SHIFT) | (aux_clock_divider << DP_AUX_CH_CTL_BIT_CLOCK_2X_SHIFT); } @@ -164,8 +190,8 @@ DP_AUX_CH_CTL_TIME_OUT_MAX | DP_AUX_CH_CTL_RECEIVE_ERROR | (send_bytes << DP_AUX_CH_CTL_MESSAGE_SIZE_SHIFT) | - DP_AUX_CH_CTL_FW_SYNC_PULSE_SKL(24) | - DP_AUX_CH_CTL_SYNC_PULSE_SKL(32); + DP_AUX_CH_CTL_FW_SYNC_PULSE_SKL(intel_dp_aux_fw_sync_len()) | + DP_AUX_CH_CTL_SYNC_PULSE_SKL(intel_dp_aux_sync_len()); if (intel_tc_port_in_tbt_alt_mode(dig_port)) ret |= DP_AUX_CH_CTL_TBT_IO; diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_psr.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_psr.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_psr.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_psr.c @@ -836,9 +836,9 @@ } io_wake_lines = intel_usecs_to_scanlines( - &crtc_state->uapi.adjusted_mode, io_wake_time); + &crtc_state->hw.adjusted_mode, io_wake_time); fast_wake_lines = intel_usecs_to_scanlines( - &crtc_state->uapi.adjusted_mode, fast_wake_time); + &crtc_state->hw.adjusted_mode, fast_wake_time); if (io_wake_lines > max_wake_lines || fast_wake_lines > max_wake_lines) diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/gt/intel_gtt.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/gt/intel_gtt.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/gt/intel_gtt.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/gt/intel_gtt.c @@ -547,7 +547,7 @@ if (IS_ERR(obj)) return ERR_CAST(obj); - i915_gem_object_set_cache_coherency(obj, I915_CACHING_CACHED); + i915_gem_object_set_cache_coherency(obj, I915_CACHE_LLC); vma = i915_vma_instance(obj, vm, NULL); if (IS_ERR(vma)) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/adreno/a5xx_gpu.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/adreno/a5xx_gpu.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/adreno/a5xx_gpu.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/adreno/a5xx_gpu.c @@ -1746,6 +1746,7 @@ { struct msm_drm_private *priv = dev->dev_private; struct platform_device *pdev = priv->gpu_pdev; + struct adreno_platform_config *config = pdev->dev.platform_data; struct a5xx_gpu *a5xx_gpu = NULL; struct adreno_gpu *adreno_gpu; struct msm_gpu *gpu; @@ -1772,7 +1773,7 @@ nr_rings = 4; - if (adreno_is_a510(adreno_gpu)) + if (adreno_cmp_rev(ADRENO_REV(5, 1, 0, ANY_ID), config->rev)) nr_rings = 1; ret = adreno_gpu_init(dev, pdev, adreno_gpu, &funcs, nr_rings); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -1380,6 +1380,8 @@ struct drm_crtc *dpu_crtc_init(struct drm_device *dev, struct drm_plane *plane, struct drm_plane *cursor) { + struct msm_drm_private *priv = dev->dev_private; + struct dpu_kms *dpu_kms = to_dpu_kms(priv->kms); struct drm_crtc *crtc = NULL; struct dpu_crtc *dpu_crtc = NULL; int i; @@ -1411,7 +1413,8 @@ drm_crtc_helper_add(crtc, &dpu_crtc_helper_funcs); - drm_crtc_enable_color_mgmt(crtc, 0, true, 0); + if (dpu_kms->catalog->dspp_count) + drm_crtc_enable_color_mgmt(crtc, 0, true, 0); /* save user friendly CRTC name for later */ snprintf(dpu_crtc->name, DPU_CRTC_NAME_SIZE, "crtc%u", crtc->base.id); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c @@ -53,9 +53,13 @@ #define INTF_SDM845_MASK (0) -#define INTF_SC7180_MASK BIT(DPU_INTF_INPUT_CTRL) | BIT(DPU_INTF_TE) +#define INTF_SC7180_MASK \ + (BIT(DPU_INTF_INPUT_CTRL) | \ + BIT(DPU_INTF_TE) | \ + BIT(DPU_INTF_STATUS_SUPPORTED) | \ + BIT(DPU_DATA_HCTL_EN)) -#define INTF_SC7280_MASK INTF_SC7180_MASK | BIT(DPU_DATA_HCTL_EN) +#define INTF_SC7280_MASK (INTF_SC7180_MASK) #define IRQ_SDM845_MASK (BIT(MDP_SSPP_TOP0_INTR) | \ BIT(MDP_SSPP_TOP0_INTR2) | \ @@ -804,7 +808,7 @@ #define MERGE_3D_BLK(_name, _id, _base) \ {\ .name = _name, .id = _id, \ - .base = _base, .len = 0x100, \ + .base = _base, .len = 0x8, \ .features = MERGE_3D_SM8150_MASK, \ .sblk = NULL \ } diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c @@ -54,6 +54,7 @@ #define INTF_PROG_FETCH_START 0x170 #define INTF_PROG_ROT_START 0x174 #define INTF_MUX 0x25C +#define INTF_STATUS 0x26C static const struct dpu_intf_cfg *_intf_offset(enum dpu_intf intf, const struct dpu_mdss_cfg *m, @@ -259,8 +260,13 @@ struct intf_status *s) { struct dpu_hw_blk_reg_map *c = &intf->hw; + unsigned long cap = intf->cap->features; + + if (cap & BIT(DPU_INTF_STATUS_SUPPORTED)) + s->is_en = DPU_REG_READ(c, INTF_STATUS) & BIT(0); + else + s->is_en = DPU_REG_READ(c, INTF_TIMING_ENGINE_EN); - s->is_en = DPU_REG_READ(c, INTF_TIMING_ENGINE_EN); s->is_prog_fetch_en = !!(DPU_REG_READ(c, INTF_CONFIG) & BIT(31)); if (s->is_en) { s->frame_count = DPU_REG_READ(c, INTF_FRAME_COUNT); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dp/dp_display.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dp/dp_display.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dp/dp_display.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dp/dp_display.c @@ -1295,9 +1295,9 @@ dp = container_of(g_dp_display, struct dp_display_private, dp_display); + component_del(&pdev->dev, &dp_display_comp_ops); dp_display_deinit_sub_modules(dp); - component_del(&pdev->dev, &dp_display_comp_ops); platform_set_drvdata(pdev, NULL); return 0; diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c @@ -541,6 +541,9 @@ if (unlikely(pll_14nm->phy->pll_on)) return 0; + if (dsi_pll_14nm_vco_recalc_rate(hw, VCO_REF_CLK_RATE) == 0) + dsi_pll_14nm_vco_set_rate(hw, pll_14nm->phy->cfg->min_pll_rate, VCO_REF_CLK_RATE); + dsi_phy_write(base + REG_DSI_14nm_PHY_PLL_VREF_CFG1, 0x10); dsi_phy_write(cmn_base + REG_DSI_14nm_PHY_CMN_PLL_CNTRL, 1); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_connector.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_connector.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_connector.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -729,7 +729,8 @@ #endif nouveau_connector_set_edid(nv_connector, edid); - nouveau_connector_set_encoder(connector, nv_encoder); + if (nv_encoder) + nouveau_connector_set_encoder(connector, nv_encoder); return status; } @@ -965,7 +966,7 @@ /* Determine display colour depth for everything except LVDS now, * DP requires this before mode_valid() is called. */ - if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS) + if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS && nv_connector->native_mode) nouveau_connector_detect_depth(connector); /* Find the native mode if this is a digital panel, if we didn't @@ -986,7 +987,7 @@ * "native" mode as some VBIOS tables require us to use the * pixel clock as part of the lookup... */ - if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) + if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS && nv_connector->native_mode) nouveau_connector_detect_depth(connector); if (nv_encoder->dcb->type == DCB_OUTPUT_TV) diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_drm.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_drm.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_drm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -126,10 +126,16 @@ static inline bool nouveau_cli_work_ready(struct dma_fence *fence) { - if (!dma_fence_is_signaled(fence)) - return false; - dma_fence_put(fence); - return true; + bool ret = true; + + spin_lock_irq(fence->lock); + if (!dma_fence_is_signaled_locked(fence)) + ret = false; + spin_unlock_irq(fence->lock); + + if (ret == true) + dma_fence_put(fence); + return ret; } static void diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c @@ -192,15 +192,15 @@ } static const struct drm_display_mode default_mode = { - .clock = 41118, + .clock = (540 + 48 + 32 + 80) * (960 + 3 + 10 + 15) * 60 / 1000, .hdisplay = 540, .hsync_start = 540 + 48, - .hsync_end = 540 + 48 + 80, - .htotal = 540 + 48 + 80 + 32, + .hsync_end = 540 + 48 + 32, + .htotal = 540 + 48 + 32 + 80, .vdisplay = 960, .vsync_start = 960 + 3, - .vsync_end = 960 + 3 + 15, - .vtotal = 960 + 3 + 15 + 1, + .vsync_end = 960 + 3 + 10, + .vtotal = 960 + 3 + 10 + 15, }; static int sharp_nt_panel_get_modes(struct drm_panel *panel, @@ -280,6 +280,7 @@ dsi->lanes = 2; dsi->format = MIPI_DSI_FMT_RGB888; dsi->mode_flags = MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_NO_EOT_PACKET; diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-simple.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-simple.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-simple.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/panel/panel-simple.c @@ -890,8 +890,8 @@ .num_modes = 1, .bpc = 8, .size = { - .width = 105, - .height = 67, + .width = 99, + .height = 58, }, .bus_format = MEDIA_BUS_FMT_RGB888_1X24, }; @@ -2469,6 +2469,7 @@ .height = 54, }, .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + .connector_type = DRM_MODE_CONNECTOR_DPI, .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, }; @@ -3650,6 +3651,7 @@ .vsync_start = 480 + 49, .vsync_end = 480 + 49 + 2, .vtotal = 480 + 49 + 2 + 22, + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, }; static const struct panel_desc powertip_ph800480t013_idf02 = { diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/ni_dpm.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/ni_dpm.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/ni_dpm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/ni_dpm.c @@ -2241,8 +2241,12 @@ ASIC_INTERNAL_MEMORY_SS, vco_freq)) { u32 reference_clock = rdev->clock.mpll.reference_freq; u32 decoded_ref = rv740_get_decoded_reference_divider(dividers.ref_div); - u32 clk_s = reference_clock * 5 / (decoded_ref * ss.rate); - u32 clk_v = ss.percentage * + u32 clk_s, clk_v; + + if (!decoded_ref) + return -EINVAL; + clk_s = reference_clock * 5 / (decoded_ref * ss.rate); + clk_v = ss.percentage * (0x4000 * dividers.whole_fb_div + 0x800 * dividers.frac_fb_div) / (clk_s * 625); mpll_ss1 &= ~CLKV_MASK; diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/radeon_gem.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/radeon_gem.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/radeon_gem.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/radeon_gem.c @@ -456,7 +456,6 @@ struct radeon_device *rdev = dev->dev_private; struct drm_radeon_gem_set_domain *args = data; struct drm_gem_object *gobj; - struct radeon_bo *robj; int r; /* for now if someone requests domain CPU - @@ -469,13 +468,12 @@ up_read(&rdev->exclusive_lock); return -ENOENT; } - robj = gem_to_radeon_bo(gobj); r = radeon_gem_set_domain(gobj, args->read_domains, args->write_domain); drm_gem_object_put(gobj); up_read(&rdev->exclusive_lock); - r = radeon_gem_handle_lockup(robj->rdev, r); + r = radeon_gem_handle_lockup(rdev, r); return r; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/rockchip/rockchip_drm_vop.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/rockchip/rockchip_drm_vop.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -703,13 +703,13 @@ if (crtc->state->self_refresh_active) rockchip_drm_set_win_enabled(crtc, false); + if (crtc->state->self_refresh_active) + goto out; + mutex_lock(&vop->vop_lock); drm_crtc_vblank_off(crtc); - if (crtc->state->self_refresh_active) - goto out; - /* * Vop standby will take effect at end of current frame, * if dsp hold valid irq happen, it means standby complete. @@ -741,9 +741,9 @@ vop_core_clks_disable(vop); pm_runtime_put(vop->dev); -out: mutex_unlock(&vop->vop_lock); +out: if (crtc->state->event && !crtc->state->active) { spin_lock_irq(&crtc->dev->event_lock); drm_crtc_send_vblank_event(crtc, crtc->state->event); diff -u linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/ttm/ttm_bo.c linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/ttm/ttm_bo.c --- linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/ttm/ttm_bo.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/ttm/ttm_bo.c @@ -1187,6 +1187,7 @@ ret = ttm_bo_handle_move_mem(bo, evict_mem, true, &ctx, &hop); if (unlikely(ret != 0)) { WARN(ret == -EMULTIHOP, "Unexpected multihop in swaput - likely driver bug.\n"); + ttm_resource_free(bo, &evict_mem); goto out; } } diff -u linux-intel-iotg-5.15-5.15.0/drivers/hid/hid-logitech-hidpp.c linux-intel-iotg-5.15-5.15.0/drivers/hid/hid-logitech-hidpp.c --- linux-intel-iotg-5.15-5.15.0/drivers/hid/hid-logitech-hidpp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hid/hid-logitech-hidpp.c @@ -4295,7 +4295,7 @@ { /* wireless touchpad T651 */ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_T651), - .driver_data = HIDPP_QUIRK_CLASS_WTP }, + .driver_data = HIDPP_QUIRK_CLASS_WTP | HIDPP_QUIRK_DELAYED_INIT }, { /* Mouse Logitech Anywhere MX */ LDJ_DEVICE(0x1017), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_1P0 }, { /* Mouse Logitech Cube */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_sys.c linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_sys.c --- linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_sys.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_sys.c @@ -2425,8 +2425,13 @@ goto fail_quirks; } - if (features->device_type & WACOM_DEVICETYPE_WL_MONITOR) + if (features->device_type & WACOM_DEVICETYPE_WL_MONITOR) { error = hid_hw_open(hdev); + if (error) { + hid_err(hdev, "hw open failed\n"); + goto fail_quirks; + } + } wacom_set_shared_values(wacom_wac); devres_close_group(&hdev->dev, wacom); diff -u linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.c linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.c --- linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.c @@ -1314,7 +1314,7 @@ struct input_dev *pen_input = wacom->pen_input; unsigned char *data = wacom->data; int number_of_valid_frames = 0; - int time_interval = 15000000; + ktime_t time_interval = 15000000; ktime_t time_packet_received = ktime_get(); int i; @@ -1348,7 +1348,7 @@ if (number_of_valid_frames) { if (wacom->hid_data.time_delayed) time_interval = ktime_get() - wacom->hid_data.time_delayed; - time_interval /= number_of_valid_frames; + time_interval = div_u64(time_interval, number_of_valid_frames); wacom->hid_data.time_delayed = time_packet_received; } @@ -1359,7 +1359,7 @@ bool range = frame[0] & 0x20; bool invert = frame[0] & 0x10; int frames_number_reversed = number_of_valid_frames - i - 1; - int event_timestamp = time_packet_received - frames_number_reversed * time_interval; + ktime_t event_timestamp = time_packet_received - frames_number_reversed * time_interval; if (!valid) continue; diff -u linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.h linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.h --- linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.h +++ linux-intel-iotg-5.15-5.15.0/drivers/hid/wacom_wac.h @@ -321,7 +321,7 @@ int bat_connected; int ps_connected; bool pad_input_event_flag; - int time_delayed; + ktime_t time_delayed; }; struct wacom_remote_data { diff -u linux-intel-iotg-5.15-5.15.0/drivers/hv/channel_mgmt.c linux-intel-iotg-5.15-5.15.0/drivers/hv/channel_mgmt.c --- linux-intel-iotg-5.15-5.15.0/drivers/hv/channel_mgmt.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hv/channel_mgmt.c @@ -827,11 +827,22 @@ if (completion_done(&vmbus_connection.unload_event)) goto completed; - for_each_online_cpu(cpu) { + for_each_present_cpu(cpu) { struct hv_per_cpu_context *hv_cpu = per_cpu_ptr(hv_context.cpu_context, cpu); + /* + * In a CoCo VM the synic_message_page is not allocated + * in hv_synic_alloc(). Instead it is set/cleared in + * hv_synic_enable_regs() and hv_synic_disable_regs() + * such that it is set only when the CPU is online. If + * not all present CPUs are online, the message page + * might be NULL, so skip such CPUs. + */ page_addr = hv_cpu->synic_message_page; + if (!page_addr) + continue; + msg = (struct hv_message *)page_addr + VMBUS_MESSAGE_SINT; @@ -865,11 +876,14 @@ * maybe-pending messages on all CPUs to be able to receive new * messages after we reconnect. */ - for_each_online_cpu(cpu) { + for_each_present_cpu(cpu) { struct hv_per_cpu_context *hv_cpu = per_cpu_ptr(hv_context.cpu_context, cpu); page_addr = hv_cpu->synic_message_page; + if (!page_addr) + continue; + msg = (struct hv_message *)page_addr + VMBUS_MESSAGE_SINT; msg->header.message_type = HVMSG_NONE; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/hv/vmbus_drv.c linux-intel-iotg-5.15-5.15.0/drivers/hv/vmbus_drv.c --- linux-intel-iotg-5.15-5.15.0/drivers/hv/vmbus_drv.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hv/vmbus_drv.c @@ -1538,7 +1538,7 @@ ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "hyperv/vmbus:online", hv_synic_init, hv_synic_cleanup); if (ret < 0) - goto err_cpuhp; + goto err_alloc; hyperv_cpuhp_online = ret; ret = vmbus_connect(); @@ -1589,9 +1589,8 @@ err_connect: cpuhp_remove_state(hyperv_cpuhp_online); -err_cpuhp: - hv_synic_free(); err_alloc: + hv_synic_free(); if (vmbus_irq == -1) { hv_remove_vmbus_handler(); } else { diff -u linux-intel-iotg-5.15-5.15.0/drivers/hwmon/gsc-hwmon.c linux-intel-iotg-5.15-5.15.0/drivers/hwmon/gsc-hwmon.c --- linux-intel-iotg-5.15-5.15.0/drivers/hwmon/gsc-hwmon.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hwmon/gsc-hwmon.c @@ -82,8 +82,8 @@ if (kstrtol(buf, 10, &temp)) return -EINVAL; - temp = clamp_val(temp, 0, 10000); - temp = DIV_ROUND_CLOSEST(temp, 10); + temp = clamp_val(temp, 0, 100000); + temp = DIV_ROUND_CLOSEST(temp, 100); regs[0] = temp & 0xff; regs[1] = (temp >> 8) & 0xff; @@ -100,7 +100,7 @@ { struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); - return sprintf(buf, "%d\n", 255 * (50 + (attr->index * 10)) / 100); + return sprintf(buf, "%d\n", 255 * (50 + (attr->index * 10))); } static SENSOR_DEVICE_ATTR_RO(pwm1_auto_point1_pwm, pwm_auto_point_pwm, 0); diff -u linux-intel-iotg-5.15-5.15.0/drivers/hwtracing/coresight/coresight-core.c linux-intel-iotg-5.15-5.15.0/drivers/hwtracing/coresight/coresight-core.c --- linux-intel-iotg-5.15-5.15.0/drivers/hwtracing/coresight/coresight-core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hwtracing/coresight/coresight-core.c @@ -1421,13 +1421,8 @@ if (csdev->dev.fwnode == conn->child_fwnode) { iterator->orphan = true; coresight_remove_links(iterator, conn); - /* - * Drop the reference to the handle for the remote - * device acquired in parsing the connections from - * platform data. - */ - fwnode_handle_put(conn->child_fwnode); - conn->child_fwnode = NULL; + + conn->child_dev = NULL; /* No need to continue */ break; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-imx-lpi2c.c linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-imx-lpi2c.c --- linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-imx-lpi2c.c +++ linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-imx-lpi2c.c @@ -200,8 +200,8 @@ /* CLKLO = I2C_CLK_RATIO * CLKHI, SETHOLD = CLKHI, DATAVD = CLKHI/2 */ static int lpi2c_imx_config(struct lpi2c_imx_struct *lpi2c_imx) { - u8 prescale, filt, sethold, clkhi, clklo, datavd; - unsigned int clk_rate, clk_cycle; + u8 prescale, filt, sethold, datavd; + unsigned int clk_rate, clk_cycle, clkhi, clklo; enum lpi2c_imx_pincfg pincfg; unsigned int temp; diff -u linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-mv64xxx.c linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-mv64xxx.c --- linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-mv64xxx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-mv64xxx.c @@ -520,6 +520,17 @@ while (readl(drv_data->reg_base + drv_data->reg_offsets.control) & MV64XXX_I2C_REG_CONTROL_IFLG) { + /* + * It seems that sometime the controller updates the status + * register only after it asserts IFLG in control register. + * This may result in weird bugs when in atomic mode. A delay + * of 100 ns before reading the status register solves this + * issue. This bug does not seem to appear when using + * interrupts. + */ + if (drv_data->atomic) + ndelay(100); + status = readl(drv_data->reg_base + drv_data->reg_offsets.status); mv64xxx_i2c_fsm(drv_data, status); mv64xxx_i2c_do_action(drv_data); diff -u linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-xiic.c linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-xiic.c --- linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-xiic.c +++ linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-xiic.c @@ -375,6 +375,9 @@ struct xiic_i2c *i2c = dev_id; u32 pend, isr, ier; u32 clr = 0; + int xfer_more = 0; + int wakeup_req = 0; + int wakeup_code = 0; /* Get the interrupt Status from the IPIF. There is no clearing of * interrupts in the IPIF. Interrupts must be cleared at the source. @@ -411,10 +414,16 @@ */ xiic_reinit(i2c); - if (i2c->rx_msg) - xiic_wakeup(i2c, STATE_ERROR); - if (i2c->tx_msg) - xiic_wakeup(i2c, STATE_ERROR); + if (i2c->rx_msg) { + wakeup_req = 1; + wakeup_code = STATE_ERROR; + } + if (i2c->tx_msg) { + wakeup_req = 1; + wakeup_code = STATE_ERROR; + } + /* don't try to handle other events */ + goto out; } if (pend & XIIC_INTR_RX_FULL_MASK) { /* Receive register/FIFO is full */ @@ -448,8 +457,7 @@ i2c->tx_msg++; dev_dbg(i2c->adap.dev.parent, "%s will start next...\n", __func__); - - __xiic_start_xfer(i2c); + xfer_more = 1; } } } @@ -463,11 +471,13 @@ if (!i2c->tx_msg) goto out; - if ((i2c->nmsgs == 1) && !i2c->rx_msg && - xiic_tx_space(i2c) == 0) - xiic_wakeup(i2c, STATE_DONE); + wakeup_req = 1; + + if (i2c->nmsgs == 1 && !i2c->rx_msg && + xiic_tx_space(i2c) == 0) + wakeup_code = STATE_DONE; else - xiic_wakeup(i2c, STATE_ERROR); + wakeup_code = STATE_ERROR; } if (pend & (XIIC_INTR_TX_EMPTY_MASK | XIIC_INTR_TX_HALF_MASK)) { /* Transmit register/FIFO is empty or ½ empty */ @@ -491,7 +501,7 @@ if (i2c->nmsgs > 1) { i2c->nmsgs--; i2c->tx_msg++; - __xiic_start_xfer(i2c); + xfer_more = 1; } else { xiic_irq_dis(i2c, XIIC_INTR_TX_HALF_MASK); @@ -509,6 +519,13 @@ dev_dbg(i2c->adap.dev.parent, "%s clr: 0x%x\n", __func__, clr); xiic_setreg32(i2c, XIIC_IISR_OFFSET, clr); + if (xfer_more) + __xiic_start_xfer(i2c); + if (wakeup_req) + xiic_wakeup(i2c, wakeup_code); + + WARN_ON(xfer_more && wakeup_req); + mutex_unlock(&i2c->lock); return IRQ_HANDLED; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/iio/accel/fxls8962af-core.c linux-intel-iotg-5.15-5.15.0/drivers/iio/accel/fxls8962af-core.c --- linux-intel-iotg-5.15-5.15.0/drivers/iio/accel/fxls8962af-core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/iio/accel/fxls8962af-core.c @@ -486,8 +486,7 @@ .sign = 's', \ .realbits = 12, \ .storagebits = 16, \ - .shift = 4, \ - .endianness = IIO_BE, \ + .endianness = IIO_LE, \ }, \ } @@ -656,9 +655,10 @@ int total_length = samples * sample_length; int ret; - if (i2c_verify_client(dev)) + if (i2c_verify_client(dev) && + data->chip_info->chip_id == FXLS8962AF_DEVICE_ID) /* - * Due to errata bug: + * Due to errata bug (only applicable on fxls8962af): * E3: FIFO burst read operation error using I2C interface * We have to avoid burst reads on I2C.. */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/iio/adc/ad7192.c linux-intel-iotg-5.15-5.15.0/drivers/iio/adc/ad7192.c --- linux-intel-iotg-5.15-5.15.0/drivers/iio/adc/ad7192.c +++ linux-intel-iotg-5.15-5.15.0/drivers/iio/adc/ad7192.c @@ -327,7 +327,7 @@ clock_sel = AD7192_CLK_INT; /* use internal clock */ - if (st->mclk) { + if (!st->mclk) { if (of_property_read_bool(np, "adi,int-clock-output-enable")) clock_sel = AD7192_CLK_INT_CO; } else { @@ -340,9 +340,9 @@ return clock_sel; } -static int ad7192_setup(struct ad7192_state *st, struct device_node *np) +static int ad7192_setup(struct iio_dev *indio_dev, struct device_node *np) { - struct iio_dev *indio_dev = spi_get_drvdata(st->sd.spi); + struct ad7192_state *st = iio_priv(indio_dev); bool rej60_en, refin2_en; bool buf_en, bipolar, burnout_curr_en; unsigned long long scale_uv; @@ -1015,7 +1015,7 @@ } } - ret = ad7192_setup(st, spi->dev.of_node); + ret = ad7192_setup(indio_dev, spi->dev.of_node); if (ret) return ret; diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/cma.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/cma.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/cma.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/cma.c @@ -3113,7 +3113,7 @@ route->path_rec->traffic_class = tos; route->path_rec->mtu = iboe_get_mtu(ndev->mtu); route->path_rec->rate_selector = IB_SA_EQ; - route->path_rec->rate = iboe_get_rate(ndev); + route->path_rec->rate = IB_RATE_PORT_CURRENT; dev_put(ndev); route->path_rec->packet_life_time_selector = IB_SA_EQ; /* In case ACK timeout is set, use this value to calculate @@ -4770,7 +4770,7 @@ if (!ndev) return -ENODEV; - ib.rec.rate = iboe_get_rate(ndev); + ib.rec.rate = IB_RATE_PORT_CURRENT; ib.rec.hop_limit = 1; ib.rec.mtu = iboe_get_mtu(ndev->mtu); diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/uverbs_cmd.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/uverbs_cmd.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/uverbs_cmd.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/uverbs_cmd.c @@ -1851,8 +1851,13 @@ attr->path_mtu = cmd->base.path_mtu; if (cmd->base.attr_mask & IB_QP_PATH_MIG_STATE) attr->path_mig_state = cmd->base.path_mig_state; - if (cmd->base.attr_mask & IB_QP_QKEY) + if (cmd->base.attr_mask & IB_QP_QKEY) { + if (cmd->base.qkey & IB_QP_SET_QKEY && !capable(CAP_NET_RAW)) { + ret = -EPERM; + goto release_qp; + } attr->qkey = cmd->base.qkey; + } if (cmd->base.attr_mask & IB_QP_RQ_PSN) attr->rq_psn = cmd->base.rq_psn; if (cmd->base.attr_mask & IB_QP_SQ_PSN) diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_fp.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_fp.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_fp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_fp.c @@ -404,6 +404,9 @@ void bnxt_qplib_nq_stop_irq(struct bnxt_qplib_nq *nq, bool kill) { + if (!nq->requested) + return; + tasklet_disable(&nq->nq_tasklet); /* Mask h/w interrupt */ bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, nq->res->cctx, false); @@ -411,11 +414,12 @@ synchronize_irq(nq->msix_vec); if (kill) tasklet_kill(&nq->nq_tasklet); - if (nq->requested) { - irq_set_affinity_hint(nq->msix_vec, NULL); - free_irq(nq->msix_vec, nq); - nq->requested = false; - } + + irq_set_affinity_hint(nq->msix_vec, NULL); + free_irq(nq->msix_vec, nq); + kfree(nq->name); + nq->name = NULL; + nq->requested = false; } void bnxt_qplib_disable_nq(struct bnxt_qplib_nq *nq) @@ -441,6 +445,7 @@ int bnxt_qplib_nq_start_irq(struct bnxt_qplib_nq *nq, int nq_indx, int msix_vector, bool need_init) { + struct bnxt_qplib_res *res = nq->res; int rc; if (nq->requested) @@ -452,10 +457,17 @@ else tasklet_enable(&nq->nq_tasklet); - snprintf(nq->name, sizeof(nq->name), "bnxt_qplib_nq-%d", nq_indx); + nq->name = kasprintf(GFP_KERNEL, "bnxt_re-nq-%d@pci:%s", + nq_indx, pci_name(res->pdev)); + if (!nq->name) + return -ENOMEM; rc = request_irq(nq->msix_vec, bnxt_qplib_nq_irq, 0, nq->name, nq); - if (rc) + if (rc) { + kfree(nq->name); + nq->name = NULL; + tasklet_disable(&nq->nq_tasklet); return rc; + } cpumask_clear(&nq->mask); cpumask_set_cpu(nq_indx, &nq->mask); @@ -466,7 +478,7 @@ nq->msix_vec, nq_indx); } nq->requested = true; - bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, nq->res->cctx, true); + bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, true); return rc; } @@ -1599,7 +1611,7 @@ il_src = (void *)wqe->sg_list[indx].addr; t_len += len; if (t_len > qp->max_inline_data) - goto bad; + return -ENOMEM; while (len) { if (pull_dst) { pull_dst = false; @@ -1623,8 +1635,6 @@ } return t_len; -bad: - return -ENOMEM; } static u32 bnxt_qplib_put_sges(struct bnxt_qplib_hwq *hwq, @@ -2054,7 +2064,7 @@ hwq_attr.sginfo = &cq->sg_info; rc = bnxt_qplib_alloc_init_hwq(&cq->hwq, &hwq_attr); if (rc) - goto exit; + return rc; RCFW_CMD_PREP(req, CREATE_CQ, cmd_flags); @@ -2095,7 +2105,6 @@ fail: bnxt_qplib_free_hwq(res, &cq->hwq); -exit: return rc; } @@ -2723,11 +2732,8 @@ qp = (struct bnxt_qplib_qp *)((unsigned long) le64_to_cpu(hwcqe->qp_handle)); - if (!qp) { - dev_err(&cq->hwq.pdev->dev, - "FP: CQ Process terminal qp is NULL\n"); + if (!qp) return -EINVAL; - } /* Must block new posting of SQ and RQ */ qp->state = CMDQ_MODIFY_QP_NEW_STATE_ERR; diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c @@ -181,7 +181,7 @@ } while (size > 0); cmdq->seq_num++; - cmdq_prod = hwq->prod; + cmdq_prod = hwq->prod & 0xFFFF; if (test_bit(FIRMWARE_FIRST_FLAG, &cmdq->flags)) { /* The very first doorbell write * is required to set this flag @@ -299,7 +299,8 @@ } static int bnxt_qplib_process_qp_event(struct bnxt_qplib_rcfw *rcfw, - struct creq_qp_event *qp_event) + struct creq_qp_event *qp_event, + u32 *num_wait) { struct creq_qp_error_notification *err_event; struct bnxt_qplib_hwq *hwq = &rcfw->cmdq.hwq; @@ -308,6 +309,7 @@ u16 cbit, blocked = 0; struct pci_dev *pdev; unsigned long flags; + u32 wait_cmds = 0; __le16 mcookie; u16 cookie; int rc = 0; @@ -367,9 +369,10 @@ crsqe->req_size = 0; if (!blocked) - wake_up(&rcfw->cmdq.waitq); + wait_cmds++; spin_unlock_irqrestore(&hwq->lock, flags); } + *num_wait += wait_cmds; return rc; } @@ -383,6 +386,7 @@ struct creq_base *creqe; u32 sw_cons, raw_cons; unsigned long flags; + u32 num_wakeup = 0; /* Service the CREQ until budget is over */ spin_lock_irqsave(&hwq->lock, flags); @@ -401,7 +405,8 @@ switch (type) { case CREQ_BASE_TYPE_QP_EVENT: bnxt_qplib_process_qp_event - (rcfw, (struct creq_qp_event *)creqe); + (rcfw, (struct creq_qp_event *)creqe, + &num_wakeup); creq->stats.creq_qp_event_processed++; break; case CREQ_BASE_TYPE_FUNC_EVENT: @@ -429,6 +434,8 @@ rcfw->res->cctx, true); } spin_unlock_irqrestore(&hwq->lock, flags); + if (num_wakeup) + wake_up_nr(&rcfw->cmdq.waitq, num_wakeup); } static irqreturn_t bnxt_qplib_creq_irq(int irq, void *dev_instance) @@ -599,7 +606,7 @@ rcfw->cmdq_depth = BNXT_QPLIB_CMDQE_MAX_CNT_8192; sginfo.pgsize = bnxt_qplib_cmdqe_page_size(rcfw->cmdq_depth); - hwq_attr.depth = rcfw->cmdq_depth; + hwq_attr.depth = rcfw->cmdq_depth & 0x7FFFFFFF; hwq_attr.stride = BNXT_QPLIB_CMDQE_UNITS; hwq_attr.type = HWQ_TYPE_CTX; if (bnxt_qplib_alloc_init_hwq(&cmdq->hwq, &hwq_attr)) { @@ -637,6 +644,10 @@ struct bnxt_qplib_creq_ctx *creq; creq = &rcfw->creq; + + if (!creq->requested) + return; + tasklet_disable(&creq->creq_tasklet); /* Mask h/w interrupts */ bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, rcfw->res->cctx, false); @@ -645,10 +656,10 @@ if (kill) tasklet_kill(&creq->creq_tasklet); - if (creq->requested) { - free_irq(creq->msix_vec, rcfw); - creq->requested = false; - } + free_irq(creq->msix_vec, rcfw); + kfree(creq->irq_name); + creq->irq_name = NULL; + creq->requested = false; } void bnxt_qplib_disable_rcfw_channel(struct bnxt_qplib_rcfw *rcfw) @@ -680,9 +691,11 @@ bool need_init) { struct bnxt_qplib_creq_ctx *creq; + struct bnxt_qplib_res *res; int rc; creq = &rcfw->creq; + res = rcfw->res; if (creq->requested) return -EFAULT; @@ -692,13 +705,22 @@ tasklet_setup(&creq->creq_tasklet, bnxt_qplib_service_creq); else tasklet_enable(&creq->creq_tasklet); + + creq->irq_name = kasprintf(GFP_KERNEL, "bnxt_re-creq@pci:%s", + pci_name(res->pdev)); + if (!creq->irq_name) + return -ENOMEM; rc = request_irq(creq->msix_vec, bnxt_qplib_creq_irq, 0, - "bnxt_qplib_creq", rcfw); - if (rc) + creq->irq_name, rcfw); + if (rc) { + kfree(creq->irq_name); + creq->irq_name = NULL; + tasklet_disable(&creq->creq_tasklet); return rc; + } creq->requested = true; - bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, rcfw->res->cctx, true); + bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, res->cctx, true); return 0; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h @@ -174,6 +174,7 @@ u16 ring_id; int msix_vec; bool requested; /*irq handler installed */ + char *irq_name; }; /* RCFW Communication Channels */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/ipoib_tx.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/ipoib_tx.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/ipoib_tx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/ipoib_tx.c @@ -251,11 +251,11 @@ const skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; ret = sdma_txadd_page(dd, - NULL, txreq, skb_frag_page(frag), frag->bv_offset, - skb_frag_size(frag)); + skb_frag_size(frag), + NULL, NULL, NULL); if (unlikely(ret)) break; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.c @@ -19,8 +19,7 @@ const struct mmu_notifier_range *); static struct mmu_rb_node *__mmu_rb_search(struct mmu_rb_handler *, unsigned long, unsigned long); -static void do_remove(struct mmu_rb_handler *handler, - struct list_head *del_list); +static void release_immediate(struct kref *refcount); static void handle_remove(struct work_struct *work); static const struct mmu_notifier_ops mn_opts = { @@ -103,7 +102,11 @@ } spin_unlock_irqrestore(&handler->lock, flags); - do_remove(handler, &del_list); + while (!list_empty(&del_list)) { + rbnode = list_first_entry(&del_list, struct mmu_rb_node, list); + list_del(&rbnode->list); + kref_put(&rbnode->refcount, release_immediate); + } /* Now the mm may be freed. */ mmdrop(handler->mn.mm); @@ -131,12 +134,6 @@ } __mmu_int_rb_insert(mnode, &handler->root); list_add_tail(&mnode->list, &handler->lru_list); - - ret = handler->ops->insert(handler->ops_arg, mnode); - if (ret) { - __mmu_int_rb_remove(mnode, &handler->root); - list_del(&mnode->list); /* remove from LRU list */ - } mnode->handler = handler; unlock: spin_unlock_irqrestore(&handler->lock, flags); @@ -180,6 +177,48 @@ return node; } +/* + * Must NOT call while holding mnode->handler->lock. + * mnode->handler->ops->remove() may sleep and mnode->handler->lock is a + * spinlock. + */ +static void release_immediate(struct kref *refcount) +{ + struct mmu_rb_node *mnode = + container_of(refcount, struct mmu_rb_node, refcount); + mnode->handler->ops->remove(mnode->handler->ops_arg, mnode); +} + +/* Caller must hold mnode->handler->lock */ +static void release_nolock(struct kref *refcount) +{ + struct mmu_rb_node *mnode = + container_of(refcount, struct mmu_rb_node, refcount); + list_move(&mnode->list, &mnode->handler->del_list); + queue_work(mnode->handler->wq, &mnode->handler->del_work); +} + +/* + * struct mmu_rb_node->refcount kref_put() callback. + * Adds mmu_rb_node to mmu_rb_node->handler->del_list and queues + * handler->del_work on handler->wq. + * Does not remove mmu_rb_node from handler->lru_list or handler->rb_root. + * Acquires mmu_rb_node->handler->lock; do not call while already holding + * handler->lock. + */ +void hfi1_mmu_rb_release(struct kref *refcount) +{ + struct mmu_rb_node *mnode = + container_of(refcount, struct mmu_rb_node, refcount); + struct mmu_rb_handler *handler = mnode->handler; + unsigned long flags; + + spin_lock_irqsave(&handler->lock, flags); + list_move(&mnode->list, &mnode->handler->del_list); + spin_unlock_irqrestore(&handler->lock, flags); + queue_work(handler->wq, &handler->del_work); +} + void hfi1_mmu_rb_evict(struct mmu_rb_handler *handler, void *evict_arg) { struct mmu_rb_node *rbnode, *ptr; @@ -194,6 +233,10 @@ spin_lock_irqsave(&handler->lock, flags); list_for_each_entry_safe(rbnode, ptr, &handler->lru_list, list) { + /* refcount == 1 implies mmu_rb_handler has only rbnode ref */ + if (kref_read(&rbnode->refcount) > 1) + continue; + if (handler->ops->evict(handler->ops_arg, rbnode, evict_arg, &stop)) { __mmu_int_rb_remove(rbnode, &handler->root); @@ -206,7 +249,7 @@ spin_unlock_irqrestore(&handler->lock, flags); list_for_each_entry_safe(rbnode, ptr, &del_list, list) { - handler->ops->remove(handler->ops_arg, rbnode); + kref_put(&rbnode->refcount, release_immediate); } } @@ -218,7 +261,6 @@ struct rb_root_cached *root = &handler->root; struct mmu_rb_node *node, *ptr = NULL; unsigned long flags; - bool added = false; spin_lock_irqsave(&handler->lock, flags); for (node = __mmu_int_rb_iter_first(root, range->start, range->end-1); @@ -227,39 +269,17 @@ ptr = __mmu_int_rb_iter_next(node, range->start, range->end - 1); trace_hfi1_mmu_mem_invalidate(node->addr, node->len); - if (handler->ops->invalidate(handler->ops_arg, node)) { - __mmu_int_rb_remove(node, root); - /* move from LRU list to delete list */ - list_move(&node->list, &handler->del_list); - added = true; - } + /* Remove from rb tree and lru_list. */ + __mmu_int_rb_remove(node, root); + list_del_init(&node->list); + kref_put(&node->refcount, release_nolock); } spin_unlock_irqrestore(&handler->lock, flags); - if (added) - queue_work(handler->wq, &handler->del_work); - return 0; } /* - * Call the remove function for the given handler and the list. This - * is expected to be called with a delete list extracted from handler. - * The caller should not be holding the handler lock. - */ -static void do_remove(struct mmu_rb_handler *handler, - struct list_head *del_list) -{ - struct mmu_rb_node *node; - - while (!list_empty(del_list)) { - node = list_first_entry(del_list, struct mmu_rb_node, list); - list_del(&node->list); - handler->ops->remove(handler->ops_arg, node); - } -} - -/* * Work queue function to remove all nodes that have been queued up to * be removed. The key feature is that mm->mmap_lock is not being held * and the remove callback can sleep while taking it, if needed. @@ -273,9 +293,14 @@ unsigned long flags; + struct mmu_rb_node *node; /* remove anything that is queued to get removed */ spin_lock_irqsave(&handler->lock, flags); list_replace_init(&handler->del_list, &del_list); spin_unlock_irqrestore(&handler->lock, flags); - do_remove(handler, &del_list); + while (!list_empty(&del_list)) { + node = list_first_entry(&del_list, struct mmu_rb_node, list); + list_del(&node->list); + handler->ops->remove(handler->ops_arg, node); + } } diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.h linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.h --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.h +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/mmu_rb.h @@ -16,6 +16,7 @@ struct rb_node node; struct mmu_rb_handler *handler; struct list_head list; + struct kref refcount; }; /* @@ -51,6 +52,8 @@ void hfi1_mmu_rb_unregister(struct mmu_rb_handler *handler); int hfi1_mmu_rb_insert(struct mmu_rb_handler *handler, struct mmu_rb_node *mnode); +void hfi1_mmu_rb_release(struct kref *refcount); + void hfi1_mmu_rb_evict(struct mmu_rb_handler *handler, void *evict_arg); struct mmu_rb_node *hfi1_mmu_rb_get_first(struct mmu_rb_handler *handler, unsigned long addr, diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.c @@ -1593,7 +1593,20 @@ struct hfi1_devdata *dd, struct sdma_desc *descp) { - system_descriptor_complete(dd, descp); + switch (sdma_mapping_type(descp)) { + case SDMA_MAP_SINGLE: + dma_unmap_single(&dd->pcidev->dev, sdma_mapping_addr(descp), + sdma_mapping_len(descp), DMA_TO_DEVICE); + break; + case SDMA_MAP_PAGE: + dma_unmap_page(&dd->pcidev->dev, sdma_mapping_addr(descp), + sdma_mapping_len(descp), DMA_TO_DEVICE); + break; + } + + if (descp->pinning_ctx && descp->ctx_put) + descp->ctx_put(descp->pinning_ctx); + descp->pinning_ctx = NULL; } /* @@ -3113,8 +3126,8 @@ /* Add descriptor for coalesce buffer */ tx->desc_limit = MAX_DESC; - return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, NULL, tx, - addr, tx->tlen); + return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, tx, + addr, tx->tlen, NULL, NULL, NULL); } return 1; @@ -3157,9 +3170,9 @@ make_tx_sdma_desc( tx, SDMA_MAP_NONE, - NULL, dd->sdma_pad_phys, - sizeof(u32) - (tx->packet_len & (sizeof(u32) - 1))); + sizeof(u32) - (tx->packet_len & (sizeof(u32) - 1)), + NULL, NULL, NULL); tx->num_desc++; _sdma_close_tx(dd, tx); return rval; diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.h linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.h --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.h +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma.h @@ -594,9 +594,11 @@ static inline void make_tx_sdma_desc( struct sdma_txreq *tx, int type, - void *pinning_ctx, dma_addr_t addr, - size_t len) + size_t len, + void *pinning_ctx, + void (*ctx_get)(void *), + void (*ctx_put)(void *)) { struct sdma_desc *desc = &tx->descp[tx->num_desc]; @@ -613,7 +615,11 @@ << SDMA_DESC0_PHY_ADDR_SHIFT) | (((u64)len & SDMA_DESC0_BYTE_COUNT_MASK) << SDMA_DESC0_BYTE_COUNT_SHIFT); + desc->pinning_ctx = pinning_ctx; + desc->ctx_put = ctx_put; + if (pinning_ctx && ctx_get) + ctx_get(pinning_ctx); } /* helper to extend txreq */ @@ -645,18 +651,20 @@ static inline int _sdma_txadd_daddr( struct hfi1_devdata *dd, int type, - void *pinning_ctx, struct sdma_txreq *tx, dma_addr_t addr, - u16 len) + u16 len, + void *pinning_ctx, + void (*ctx_get)(void *), + void (*ctx_put)(void *)) { int rval = 0; make_tx_sdma_desc( tx, type, - pinning_ctx, - addr, len); + addr, len, + pinning_ctx, ctx_get, ctx_put); WARN_ON(len > tx->tlen); tx->num_desc++; tx->tlen -= len; @@ -676,11 +684,18 @@ /** * sdma_txadd_page() - add a page to the sdma_txreq * @dd: the device to use for mapping - * @pinning_ctx: context to be released at descriptor retirement * @tx: tx request to which the page is added * @page: page to map * @offset: offset within the page * @len: length in bytes + * @pinning_ctx: context to be stored on struct sdma_desc .pinning_ctx. Not + * added if coalesce buffer is used. E.g. pointer to pinned-page + * cache entry for the sdma_desc. + * @ctx_get: optional function to take reference to @pinning_ctx. Not called if + * @pinning_ctx is NULL. + * @ctx_put: optional function to release reference to @pinning_ctx after + * sdma_desc completes. May be called in interrupt context so must + * not sleep. Not called if @pinning_ctx is NULL. * * This is used to add a page/offset/length descriptor. * @@ -692,11 +707,13 @@ */ static inline int sdma_txadd_page( struct hfi1_devdata *dd, - void *pinning_ctx, struct sdma_txreq *tx, struct page *page, unsigned long offset, - u16 len) + u16 len, + void *pinning_ctx, + void (*ctx_get)(void *), + void (*ctx_put)(void *)) { dma_addr_t addr; int rval; @@ -720,7 +737,8 @@ return -ENOSPC; } - return _sdma_txadd_daddr(dd, SDMA_MAP_PAGE, pinning_ctx, tx, addr, len); + return _sdma_txadd_daddr(dd, SDMA_MAP_PAGE, tx, addr, len, + pinning_ctx, ctx_get, ctx_put); } /** @@ -754,8 +772,8 @@ return rval; } - return _sdma_txadd_daddr(dd, SDMA_MAP_NONE, NULL, tx, - addr, len); + return _sdma_txadd_daddr(dd, SDMA_MAP_NONE, tx, addr, len, + NULL, NULL, NULL); } /** @@ -801,7 +819,8 @@ return -ENOSPC; } - return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, NULL, tx, addr, len); + return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, tx, addr, len, + NULL, NULL, NULL); } struct iowait_work; @@ -1036,4 +1055,2 @@ void sdma_update_lmc(struct hfi1_devdata *dd, u64 mask, u32 lid); - -void system_descriptor_complete(struct hfi1_devdata *dd, struct sdma_desc *descp); #endif diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma_txreq.h linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma_txreq.h --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma_txreq.h +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/sdma_txreq.h @@ -20,6 +20,8 @@ /* private: don't use directly */ u64 qw[2]; void *pinning_ctx; + /* Release reference to @pinning_ctx. May be called in interrupt context. Must not sleep. */ + void (*ctx_put)(void *ctx); }; /** diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.c @@ -62,18 +62,14 @@ static void activate_packet_queue(struct iowait *wait, int reason); static bool sdma_rb_filter(struct mmu_rb_node *node, unsigned long addr, unsigned long len); -static int sdma_rb_insert(void *arg, struct mmu_rb_node *mnode); static int sdma_rb_evict(void *arg, struct mmu_rb_node *mnode, void *arg2, bool *stop); static void sdma_rb_remove(void *arg, struct mmu_rb_node *mnode); -static int sdma_rb_invalidate(void *arg, struct mmu_rb_node *mnode); static struct mmu_rb_ops sdma_rb_ops = { .filter = sdma_rb_filter, - .insert = sdma_rb_insert, .evict = sdma_rb_evict, .remove = sdma_rb_remove, - .invalidate = sdma_rb_invalidate }; static int add_system_pages_to_sdma_packet(struct user_sdma_request *req, @@ -161,9 +157,7 @@ if (!pq->reqs) goto pq_reqs_nomem; - pq->req_in_use = kcalloc(BITS_TO_LONGS(hfi1_sdma_comp_ring_size), - sizeof(*pq->req_in_use), - GFP_KERNEL); + pq->req_in_use = bitmap_zalloc(hfi1_sdma_comp_ring_size, GFP_KERNEL); if (!pq->req_in_use) goto pq_reqs_no_in_use; @@ -210,7 +204,7 @@ cq_nomem: kmem_cache_destroy(pq->txreq_cache); pq_txreq_nomem: - kfree(pq->req_in_use); + bitmap_free(pq->req_in_use); pq_reqs_no_in_use: kfree(pq->reqs); pq_reqs_nomem: @@ -249,15 +243,15 @@ spin_unlock(&fd->pq_rcu_lock); synchronize_srcu(&fd->pq_srcu); /* at this point there can be no more new requests */ - if (pq->handler) - hfi1_mmu_rb_unregister(pq->handler); iowait_sdma_drain(&pq->busy); /* Wait until all requests have been freed. */ wait_event_interruptible( pq->wait, !atomic_read(&pq->n_reqs)); kfree(pq->reqs); - kfree(pq->req_in_use); + if (pq->handler) + hfi1_mmu_rb_unregister(pq->handler); + bitmap_free(pq->req_in_use); kmem_cache_destroy(pq->txreq_cache); flush_pq_iowait(pq); kfree(pq); @@ -1277,25 +1271,17 @@ kfree(node); } -static inline void acquire_node(struct sdma_mmu_node *node) -{ - atomic_inc(&node->refcount); - WARN_ON(atomic_read(&node->refcount) < 0); -} - -static inline void release_node(struct mmu_rb_handler *handler, - struct sdma_mmu_node *node) -{ - atomic_dec(&node->refcount); - WARN_ON(atomic_read(&node->refcount) < 0); -} - +/* + * kref_get()'s an additional kref on the returned rb_node to prevent rb_node + * from being released until after rb_node is assigned to an SDMA descriptor + * (struct sdma_desc) under add_system_iovec_to_sdma_packet(), even if the + * virtual address range for rb_node is invalidated between now and then. + */ static struct sdma_mmu_node *find_system_node(struct mmu_rb_handler *handler, unsigned long start, unsigned long end) { struct mmu_rb_node *rb_node; - struct sdma_mmu_node *node; unsigned long flags; spin_lock_irqsave(&handler->lock, flags); @@ -1304,11 +1290,12 @@ spin_unlock_irqrestore(&handler->lock, flags); return NULL; } - node = container_of(rb_node, struct sdma_mmu_node, rb); - acquire_node(node); + + /* "safety" kref to prevent release before add_system_iovec_to_sdma_packet() */ + kref_get(&rb_node->refcount); spin_unlock_irqrestore(&handler->lock, flags); - return node; + return container_of(rb_node, struct sdma_mmu_node, rb); } static int pin_system_pages(struct user_sdma_request *req, @@ -1357,6 +1344,13 @@ return 0; } +/* + * kref refcount on *node_p will be 2 on successful addition: one kref from + * kref_init() for mmu_rb_handler and one kref to prevent *node_p from being + * released until after *node_p is assigned to an SDMA descriptor (struct + * sdma_desc) under add_system_iovec_to_sdma_packet(), even if the virtual + * address range for *node_p is invalidated between now and then. + */ static int add_system_pinning(struct user_sdma_request *req, struct sdma_mmu_node **node_p, unsigned long start, unsigned long len) @@ -1370,6 +1364,12 @@ if (!node) return -ENOMEM; + /* First kref "moves" to mmu_rb_handler */ + kref_init(&node->rb.refcount); + + /* "safety" kref to prevent release before add_system_iovec_to_sdma_packet() */ + kref_get(&node->rb.refcount); + node->pq = pq; ret = pin_system_pages(req, start, len, node, PFN_DOWN(len)); if (ret == 0) { @@ -1433,15 +1433,15 @@ return 0; } - SDMA_DBG(req, "prepend: node->rb.addr %lx, node->refcount %d", - node->rb.addr, atomic_read(&node->refcount)); + SDMA_DBG(req, "prepend: node->rb.addr %lx, node->rb.refcount %d", + node->rb.addr, kref_read(&node->rb.refcount)); prepend_len = node->rb.addr - start; /* * This node will not be returned, instead a new node * will be. So release the reference. */ - release_node(handler, node); + kref_put(&node->rb.refcount, hfi1_mmu_rb_release); /* Prepend a node to cover the beginning of the allocation */ ret = add_system_pinning(req, node_p, start, prepend_len); @@ -1453,6 +1453,20 @@ } } +static void sdma_mmu_rb_node_get(void *ctx) +{ + struct mmu_rb_node *node = ctx; + + kref_get(&node->refcount); +} + +static void sdma_mmu_rb_node_put(void *ctx) +{ + struct sdma_mmu_node *node = ctx; + + kref_put(&node->rb.refcount, hfi1_mmu_rb_release); +} + static int add_mapping_to_sdma_packet(struct user_sdma_request *req, struct user_sdma_txreq *tx, struct sdma_mmu_node *cache_entry, @@ -1496,9 +1510,12 @@ ctx = cache_entry; } - ret = sdma_txadd_page(pq->dd, ctx, &tx->txreq, + ret = sdma_txadd_page(pq->dd, &tx->txreq, cache_entry->pages[page_index], - page_offset, from_this_page); + page_offset, from_this_page, + ctx, + sdma_mmu_rb_node_get, + sdma_mmu_rb_node_put); if (ret) { /* * When there's a failure, the entire request is freed by @@ -1520,8 +1537,6 @@ struct user_sdma_iovec *iovec, size_t from_this_iovec) { - struct mmu_rb_handler *handler = req->pq->handler; - while (from_this_iovec > 0) { struct sdma_mmu_node *cache_entry; size_t from_this_cache_entry; @@ -1542,15 +1557,15 @@ ret = add_mapping_to_sdma_packet(req, tx, cache_entry, start, from_this_cache_entry); + + /* + * Done adding cache_entry to zero or more sdma_desc. Can + * kref_put() the "safety" kref taken under + * get_system_cache_entry(). + */ + kref_put(&cache_entry->rb.refcount, hfi1_mmu_rb_release); + if (ret) { - /* - * We're guaranteed that there will be no descriptor - * completion callback that releases this node - * because only the last descriptor referencing it - * has a context attached, and a failure means the - * last descriptor was never added. - */ - release_node(handler, cache_entry); SDMA_DBG(req, "add system segment failed %d", ret); return ret; } @@ -1601,42 +1616,12 @@ return 0; } -void system_descriptor_complete(struct hfi1_devdata *dd, - struct sdma_desc *descp) -{ - switch (sdma_mapping_type(descp)) { - case SDMA_MAP_SINGLE: - dma_unmap_single(&dd->pcidev->dev, sdma_mapping_addr(descp), - sdma_mapping_len(descp), DMA_TO_DEVICE); - break; - case SDMA_MAP_PAGE: - dma_unmap_page(&dd->pcidev->dev, sdma_mapping_addr(descp), - sdma_mapping_len(descp), DMA_TO_DEVICE); - break; - } - - if (descp->pinning_ctx) { - struct sdma_mmu_node *node = descp->pinning_ctx; - - release_node(node->rb.handler, node); - } -} - static bool sdma_rb_filter(struct mmu_rb_node *node, unsigned long addr, unsigned long len) { return (bool)(node->addr == addr); } -static int sdma_rb_insert(void *arg, struct mmu_rb_node *mnode) -{ - struct sdma_mmu_node *node = - container_of(mnode, struct sdma_mmu_node, rb); - - atomic_inc(&node->refcount); - return 0; -} - /* * Return 1 to remove the node from the rb tree and call the remove op. * @@ -1649,10 +1634,6 @@ container_of(mnode, struct sdma_mmu_node, rb); struct evict_data *evict_data = evict_arg; - /* is this node still being used? */ - if (atomic_read(&node->refcount)) - return 0; /* keep this node */ - /* this node will be evicted, add its pages to our count */ evict_data->cleared += node->npages; @@ -1673,10 +1653,0 @@ - -static int sdma_rb_invalidate(void *arg, struct mmu_rb_node *mnode) -{ - struct sdma_mmu_node *node = - container_of(mnode, struct sdma_mmu_node, rb); - - if (!atomic_read(&node->refcount)) - return 1; - return 0; -} diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.h linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.h --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.h +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/user_sdma.h @@ -104,7 +104,6 @@ struct sdma_mmu_node { struct mmu_rb_node rb; struct hfi1_user_sdma_pkt_q *pq; - atomic_t refcount; struct page **pages; unsigned int npages; }; diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/vnic_sdma.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/vnic_sdma.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/vnic_sdma.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hfi1/vnic_sdma.c @@ -64,11 +64,11 @@ /* combine physically continuous fragments later? */ ret = sdma_txadd_page(sde->dd, - NULL, &tx->txreq, skb_frag_page(frag), skb_frag_off(frag), - skb_frag_size(frag)); + skb_frag_size(frag), + NULL, NULL, NULL); if (unlikely(ret)) goto bail_txadd; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/irdma/uk.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/irdma/uk.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/irdma/uk.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/irdma/uk.c @@ -94,16 +94,18 @@ */ void irdma_clr_wqes(struct irdma_qp_uk *qp, u32 qp_wqe_idx) { - __le64 *wqe; + struct irdma_qp_quanta *sq; u32 wqe_idx; if (!(qp_wqe_idx & 0x7F)) { wqe_idx = (qp_wqe_idx + 128) % qp->sq_ring.size; - wqe = qp->sq_base[wqe_idx].elem; + sq = qp->sq_base + wqe_idx; if (wqe_idx) - memset(wqe, qp->swqe_polarity ? 0 : 0xFF, 0x1000); + memset(sq, qp->swqe_polarity ? 0 : 0xFF, + 128 * sizeof(*sq)); else - memset(wqe, qp->swqe_polarity ? 0xFF : 0, 0x1000); + memset(sq, qp->swqe_polarity ? 0xFF : 0, + 128 * sizeof(*sq)); } } diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/mlx5/main.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/mlx5/main.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/mlx5/main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/mlx5/main.c @@ -4376,6 +4376,9 @@ STAGE_CREATE(MLX5_IB_STAGE_POST_IB_REG_UMR, mlx5_ib_stage_post_ib_reg_umr_init, NULL), + STAGE_CREATE(MLX5_IB_STAGE_DELAY_DROP, + mlx5_ib_stage_delay_drop_init, + mlx5_ib_stage_delay_drop_cleanup), STAGE_CREATE(MLX5_IB_STAGE_RESTRACK, mlx5_ib_restrack_init, NULL), diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_qp.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_qp.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_qp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_qp.c @@ -203,6 +203,9 @@ spin_lock_init(&qp->rq.producer_lock); spin_lock_init(&qp->rq.consumer_lock); + skb_queue_head_init(&qp->req_pkts); + skb_queue_head_init(&qp->resp_pkts); + atomic_set(&qp->ssn, 0); atomic_set(&qp->skb_out, 0); } @@ -263,12 +266,8 @@ qp->req.opcode = -1; qp->comp.opcode = -1; - skb_queue_head_init(&qp->req_pkts); - - rxe_init_task(rxe, &qp->req.task, qp, - rxe_requester, "req"); - rxe_init_task(rxe, &qp->comp.task, qp, - rxe_completer, "comp"); + rxe_init_task(&qp->req.task, qp, rxe_requester); + rxe_init_task(&qp->comp.task, qp, rxe_completer); qp->qp_timeout_jiffies = 0; /* Can't be set for UD/UC in modify_qp */ if (init->qp_type == IB_QPT_RC) { @@ -313,10 +312,7 @@ } } - skb_queue_head_init(&qp->resp_pkts); - - rxe_init_task(rxe, &qp->resp.task, qp, - rxe_responder, "resp"); + rxe_init_task(&qp->resp.task, qp, rxe_responder); qp->resp.opcode = OPCODE_NONE; qp->resp.msn = 0; diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_task.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_task.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_task.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_task.c @@ -95,13 +95,10 @@ task->ret = ret; } -int rxe_init_task(void *obj, struct rxe_task *task, - void *arg, int (*func)(void *), char *name) +int rxe_init_task(struct rxe_task *task, void *arg, int (*func)(void *)) { - task->obj = obj; task->arg = arg; task->func = func; - snprintf(task->name, sizeof(task->name), "%s", name); task->destroyed = false; tasklet_setup(&task->tasklet, rxe_do_task); diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs-clt.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs-clt.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs-clt.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs-clt.c @@ -2028,6 +2028,7 @@ return 0; } +/* The caller should do the cleanup in case of error */ static int create_cm(struct rtrs_clt_con *con) { struct rtrs_path *s = con->c.path; @@ -2050,14 +2051,14 @@ err = rdma_set_reuseaddr(cm_id, 1); if (err != 0) { rtrs_err(s, "Set address reuse failed, err: %d\n", err); - goto destroy_cm; + return err; } err = rdma_resolve_addr(cm_id, (struct sockaddr *)&clt_path->s.src_addr, (struct sockaddr *)&clt_path->s.dst_addr, RTRS_CONNECT_TIMEOUT_MS); if (err) { rtrs_err(s, "Failed to resolve address, err: %d\n", err); - goto destroy_cm; + return err; } /* * Combine connection status and session events. This is needed @@ -2072,29 +2073,15 @@ if (err == 0) err = -ETIMEDOUT; /* Timedout or interrupted */ - goto errr; + return err; } - if (con->cm_err < 0) { - err = con->cm_err; - goto errr; - } - if (READ_ONCE(clt_path->state) != RTRS_CLT_CONNECTING) { + if (con->cm_err < 0) + return con->cm_err; + if (READ_ONCE(clt_path->state) != RTRS_CLT_CONNECTING) /* Device removal */ - err = -ECONNABORTED; - goto errr; - } + return -ECONNABORTED; return 0; - -errr: - stop_cm(con); - mutex_lock(&con->con_mutex); - destroy_con_cq_qp(con); - mutex_unlock(&con->con_mutex); -destroy_cm: - destroy_cm(con); - - return err; } static void rtrs_clt_path_up(struct rtrs_clt_path *clt_path) @@ -2331,7 +2318,7 @@ static int init_conns(struct rtrs_clt_path *clt_path) { unsigned int cid; - int err; + int err, i; /* * On every new session connections increase reconnect counter @@ -2347,10 +2334,8 @@ goto destroy; err = create_cm(to_clt_con(clt_path->s.con[cid])); - if (err) { - destroy_con(to_clt_con(clt_path->s.con[cid])); + if (err) goto destroy; - } } err = alloc_path_reqs(clt_path); if (err) @@ -2361,15 +2346,21 @@ return 0; destroy: - while (cid--) { - struct rtrs_clt_con *con = to_clt_con(clt_path->s.con[cid]); + /* Make sure we do the cleanup in the order they are created */ + for (i = 0; i <= cid; i++) { + struct rtrs_clt_con *con; - stop_cm(con); + if (!clt_path->s.con[i]) + break; - mutex_lock(&con->con_mutex); - destroy_con_cq_qp(con); - mutex_unlock(&con->con_mutex); - destroy_cm(con); + con = to_clt_con(clt_path->s.con[i]); + if (con->c.cm_id) { + stop_cm(con); + mutex_lock(&con->con_mutex); + destroy_con_cq_qp(con); + mutex_unlock(&con->con_mutex); + destroy_cm(con); + } destroy_con(con); } /* diff -u linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs.c linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs.c --- linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/rtrs/rtrs.c @@ -37,8 +37,10 @@ goto err; iu->dma_addr = ib_dma_map_single(dma_dev, iu->buf, size, dir); - if (ib_dma_mapping_error(dma_dev, iu->dma_addr)) + if (ib_dma_mapping_error(dma_dev, iu->dma_addr)) { + kfree(iu->buf); goto err; + } iu->cqe.done = done; iu->size = size; diff -u linux-intel-iotg-5.15-5.15.0/drivers/input/input.c linux-intel-iotg-5.15-5.15.0/drivers/input/input.c --- linux-intel-iotg-5.15-5.15.0/drivers/input/input.c +++ linux-intel-iotg-5.15-5.15.0/drivers/input/input.c @@ -691,7 +691,7 @@ __input_release_device(handle); - if (!dev->inhibited && !--dev->users) { + if (!--dev->users && !dev->inhibited) { if (dev->poller) input_dev_poller_stop(dev->poller); if (dev->close) diff -u linux-intel-iotg-5.15-5.15.0/drivers/input/joystick/xpad.c linux-intel-iotg-5.15-5.15.0/drivers/input/joystick/xpad.c --- linux-intel-iotg-5.15-5.15.0/drivers/input/joystick/xpad.c +++ linux-intel-iotg-5.15-5.15.0/drivers/input/joystick/xpad.c @@ -264,7 +264,6 @@ { 0x1430, 0xf801, "RedOctane Controller", 0, XTYPE_XBOX360 }, { 0x146b, 0x0601, "BigBen Interactive XBOX 360 Controller", 0, XTYPE_XBOX360 }, { 0x146b, 0x0604, "Bigben Interactive DAIJA Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, - { 0x1532, 0x0037, "Razer Sabertooth", 0, XTYPE_XBOX360 }, { 0x1532, 0x0a00, "Razer Atrox Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, { 0x1532, 0x0a03, "Razer Wildcat", 0, XTYPE_XBOXONE }, { 0x15e4, 0x3f00, "Power A Mini Pro Elite", 0, XTYPE_XBOX360 }, diff -u linux-intel-iotg-5.15-5.15.0/drivers/input/misc/soc_button_array.c linux-intel-iotg-5.15-5.15.0/drivers/input/misc/soc_button_array.c --- linux-intel-iotg-5.15-5.15.0/drivers/input/misc/soc_button_array.c +++ linux-intel-iotg-5.15-5.15.0/drivers/input/misc/soc_button_array.c @@ -109,0 +110,21 @@ + +/* + * Some devices have a wrong entry which points to a GPIO which is + * required in another driver, so this driver must not claim it. + */ +static const struct dmi_system_id dmi_invalid_acpi_index[] = { + { + /* + * Lenovo Yoga Book X90F / X90L, the PNP0C40 home button entry + * points to a GPIO which is not a home button and which is + * required by the lenovo-yogabook driver. + */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"), + DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "YETI-11"), + }, + .driver_data = (void *)1l, + }, + {} /* Terminating entry */ +}; @@ -137,6 +158,8 @@ struct platform_device *pd; struct gpio_keys_button *gpio_keys; struct gpio_keys_platform_data *gpio_keys_pdata; + const struct dmi_system_id *dmi_id; + int invalid_acpi_index = -1; int error, gpio, irq; int n_buttons = 0; @@ -154,10 +177,17 @@ gpio_keys = (void *)(gpio_keys_pdata + 1); n_buttons = 0; + dmi_id = dmi_first_match(dmi_invalid_acpi_index); + if (dmi_id) + invalid_acpi_index = (long)dmi_id->driver_data; + for (info = button_info; info->name; info++) { if (info->autorepeat != autorepeat) continue; + if (info->acpi_index == invalid_acpi_index) + continue; + error = soc_button_lookup_gpio(&pdev->dev, info->acpi_index, &gpio, &irq); if (error || irq < 0) { /* diff -u linux-intel-iotg-5.15-5.15.0/drivers/input/mouse/elantech.c linux-intel-iotg-5.15-5.15.0/drivers/input/mouse/elantech.c --- linux-intel-iotg-5.15-5.15.0/drivers/input/mouse/elantech.c +++ linux-intel-iotg-5.15-5.15.0/drivers/input/mouse/elantech.c @@ -674,10 +674,11 @@ struct input_dev *dev = psmouse->dev; struct elantech_data *etd = psmouse->private; unsigned char *packet = psmouse->packet; - int id = ((packet[3] & 0xe0) >> 5) - 1; + int id; int pres, traces; - if (id < 0) + id = ((packet[3] & 0xe0) >> 5) - 1; + if (id < 0 || id >= ETP_MAX_FINGERS) return; etd->mt[id].x = ((packet[1] & 0x0f) << 8) | packet[2]; @@ -707,7 +708,7 @@ int id, sid; id = ((packet[0] & 0xe0) >> 5) - 1; - if (id < 0) + if (id < 0 || id >= ETP_MAX_FINGERS) return; sid = ((packet[3] & 0xe0) >> 5) - 1; @@ -728,7 +729,7 @@ input_report_abs(dev, ABS_MT_POSITION_X, etd->mt[id].x); input_report_abs(dev, ABS_MT_POSITION_Y, etd->mt[id].y); - if (sid >= 0) { + if (sid >= 0 && sid < ETP_MAX_FINGERS) { etd->mt[sid].x += delta_x2 * weight; etd->mt[sid].y -= delta_y2 * weight; input_mt_slot(dev, sid); diff -u linux-intel-iotg-5.15-5.15.0/drivers/irqchip/irq-gic-v3.c linux-intel-iotg-5.15-5.15.0/drivers/irqchip/irq-gic-v3.c --- linux-intel-iotg-5.15-5.15.0/drivers/irqchip/irq-gic-v3.c +++ linux-intel-iotg-5.15-5.15.0/drivers/irqchip/irq-gic-v3.c @@ -35,6 +35,7 @@ #define FLAGS_WORKAROUND_GICR_WAKER_MSM8996 (1ULL << 0) #define FLAGS_WORKAROUND_CAVIUM_ERRATUM_38539 (1ULL << 1) +#define FLAGS_WORKAROUND_MTK_GICR_SAVE (1ULL << 2) #define GIC_IRQ_TYPE_PARTITION (GIC_IRQ_TYPE_LPI + 1) @@ -1646,6 +1647,15 @@ return true; } +static bool gic_enable_quirk_mtk_gicr(void *data) +{ + struct gic_chip_data *d = data; + + d->flags |= FLAGS_WORKAROUND_MTK_GICR_SAVE; + + return true; +} + static bool gic_enable_quirk_cavium_38539(void *data) { struct gic_chip_data *d = data; @@ -1682,6 +1692,11 @@ .init = gic_enable_quirk_msm8996, }, { + .desc = "GICv3: Mediatek Chromebook GICR save problem", + .property = "mediatek,broken-save-restore-fw", + .init = gic_enable_quirk_mtk_gicr, + }, + { .desc = "GICv3: HIP06 erratum 161010803", .iidr = 0x0204043b, .mask = 0xffffffff, @@ -1717,6 +1732,11 @@ if (!gic_prio_masking_enabled()) return; + if (gic_data.flags & FLAGS_WORKAROUND_MTK_GICR_SAVE) { + pr_warn("Skipping NMI enable due to firmware issues\n"); + return; + } + ppi_nmi_refs = kcalloc(gic_data.ppi_nr, sizeof(*ppi_nmi_refs), GFP_KERNEL); if (!ppi_nmi_refs) return; diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.c linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.c @@ -885,7 +885,7 @@ * cannibalize_bucket() will take. This means every time we unlock the root of * the btree, we need to release this lock if we have it held. */ -static void bch_cannibalize_unlock(struct cache_set *c) +void bch_cannibalize_unlock(struct cache_set *c) { spin_lock(&c->btree_cannibalize_lock); if (c->btree_cache_alloc_lock == current) { @@ -1090,10 +1090,12 @@ struct btree *parent) { BKEY_PADDED(key) k; - struct btree *b = ERR_PTR(-EAGAIN); + struct btree *b; mutex_lock(&c->bucket_lock); retry: + /* return ERR_PTR(-EAGAIN) when it fails */ + b = ERR_PTR(-EAGAIN); if (__bch_bucket_alloc_set(c, RESERVE_BTREE, &k.key, wait)) goto err; @@ -1138,7 +1140,7 @@ { struct btree *n = bch_btree_node_alloc(b->c, op, b->level, b->parent); - if (!IS_ERR_OR_NULL(n)) { + if (!IS_ERR(n)) { mutex_lock(&n->write_lock); bch_btree_sort_into(&b->keys, &n->keys, &b->c->sort); bkey_copy_key(&n->key, &b->key); @@ -1340,7 +1342,7 @@ memset(new_nodes, 0, sizeof(new_nodes)); closure_init_stack(&cl); - while (nodes < GC_MERGE_NODES && !IS_ERR_OR_NULL(r[nodes].b)) + while (nodes < GC_MERGE_NODES && !IS_ERR(r[nodes].b)) keys += r[nodes++].keys; blocks = btree_default_blocks(b->c) * 2 / 3; @@ -1352,7 +1354,7 @@ for (i = 0; i < nodes; i++) { new_nodes[i] = btree_node_alloc_replacement(r[i].b, NULL); - if (IS_ERR_OR_NULL(new_nodes[i])) + if (IS_ERR(new_nodes[i])) goto out_nocoalesce; } @@ -1487,7 +1489,7 @@ bch_keylist_free(&keylist); for (i = 0; i < nodes; i++) - if (!IS_ERR_OR_NULL(new_nodes[i])) { + if (!IS_ERR(new_nodes[i])) { btree_node_free(new_nodes[i]); rw_unlock(true, new_nodes[i]); } @@ -1669,7 +1671,7 @@ if (should_rewrite) { n = btree_node_alloc_replacement(b, NULL); - if (!IS_ERR_OR_NULL(n)) { + if (!IS_ERR(n)) { bch_btree_node_write_sync(n); bch_btree_set_root(n); @@ -1968,6 +1970,15 @@ c->gc_stats.nodes++; bch_btree_op_init(&op, 0); ret = bcache_btree(check_recurse, p, c->root, &op); + /* + * The op may be added to cache_set's btree_cache_wait + * in mca_cannibalize(), must ensure it is removed from + * the list and release btree_cache_alloc_lock before + * free op memory. + * Otherwise, the btree_cache_wait will be damaged. + */ + bch_cannibalize_unlock(c); + finish_wait(&c->btree_cache_wait, &(&op)->wait); if (ret) goto out; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.h linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.h --- linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.h +++ linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/btree.h @@ -282,6 +282,7 @@ void bch_moving_gc(struct cache_set *c); int bch_btree_check(struct cache_set *c); void bch_initial_mark_key(struct cache_set *c, int level, struct bkey *k); +void bch_cannibalize_unlock(struct cache_set *c); static inline void wake_up_gc(struct cache_set *c) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/super.c linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/super.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/super.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/super.c @@ -1729,7 +1729,7 @@ if (!IS_ERR_OR_NULL(c->gc_thread)) kthread_stop(c->gc_thread); - if (!IS_ERR_OR_NULL(c->root)) + if (!IS_ERR(c->root)) list_add(&c->root->list, &c->btree_cache); /* @@ -2093,7 +2093,7 @@ err = "cannot allocate new btree root"; c->root = __bch_btree_node_alloc(c, NULL, 0, true, NULL); - if (IS_ERR_OR_NULL(c->root)) + if (IS_ERR(c->root)) goto err; mutex_lock(&c->root->write_lock); diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/writeback.c linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/writeback.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/writeback.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/bcache/writeback.c @@ -881,4 +881,14 @@ pr_warn("sectors dirty init failed, ret=%d!\n", ret); + /* + * The op may be added to cache_set's btree_cache_wait + * in mca_cannibalize(), must ensure it is removed from + * the list and release btree_cache_alloc_lock before + * free op memory. + * Otherwise, the btree_cache_wait will be damaged. + */ + bch_cannibalize_unlock(c); + finish_wait(&c->btree_cache_wait, &(&op.op)->wait); + return ret; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/dm-integrity.c linux-intel-iotg-5.15-5.15.0/drivers/md/dm-integrity.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/dm-integrity.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/dm-integrity.c @@ -31,11 +31,11 @@ #define DEFAULT_BUFFER_SECTORS 128 #define DEFAULT_JOURNAL_WATERMARK 50 #define DEFAULT_SYNC_MSEC 10000 -#define DEFAULT_MAX_JOURNAL_SECTORS 131072 +#define DEFAULT_MAX_JOURNAL_SECTORS (IS_ENABLED(CONFIG_64BIT) ? 131072 : 8192) #define MIN_LOG2_INTERLEAVE_SECTORS 3 #define MAX_LOG2_INTERLEAVE_SECTORS 31 #define METADATA_WORKQUEUE_MAX_ACTIVE 16 -#define RECALC_SECTORS 32768 +#define RECALC_SECTORS (IS_ENABLED(CONFIG_64BIT) ? 32768 : 2048) #define RECALC_WRITE_SUPER 16 #define BITMAP_BLOCK_SIZE 4096 /* don't change it */ #define BITMAP_FLUSH_INTERVAL (10 * HZ) diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/dm-ioctl.c linux-intel-iotg-5.15-5.15.0/drivers/md/dm-ioctl.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/dm-ioctl.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/dm-ioctl.c @@ -1145,13 +1145,10 @@ /* Do we need to load a new map ? */ if (new_map) { sector_t old_size, new_size; - int srcu_idx; /* Suspend if it isn't already suspended */ - old_map = dm_get_live_table(md, &srcu_idx); - if ((param->flags & DM_SKIP_LOCKFS_FLAG) || !old_map) + if (param->flags & DM_SKIP_LOCKFS_FLAG) suspend_flags &= ~DM_SUSPEND_LOCKFS_FLAG; - dm_put_live_table(md, srcu_idx); if (param->flags & DM_NOFLUSH_FLAG) suspend_flags |= DM_SUSPEND_NOFLUSH_FLAG; if (!dm_suspended_md(md)) diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/dm-thin-metadata.c linux-intel-iotg-5.15-5.15.0/drivers/md/dm-thin-metadata.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/dm-thin-metadata.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/dm-thin-metadata.c @@ -1778,13 +1778,15 @@ int dm_pool_block_is_shared(struct dm_pool_metadata *pmd, dm_block_t b, bool *result) { - int r; + int r = -EINVAL; uint32_t ref_count; down_read(&pmd->root_lock); - r = dm_sm_get_count(pmd->data_sm, b, &ref_count); - if (!r) - *result = (ref_count > 1); + if (!pmd->fail_io) { + r = dm_sm_get_count(pmd->data_sm, b, &ref_count); + if (!r) + *result = (ref_count > 1); + } up_read(&pmd->root_lock); return r; @@ -1792,10 +1794,11 @@ int dm_pool_inc_data_range(struct dm_pool_metadata *pmd, dm_block_t b, dm_block_t e) { - int r = 0; + int r = -EINVAL; pmd_write_lock(pmd); - r = dm_sm_inc_blocks(pmd->data_sm, b, e); + if (!pmd->fail_io) + r = dm_sm_inc_blocks(pmd->data_sm, b, e); pmd_write_unlock(pmd); return r; @@ -1803,10 +1806,11 @@ int dm_pool_dec_data_range(struct dm_pool_metadata *pmd, dm_block_t b, dm_block_t e) { - int r = 0; + int r = -EINVAL; pmd_write_lock(pmd); - r = dm_sm_dec_blocks(pmd->data_sm, b, e); + if (!pmd->fail_io) + r = dm_sm_dec_blocks(pmd->data_sm, b, e); pmd_write_unlock(pmd); return r; diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/dm.c linux-intel-iotg-5.15-5.15.0/drivers/md/dm.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/dm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/dm.c @@ -2526,6 +2526,10 @@ } map = rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_lock)); + if (!map) { + /* avoid deadlock with fs/namespace.c:do_mount() */ + suspend_flags &= ~DM_SUSPEND_LOCKFS_FLAG; + } r = __dm_suspend(md, map, suspend_flags, TASK_INTERRUPTIBLE, DMF_SUSPENDED); if (r) diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/md-bitmap.c linux-intel-iotg-5.15-5.15.0/drivers/md/md-bitmap.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/md-bitmap.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/md-bitmap.c @@ -54,14 +54,7 @@ { unsigned char *mappage; - if (page >= bitmap->pages) { - /* This can happen if bitmap_start_sync goes beyond - * End-of-device while looking for a whole page. - * It is harmless. - */ - return -EINVAL; - } - + WARN_ON_ONCE(page >= bitmap->pages); if (bitmap->bp[page].hijacked) /* it's hijacked, don't try to alloc */ return 0; @@ -1365,6 +1358,14 @@ sector_t csize; int err; + if (page >= bitmap->pages) { + /* + * This can happen if bitmap_start_sync goes beyond + * End-of-device while looking for a whole page or + * user set a huge number to sysfs bitmap_set_bits. + */ + return NULL; + } err = md_bitmap_checkpage(bitmap, page, create, 0); if (bitmap->bp[page].hijacked || diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/md.c linux-intel-iotg-5.15-5.15.0/drivers/md/md.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/md.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/md.c @@ -3872,8 +3872,9 @@ static ssize_t safe_delay_show(struct mddev *mddev, char *page) { - int msec = (mddev->safemode_delay*1000)/HZ; - return sprintf(page, "%d.%03d\n", msec/1000, msec%1000); + unsigned int msec = ((unsigned long)mddev->safemode_delay*1000)/HZ; + + return sprintf(page, "%u.%03u\n", msec/1000, msec%1000); } static ssize_t safe_delay_store(struct mddev *mddev, const char *cbuf, size_t len) @@ -3885,7 +3886,7 @@ return -EINVAL; } - if (strict_strtoul_scaled(cbuf, &msec, 3) < 0) + if (strict_strtoul_scaled(cbuf, &msec, 3) < 0 || msec > UINT_MAX / HZ) return -EINVAL; if (msec == 0) mddev->safemode_delay = 0; @@ -4555,6 +4556,8 @@ rv = kstrtouint(buf, 10, &n); if (rv < 0) return rv; + if (n > INT_MAX) + return -EINVAL; atomic_set(&mddev->max_corr_read_errors, n); return len; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/raid0.c linux-intel-iotg-5.15-5.15.0/drivers/md/raid0.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/raid0.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/raid0.c @@ -276,6 +276,18 @@ goto abort; } + if (conf->layout == RAID0_ORIG_LAYOUT) { + for (i = 1; i < conf->nr_strip_zones; i++) { + sector_t first_sector = conf->strip_zone[i-1].zone_end; + + sector_div(first_sector, mddev->chunk_sectors); + zone = conf->strip_zone + i; + /* disk_shift is first disk index used in the zone */ + zone->disk_shift = sector_div(first_sector, + zone->nb_dev); + } + } + pr_debug("md/raid0:%s: done.\n", mdname(mddev)); *private_conf = conf; @@ -448,2 +460,16 @@ +/* + * Convert disk_index to the disk order in which it is read/written. + * For example, if we have 4 disks, they are numbered 0,1,2,3. If we + * write the disks starting at disk 3, then the read/write order would + * be disk 3, then 0, then 1, and then disk 2 and we want map_disk_shift() + * to map the disks as follows 0,1,2,3 => 1,2,3,0. So disk 0 would map + * to 1, 1 to 2, 2 to 3, and 3 to 0. That way we can compare disks in + * that 'output' space to understand the read/write disk ordering. + */ +static int map_disk_shift(int disk_index, int num_disks, int disk_shift) +{ + return ((disk_index + num_disks - disk_shift) % num_disks); +} + static void raid0_handle_discard(struct mddev *mddev, struct bio *bio) @@ -459,7 +485,9 @@ sector_t end_disk_offset; unsigned int end_disk_index; unsigned int disk; + sector_t orig_start, orig_end; + orig_start = start; zone = find_zone(conf, &start); if (bio_end_sector(bio) > zone->zone_end) { @@ -473,6 +501,7 @@ } else end = bio_end_sector(bio); + orig_end = end; if (zone != conf->strip_zone) end = end - zone[-1].zone_end; @@ -484,13 +513,26 @@ last_stripe_index = end; sector_div(last_stripe_index, stripe_size); - start_disk_index = (int)(start - first_stripe_index * stripe_size) / - mddev->chunk_sectors; + /* In the first zone the original and alternate layouts are the same */ + if ((conf->layout == RAID0_ORIG_LAYOUT) && (zone != conf->strip_zone)) { + sector_div(orig_start, mddev->chunk_sectors); + start_disk_index = sector_div(orig_start, zone->nb_dev); + start_disk_index = map_disk_shift(start_disk_index, + zone->nb_dev, + zone->disk_shift); + sector_div(orig_end, mddev->chunk_sectors); + end_disk_index = sector_div(orig_end, zone->nb_dev); + end_disk_index = map_disk_shift(end_disk_index, + zone->nb_dev, zone->disk_shift); + } else { + start_disk_index = (int)(start - first_stripe_index * stripe_size) / + mddev->chunk_sectors; + end_disk_index = (int)(end - last_stripe_index * stripe_size) / + mddev->chunk_sectors; + } start_disk_offset = ((int)(start - first_stripe_index * stripe_size) % mddev->chunk_sectors) + first_stripe_index * mddev->chunk_sectors; - end_disk_index = (int)(end - last_stripe_index * stripe_size) / - mddev->chunk_sectors; end_disk_offset = ((int)(end - last_stripe_index * stripe_size) % mddev->chunk_sectors) + last_stripe_index * mddev->chunk_sectors; @@ -498,18 +540,22 @@ for (disk = 0; disk < zone->nb_dev; disk++) { sector_t dev_start, dev_end; struct md_rdev *rdev; + int compare_disk; + + compare_disk = map_disk_shift(disk, zone->nb_dev, + zone->disk_shift); - if (disk < start_disk_index) + if (compare_disk < start_disk_index) dev_start = (first_stripe_index + 1) * mddev->chunk_sectors; - else if (disk > start_disk_index) + else if (compare_disk > start_disk_index) dev_start = first_stripe_index * mddev->chunk_sectors; else dev_start = start_disk_offset; - if (disk < end_disk_index) + if (compare_disk < end_disk_index) dev_end = (last_stripe_index + 1) * mddev->chunk_sectors; - else if (disk > end_disk_index) + else if (compare_disk > end_disk_index) dev_end = last_stripe_index * mddev->chunk_sectors; else dev_end = end_disk_offset; diff -u linux-intel-iotg-5.15-5.15.0/drivers/md/raid10.c linux-intel-iotg-5.15-5.15.0/drivers/md/raid10.c --- linux-intel-iotg-5.15-5.15.0/drivers/md/raid10.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/raid10.c @@ -297,7 +297,7 @@ if (!test_bit(R10BIO_Uptodate, &r10_bio->state)) bio->bi_status = BLK_STS_IOERR; - if (blk_queue_io_stat(bio->bi_bdev->bd_disk->queue)) + if (r10_bio->start_time) bio_end_io_acct(bio, r10_bio->start_time); bio_endio(bio); /* @@ -752,8 +752,16 @@ disk = r10_bio->devs[slot].devnum; rdev = rcu_dereference(conf->mirrors[disk].replacement); if (rdev == NULL || test_bit(Faulty, &rdev->flags) || - r10_bio->devs[slot].addr + sectors > rdev->recovery_offset) + r10_bio->devs[slot].addr + sectors > + rdev->recovery_offset) { + /* + * Read replacement first to prevent reading both rdev + * and replacement as NULL during replacement replace + * rdev. + */ + smp_mb(); rdev = rcu_dereference(conf->mirrors[disk].rdev); + } if (rdev == NULL || test_bit(Faulty, &rdev->flags)) continue; @@ -1449,9 +1457,15 @@ for (i = 0; i < conf->copies; i++) { int d = r10_bio->devs[i].devnum; - struct md_rdev *rdev = rcu_dereference(conf->mirrors[d].rdev); - struct md_rdev *rrdev = rcu_dereference( - conf->mirrors[d].replacement); + struct md_rdev *rdev, *rrdev; + + rrdev = rcu_dereference(conf->mirrors[d].replacement); + /* + * Read replacement first to prevent reading both rdev and + * replacement as NULL during replacement replace rdev. + */ + smp_mb(); + rdev = rcu_dereference(conf->mirrors[d].rdev); if (rdev == rrdev) rrdev = NULL; if (rdev && (test_bit(Faulty, &rdev->flags))) @@ -3412,7 +3426,6 @@ int must_sync; int any_working; int need_recover = 0; - int need_replace = 0; struct raid10_info *mirror = &conf->mirrors[i]; struct md_rdev *mrdev, *mreplace; @@ -3424,11 +3437,10 @@ !test_bit(Faulty, &mrdev->flags) && !test_bit(In_sync, &mrdev->flags)) need_recover = 1; - if (mreplace != NULL && - !test_bit(Faulty, &mreplace->flags)) - need_replace = 1; + if (mreplace && test_bit(Faulty, &mreplace->flags)) + mreplace = NULL; - if (!need_recover && !need_replace) { + if (!need_recover && !mreplace) { rcu_read_unlock(); continue; } @@ -3444,8 +3456,6 @@ rcu_read_unlock(); continue; } - if (mreplace && test_bit(Faulty, &mreplace->flags)) - mreplace = NULL; /* Unless we are doing a full sync, or a replacement * we only need to recover the block if it is set in * the bitmap @@ -3568,11 +3578,11 @@ bio = r10_bio->devs[1].repl_bio; if (bio) bio->bi_end_io = NULL; - /* Note: if need_replace, then bio + /* Note: if replace is not NULL, then bio * cannot be NULL as r10buf_pool_alloc will * have allocated it. */ - if (!need_replace) + if (!mreplace) break; bio->bi_next = biolist; biolist = bio; diff -u linux-intel-iotg-5.15-5.15.0/drivers/media/cec/core/cec-adap.c linux-intel-iotg-5.15-5.15.0/drivers/media/cec/core/cec-adap.c --- linux-intel-iotg-5.15-5.15.0/drivers/media/cec/core/cec-adap.c +++ linux-intel-iotg-5.15-5.15.0/drivers/media/cec/core/cec-adap.c @@ -1086,7 +1086,8 @@ mutex_lock(&adap->lock); dprintk(2, "%s: %*ph\n", __func__, msg->len, msg->msg); - adap->last_initiator = 0xff; + if (!adap->transmit_in_progress) + adap->last_initiator = 0xff; /* Check if this message was for us (directed or broadcast). */ if (!cec_msg_is_broadcast(msg)) diff -u linux-intel-iotg-5.15-5.15.0/drivers/media/usb/siano/smsusb.c linux-intel-iotg-5.15-5.15.0/drivers/media/usb/siano/smsusb.c --- linux-intel-iotg-5.15-5.15.0/drivers/media/usb/siano/smsusb.c +++ linux-intel-iotg-5.15-5.15.0/drivers/media/usb/siano/smsusb.c @@ -179,7 +179,8 @@ for (i = 0; i < MAX_URBS; i++) { usb_kill_urb(&dev->surbs[i].urb); - cancel_work_sync(&dev->surbs[i].wq); + if (dev->surbs[i].wq.func) + cancel_work_sync(&dev->surbs[i].wq); if (dev->surbs[i].cb) { smscore_putbuffer(dev->coredev, dev->surbs[i].cb); diff -u linux-intel-iotg-5.15-5.15.0/drivers/memstick/host/r592.c linux-intel-iotg-5.15-5.15.0/drivers/memstick/host/r592.c --- linux-intel-iotg-5.15-5.15.0/drivers/memstick/host/r592.c +++ linux-intel-iotg-5.15-5.15.0/drivers/memstick/host/r592.c @@ -44,12 +44,10 @@ * memstick_debug_get_tpc_name - debug helper that returns string for * a TPC number */ -const char *memstick_debug_get_tpc_name(int tpc) +static __maybe_unused const char *memstick_debug_get_tpc_name(int tpc) { return tpc_names[tpc-1]; } -EXPORT_SYMBOL(memstick_debug_get_tpc_name); - /* Read a register*/ static inline u32 r592_read_reg(struct r592_device *dev, int address) diff -u linux-intel-iotg-5.15-5.15.0/drivers/mfd/intel-lpss-acpi.c linux-intel-iotg-5.15-5.15.0/drivers/mfd/intel-lpss-acpi.c --- linux-intel-iotg-5.15-5.15.0/drivers/mfd/intel-lpss-acpi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mfd/intel-lpss-acpi.c @@ -148,6 +148,9 @@ return -ENOMEM; info->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!info->mem) + return -ENODEV; + info->irq = platform_get_irq(pdev, 0); ret = intel_lpss_probe(&pdev->dev, info); diff -u linux-intel-iotg-5.15-5.15.0/drivers/mfd/qcom-pm8008.c linux-intel-iotg-5.15-5.15.0/drivers/mfd/qcom-pm8008.c --- linux-intel-iotg-5.15-5.15.0/drivers/mfd/qcom-pm8008.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mfd/qcom-pm8008.c @@ -233,6 +233,7 @@ { .compatible = "qcom,pm8008", }, { }, }; +MODULE_DEVICE_TABLE(of, pm8008_match); static struct i2c_driver pm8008_mfd_driver = { .driver = { diff -u linux-intel-iotg-5.15-5.15.0/drivers/misc/fastrpc.c linux-intel-iotg-5.15-5.15.0/drivers/misc/fastrpc.c --- linux-intel-iotg-5.15-5.15.0/drivers/misc/fastrpc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/misc/fastrpc.c @@ -1108,7 +1108,7 @@ sc = FASTRPC_SCALARS(FASTRPC_RMID_INIT_CREATE, 4, 0); if (init.attrs) - sc = FASTRPC_SCALARS(FASTRPC_RMID_INIT_CREATE_ATTR, 6, 0); + sc = FASTRPC_SCALARS(FASTRPC_RMID_INIT_CREATE_ATTR, 4, 0); err = fastrpc_internal_invoke(fl, true, FASTRPC_INIT_HANDLE, sc, args); diff -u linux-intel-iotg-5.15-5.15.0/drivers/misc/pci_endpoint_test.c linux-intel-iotg-5.15-5.15.0/drivers/misc/pci_endpoint_test.c --- linux-intel-iotg-5.15-5.15.0/drivers/misc/pci_endpoint_test.c +++ linux-intel-iotg-5.15-5.15.0/drivers/misc/pci_endpoint_test.c @@ -728,6 +728,10 @@ struct pci_dev *pdev = test->pdev; mutex_lock(&test->mutex); + + reinit_completion(&test->irq_raised); + test->last_irq = -ENODATA; + switch (cmd) { case PCITEST_BAR: bar = arg; @@ -937,6 +941,9 @@ if (id < 0) return; + pci_endpoint_test_release_irq(test); + pci_endpoint_test_free_irq_vectors(test); + misc_deregister(&test->miscdev); kfree(misc_device->name); kfree(test->name); @@ -946,9 +953,6 @@ pci_iounmap(pdev, test->bar[bar]); } - pci_endpoint_test_release_irq(test); - pci_endpoint_test_free_irq_vectors(test); - pci_release_regions(pdev); pci_disable_device(pdev); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/block.c linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/block.c --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/block.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/block.c @@ -265,6 +265,7 @@ goto out_put; } req_to_mmc_queue_req(req)->drv_op = MMC_DRV_OP_BOOT_WP; + req_to_mmc_queue_req(req)->drv_op_result = -EIO; blk_execute_rq(NULL, req, 0); ret = req_to_mmc_queue_req(req)->drv_op_result; blk_put_request(req); @@ -656,6 +657,7 @@ idatas[0] = idata; req_to_mmc_queue_req(req)->drv_op = rpmb ? MMC_DRV_OP_IOCTL_RPMB : MMC_DRV_OP_IOCTL; + req_to_mmc_queue_req(req)->drv_op_result = -EIO; req_to_mmc_queue_req(req)->drv_op_data = idatas; req_to_mmc_queue_req(req)->ioc_count = 1; blk_execute_rq(NULL, req, 0); @@ -725,6 +727,7 @@ } req_to_mmc_queue_req(req)->drv_op = rpmb ? MMC_DRV_OP_IOCTL_RPMB : MMC_DRV_OP_IOCTL; + req_to_mmc_queue_req(req)->drv_op_result = -EIO; req_to_mmc_queue_req(req)->drv_op_data = idata; req_to_mmc_queue_req(req)->ioc_count = num_of_cmds; blk_execute_rq(NULL, req, 0); @@ -2784,6 +2787,7 @@ if (IS_ERR(req)) return PTR_ERR(req); req_to_mmc_queue_req(req)->drv_op = MMC_DRV_OP_GET_CARD_STATUS; + req_to_mmc_queue_req(req)->drv_op_result = -EIO; blk_execute_rq(NULL, req, 0); ret = req_to_mmc_queue_req(req)->drv_op_result; if (ret >= 0) { @@ -2822,6 +2826,7 @@ goto out_free; } req_to_mmc_queue_req(req)->drv_op = MMC_DRV_OP_GET_EXT_CSD; + req_to_mmc_queue_req(req)->drv_op_result = -EIO; req_to_mmc_queue_req(req)->drv_op_data = &ext_csd; blk_execute_rq(NULL, req, 0); err = req_to_mmc_queue_req(req)->drv_op_result; diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/quirks.h linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/quirks.h --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/quirks.h +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/core/quirks.h @@ -100,6 +100,20 @@ MMC_QUIRK_TRIM_BROKEN), /* + * Kingston EMMC04G-M627 advertises TRIM but it does not seems to + * support being used to offload WRITE_ZEROES. + */ + MMC_FIXUP("M62704", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc, + MMC_QUIRK_TRIM_BROKEN), + + /* + * Micron MTFC4GACAJCN-1M advertises TRIM but it does not seems to + * support being used to offload WRITE_ZEROES. + */ + MMC_FIXUP("Q2J54A", CID_MANFID_MICRON, 0x014e, add_quirk_mmc, + MMC_QUIRK_TRIM_BROKEN), + + /* * Some SD cards reports discard support while they don't */ MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd, diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/meson-gx-mmc.c linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/meson-gx-mmc.c --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/meson-gx-mmc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/meson-gx-mmc.c @@ -981,11 +981,8 @@ if (status & (IRQ_END_OF_CHAIN | IRQ_RESP_STATUS)) { if (data && !cmd->error) data->bytes_xfered = data->blksz * data->blocks; - if (meson_mmc_bounce_buf_read(data) || - meson_mmc_get_next_command(cmd)) - ret = IRQ_WAKE_THREAD; - else - ret = IRQ_HANDLED; + + return IRQ_WAKE_THREAD; } out: @@ -997,9 +994,6 @@ writel(start, host->regs + SD_EMMC_START); } - if (ret == IRQ_HANDLED) - meson_mmc_request_done(host->mmc, cmd->mrq); - return ret; } @@ -1185,8 +1179,8 @@ } host->irq = platform_get_irq(pdev, 0); - if (host->irq <= 0) { - ret = -EINVAL; + if (host->irq < 0) { + ret = host->irq; goto free_host; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mmci.c linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mmci.c --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mmci.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mmci.c @@ -1729,7 +1729,8 @@ return; if (host->variant->busy_timeout && mmc->actual_clock) - max_busy_timeout = ~0UL / (mmc->actual_clock / MSEC_PER_SEC); + max_busy_timeout = U32_MAX / DIV_ROUND_UP(mmc->actual_clock, + MSEC_PER_SEC); mmc->max_busy_timeout = max_busy_timeout; } @@ -2448,6 +2449,7 @@ .drv = { .name = DRIVER_NAME, .pm = &mmci_dev_pm_ops, + .probe_type = PROBE_PREFER_ASYNCHRONOUS, }, .probe = mmci_probe, .remove = mmci_remove, diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mtk-sd.c linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mtk-sd.c --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mtk-sd.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mtk-sd.c @@ -2525,7 +2525,7 @@ host->irq = platform_get_irq(pdev, 0); if (host->irq < 0) { - ret = -EINVAL; + ret = host->irq; goto host_free; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/omap_hsmmc.c linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/omap_hsmmc.c --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/omap_hsmmc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/omap_hsmmc.c @@ -1832,9 +1832,11 @@ } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - irq = platform_get_irq(pdev, 0); - if (res == NULL || irq < 0) + if (!res) return -ENXIO; + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(base)) diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci-msm.c linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci-msm.c --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci-msm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci-msm.c @@ -2482,6 +2482,9 @@ msm_host->ddr_config = DDR_CONFIG_POR_VAL; of_property_read_u32(node, "qcom,dll-config", &msm_host->dll_config); + + if (of_device_is_compatible(node, "qcom,msm8916-sdhci")) + host->quirks2 |= SDHCI_QUIRK2_BROKEN_64_BIT_DMA; } static int sdhci_msm_gcc_reset(struct device *dev, struct sdhci_host *host) diff -u linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci.c linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci.c --- linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci.c @@ -1144,6 +1144,8 @@ } } + sdhci_config_dma(host); + if (host->flags & SDHCI_REQ_USE_DMA) { int sg_cnt = sdhci_pre_dma_transfer(host, data, COOKIE_MAPPED); @@ -1163,8 +1165,6 @@ } } - sdhci_config_dma(host); - if (!(host->flags & SDHCI_REQ_USE_DMA)) { int flags; diff -u linux-intel-iotg-5.15-5.15.0/drivers/mtd/nand/raw/meson_nand.c linux-intel-iotg-5.15-5.15.0/drivers/mtd/nand/raw/meson_nand.c --- linux-intel-iotg-5.15-5.15.0/drivers/mtd/nand/raw/meson_nand.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mtd/nand/raw/meson_nand.c @@ -72,6 +72,7 @@ #define GENCMDIADDRH(aih, addr) ((aih) | (((addr) >> 16) & 0xffff)) #define DMA_DIR(dir) ((dir) ? NFC_CMD_N2M : NFC_CMD_M2N) +#define DMA_ADDR_ALIGN 8 #define ECC_CHECK_RETURN_FF (-1) @@ -838,6 +839,9 @@ static bool meson_nfc_is_buffer_dma_safe(const void *buffer) { + if ((uintptr_t)buffer % DMA_ADDR_ALIGN) + return false; + if (virt_addr_valid(buffer) && (!object_is_on_stack(buffer))) return true; return false; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/bonding/bond_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/bonding/bond_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/bonding/bond_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/bonding/bond_main.c @@ -3900,7 +3900,7 @@ return skb->hash; return __bond_xmit_hash(bond, skb, skb->data, skb->protocol, - skb_mac_offset(skb), skb_network_offset(skb), + 0, skb_network_offset(skb), skb_headlen(skb)); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/lan9303-core.c linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/lan9303-core.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/lan9303-core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/lan9303-core.c @@ -1194,8 +1194,6 @@ struct lan9303 *chip = ds->priv; dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, addr, vid); - if (vid) - return -EOPNOTSUPP; return lan9303_alr_add_port(chip, addr, port, false); } @@ -1207,8 +1205,6 @@ struct lan9303 *chip = ds->priv; dev_dbg(chip->dev, "%s(%d, %pM, %d)\n", __func__, port, addr, vid); - if (vid) - return -EOPNOTSUPP; lan9303_alr_del_port(chip, addr, port); return 0; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/mt7530.c linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/mt7530.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/mt7530.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/mt7530.c @@ -993,6 +993,14 @@ mutex_unlock(&priv->reg_mutex); } +static void +mt753x_trap_frames(struct mt7530_priv *priv) +{ + /* Trap BPDUs to the CPU port(s) */ + mt7530_rmw(priv, MT753X_BPC, MT753X_BPDU_PORT_FW_MASK, + MT753X_BPDU_CPU_ONLY); +} + static int mt753x_cpu_port_enable(struct dsa_switch *ds, int port) { @@ -1015,7 +1023,7 @@ UNU_FFP(BIT(port))); /* Set CPU port number */ - if (priv->id == ID_MT7621) + if (priv->id == ID_MT7530 || priv->id == ID_MT7621) mt7530_rmw(priv, MT7530_MFC, CPU_MASK, CPU_EN | CPU_PORT(port)); /* CPU port gets connected to all user ports of @@ -2194,6 +2202,8 @@ priv->p6_interface = PHY_INTERFACE_MODE_NA; + mt753x_trap_frames(priv); + /* Enable and reset MIB counters */ mt7530_mib_reset(ds); @@ -2300,8 +2310,8 @@ BIT(cpu_dp->index)); break; } - mt7530_rmw(priv, MT753X_BPC, MT753X_BPDU_PORT_FW_MASK, - MT753X_BPDU_CPU_ONLY); + + mt753x_trap_frames(priv); /* Enable and reset MIB counters */ mt7530_mib_reset(ds); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/amazon/ena/ena_com.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/amazon/ena/ena_com.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/amazon/ena/ena_com.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/amazon/ena/ena_com.c @@ -35,6 +35,8 @@ #define ENA_REGS_ADMIN_INTR_MASK 1 +#define ENA_MAX_BACKOFF_DELAY_EXP 16U + #define ENA_MIN_ADMIN_POLL_US 100 #define ENA_MAX_ADMIN_POLL_US 5000 @@ -536,6 +538,7 @@ static void ena_delay_exponential_backoff_us(u32 exp, u32 delay_us) { + exp = min_t(u32, exp, ENA_MAX_BACKOFF_DELAY_EXP); delay_us = max_t(u32, ENA_MIN_ADMIN_POLL_US, delay_us); delay_us = min_t(u32, delay_us * (1U << exp), ENA_MAX_ADMIN_POLL_US); usleep_range(delay_us, 2 * delay_us); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bgmac.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bgmac.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bgmac.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bgmac.c @@ -1493,6 +1493,4 @@ bgmac->in_init = true; - bgmac_chip_intrs_off(bgmac); - net_dev->irq = bgmac->irq; SET_NETDEV_DEV(net_dev, bgmac->dev); @@ -1511,6 +1509,8 @@ */ bgmac_clk_enable(bgmac, 0); + bgmac_chip_intrs_off(bgmac); + /* This seems to be fixing IRQ by assigning OOB #6 to the core */ if (!(bgmac->feature_flags & BGMAC_FEAT_IDM_MASK)) { if (bgmac->feature_flags & BGMAC_FEAT_IRQ_ID_OOB_6) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -8595,6 +8595,9 @@ goto err_out; } + if (BNXT_VF(bp)) + bnxt_hwrm_func_qcfg(bp); + rc = bnxt_setup_vnic(bp, 0); if (rc) goto err_out; @@ -12698,26 +12701,37 @@ #endif /* CONFIG_RFS_ACCEL */ -static int bnxt_udp_tunnel_sync(struct net_device *netdev, unsigned int table) +static int bnxt_udp_tunnel_set_port(struct net_device *netdev, unsigned int table, + unsigned int entry, struct udp_tunnel_info *ti) { struct bnxt *bp = netdev_priv(netdev); - struct udp_tunnel_info ti; unsigned int cmd; - udp_tunnel_nic_get_port(netdev, table, 0, &ti); - if (ti.type == UDP_TUNNEL_TYPE_VXLAN) + if (ti->type == UDP_TUNNEL_TYPE_VXLAN) cmd = TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN; else cmd = TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_GENEVE; - if (ti.port) - return bnxt_hwrm_tunnel_dst_port_alloc(bp, ti.port, cmd); + return bnxt_hwrm_tunnel_dst_port_alloc(bp, ti->port, cmd); +} + +static int bnxt_udp_tunnel_unset_port(struct net_device *netdev, unsigned int table, + unsigned int entry, struct udp_tunnel_info *ti) +{ + struct bnxt *bp = netdev_priv(netdev); + unsigned int cmd; + + if (ti->type == UDP_TUNNEL_TYPE_VXLAN) + cmd = TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN; + else + cmd = TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_GENEVE; return bnxt_hwrm_tunnel_dst_port_free(bp, cmd); } static const struct udp_tunnel_nic_info bnxt_udp_tunnels = { - .sync_table = bnxt_udp_tunnel_sync, + .set_port = bnxt_udp_tunnel_set_port, + .unset_port = bnxt_udp_tunnel_unset_port, .flags = UDP_TUNNEL_NIC_INFO_MAY_SLEEP | UDP_TUNNEL_NIC_INFO_OPEN_ONLY, .tables = { diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -3597,7 +3597,7 @@ } } - if (req & BNXT_FW_RESET_AP) { + if (!BNXT_CHIP_P4_PLUS(bp) && (req & BNXT_FW_RESET_AP)) { /* This feature is not supported in older firmware versions */ if (bp->hwrm_spec_code >= 0x10803) { if (!bnxt_firmware_reset_ap(dev)) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/genet/bcmmii.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/genet/bcmmii.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/genet/bcmmii.c @@ -629,3 +629,5 @@ of_node_put(priv->phy_dn); + clk_prepare_enable(priv->clk); platform_device_unregister(priv->mii_pdev); + clk_disable_unprepare(priv->clk); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/tg3.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/tg3.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/tg3.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/broadcom/tg3.c @@ -224,6 +224,7 @@ MODULE_DESCRIPTION("Broadcom Tigon3 ethernet driver"); MODULE_LICENSE("GPL"); MODULE_FIRMWARE(FIRMWARE_TG3); +MODULE_FIRMWARE(FIRMWARE_TG357766); MODULE_FIRMWARE(FIRMWARE_TG3TSO); MODULE_FIRMWARE(FIRMWARE_TG3TSO5); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc.c @@ -940,7 +940,13 @@ if (!skb) break; - rx_byte_cnt += skb->len; + /* When set, the outer VLAN header is extracted and reported + * in the receive buffer descriptor. So rx_byte_cnt should + * add the length of the extracted VLAN header. + */ + if (bd_status & ENETC_RXBD_FLAG_VLAN) + rx_byte_cnt += VLAN_HLEN; + rx_byte_cnt += skb->len + ETH_HLEN; rx_frm_cnt++; napi_gro_receive(napi, skb); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc_qos.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc_qos.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc_qos.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/freescale/enetc/enetc_qos.c @@ -197,8 +197,8 @@ int bw_sum = 0; u8 bw; - prio_top = netdev_get_prio_tc_map(ndev, tc_nums - 1); - prio_next = netdev_get_prio_tc_map(ndev, tc_nums - 2); + prio_top = tc_nums - 1; + prio_next = tc_nums - 2; /* Support highest prio and second prio tc in cbs mode */ if (tc != prio_top && tc != prio_next) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/google/gve/gve_ethtool.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/google/gve/gve_ethtool.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/google/gve/gve_ethtool.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/google/gve/gve_ethtool.c @@ -532,6 +532,9 @@ err = gve_adminq_report_link_speed(priv); cmd->base.speed = priv->link_speed; + + cmd->base.duplex = DUPLEX_FULL; + return err; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/ibm/ibmvnic.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/ibm/ibmvnic.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/ibm/ibmvnic.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/ibm/ibmvnic.c @@ -1240,7 +1240,14 @@ if (prev_state == VNIC_CLOSED) enable_irq(adapter->tx_scrq[i]->irq); enable_scrq_irq(adapter, adapter->tx_scrq[i]); - netdev_tx_reset_queue(netdev_get_tx_queue(netdev, i)); + /* netdev_tx_reset_queue will reset dql stats. During NON_FATAL + * resets, don't reset the stats because there could be batched + * skb's waiting to be sent. If we reset dql stats, we risk + * num_completed being greater than num_queued. This will cause + * a BUG_ON in dql_completed(). + */ + if (adapter->reset_reason != VNIC_RESET_NON_FATAL) + netdev_tx_reset_queue(netdev_get_tx_queue(netdev, i)); } rc = set_link_state(adapter, IBMVNIC_LOGICAL_LNK_UP); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/e1000e/netdev.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/e1000e/netdev.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/e1000e/netdev.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/e1000e/netdev.c @@ -7030,6 +7030,8 @@ struct e1000_adapter *adapter = netdev_priv(netdev); int rc; + pdev->pme_poll = true; + rc = __e1000_resume(pdev); if (rc) return rc; @@ -7702,7 +7704,7 @@ dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_SMART_PREPARE); - if (pci_dev_run_wake(pdev) && hw->mac.type != e1000_pch_cnp) + if (pci_dev_run_wake(pdev)) pm_runtime_put_noidle(&pdev->dev); return 0; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e.h linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e.h --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e.h @@ -1266,9 +1266,9 @@ int i40e_ptp_alloc_pins(struct i40e_pf *pf); int i40e_update_adq_vsi_queues(struct i40e_vsi *vsi, int vsi_offset); int i40e_is_vsi_uplink_mode_veb(struct i40e_vsi *vsi); -i40e_status i40e_get_partition_bw_setting(struct i40e_pf *pf); -i40e_status i40e_set_partition_bw_setting(struct i40e_pf *pf); -i40e_status i40e_commit_partition_bw_setting(struct i40e_pf *pf); +int i40e_get_partition_bw_setting(struct i40e_pf *pf); +int i40e_set_partition_bw_setting(struct i40e_pf *pf); +int i40e_commit_partition_bw_setting(struct i40e_pf *pf); void i40e_print_link_message(struct i40e_vsi *vsi, bool isup); void i40e_set_fec_in_flags(u8 fec_cfg, u32 *flags); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_client.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_client.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_client.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_client.c @@ -541,7 +541,7 @@ { struct i40e_pf *pf = ldev->pf; struct i40e_hw *hw = &pf->hw; - i40e_status err; + int err; err = i40e_aq_send_msg_to_vf(hw, vf_id, VIRTCHNL_OP_IWARP, 0, msg, len, NULL); @@ -674,7 +674,7 @@ struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; struct i40e_vsi_context ctxt; bool update = true; - i40e_status err; + int err; /* TODO: for now do not allow setting VF's VSI setting */ if (is_vf) @@ -686,8 +686,8 @@ ctxt.flags = I40E_AQ_VSI_TYPE_PF; if (err) { dev_info(&pf->pdev->dev, - "couldn't get PF vsi config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, err), + "couldn't get PF vsi config, err %d aq_err %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -ENOENT; @@ -714,8 +714,8 @@ err = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); if (err) { dev_info(&pf->pdev->dev, - "update VSI ctxt for PE failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, err), + "update VSI ctxt for PE failed, err %d aq_err %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_debugfs.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_debugfs.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_debugfs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_debugfs.c @@ -918,9 +918,9 @@ dev_info(&pf->pdev->dev, "deleting relay %d\n", veb_seid); i40e_veb_release(pf->veb[i]); } else if (strncmp(cmd_buf, "add pvid", 8) == 0) { - i40e_status ret; - u16 vid; unsigned int v; + int ret; + u16 vid; cnt = sscanf(&cmd_buf[8], "%i %u", &vsi_seid, &v); if (cnt != 2) { @@ -1284,7 +1284,7 @@ } } else if (strncmp(cmd_buf, "send aq_cmd", 11) == 0) { struct i40e_aq_desc *desc; - i40e_status ret; + int ret; desc = kzalloc(sizeof(struct i40e_aq_desc), GFP_KERNEL); if (!desc) @@ -1330,9 +1330,9 @@ desc = NULL; } else if (strncmp(cmd_buf, "send indirect aq_cmd", 20) == 0) { struct i40e_aq_desc *desc; - i40e_status ret; u16 buffer_len; u8 *buff; + int ret; desc = kzalloc(sizeof(struct i40e_aq_desc), GFP_KERNEL); if (!desc) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.c @@ -10,8 +10,8 @@ * @reg: reg to be tested * @mask: bits to be touched **/ -static i40e_status i40e_diag_reg_pattern_test(struct i40e_hw *hw, - u32 reg, u32 mask) +static int i40e_diag_reg_pattern_test(struct i40e_hw *hw, + u32 reg, u32 mask) { static const u32 patterns[] = { 0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF @@ -74,9 +74,9 @@ * * Perform registers diagnostic test **/ -i40e_status i40e_diag_reg_test(struct i40e_hw *hw) +int i40e_diag_reg_test(struct i40e_hw *hw) { - i40e_status ret_code = 0; + int ret_code = 0; u32 reg, mask; u32 elements; u32 i, j; @@ -115,9 +115,9 @@ * * Perform EEPROM diagnostic test **/ -i40e_status i40e_diag_eeprom_test(struct i40e_hw *hw) +int i40e_diag_eeprom_test(struct i40e_hw *hw) { - i40e_status ret_code; + int ret_code; u16 reg_val; /* read NVM control word and if NVM valid, validate EEPROM checksum*/ diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.h linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.h --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_diag.h @@ -23,6 +23,6 @@ extern const struct i40e_diag_reg_test_info i40e_reg_list[]; -i40e_status i40e_diag_reg_test(struct i40e_hw *hw); -i40e_status i40e_diag_eeprom_test(struct i40e_hw *hw); +int i40e_diag_reg_test(struct i40e_hw *hw); +int i40e_diag_eeprom_test(struct i40e_hw *hw); #endif /* _I40E_DIAG_H_ */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_ethtool.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_ethtool.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_ethtool.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_ethtool.c @@ -1154,8 +1154,8 @@ struct i40e_vsi *vsi = np->vsi; struct i40e_hw *hw = &pf->hw; bool autoneg_changed = false; - i40e_status status = 0; int timeout = 50; + int status = 0; int err = 0; u8 autoneg; @@ -1357,8 +1357,8 @@ status = i40e_aq_set_phy_config(hw, &config, NULL); if (status) { netdev_info(netdev, - "Set phy config failed, err %s aq_err %s\n", - i40e_stat_str(hw, status), + "Set phy config failed, err %d aq_err %s\n", + status, i40e_aq_str(hw, hw->aq.asq_last_status)); err = -EAGAIN; goto done; @@ -1367,8 +1367,8 @@ status = i40e_update_link_info(hw); if (status) netdev_dbg(netdev, - "Updating link info failed with err %s aq_err %s\n", - i40e_stat_str(hw, status), + "Updating link info failed with err %d aq_err %s\n", + status, i40e_aq_str(hw, hw->aq.asq_last_status)); } else { @@ -1387,7 +1387,7 @@ struct i40e_aq_get_phy_abilities_resp abilities; struct i40e_pf *pf = np->vsi->back; struct i40e_hw *hw = &pf->hw; - i40e_status status = 0; + int status = 0; u32 flags = 0; int err = 0; @@ -1419,8 +1419,8 @@ status = i40e_aq_set_phy_config(hw, &config, NULL); if (status) { netdev_info(netdev, - "Set phy config failed, err %s aq_err %s\n", - i40e_stat_str(hw, status), + "Set phy config failed, err %d aq_err %s\n", + status, i40e_aq_str(hw, hw->aq.asq_last_status)); err = -EAGAIN; goto done; @@ -1433,8 +1433,8 @@ * (e.g. no physical connection etc.) */ netdev_dbg(netdev, - "Updating link info failed with err %s aq_err %s\n", - i40e_stat_str(hw, status), + "Updating link info failed with err %d aq_err %s\n", + status, i40e_aq_str(hw, hw->aq.asq_last_status)); } @@ -1449,7 +1449,7 @@ struct i40e_aq_get_phy_abilities_resp abilities; struct i40e_pf *pf = np->vsi->back; struct i40e_hw *hw = &pf->hw; - i40e_status status = 0; + int status = 0; int err = 0; u8 fec_cfg; @@ -1536,12 +1536,12 @@ struct i40e_pf *pf = np->vsi->back; struct i40e_hw *hw = &pf->hw; bool link_up = hw->phy.link_info.link_info & I40E_AQ_LINK_UP; - i40e_status ret = 0; + int ret = 0; ret = i40e_aq_set_link_restart_an(hw, link_up, NULL); if (ret) { - netdev_info(netdev, "link restart failed, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + netdev_info(netdev, "link restart failed, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); return -EIO; } @@ -1601,9 +1601,9 @@ struct i40e_link_status *hw_link_info = &hw->phy.link_info; struct i40e_dcbx_config *dcbx_cfg = &hw->local_dcbx_config; bool link_up = hw_link_info->link_info & I40E_AQ_LINK_UP; - i40e_status status; u8 aq_failures; int err = 0; + int status; u32 is_an; /* Changing the port's flow control is not supported if this isn't the @@ -1657,20 +1657,20 @@ status = i40e_set_fc(hw, &aq_failures, link_up); if (aq_failures & I40E_SET_FC_AQ_FAIL_GET) { - netdev_info(netdev, "Set fc failed on the get_phy_capabilities call with err %s aq_err %s\n", - i40e_stat_str(hw, status), + netdev_info(netdev, "Set fc failed on the get_phy_capabilities call with err %d aq_err %s\n", + status, i40e_aq_str(hw, hw->aq.asq_last_status)); err = -EAGAIN; } if (aq_failures & I40E_SET_FC_AQ_FAIL_SET) { - netdev_info(netdev, "Set fc failed on the set_phy_config call with err %s aq_err %s\n", - i40e_stat_str(hw, status), + netdev_info(netdev, "Set fc failed on the set_phy_config call with err %d aq_err %s\n", + status, i40e_aq_str(hw, hw->aq.asq_last_status)); err = -EAGAIN; } if (aq_failures & I40E_SET_FC_AQ_FAIL_UPDATE) { - netdev_info(netdev, "Set fc failed on the get_link_info call with err %s aq_err %s\n", - i40e_stat_str(hw, status), + netdev_info(netdev, "Set fc failed on the get_link_info call with err %d aq_err %s\n", + status, i40e_aq_str(hw, hw->aq.asq_last_status)); err = -EAGAIN; } @@ -2481,8 +2481,8 @@ { struct i40e_netdev_priv *np = netdev_priv(netdev); struct i40e_pf *pf = np->vsi->back; - i40e_status status; bool link_up = false; + int status; netif_info(pf, hw, netdev, "link test\n"); status = i40e_get_link_status(&pf->hw, &link_up); @@ -2705,11 +2705,11 @@ enum ethtool_phys_id_state state) { struct i40e_netdev_priv *np = netdev_priv(netdev); - i40e_status ret = 0; struct i40e_pf *pf = np->vsi->back; struct i40e_hw *hw = &pf->hw; int blink_freq = 2; u16 temp_status; + int ret = 0; switch (state) { case ETHTOOL_ID_ACTIVE: @@ -5145,7 +5145,7 @@ struct i40e_vsi *vsi = np->vsi; struct i40e_pf *pf = vsi->back; u32 reset_needed = 0; - i40e_status status; + int status; u32 i, j; orig_flags = READ_ONCE(pf->flags); @@ -5260,8 +5260,8 @@ 0, NULL); if (ret && pf->hw.aq.asq_last_status != I40E_AQ_RC_ESRCH) { dev_info(&pf->pdev->dev, - "couldn't set switch config bits, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't set switch config bits, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* not a fatal problem, just keep going */ @@ -5326,9 +5326,8 @@ return -EBUSY; default: dev_warn(&pf->pdev->dev, - "Starting FW LLDP agent failed: error: %s, %s\n", - i40e_stat_str(&pf->hw, - status), + "Starting FW LLDP agent failed: error: %d, %s\n", + status, i40e_aq_str(&pf->hw, adq_err)); return -EINVAL; @@ -5368,8 +5367,8 @@ u32 sff8472_comp = 0; u32 sff8472_swap = 0; u32 sff8636_rev = 0; - i40e_status status; u32 type = 0; + int status; /* Check if firmware supports reading module EEPROM. */ if (!(hw->flags & I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE)) { @@ -5473,8 +5472,8 @@ struct i40e_pf *pf = vsi->back; struct i40e_hw *hw = &pf->hw; bool is_sfp = false; - i40e_status status; u32 value = 0; + int status; int i; if (!ee || !ee->len || !data) @@ -5515,10 +5514,10 @@ { struct i40e_netdev_priv *np = netdev_priv(netdev); struct i40e_aq_get_phy_abilities_resp phy_cfg; - enum i40e_status_code status = 0; struct i40e_vsi *vsi = np->vsi; struct i40e_pf *pf = vsi->back; struct i40e_hw *hw = &pf->hw; + int status = 0; /* Get initial PHY capabilities */ status = i40e_aq_get_phy_capabilities(hw, false, true, &phy_cfg, NULL); @@ -5580,11 +5579,11 @@ { struct i40e_netdev_priv *np = netdev_priv(netdev); struct i40e_aq_get_phy_abilities_resp abilities; - enum i40e_status_code status = I40E_SUCCESS; struct i40e_aq_set_phy_config config; struct i40e_vsi *vsi = np->vsi; struct i40e_pf *pf = vsi->back; struct i40e_hw *hw = &pf->hw; + int status = I40E_SUCCESS; __le16 eee_capability; /* Deny parameters we don't support */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -1691,13 +1691,13 @@ spin_unlock_bh(&vsi->mac_filter_hash_lock); if (vsi->type == I40E_VSI_MAIN) { - i40e_status ret; + int ret; ret = i40e_aq_mac_address_write(hw, I40E_AQC_WRITE_TYPE_LAA_WOL, addr->sa_data, NULL); if (ret) - netdev_info(netdev, "Ignoring error from firmware on LAA update, status %s, AQ ret %s\n", - i40e_stat_str(hw, ret), + netdev_info(netdev, "Ignoring error from firmware on LAA update, status %d, AQ ret %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); } @@ -1728,8 +1728,8 @@ ret = i40e_aq_set_rss_key(hw, vsi->id, seed_dw); if (ret) { dev_info(&pf->pdev->dev, - "Cannot set RSS key, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "Cannot set RSS key, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); return ret; } @@ -1740,8 +1740,8 @@ ret = i40e_aq_set_rss_lut(hw, vsi->id, pf_lut, lut, lut_size); if (ret) { dev_info(&pf->pdev->dev, - "Cannot set RSS lut, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "Cannot set RSS lut, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); return ret; } @@ -2222,7 +2222,7 @@ int num_del, int *retval) { struct i40e_hw *hw = &vsi->back->hw; - i40e_status aq_ret; + int aq_ret; int aq_err; aq_ret = i40e_aq_remove_macvlan(hw, vsi->seid, list, num_del, NULL); @@ -2232,8 +2232,8 @@ if (aq_ret && !(aq_err == I40E_AQ_RC_ENOENT)) { *retval = -EIO; dev_info(&vsi->back->pdev->dev, - "ignoring delete macvlan error on %s, err %s, aq_err %s\n", - vsi_name, i40e_stat_str(hw, aq_ret), + "ignoring delete macvlan error on %s, err %d, aq_err %s\n", + vsi_name, aq_ret, i40e_aq_str(hw, aq_err)); } } @@ -2295,13 +2295,13 @@ * * Returns status indicating success or failure; **/ -static i40e_status +static int i40e_aqc_broadcast_filter(struct i40e_vsi *vsi, const char *vsi_name, struct i40e_mac_filter *f) { bool enable = f->state == I40E_FILTER_NEW; struct i40e_hw *hw = &vsi->back->hw; - i40e_status aq_ret; + int aq_ret; if (f->vlan == I40E_VLAN_ANY) { aq_ret = i40e_aq_set_vsi_broadcast(hw, @@ -2340,7 +2340,7 @@ { struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; struct i40e_hw *hw = &pf->hw; - i40e_status aq_ret; + int aq_ret; if (vsi->type == I40E_VSI_MAIN && pf->lan_veb != I40E_NO_VEB && @@ -2360,8 +2360,8 @@ NULL); if (aq_ret) { dev_info(&pf->pdev->dev, - "Set default VSI failed, err %s, aq_err %s\n", - i40e_stat_str(hw, aq_ret), + "Set default VSI failed, err %d, aq_err %s\n", + aq_ret, i40e_aq_str(hw, hw->aq.asq_last_status)); } } else { @@ -2372,8 +2372,8 @@ true); if (aq_ret) { dev_info(&pf->pdev->dev, - "set unicast promisc failed, err %s, aq_err %s\n", - i40e_stat_str(hw, aq_ret), + "set unicast promisc failed, err %d, aq_err %s\n", + aq_ret, i40e_aq_str(hw, hw->aq.asq_last_status)); } aq_ret = i40e_aq_set_vsi_multicast_promiscuous( @@ -2382,8 +2382,8 @@ promisc, NULL); if (aq_ret) { dev_info(&pf->pdev->dev, - "set multicast promisc failed, err %s, aq_err %s\n", - i40e_stat_str(hw, aq_ret), + "set multicast promisc failed, err %d, aq_err %s\n", + aq_ret, i40e_aq_str(hw, hw->aq.asq_last_status)); } } @@ -2413,12 +2413,12 @@ unsigned int vlan_filters = 0; char vsi_name[16] = "PF"; int filter_list_len = 0; - i40e_status aq_ret = 0; u32 changed_flags = 0; struct hlist_node *h; struct i40e_pf *pf; int num_add = 0; int num_del = 0; + int aq_ret = 0; int retval = 0; u16 cmd_flags; int list_size; @@ -2682,9 +2682,9 @@ retval = i40e_aq_rc_to_posix(aq_ret, hw->aq.asq_last_status); dev_info(&pf->pdev->dev, - "set multi promisc failed on %s, err %s aq_err %s\n", + "set multi promisc failed on %s, err %d aq_err %s\n", vsi_name, - i40e_stat_str(hw, aq_ret), + aq_ret, i40e_aq_str(hw, hw->aq.asq_last_status)); } else { dev_info(&pf->pdev->dev, "%s allmulti mode.\n", @@ -2702,10 +2702,10 @@ retval = i40e_aq_rc_to_posix(aq_ret, hw->aq.asq_last_status); dev_info(&pf->pdev->dev, - "Setting promiscuous %s failed on %s, err %s aq_err %s\n", + "Setting promiscuous %s failed on %s, err %d aq_err %s\n", cur_promisc ? "on" : "off", vsi_name, - i40e_stat_str(hw, aq_ret), + aq_ret, i40e_aq_str(hw, hw->aq.asq_last_status)); } } @@ -2833,7 +2833,7 @@ void i40e_vlan_stripping_enable(struct i40e_vsi *vsi) { struct i40e_vsi_context ctxt; - i40e_status ret; + int ret; /* Don't modify stripping options if a port VLAN is active */ if (vsi->info.pvid) @@ -2853,8 +2853,8 @@ ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); if (ret) { dev_info(&vsi->back->pdev->dev, - "update vlan stripping failed, err %s aq_err %s\n", - i40e_stat_str(&vsi->back->hw, ret), + "update vlan stripping failed, err %d aq_err %s\n", + ret, i40e_aq_str(&vsi->back->hw, vsi->back->hw.aq.asq_last_status)); } @@ -2867,7 +2867,7 @@ void i40e_vlan_stripping_disable(struct i40e_vsi *vsi) { struct i40e_vsi_context ctxt; - i40e_status ret; + int ret; /* Don't modify stripping options if a port VLAN is active */ if (vsi->info.pvid) @@ -2888,8 +2888,8 @@ ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); if (ret) { dev_info(&vsi->back->pdev->dev, - "update vlan stripping failed, err %s aq_err %s\n", - i40e_stat_str(&vsi->back->hw, ret), + "update vlan stripping failed, err %d aq_err %s\n", + ret, i40e_aq_str(&vsi->back->hw, vsi->back->hw.aq.asq_last_status)); } @@ -3107,7 +3107,7 @@ int i40e_vsi_add_pvid(struct i40e_vsi *vsi, u16 vid) { struct i40e_vsi_context ctxt; - i40e_status ret; + int ret; vsi->info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_VLAN_VALID); vsi->info.pvid = cpu_to_le16(vid); @@ -3120,8 +3120,8 @@ ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); if (ret) { dev_info(&vsi->back->pdev->dev, - "add pvid failed, err %s aq_err %s\n", - i40e_stat_str(&vsi->back->hw, ret), + "add pvid failed, err %d aq_err %s\n", + ret, i40e_aq_str(&vsi->back->hw, vsi->back->hw.aq.asq_last_status)); return -ENOENT; @@ -3284,8 +3284,8 @@ u16 pf_q = vsi->base_queue + ring->queue_index; struct i40e_hw *hw = &vsi->back->hw; struct i40e_hmc_obj_txq tx_ctx; - i40e_status err = 0; u32 qtx_ctl = 0; + int err = 0; if (ring_is_xdp(ring)) ring->xsk_pool = i40e_xsk_pool(ring); @@ -3409,7 +3409,7 @@ u16 pf_q = vsi->base_queue + ring->queue_index; struct i40e_hw *hw = &vsi->back->hw; struct i40e_hmc_obj_rxq rx_ctx; - i40e_status err = 0; + int err = 0; bool ok; int ret; @@ -5389,16 +5389,16 @@ struct i40e_aqc_query_vsi_bw_config_resp bw_config = {0}; struct i40e_pf *pf = vsi->back; struct i40e_hw *hw = &pf->hw; - i40e_status ret; u32 tc_bw_max; + int ret; int i; /* Get the VSI level BW configuration */ ret = i40e_aq_query_vsi_bw_config(hw, vsi->seid, &bw_config, NULL); if (ret) { dev_info(&pf->pdev->dev, - "couldn't get PF vsi bw config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get PF vsi bw config, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EINVAL; } @@ -5408,8 +5408,8 @@ NULL); if (ret) { dev_info(&pf->pdev->dev, - "couldn't get PF vsi ets bw config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get PF vsi ets bw config, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EINVAL; } @@ -5450,7 +5450,7 @@ { struct i40e_aqc_configure_vsi_tc_bw_data bw_data; struct i40e_pf *pf = vsi->back; - i40e_status ret; + int ret; int i; /* There is no need to reset BW when mqprio mode is on. */ @@ -5598,8 +5598,8 @@ ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL); if (ret) { - dev_info(&pf->pdev->dev, "Update vsi config failed, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + dev_info(&pf->pdev->dev, "Update vsi config failed, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); return ret; } @@ -5654,8 +5654,8 @@ &bw_config, NULL); if (ret) { dev_info(&pf->pdev->dev, - "Failed querying vsi bw info, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "Failed querying vsi bw info, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); goto out; } @@ -5721,8 +5721,8 @@ ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "Update vsi tc config failed, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "Update vsi tc config failed, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); goto out; } @@ -5734,8 +5734,8 @@ ret = i40e_vsi_get_bw_info(vsi); if (ret) { dev_info(&pf->pdev->dev, - "Failed updating vsi bw info, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "Failed updating vsi bw info, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); goto out; } @@ -5826,8 +5826,8 @@ I40E_MAX_BW_INACTIVE_ACCUM, NULL); if (ret) dev_err(&pf->pdev->dev, - "Failed set tx rate (%llu Mbps) for vsi->seid %u, err %s aq_err %s\n", - max_tx_rate, seid, i40e_stat_str(&pf->hw, ret), + "Failed set tx rate (%llu Mbps) for vsi->seid %u, err %d aq_err %s\n", + max_tx_rate, seid, ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return ret; } @@ -5902,8 +5902,8 @@ last_aq_status = pf->hw.aq.asq_last_status; if (ret) dev_info(&pf->pdev->dev, - "Failed to delete cloud filter, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed to delete cloud filter, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, last_aq_status)); kfree(cfilter); } @@ -6037,8 +6037,8 @@ ret = i40e_config_rss(vsi, seed, lut, vsi->rss_table_size); if (ret) { dev_info(&pf->pdev->dev, - "Cannot set RSS lut, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "Cannot set RSS lut, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); kfree(lut); return ret; @@ -6136,8 +6136,8 @@ ret = i40e_aq_add_vsi(hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "add new vsi failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "add new vsi failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -ENOENT; @@ -6168,7 +6168,7 @@ u8 *bw_share) { struct i40e_aqc_configure_vsi_tc_bw_data bw_data; - i40e_status ret; + int ret; int i; memset(&bw_data, 0, sizeof(bw_data)); @@ -6204,9 +6204,9 @@ struct i40e_vsi *vsi, struct i40e_channel *ch) { - i40e_status ret; - int i; u8 bw_share[I40E_MAX_TRAFFIC_CLASS] = {0}; + int ret; + int i; /* Enable ETS TCs with equal BW Share for now across all VSIs */ for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) { @@ -6382,8 +6382,8 @@ mode, NULL); if (ret && hw->aq.asq_last_status != I40E_AQ_RC_ESRCH) dev_err(&pf->pdev->dev, - "couldn't set switch config bits, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "couldn't set switch config bits, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); @@ -6583,8 +6583,8 @@ &bw_data, NULL); if (ret) { dev_info(&pf->pdev->dev, - "VEB bw config failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "VEB bw config failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); goto out; } @@ -6593,8 +6593,8 @@ ret = i40e_veb_get_bw_info(veb); if (ret) { dev_info(&pf->pdev->dev, - "Failed getting veb bw config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed getting veb bw config, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } @@ -6677,8 +6677,8 @@ ret = i40e_aq_resume_port_tx(hw, NULL); if (ret) { dev_info(&pf->pdev->dev, - "Resume Port Tx failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Resume Port Tx failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* Schedule PF reset to recover */ set_bit(__I40E_PF_RESET_REQUESTED, pf->state); @@ -6702,8 +6702,8 @@ ret = i40e_aq_suspend_port_tx(hw, pf->mac_seid, NULL); if (ret) { dev_info(&pf->pdev->dev, - "Suspend Port Tx failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Suspend Port Tx failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* Schedule PF reset to recover */ set_bit(__I40E_PF_RESET_REQUESTED, pf->state); @@ -6742,8 +6742,8 @@ ret = i40e_set_dcb_config(&pf->hw); if (ret) { dev_info(&pf->pdev->dev, - "Set DCB Config failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Set DCB Config failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); goto out; } @@ -6859,8 +6859,8 @@ i40e_aqc_opc_modify_switching_comp_ets, NULL); if (ret) { dev_info(&pf->pdev->dev, - "Modify Port ETS failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Modify Port ETS failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); goto out; } @@ -6897,8 +6897,8 @@ ret = i40e_aq_dcb_updated(&pf->hw, NULL); if (ret) { dev_info(&pf->pdev->dev, - "DCB Updated failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "DCB Updated failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); goto out; } @@ -6981,8 +6981,8 @@ i40e_aqc_opc_enable_switching_comp_ets, NULL); if (err) { dev_info(&pf->pdev->dev, - "Enable Port ETS failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, err), + "Enable Port ETS failed, err %d aq_err %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); err = -ENOENT; goto out; @@ -7061,8 +7061,8 @@ pf->flags |= I40E_FLAG_DISABLE_FW_LLDP; } else { dev_info(&pf->pdev->dev, - "Query for DCB configuration failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, err), + "Query for DCB configuration failed, err %d aq_err %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } @@ -7280,15 +7280,15 @@ * @pf: board private structure * @is_up: whether the link state should be forced up or down **/ -static i40e_status i40e_force_link_state(struct i40e_pf *pf, bool is_up) +static int i40e_force_link_state(struct i40e_pf *pf, bool is_up) { struct i40e_aq_get_phy_abilities_resp abilities; struct i40e_aq_set_phy_config config = {0}; bool non_zero_phy_type = is_up; struct i40e_hw *hw = &pf->hw; - i40e_status err; u64 mask; u8 speed; + int err; /* Card might've been put in an unstable state by other drivers * and applications, which causes incorrect speed values being @@ -7300,8 +7300,8 @@ NULL); if (err) { dev_err(&pf->pdev->dev, - "failed to get phy cap., ret = %s last_status = %s\n", - i40e_stat_str(hw, err), + "failed to get phy cap., ret = %d last_status = %s\n", + err, i40e_aq_str(hw, hw->aq.asq_last_status)); return err; } @@ -7312,8 +7312,8 @@ NULL); if (err) { dev_err(&pf->pdev->dev, - "failed to get phy cap., ret = %s last_status = %s\n", - i40e_stat_str(hw, err), + "failed to get phy cap., ret = %d last_status = %s\n", + err, i40e_aq_str(hw, hw->aq.asq_last_status)); return err; } @@ -7357,8 +7357,8 @@ if (err) { dev_err(&pf->pdev->dev, - "set phy config ret = %s last_status = %s\n", - i40e_stat_str(&pf->hw, err), + "set phy config ret = %d last_status = %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return err; } @@ -7521,11 +7521,11 @@ * This function deletes a mac filter on the channel VSI which serves as the * macvlan. Returns 0 on success. **/ -static i40e_status i40e_del_macvlan_filter(struct i40e_hw *hw, u16 seid, - const u8 *macaddr, int *aq_err) +static int i40e_del_macvlan_filter(struct i40e_hw *hw, u16 seid, + const u8 *macaddr, int *aq_err) { struct i40e_aqc_remove_macvlan_element_data element; - i40e_status status; + int status; memset(&element, 0, sizeof(element)); ether_addr_copy(element.mac_addr, macaddr); @@ -7547,12 +7547,12 @@ * This function adds a mac filter on the channel VSI which serves as the * macvlan. Returns 0 on success. **/ -static i40e_status i40e_add_macvlan_filter(struct i40e_hw *hw, u16 seid, - const u8 *macaddr, int *aq_err) +static int i40e_add_macvlan_filter(struct i40e_hw *hw, u16 seid, + const u8 *macaddr, int *aq_err) { struct i40e_aqc_add_macvlan_element_data element; - i40e_status status; u16 cmd_flags = 0; + int status; ether_addr_copy(element.mac_addr, macaddr); element.vlan_tag = 0; @@ -7698,8 +7698,8 @@ rx_ring->netdev = NULL; } dev_info(&pf->pdev->dev, - "Error adding mac filter on macvlan err %s, aq_err %s\n", - i40e_stat_str(hw, ret), + "Error adding mac filter on macvlan err %d, aq_err %s\n", + ret, i40e_aq_str(hw, aq_err)); netdev_err(vdev, "L2fwd offload disabled to L2 filter error\n"); } @@ -7771,8 +7771,8 @@ ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "Update vsi tc config failed, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + "Update vsi tc config failed, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); return ret; } @@ -7987,8 +7987,8 @@ ch->fwd = NULL; } else { dev_info(&pf->pdev->dev, - "Error deleting mac filter on macvlan err %s, aq_err %s\n", - i40e_stat_str(hw, ret), + "Error deleting mac filter on macvlan err %d, aq_err %s\n", + ret, i40e_aq_str(hw, aq_err)); } break; @@ -8739,8 +8739,7 @@ kfree(filter); if (err) { dev_err(&pf->pdev->dev, - "Failed to delete cloud filter, err %s\n", - i40e_stat_str(&pf->hw, err)); + "Failed to delete cloud filter, err %d\n", err); return i40e_aq_rc_to_posix(err, pf->hw.aq.asq_last_status); } @@ -9302,8 +9301,8 @@ pf->flags &= ~I40E_FLAG_DCB_CAPABLE; } else { dev_info(&pf->pdev->dev, - "Failed querying DCB configuration data from firmware, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed querying DCB configuration data from firmware, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } @@ -9751,8 +9750,8 @@ { struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; u8 new_link_speed, old_link_speed; - i40e_status status; bool new_link, old_link; + int status; #ifdef CONFIG_I40E_DCB int err; #endif /* CONFIG_I40E_DCB */ @@ -9963,9 +9962,9 @@ struct i40e_arq_event_info event; struct i40e_hw *hw = &pf->hw; u16 pending, i = 0; - i40e_status ret; u16 opcode; u32 oldval; + int ret; u32 val; /* Do not run clean AQ when PF reset fails */ @@ -10129,8 +10128,8 @@ ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "couldn't get PF vsi config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get PF vsi config, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return; } @@ -10141,8 +10140,8 @@ ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "update vsi switch failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "update vsi switch failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } } @@ -10165,8 +10164,8 @@ ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "couldn't get PF vsi config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get PF vsi config, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return; } @@ -10177,8 +10176,8 @@ ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "update vsi switch failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "update vsi switch failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } } @@ -10322,8 +10321,8 @@ buf_len = data_size; } else if (pf->hw.aq.asq_last_status != I40E_AQ_RC_OK || err) { dev_info(&pf->pdev->dev, - "capability discovery failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, err), + "capability discovery failed, err %d aq_err %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -ENODEV; @@ -10444,7 +10443,7 @@ struct i40e_cloud_filter *cfilter; struct i40e_pf *pf = vsi->back; struct hlist_node *node; - i40e_status ret; + int ret; /* Add cloud filters back if they exist */ hlist_for_each_entry_safe(cfilter, node, &pf->cloud_filter_list, @@ -10460,8 +10459,8 @@ if (ret) { dev_dbg(&pf->pdev->dev, - "Failed to rebuild cloud filter, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed to rebuild cloud filter, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return ret; @@ -10479,7 +10478,7 @@ static int i40e_rebuild_channels(struct i40e_vsi *vsi) { struct i40e_channel *ch, *ch_tmp; - i40e_status ret; + int ret; if (list_empty(&vsi->ch_list)) return 0; @@ -10555,7 +10554,7 @@ static void i40e_prep_for_reset(struct i40e_pf *pf) { struct i40e_hw *hw = &pf->hw; - i40e_status ret = 0; + int ret = 0; u32 v; clear_bit(__I40E_RESET_INTR_RECEIVED, pf->state); @@ -10660,7 +10659,7 @@ static int i40e_reset(struct i40e_pf *pf) { struct i40e_hw *hw = &pf->hw; - i40e_status ret; + int ret; ret = i40e_pf_reset(hw); if (ret) { @@ -10685,7 +10684,7 @@ const bool is_recovery_mode_reported = i40e_check_recovery_mode(pf); struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; struct i40e_hw *hw = &pf->hw; - i40e_status ret; + int ret; u32 val; int v; @@ -10701,8 +10700,8 @@ /* rebuild the basics for the AdminQ, HMC, and initial HW switch */ ret = i40e_init_adminq(&pf->hw); if (ret) { - dev_info(&pf->pdev->dev, "Rebuild AdminQ failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + dev_info(&pf->pdev->dev, "Rebuild AdminQ failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); goto clear_recovery; } @@ -10813,8 +10812,8 @@ I40E_AQ_EVENT_MEDIA_NA | I40E_AQ_EVENT_MODULE_QUAL_FAIL), NULL); if (ret) - dev_info(&pf->pdev->dev, "set phy mask fail, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + dev_info(&pf->pdev->dev, "set phy mask fail, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* Rebuild the VSIs and VEBs that existed before reset. @@ -10917,8 +10916,8 @@ msleep(75); ret = i40e_aq_set_link_restart_an(&pf->hw, true, NULL); if (ret) - dev_info(&pf->pdev->dev, "link restart failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + dev_info(&pf->pdev->dev, "link restart failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } @@ -10949,9 +10948,9 @@ ret = i40e_set_promiscuous(pf, pf->cur_promisc); if (ret) dev_warn(&pf->pdev->dev, - "Failed to restore promiscuous setting: %s, err %s aq_err %s\n", + "Failed to restore promiscuous setting: %s, err %d aq_err %s\n", pf->cur_promisc ? "on" : "off", - i40e_stat_str(&pf->hw, ret), + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); i40e_reset_all_vfs(pf, true); @@ -12086,8 +12085,8 @@ (struct i40e_aqc_get_set_rss_key_data *)seed); if (ret) { dev_info(&pf->pdev->dev, - "Cannot get RSS key, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Cannot get RSS key, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return ret; @@ -12100,8 +12099,8 @@ ret = i40e_aq_get_rss_lut(hw, vsi->id, pf_lut, lut, lut_size); if (ret) { dev_info(&pf->pdev->dev, - "Cannot get RSS lut, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Cannot get RSS lut, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return ret; @@ -12376,11 +12375,11 @@ * i40e_get_partition_bw_setting - Retrieve BW settings for this PF partition * @pf: board private structure **/ -i40e_status i40e_get_partition_bw_setting(struct i40e_pf *pf) +int i40e_get_partition_bw_setting(struct i40e_pf *pf) { - i40e_status status; bool min_valid, max_valid; u32 max_bw, min_bw; + int status; status = i40e_read_bw_from_alt_ram(&pf->hw, &max_bw, &min_bw, &min_valid, &max_valid); @@ -12399,10 +12398,10 @@ * i40e_set_partition_bw_setting - Set BW settings for this PF partition * @pf: board private structure **/ -i40e_status i40e_set_partition_bw_setting(struct i40e_pf *pf) +int i40e_set_partition_bw_setting(struct i40e_pf *pf) { struct i40e_aqc_configure_partition_bw_data bw_data; - i40e_status status; + int status; memset(&bw_data, 0, sizeof(bw_data)); @@ -12421,12 +12420,12 @@ * i40e_commit_partition_bw_setting - Commit BW settings for this PF partition * @pf: board private structure **/ -i40e_status i40e_commit_partition_bw_setting(struct i40e_pf *pf) +int i40e_commit_partition_bw_setting(struct i40e_pf *pf) { /* Commit temporary BW setting to permanent NVM image */ enum i40e_admin_queue_err last_aq_status; - i40e_status ret; u16 nvm_word; + int ret; if (pf->hw.partition_id != 1) { dev_info(&pf->pdev->dev, @@ -12441,8 +12440,8 @@ last_aq_status = pf->hw.aq.asq_last_status; if (ret) { dev_info(&pf->pdev->dev, - "Cannot acquire NVM for read access, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Cannot acquire NVM for read access, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, last_aq_status)); goto bw_commit_out; } @@ -12458,8 +12457,8 @@ last_aq_status = pf->hw.aq.asq_last_status; i40e_release_nvm(&pf->hw); if (ret) { - dev_info(&pf->pdev->dev, "NVM read error, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + dev_info(&pf->pdev->dev, "NVM read error, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, last_aq_status)); goto bw_commit_out; } @@ -12472,8 +12471,8 @@ last_aq_status = pf->hw.aq.asq_last_status; if (ret) { dev_info(&pf->pdev->dev, - "Cannot acquire NVM for write access, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Cannot acquire NVM for write access, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, last_aq_status)); goto bw_commit_out; } @@ -12492,8 +12491,8 @@ i40e_release_nvm(&pf->hw); if (ret) dev_info(&pf->pdev->dev, - "BW settings NOT SAVED, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "BW settings NOT SAVED, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, last_aq_status)); bw_commit_out: @@ -12514,7 +12513,7 @@ #define I40E_LINK_BEHAVIOR_WORD_LENGTH 0x1 #define I40E_LINK_BEHAVIOR_OS_FORCED_ENABLED BIT(0) #define I40E_LINK_BEHAVIOR_PORT_BIT_LENGTH 4 - i40e_status read_status = I40E_SUCCESS; + int read_status = I40E_SUCCESS; u16 sr_emp_sr_settings_ptr = 0; u16 features_enable = 0; u16 link_behavior = 0; @@ -12547,8 +12546,8 @@ err_nvm: dev_warn(&pf->pdev->dev, - "total-port-shutdown feature is off due to read nvm error: %s\n", - i40e_stat_str(&pf->hw, read_status)); + "total-port-shutdown feature is off due to read nvm error: %d\n", + read_status); return ret; } @@ -12866,7 +12865,7 @@ struct i40e_netdev_priv *np = netdev_priv(netdev); struct i40e_hw *hw = &np->vsi->back->hw; u8 type, filter_index; - i40e_status ret; + int ret; type = ti->type == UDP_TUNNEL_TYPE_VXLAN ? I40E_AQC_TUNNEL_TYPE_VXLAN : I40E_AQC_TUNNEL_TYPE_NGE; @@ -12874,8 +12873,8 @@ ret = i40e_aq_add_udp_tunnel(hw, ntohs(ti->port), type, &filter_index, NULL); if (ret) { - netdev_info(netdev, "add UDP port failed, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + netdev_info(netdev, "add UDP port failed, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); return -EIO; } @@ -12890,12 +12889,12 @@ { struct i40e_netdev_priv *np = netdev_priv(netdev); struct i40e_hw *hw = &np->vsi->back->hw; - i40e_status ret; + int ret; ret = i40e_aq_del_udp_tunnel(hw, ti->hw_priv, NULL); if (ret) { - netdev_info(netdev, "delete UDP port failed, err %s aq_err %s\n", - i40e_stat_str(hw, ret), + netdev_info(netdev, "delete UDP port failed, err %d aq_err %s\n", + ret, i40e_aq_str(hw, hw->aq.asq_last_status)); return -EIO; } @@ -13766,8 +13765,8 @@ ctxt.flags = I40E_AQ_VSI_TYPE_PF; if (ret) { dev_info(&pf->pdev->dev, - "couldn't get PF vsi config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get PF vsi config, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -ENOENT; @@ -13796,8 +13795,8 @@ ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "update vsi failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "update vsi failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); ret = -ENOENT; @@ -13816,8 +13815,8 @@ ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL); if (ret) { dev_info(&pf->pdev->dev, - "update vsi failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "update vsi failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); ret = -ENOENT; @@ -13839,9 +13838,9 @@ * message and continue */ dev_info(&pf->pdev->dev, - "failed to configure TCs for main VSI tc_map 0x%08x, err %s aq_err %s\n", + "failed to configure TCs for main VSI tc_map 0x%08x, err %d aq_err %s\n", enabled_tc, - i40e_stat_str(&pf->hw, ret), + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } @@ -13935,8 +13934,8 @@ ret = i40e_aq_add_vsi(hw, &ctxt, NULL); if (ret) { dev_info(&vsi->back->pdev->dev, - "add vsi failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "add vsi failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); ret = -ENOENT; @@ -13967,8 +13966,8 @@ ret = i40e_vsi_get_bw_info(vsi); if (ret) { dev_info(&pf->pdev->dev, - "couldn't get vsi bw info, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get vsi bw info, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* VSI is already added so not tearing that up */ ret = 0; @@ -14414,8 +14413,8 @@ &bw_data, NULL); if (ret) { dev_info(&pf->pdev->dev, - "query veb bw config failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "query veb bw config failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, hw->aq.asq_last_status)); goto out; } @@ -14424,8 +14423,8 @@ &ets_data, NULL); if (ret) { dev_info(&pf->pdev->dev, - "query veb bw ets config failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "query veb bw ets config failed, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, hw->aq.asq_last_status)); goto out; } @@ -14621,8 +14620,8 @@ /* get a VEB from the hardware */ if (ret) { dev_info(&pf->pdev->dev, - "couldn't add VEB, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't add VEB, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EPERM; } @@ -14632,16 +14631,16 @@ &veb->stats_idx, NULL, NULL, NULL); if (ret) { dev_info(&pf->pdev->dev, - "couldn't get VEB statistics idx, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get VEB statistics idx, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EPERM; } ret = i40e_veb_get_bw_info(veb); if (ret) { dev_info(&pf->pdev->dev, - "couldn't get VEB bw info, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't get VEB bw info, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); i40e_aq_delete_element(&pf->hw, veb->seid, NULL); return -ENOENT; @@ -14851,8 +14850,8 @@ &next_seid, NULL); if (ret) { dev_info(&pf->pdev->dev, - "get switch config failed err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "get switch config failed err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); kfree(aq_buf); @@ -14897,8 +14896,8 @@ ret = i40e_fetch_switch_configuration(pf, false); if (ret) { dev_info(&pf->pdev->dev, - "couldn't fetch switch config, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't fetch switch config, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return ret; } @@ -14924,8 +14923,8 @@ NULL); if (ret && pf->hw.aq.asq_last_status != I40E_AQ_RC_ESRCH) { dev_info(&pf->pdev->dev, - "couldn't set switch config bits, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "couldn't set switch config bits, err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* not a fatal problem, just keep going */ @@ -15262,13 +15261,12 @@ * * Return 0 on success, negative on failure. **/ -static i40e_status i40e_pf_loop_reset(struct i40e_pf *pf) +static int i40e_pf_loop_reset(struct i40e_pf *pf) { /* wait max 10 seconds for PF reset to succeed */ const unsigned long time_end = jiffies + 10 * HZ; - struct i40e_hw *hw = &pf->hw; - i40e_status ret; + int ret; ret = i40e_pf_reset(hw); while (ret != I40E_SUCCESS && time_before(jiffies, time_end)) { @@ -15314,9 +15312,9 @@ * Return 0 if NIC is healthy or negative value when there are issues * with resets **/ -static i40e_status i40e_handle_resets(struct i40e_pf *pf) +static int i40e_handle_resets(struct i40e_pf *pf) { - const i40e_status pfr = i40e_pf_loop_reset(pf); + const int pfr = i40e_pf_loop_reset(pf); const bool is_empr = i40e_check_fw_empr(pf); if (is_empr || pfr != I40E_SUCCESS) @@ -15455,13 +15453,15 @@ struct i40e_aq_get_phy_abilities_resp abilities; #ifdef CONFIG_I40E_DCB enum i40e_get_fw_lldp_status_resp lldp_status; - i40e_status status; #endif /* CONFIG_I40E_DCB */ struct i40e_pf *pf; struct i40e_hw *hw; static u16 pfs_found; u16 wol_nvm_bits; u16 link_status; +#ifdef CONFIG_I40E_DCB + int status; +#endif /* CONFIG_I40E_DCB */ int err; u32 val; u32 i; @@ -15833,8 +15833,8 @@ I40E_AQ_EVENT_MEDIA_NA | I40E_AQ_EVENT_MODULE_QUAL_FAIL), NULL); if (err) - dev_info(&pf->pdev->dev, "set phy mask fail, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, err), + dev_info(&pf->pdev->dev, "set phy mask fail, err %d aq_err %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* Reconfigure hardware for allowing smaller MSS in the case @@ -15852,8 +15852,8 @@ msleep(75); err = i40e_aq_set_link_restart_an(&pf->hw, true, NULL); if (err) - dev_info(&pf->pdev->dev, "link restart failed, err %s aq_err %s\n", - i40e_stat_str(&pf->hw, err), + dev_info(&pf->pdev->dev, "link restart failed, err %d aq_err %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); } @@ -15985,8 +15985,8 @@ /* get the requested speeds from the fw */ err = i40e_aq_get_phy_capabilities(hw, false, false, &abilities, NULL); if (err) - dev_dbg(&pf->pdev->dev, "get requested speeds ret = %s last_status = %s\n", - i40e_stat_str(&pf->hw, err), + dev_dbg(&pf->pdev->dev, "get requested speeds ret = %d last_status = %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); pf->hw.phy.link_info.requested_speeds = abilities.link_speed; @@ -15996,8 +15996,8 @@ /* get the supported phy types from the fw */ err = i40e_aq_get_phy_capabilities(hw, false, true, &abilities, NULL); if (err) - dev_dbg(&pf->pdev->dev, "get supported phy types ret = %s last_status = %s\n", - i40e_stat_str(&pf->hw, err), + dev_dbg(&pf->pdev->dev, "get supported phy types ret = %d last_status = %s\n", + err, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); /* make sure the MFS hasn't been set lower than the default */ @@ -16068,7 +16068,7 @@ { struct i40e_pf *pf = pci_get_drvdata(pdev); struct i40e_hw *hw = &pf->hw; - i40e_status ret_code; + int ret_code; int i; i40e_dbg_pf_exit(pf); @@ -16316,9 +16316,9 @@ static void i40e_enable_mc_magic_wake(struct i40e_pf *pf) { struct i40e_hw *hw = &pf->hw; - i40e_status ret; u8 mac_addr[6]; u16 flags = 0; + int ret; /* Get current MAC address in case it's an LAA */ if (pf->vsi[pf->lan_vsi] && pf->vsi[pf->lan_vsi]->netdev) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c @@ -17,7 +17,7 @@ **/ static void i40e_vc_vf_broadcast(struct i40e_pf *pf, enum virtchnl_ops v_opcode, - i40e_status v_retval, u8 *msg, + int v_retval, u8 *msg, u16 msglen) { struct i40e_hw *hw = &pf->hw; @@ -1246,13 +1246,13 @@ * @vl: List of VLANs - apply filter for given VLANs * @num_vlans: Number of elements in @vl **/ -static i40e_status +static int i40e_set_vsi_promisc(struct i40e_vf *vf, u16 seid, bool multi_enable, bool unicast_enable, s16 *vl, u16 num_vlans) { - i40e_status aq_ret, aq_tmp = 0; struct i40e_pf *pf = vf->pf; struct i40e_hw *hw = &pf->hw; + int aq_ret, aq_tmp = 0; int i; /* No VLAN to set promisc on, set on VSI */ @@ -1264,9 +1264,9 @@ int aq_err = pf->hw.aq.asq_last_status; dev_err(&pf->pdev->dev, - "VF %d failed to set multicast promiscuous mode err %s aq_err %s\n", + "VF %d failed to set multicast promiscuous mode err %d aq_err %s\n", vf->vf_id, - i40e_stat_str(&pf->hw, aq_ret), + aq_ret, i40e_aq_str(&pf->hw, aq_err)); return aq_ret; @@ -1280,9 +1280,9 @@ int aq_err = pf->hw.aq.asq_last_status; dev_err(&pf->pdev->dev, - "VF %d failed to set unicast promiscuous mode err %s aq_err %s\n", + "VF %d failed to set unicast promiscuous mode err %d aq_err %s\n", vf->vf_id, - i40e_stat_str(&pf->hw, aq_ret), + aq_ret, i40e_aq_str(&pf->hw, aq_err)); } @@ -1297,9 +1297,9 @@ int aq_err = pf->hw.aq.asq_last_status; dev_err(&pf->pdev->dev, - "VF %d failed to set multicast promiscuous mode err %s aq_err %s\n", + "VF %d failed to set multicast promiscuous mode err %d aq_err %s\n", vf->vf_id, - i40e_stat_str(&pf->hw, aq_ret), + aq_ret, i40e_aq_str(&pf->hw, aq_err)); if (!aq_tmp) @@ -1313,9 +1313,9 @@ int aq_err = pf->hw.aq.asq_last_status; dev_err(&pf->pdev->dev, - "VF %d failed to set unicast promiscuous mode err %s aq_err %s\n", + "VF %d failed to set unicast promiscuous mode err %d aq_err %s\n", vf->vf_id, - i40e_stat_str(&pf->hw, aq_ret), + aq_ret, i40e_aq_str(&pf->hw, aq_err)); if (!aq_tmp) @@ -1339,13 +1339,13 @@ * Called from the VF to configure the promiscuous mode of * VF vsis and from the VF reset path to reset promiscuous mode. **/ -static i40e_status i40e_config_vf_promiscuous_mode(struct i40e_vf *vf, - u16 vsi_id, - bool allmulti, - bool alluni) +static int i40e_config_vf_promiscuous_mode(struct i40e_vf *vf, + u16 vsi_id, + bool allmulti, + bool alluni) { - i40e_status aq_ret = I40E_SUCCESS; struct i40e_pf *pf = vf->pf; + int aq_ret = I40E_SUCCESS; struct i40e_vsi *vsi; u16 num_vlans; s16 *vl; @@ -1955,7 +1955,7 @@ struct i40e_pf *pf; struct i40e_hw *hw; int abs_vf_id; - i40e_status aq_ret; + int aq_ret; /* validate the request */ if (!vf || vf->vf_id >= vf->pf->num_alloc_vfs) @@ -1987,7 +1987,7 @@ **/ static int i40e_vc_send_resp_to_vf(struct i40e_vf *vf, enum virtchnl_ops opcode, - i40e_status retval) + int retval) { return i40e_vc_send_msg_to_vf(vf, opcode, retval, NULL, 0); } @@ -2091,9 +2091,9 @@ { struct virtchnl_vf_resource *vfres = NULL; struct i40e_pf *pf = vf->pf; - i40e_status aq_ret = 0; struct i40e_vsi *vsi; int num_vsis = 1; + int aq_ret = 0; size_t len = 0; int ret; @@ -2221,9 +2221,9 @@ struct virtchnl_promisc_info *info = (struct virtchnl_promisc_info *)msg; struct i40e_pf *pf = vf->pf; - i40e_status aq_ret = 0; bool allmulti = false; bool alluni = false; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { aq_ret = I40E_ERR_PARAM; @@ -2308,10 +2308,10 @@ struct virtchnl_queue_pair_info *qpi; u16 vsi_id, vsi_queue_id = 0; struct i40e_pf *pf = vf->pf; - i40e_status aq_ret = 0; int i, j = 0, idx = 0; struct i40e_vsi *vsi; u16 num_qps_all = 0; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { aq_ret = I40E_ERR_PARAM; @@ -2458,8 +2458,8 @@ struct virtchnl_irq_map_info *irqmap_info = (struct virtchnl_irq_map_info *)msg; struct virtchnl_vector_map *map; + int aq_ret = 0; u16 vsi_id; - i40e_status aq_ret = 0; int i; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { @@ -2574,7 +2574,7 @@ struct virtchnl_queue_select *vqs = (struct virtchnl_queue_select *)msg; struct i40e_pf *pf = vf->pf; - i40e_status aq_ret = 0; + int aq_ret = 0; int i; if (!test_bit(I40E_VF_STATE_ACTIVE, &vf->vf_states)) { @@ -2632,7 +2632,7 @@ struct virtchnl_queue_select *vqs = (struct virtchnl_queue_select *)msg; struct i40e_pf *pf = vf->pf; - i40e_status aq_ret = 0; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { aq_ret = I40E_ERR_PARAM; @@ -2783,7 +2783,7 @@ (struct virtchnl_queue_select *)msg; struct i40e_pf *pf = vf->pf; struct i40e_eth_stats stats; - i40e_status aq_ret = 0; + int aq_ret = 0; struct i40e_vsi *vsi; memset(&stats, 0, sizeof(struct i40e_eth_stats)); @@ -2902,7 +2902,7 @@ (struct virtchnl_ether_addr_list *)msg; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; - i40e_status ret = 0; + int ret = 0; int i; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE) || @@ -2974,7 +2974,7 @@ bool was_unimac_deleted = false; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; - i40e_status ret = 0; + int ret = 0; int i; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE) || @@ -3047,7 +3047,7 @@ (struct virtchnl_vlan_filter_list *)msg; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; - i40e_status aq_ret = 0; + int aq_ret = 0; int i; if ((vf->num_vlan >= I40E_VC_MAX_VLAN_PER_VF) && @@ -3118,7 +3118,7 @@ (struct virtchnl_vlan_filter_list *)msg; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; - i40e_status aq_ret = 0; + int aq_ret = 0; int i; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE) || @@ -3174,7 +3174,7 @@ { struct i40e_pf *pf = vf->pf; int abs_vf_id = vf->vf_id + pf->hw.func_caps.vf_base_id; - i40e_status aq_ret = 0; + int aq_ret = 0; if (!test_bit(I40E_VF_STATE_ACTIVE, &vf->vf_states) || !test_bit(I40E_VF_STATE_IWARPENA, &vf->vf_states)) { @@ -3203,7 +3203,7 @@ { struct virtchnl_iwarp_qvlist_info *qvlist_info = (struct virtchnl_iwarp_qvlist_info *)msg; - i40e_status aq_ret = 0; + int aq_ret = 0; if (!test_bit(I40E_VF_STATE_ACTIVE, &vf->vf_states) || !test_bit(I40E_VF_STATE_IWARPENA, &vf->vf_states)) { @@ -3239,7 +3239,7 @@ (struct virtchnl_rss_key *)msg; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; - i40e_status aq_ret = 0; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE) || !i40e_vc_isvalid_vsi_id(vf, vrk->vsi_id) || @@ -3269,7 +3269,7 @@ (struct virtchnl_rss_lut *)msg; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; - i40e_status aq_ret = 0; + int aq_ret = 0; u16 i; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE) || @@ -3304,7 +3304,7 @@ { struct virtchnl_rss_hena *vrh = NULL; struct i40e_pf *pf = vf->pf; - i40e_status aq_ret = 0; + int aq_ret = 0; int len = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { @@ -3341,7 +3341,7 @@ (struct virtchnl_rss_hena *)msg; struct i40e_pf *pf = vf->pf; struct i40e_hw *hw = &pf->hw; - i40e_status aq_ret = 0; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { aq_ret = I40E_ERR_PARAM; @@ -3365,8 +3365,8 @@ **/ static int i40e_vc_enable_vlan_stripping(struct i40e_vf *vf, u8 *msg) { - i40e_status aq_ret = 0; struct i40e_vsi *vsi; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { aq_ret = I40E_ERR_PARAM; @@ -3391,8 +3391,8 @@ **/ static int i40e_vc_disable_vlan_stripping(struct i40e_vf *vf, u8 *msg) { - i40e_status aq_ret = 0; struct i40e_vsi *vsi; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { aq_ret = I40E_ERR_PARAM; @@ -3591,8 +3591,8 @@ ret = i40e_add_del_cloud_filter(vsi, cfilter, false); if (ret) dev_err(&pf->pdev->dev, - "VF %d: Failed to delete cloud filter, err %s aq_err %s\n", - vf->vf_id, i40e_stat_str(&pf->hw, ret), + "VF %d: Failed to delete cloud filter, err %d aq_err %s\n", + vf->vf_id, ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); @@ -3618,7 +3618,7 @@ struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; struct hlist_node *node; - i40e_status aq_ret = 0; + int aq_ret = 0; int i, ret; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { @@ -3694,8 +3694,8 @@ ret = i40e_add_del_cloud_filter(vsi, &cfilter, false); if (ret) { dev_err(&pf->pdev->dev, - "VF %d: Failed to delete cloud filter, err %s aq_err %s\n", - vf->vf_id, i40e_stat_str(&pf->hw, ret), + "VF %d: Failed to delete cloud filter, err %d aq_err %s\n", + vf->vf_id, ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); goto err; } @@ -3749,7 +3749,7 @@ struct i40e_cloud_filter *cfilter = NULL; struct i40e_pf *pf = vf->pf; struct i40e_vsi *vsi = NULL; - i40e_status aq_ret = 0; + int aq_ret = 0; int i, ret; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { @@ -3828,8 +3828,8 @@ ret = i40e_add_del_cloud_filter(vsi, cfilter, true); if (ret) { dev_err(&pf->pdev->dev, - "VF %d: Failed to add cloud filter, err %s aq_err %s\n", - vf->vf_id, i40e_stat_str(&pf->hw, ret), + "VF %d: Failed to add cloud filter, err %d aq_err %s\n", + vf->vf_id, ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); goto err_free; } @@ -3858,7 +3858,7 @@ struct i40e_pf *pf = vf->pf; struct i40e_link_status *ls = &pf->hw.phy.link_info; int i, adq_request_qps = 0; - i40e_status aq_ret = 0; + int aq_ret = 0; u64 speed = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { @@ -3970,7 +3970,7 @@ static int i40e_vc_del_qch_msg(struct i40e_vf *vf, u8 *msg) { struct i40e_pf *pf = vf->pf; - i40e_status aq_ret = 0; + int aq_ret = 0; if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) { aq_ret = I40E_ERR_PARAM; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf.h linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf.h --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf.h @@ -461,7 +461,7 @@ void iavf_update_stats(struct iavf_adapter *adapter); void iavf_reset_interrupt_capability(struct iavf_adapter *adapter); int iavf_init_interrupt_scheme(struct iavf_adapter *adapter); -void iavf_irq_enable_queues(struct iavf_adapter *adapter, u32 mask); +void iavf_irq_enable_queues(struct iavf_adapter *adapter); void iavf_free_all_tx_resources(struct iavf_adapter *adapter); void iavf_free_all_rx_resources(struct iavf_adapter *adapter); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -253,21 +253,18 @@ } /** - * iavf_irq_enable_queues - Enable interrupt for specified queues + * iavf_irq_enable_queues - Enable interrupt for all queues * @adapter: board private structure - * @mask: bitmap of queues to enable **/ -void iavf_irq_enable_queues(struct iavf_adapter *adapter, u32 mask) +void iavf_irq_enable_queues(struct iavf_adapter *adapter) { struct iavf_hw *hw = &adapter->hw; int i; for (i = 1; i < adapter->num_msix_vectors; i++) { - if (mask & BIT(i - 1)) { - wr32(hw, IAVF_VFINT_DYN_CTLN1(i - 1), - IAVF_VFINT_DYN_CTLN1_INTENA_MASK | - IAVF_VFINT_DYN_CTLN1_ITR_INDX_MASK); - } + wr32(hw, IAVF_VFINT_DYN_CTLN1(i - 1), + IAVF_VFINT_DYN_CTLN1_INTENA_MASK | + IAVF_VFINT_DYN_CTLN1_ITR_INDX_MASK); } } @@ -281,7 +278,7 @@ struct iavf_hw *hw = &adapter->hw; iavf_misc_irq_enable(adapter); - iavf_irq_enable_queues(adapter, ~0); + iavf_irq_enable_queues(adapter); if (flush) iavf_flush(hw); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igb/igb_ethtool.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igb/igb_ethtool.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igb/igb_ethtool.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igb/igb_ethtool.c @@ -822,6 +822,8 @@ */ ret_val = hw->nvm.ops.read(hw, last_word, 1, &eeprom_buff[last_word - first_word]); + if (ret_val) + goto out; } /* Device's eeprom is always little-endian, word addressable */ @@ -841,6 +843,7 @@ hw->nvm.ops.update(hw); igb_set_fw_version(adapter); +out: kfree(eeprom_buff); return ret_val; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc.h linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc.h --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -239,7 +240,7 @@ struct ptp_clock *ptp_clock; struct ptp_clock_info ptp_caps; struct work_struct ptp_tx_work; - /* Access to ptp_tx_skb and ptp_tx_start is protected by the + /* Access to ptp_tx_skb and ptp_tx_start are protected by the * ptp_tx_lock. */ spinlock_t ptp_tx_lock; @@ -348,6 +349,33 @@ #define IGC_MRQC_RSS_FIELD_IPV4_UDP 0x00400000 #define IGC_MRQC_RSS_FIELD_IPV6_UDP 0x00800000 +/* RX-desc Write-Back format RSS Type's */ +enum igc_rss_type_num { + IGC_RSS_TYPE_NO_HASH = 0, + IGC_RSS_TYPE_HASH_TCP_IPV4 = 1, + IGC_RSS_TYPE_HASH_IPV4 = 2, + IGC_RSS_TYPE_HASH_TCP_IPV6 = 3, + IGC_RSS_TYPE_HASH_IPV6_EX = 4, + IGC_RSS_TYPE_HASH_IPV6 = 5, + IGC_RSS_TYPE_HASH_TCP_IPV6_EX = 6, + IGC_RSS_TYPE_HASH_UDP_IPV4 = 7, + IGC_RSS_TYPE_HASH_UDP_IPV6 = 8, + IGC_RSS_TYPE_HASH_UDP_IPV6_EX = 9, + IGC_RSS_TYPE_MAX = 10, +}; +#define IGC_RSS_TYPE_MAX_TABLE 16 +#define IGC_RSS_TYPE_MASK GENMASK(3,0) /* 4-bits (3:0) = mask 0x0F */ + +/* igc_rss_type - Rx descriptor RSS type field */ +static inline u32 igc_rss_type(const union igc_adv_rx_desc *rx_desc) +{ + /* RSS Type 4-bits (3:0) number: 0-9 (above 9 is reserved) + * Accessing the same bits via u16 (wb.lower.lo_dword.hs_rss.pkt_info) + * is slightly slower than via u32 (wb.lower.lo_dword.data) + */ + return le32_get_bits(rx_desc->wb.lower.lo_dword.data, IGC_RSS_TYPE_MASK); +} + /* Interrupt defines */ #define IGC_START_ITR 648 /* ~6000 ints/sec */ #define IGC_4K_ITR 980 diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ethtool.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ethtool.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ethtool.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ethtool.c @@ -1751,6 +1751,8 @@ /* twisted pair */ cmd->base.port = PORT_TP; cmd->base.phy_address = hw->phy.addr; + ethtool_link_ksettings_add_link_mode(cmd, supported, TP); + ethtool_link_ksettings_add_link_mode(cmd, advertising, TP); /* advertising link modes */ if (hw->phy.autoneg_advertised & ADVERTISE_10_HALF) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_main.c @@ -259,6 +259,13 @@ /* reset BQL for queue */ netdev_tx_reset_queue(txring_txq(tx_ring)); + /* Zero out the buffer ring */ + memset(tx_ring->tx_buffer_info, 0, + sizeof(*tx_ring->tx_buffer_info) * tx_ring->count); + + /* Zero out the descriptor ring */ + memset(tx_ring->desc, 0, tx_ring->size); + /* reset next_to_use and next_to_clean */ tx_ring->next_to_use = 0; tx_ring->next_to_clean = 0; @@ -272,7 +279,7 @@ */ void igc_free_tx_resources(struct igc_ring *tx_ring) { - igc_clean_tx_ring(tx_ring); + igc_disable_tx_ring(tx_ring); vfree(tx_ring->tx_buffer_info); tx_ring->tx_buffer_info = NULL; @@ -706,7 +713,6 @@ /* disable the queue */ wr32(IGC_TXDCTL(reg_idx), 0); wrfl(); - mdelay(10); wr32(IGC_TDLEN(reg_idx), ring->count * sizeof(union igc_adv_tx_desc)); @@ -1012,7 +1018,7 @@ ktime_t base_time = adapter->base_time; ktime_t now = ktime_get_clocktai(); ktime_t baset_est, end_of_cycle; - u32 launchtime; + s32 launchtime; s64 n; n = div64_s64(ktime_sub_ns(now, base_time), cycle_time); @@ -1025,7 +1031,7 @@ *first_flag = true; ring->last_ff_cycle = baset_est; - if (ktime_compare(txtime, ring->last_tx_cycle) > 0) + if (ktime_compare(end_of_cycle, ring->last_tx_cycle) > 0) *insert_empty = true; } } @@ -1580,14 +1586,14 @@ struct igc_adapter *adapter = netdev_priv(tx_ring->netdev); bool is_ptp = igc_is_ptp_packet(skb); - spin_lock(&adapter->ptp_tx_lock); - /* FIXME: add support for retrieving timestamps from * the other timer registers before skipping the * timestamping request. */ - if (adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON && - is_ptp && !adapter->ptp_tx_skb) { + unsigned long flags; + + spin_lock_irqsave(&adapter->ptp_tx_lock, flags); + if (adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON && !adapter->ptp_tx_skb) { skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS; tx_flags |= IGC_TX_FLAGS_TSTAMP; @@ -1601,7 +1607,7 @@ adapter->tx_hwtstamp_skipped++; } - spin_unlock(&adapter->ptp_tx_lock); + spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags); } if (skb_vlan_tag_present(skb)) { @@ -1698,14 +1704,36 @@ le32_to_cpu(rx_desc->wb.upper.status_error)); } +/* Mapping HW RSS Type to enum pkt_hash_types */ +static const enum pkt_hash_types igc_rss_type_table[IGC_RSS_TYPE_MAX_TABLE] = { + [IGC_RSS_TYPE_NO_HASH] = PKT_HASH_TYPE_L2, + [IGC_RSS_TYPE_HASH_TCP_IPV4] = PKT_HASH_TYPE_L4, + [IGC_RSS_TYPE_HASH_IPV4] = PKT_HASH_TYPE_L3, + [IGC_RSS_TYPE_HASH_TCP_IPV6] = PKT_HASH_TYPE_L4, + [IGC_RSS_TYPE_HASH_IPV6_EX] = PKT_HASH_TYPE_L3, + [IGC_RSS_TYPE_HASH_IPV6] = PKT_HASH_TYPE_L3, + [IGC_RSS_TYPE_HASH_TCP_IPV6_EX] = PKT_HASH_TYPE_L4, + [IGC_RSS_TYPE_HASH_UDP_IPV4] = PKT_HASH_TYPE_L4, + [IGC_RSS_TYPE_HASH_UDP_IPV6] = PKT_HASH_TYPE_L4, + [IGC_RSS_TYPE_HASH_UDP_IPV6_EX] = PKT_HASH_TYPE_L4, + [10] = PKT_HASH_TYPE_NONE, /* RSS Type above 9 "Reserved" by HW */ + [11] = PKT_HASH_TYPE_NONE, /* keep array sized for SW bit-mask */ + [12] = PKT_HASH_TYPE_NONE, /* to handle future HW revisons */ + [13] = PKT_HASH_TYPE_NONE, + [14] = PKT_HASH_TYPE_NONE, + [15] = PKT_HASH_TYPE_NONE, +}; + static inline void igc_rx_hash(struct igc_ring *ring, union igc_adv_rx_desc *rx_desc, struct sk_buff *skb) { - if (ring->netdev->features & NETIF_F_RXHASH) - skb_set_hash(skb, - le32_to_cpu(rx_desc->wb.lower.hi_dword.rss), - PKT_HASH_TYPE_L3); + if (ring->netdev->features & NETIF_F_RXHASH) { + u32 rss_hash = le32_to_cpu(rx_desc->wb.lower.hi_dword.rss); + u32 rss_type = igc_rss_type(rx_desc); + + skb_set_hash(skb, rss_hash, igc_rss_type_table[rss_type]); + } } static void igc_rx_vlan(struct igc_ring *rx_ring, @@ -6955,6 +6983,7 @@ netdev->features |= NETIF_F_TSO; netdev->features |= NETIF_F_TSO6; netdev->features |= NETIF_F_TSO_ECN; + netdev->features |= NETIF_F_RXHASH; netdev->features |= NETIF_F_RXCSUM; netdev->features |= NETIF_F_HW_CSUM; netdev->features |= NETIF_F_SCTP_CRC; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ptp.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ptp.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ptp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/igc/igc_ptp.c @@ -357,16 +357,35 @@ tsim &= ~IGC_TSICR_TT0; } if (on) { + struct timespec64 safe_start; int i = rq->perout.index; igc_pin_perout(igc, i, pin, use_freq); - igc->perout[i].start.tv_sec = rq->perout.start.sec; + igc_ptp_read(igc, &safe_start); + + /* PPS output start time is triggered by Target time(TT) + * register. Programming any past time value into TT + * register will cause PPS to never start. Need to make + * sure we program the TT register a time ahead in + * future. There isn't a stringent need to fire PPS out + * right away. Adding +2 seconds should take care of + * corner cases. Let's say if the SYSTIML is close to + * wrap up and the timer keeps ticking as we program the + * register, adding +2seconds is safe bet. + */ + safe_start.tv_sec += 2; + + if (rq->perout.start.sec < safe_start.tv_sec) + igc->perout[i].start.tv_sec = safe_start.tv_sec; + else + igc->perout[i].start.tv_sec = rq->perout.start.sec; igc->perout[i].start.tv_nsec = rq->perout.start.nsec; igc->perout[i].period.tv_sec = ts.tv_sec; igc->perout[i].period.tv_nsec = ts.tv_nsec; - wr32(trgttimh, rq->perout.start.sec); + wr32(trgttimh, (u32)igc->perout[i].start.tv_sec); /* For now, always select timer 0 as source. */ - wr32(trgttiml, rq->perout.start.nsec | IGC_TT_IO_TIMER_SEL_SYSTIM0); + wr32(trgttiml, (u32)(igc->perout[i].start.tv_nsec | + IGC_TT_IO_TIMER_SEL_SYSTIM0)); if (use_freq) wr32(freqout, ns); tsauxc |= tsauxc_mask; @@ -656,17 +675,17 @@ dev_kfree_skb_any(adapter->ptp_tx_skb); adapter->ptp_tx_skb = NULL; - adapter->ptp_tx_start = 0; adapter->tx_hwtstamp_timeouts++; /* Clear the tx valid bit in TSYNCTXCTL register to enable interrupt. */ rd32(IGC_TXSTMPH); - netdev_warn(adapter->netdev, "Tx timestamp timeout\n"); } void igc_ptp_tx_hang(struct igc_adapter *adapter) { - spin_lock(&adapter->ptp_tx_lock); + unsigned long flags; + + spin_lock_irqsave(&adapter->ptp_tx_lock, flags); if (!adapter->ptp_tx_skb) goto unlock; @@ -677,7 +696,7 @@ igc_ptp_tx_timeout(adapter); unlock: - spin_unlock(&adapter->ptp_tx_lock); + spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags); } /** @@ -724,13 +743,7 @@ shhwtstamps.hwtstamp = ktime_add_ns(shhwtstamps.hwtstamp, adjust); - /* Clear the lock early before calling skb_tstamp_tx so that - * applications are not woken up before the lock bit is clear. We use - * a copy of the skb pointer to ensure other threads can't change it - * while we're notifying the stack. - */ adapter->ptp_tx_skb = NULL; - adapter->ptp_tx_start = 0; /* Notify the stack and free the skb after we've unlocked */ skb_tstamp_tx(skb, &shhwtstamps); @@ -799,29 +812,33 @@ * igc_ptp_tx_work * @work: pointer to work struct * - * This work function polls the TSYNCTXCTL valid bit to determine when a - * timestamp has been taken for the current stored skb. + * This work function checks the TSYNCTXCTL valid bit to determine when + * a timestamp has been taken for the current stored skb. */ static void igc_ptp_tx_work(struct work_struct *work) { struct igc_adapter *adapter = container_of(work, struct igc_adapter, ptp_tx_work); struct igc_hw *hw = &adapter->hw; + unsigned long flags; u32 tsynctxctl; - spin_lock(&adapter->ptp_tx_lock); + spin_lock_irqsave(&adapter->ptp_tx_lock, flags); if (!adapter->ptp_tx_skb) goto unlock; tsynctxctl = rd32(IGC_TSYNCTXCTL); - if (WARN_ON_ONCE(!(tsynctxctl & IGC_TSYNCTXCTL_TXTT_0))) + tsynctxctl &= IGC_TSYNCTXCTL_TXTT_0; + if (!tsynctxctl) { + WARN_ONCE(1, "Received a TSTAMP interrupt but no TSTAMP is ready.\n"); goto unlock; + } igc_ptp_tx_hwtstamp(adapter); unlock: - spin_unlock(&adapter->ptp_tx_lock); + spin_unlock_irqrestore(&adapter->ptp_tx_lock, flags); } /** @@ -1070,8 +1087,8 @@ return; } - spin_lock_init(&adapter->tmreg_lock); spin_lock_init(&adapter->ptp_tx_lock); + spin_lock_init(&adapter->tmreg_lock); INIT_WORK(&adapter->ptp_tx_work, igc_ptp_tx_work); adapter->tstamp_config.rx_filter = HWTSTAMP_FILTER_NONE; @@ -1133,14 +1150,8 @@ return; cancel_work_sync(&adapter->ptp_tx_work); - - spin_lock(&adapter->ptp_tx_lock); - dev_kfree_skb_any(adapter->ptp_tx_skb); adapter->ptp_tx_skb = NULL; - adapter->ptp_tx_start = 0; - - spin_unlock(&adapter->ptp_tx_lock); if (pci_device_is_present(adapter->pdev)) { igc_ptp_time_save(adapter); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/mvneta.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/mvneta.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/mvneta.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/mvneta.c @@ -1474,7 +1474,7 @@ */ if (txq_number == 1) txq_map = (cpu == pp->rxq_def) ? - MVNETA_CPU_TXQ_ACCESS(1) : 0; + MVNETA_CPU_TXQ_ACCESS(0) : 0; } else { txq_map = MVNETA_CPU_TXQ_ACCESS_ALL_MASK; @@ -4185,7 +4185,7 @@ */ if (txq_number == 1) txq_map = (cpu == elected_cpu) ? - MVNETA_CPU_TXQ_ACCESS(1) : 0; + MVNETA_CPU_TXQ_ACCESS(0) : 0; else txq_map = mvreg_read(pp, MVNETA_CPU_MAP(cpu)) & MVNETA_CPU_TXQ_ACCESS_ALL_MASK; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/cgx.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/cgx.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/cgx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/cgx.c @@ -167,6 +167,9 @@ { struct cgx *cgx_dev = cgx_get_pdata(cgx_id); + /* Software must not access disabled LMAC registers */ + if (!is_lmac_valid(cgx_dev, lmac_id)) + return; cgx_write(cgx_dev, lmac_id, offset, val); } @@ -174,6 +177,10 @@ { struct cgx *cgx_dev = cgx_get_pdata(cgx_id); + /* Software must not access disabled LMAC registers */ + if (!is_lmac_valid(cgx_dev, lmac_id)) + return 0; + return cgx_read(cgx_dev, lmac_id, offset); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu.h linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu.h --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu.h @@ -23,6 +23,7 @@ #define PCI_DEVID_OCTEONTX2_LBK 0xA061 /* Subsystem Device ID */ +#define PCI_SUBSYS_DEVID_98XX 0xB100 #define PCI_SUBSYS_DEVID_96XX 0xB200 #define PCI_SUBSYS_DEVID_CN10K_A 0xB900 @@ -614,6 +615,16 @@ return rvu->hw->cpt_chan_base + chan; } +static inline bool is_rvu_supports_nix1(struct rvu *rvu) +{ + struct pci_dev *pdev = rvu->pdev; + + if (pdev->subsystem_device == PCI_SUBSYS_DEVID_98XX) + return true; + + return false; +} + /* Function Prototypes * RVU */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c @@ -111,7 +111,7 @@ p2x = cgx_lmac_get_p2x(cgx_id, lmac_id); /* Firmware sets P2X_SELECT as either NIX0 or NIX1 */ pfvf->nix_blkaddr = BLKADDR_NIX0; - if (p2x == CMR_P2X_SEL_NIX1) + if (is_rvu_supports_nix1(rvu) && p2x == CMR_P2X_SEL_NIX1) pfvf->nix_blkaddr = BLKADDR_NIX1; } @@ -724,7 +724,7 @@ cgxd = rvu_cgx_pdata(cgx_id, rvu); mac_ops = get_mac_ops(cgxd); - mac_ops->mac_enadis_ptp_config(cgxd, lmac_id, true); + mac_ops->mac_enadis_ptp_config(cgxd, lmac_id, enable); /* If PTP is enabled then inform NPC that packets to be * parsed by this PF will have their data shifted by 8 bytes * and if PTP is disabled then no shift is required diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c @@ -1885,7 +1885,8 @@ free_cnt = rvu_rsrc_free_count(&txsch->schq); } - if (free_cnt < req_schq || req_schq > MAX_TXSCHQ_PER_FUNC) + if (free_cnt < req_schq || req->schq[lvl] > MAX_TXSCHQ_PER_FUNC || + req->schq_contig[lvl] > MAX_TXSCHQ_PER_FUNC) return NIX_AF_ERR_TLX_ALLOC_FAIL; /* If contiguous queues are needed, check for availability */ @@ -4066,10 +4067,6 @@ static u64 rvu_get_lbk_link_credits(struct rvu *rvu, u16 lbk_max_frs) { - /* CN10k supports 72KB FIFO size and max packet size of 64k */ - if (rvu->hw->lbk_bufsize == 0x12000) - return (rvu->hw->lbk_bufsize - lbk_max_frs) / 16; - return 1600; /* 16 * max LBK datarate = 16 * 100Gbps */ } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c @@ -827,6 +827,14 @@ return -EINVAL; vlan_etype = be16_to_cpu(fsp->h_ext.vlan_etype); + + /* Drop rule with vlan_etype == 802.1Q + * and vlan_id == 0 is not supported + */ + if (vlan_etype == ETH_P_8021Q && !fsp->m_ext.vlan_tci && + fsp->ring_cookie == RX_CLS_FLOW_DISC) + return -EINVAL; + /* Only ETH_P_8021Q and ETH_P_802AD types supported */ if (vlan_etype != ETH_P_8021Q && vlan_etype != ETH_P_8021AD) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c @@ -536,6 +536,21 @@ return -EOPNOTSUPP; } + if (!match.mask->vlan_id) { + struct flow_action_entry *act; + int i; + + flow_action_for_each(i, act, &rule->action) { + if (act->id == FLOW_ACTION_DROP) { + netdev_err(nic->netdev, + "vlan tpid 0x%x with vlan_id %d is not supported for DROP rule.\n", + ntohs(match.key->vlan_tpid), + match.key->vlan_id); + return -EOPNOTSUPP; + } + } + } + if (match.mask->vlan_id || match.mask->vlan_dei || match.mask->vlan_priority) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c @@ -676,8 +676,10 @@ c = kvzalloc_node(sizeof(*c), GFP_KERNEL, dev_to_node(mlx5_core_dma_dev(mdev))); cparams = kvzalloc(sizeof(*cparams), GFP_KERNEL); - if (!c || !cparams) - return -ENOMEM; + if (!c || !cparams) { + err = -ENOMEM; + goto err_free; + } c->priv = priv; c->mdev = priv->mdev; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -1298,7 +1298,8 @@ uplink_priv = &rpriv->uplink_priv; mutex_lock(&uplink_priv->unready_flows_lock); - unready_flow_del(flow); + if (flow_flag_test(flow, NOT_READY)) + unready_flow_del(flow); mutex_unlock(&uplink_priv->unready_flows_lock); } @@ -1593,8 +1594,7 @@ esw_attr = attr->esw_attr; mlx5e_put_flow_tunnel_id(flow); - if (flow_flag_test(flow, NOT_READY)) - remove_unready_flow(flow); + remove_unready_flow(flow); if (mlx5e_is_offloaded_flow(flow)) { if (flow_flag_test(flow, SLOW)) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/microchip/lan743x_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/microchip/lan743x_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/microchip/lan743x_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/microchip/lan743x_main.c @@ -83,6 +83,18 @@ !(data & HW_CFG_LRST_), 100000, 10000000); } +static int lan743x_csr_wait_for_bit_atomic(struct lan743x_adapter *adapter, + int offset, u32 bit_mask, + int target_value, int udelay_min, + int udelay_max, int count) +{ + u32 data; + + return readx_poll_timeout_atomic(LAN743X_CSR_READ_OP, offset, data, + target_value == !!(data & bit_mask), + udelay_max, udelay_min * count); +} + static int lan743x_csr_wait_for_bit(struct lan743x_adapter *adapter, int offset, u32 bit_mask, int target_value, int usleep_min, @@ -671,8 +683,8 @@ u32 dp_sel; int i; - if (lan743x_csr_wait_for_bit(adapter, DP_SEL, DP_SEL_DPRDY_, - 1, 40, 100, 100)) + if (lan743x_csr_wait_for_bit_atomic(adapter, DP_SEL, DP_SEL_DPRDY_, + 1, 40, 100, 100)) return -EIO; dp_sel = lan743x_csr_read(adapter, DP_SEL); dp_sel &= ~DP_SEL_MASK_; @@ -683,8 +695,9 @@ lan743x_csr_write(adapter, DP_ADDR, addr + i); lan743x_csr_write(adapter, DP_DATA_0, buf[i]); lan743x_csr_write(adapter, DP_CMD, DP_CMD_WRITE_); - if (lan743x_csr_wait_for_bit(adapter, DP_SEL, DP_SEL_DPRDY_, - 1, 40, 100, 100)) + if (lan743x_csr_wait_for_bit_atomic(adapter, DP_SEL, + DP_SEL_DPRDY_, + 1, 40, 100, 100)) return -EIO; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/pensando/ionic/ionic_lif.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/pensando/ionic/ionic_lif.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -451,11 +451,6 @@ static void ionic_link_qcq_interrupts(struct ionic_qcq *src_qcq, struct ionic_qcq *n_qcq) { - if (WARN_ON(n_qcq->flags & IONIC_QCQ_F_INTR)) { - ionic_intr_free(n_qcq->cq.lif->ionic, n_qcq->intr.index); - n_qcq->flags &= ~IONIC_QCQ_F_INTR; - } - n_qcq->intr.vector = src_qcq->intr.vector; n_qcq->intr.index = src_qcq->intr.index; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qed/qed_l2.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qed/qed_l2.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -1903,7 +1903,7 @@ { u32 i; - if (!cdev) { + if (!cdev || cdev->recov_in_prog) { memset(stats, 0, sizeof(*stats)); return; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qede/qede_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qede/qede_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qede/qede_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -308,6 +308,8 @@ edev->ops->get_vport_stats(edev->cdev, &stats); + spin_lock(&edev->stats_lock); + p_common->no_buff_discards = stats.common.no_buff_discards; p_common->packet_too_big_discard = stats.common.packet_too_big_discard; p_common->ttl0_discard = stats.common.ttl0_discard; @@ -405,6 +407,8 @@ p_ah->tx_1519_to_max_byte_packets = stats.ah.tx_1519_to_max_byte_packets; } + + spin_unlock(&edev->stats_lock); } static void qede_get_stats64(struct net_device *dev, @@ -413,9 +417,10 @@ struct qede_dev *edev = netdev_priv(dev); struct qede_stats_common *p_common; - qede_fill_by_demand_stats(edev); p_common = &edev->stats.common; + spin_lock(&edev->stats_lock); + stats->rx_packets = p_common->rx_ucast_pkts + p_common->rx_mcast_pkts + p_common->rx_bcast_pkts; stats->tx_packets = p_common->tx_ucast_pkts + p_common->tx_mcast_pkts + @@ -435,6 +440,8 @@ stats->collisions = edev->stats.bb.tx_total_collisions; stats->rx_crc_errors = p_common->rx_crc_errors; stats->rx_frame_errors = p_common->rx_align_errors; + + spin_unlock(&edev->stats_lock); } #ifdef CONFIG_QED_SRIOV @@ -1000,6 +1007,23 @@ rtnl_unlock(); } +static void qede_periodic_task(struct work_struct *work) +{ + struct qede_dev *edev = container_of(work, struct qede_dev, + periodic_task.work); + + qede_fill_by_demand_stats(edev); + schedule_delayed_work(&edev->periodic_task, edev->stats_coal_ticks); +} + +static void qede_init_periodic_task(struct qede_dev *edev) +{ + INIT_DELAYED_WORK(&edev->periodic_task, qede_periodic_task); + spin_lock_init(&edev->stats_lock); + edev->stats_coal_usecs = USEC_PER_SEC; + edev->stats_coal_ticks = usecs_to_jiffies(USEC_PER_SEC); +} + static void qede_sp_task(struct work_struct *work) { struct qede_dev *edev = container_of(work, struct qede_dev, @@ -1019,6 +1043,7 @@ */ if (test_and_clear_bit(QEDE_SP_RECOVERY, &edev->sp_flags)) { + cancel_delayed_work_sync(&edev->periodic_task); #ifdef CONFIG_QED_SRIOV /* SRIOV must be disabled outside the lock to avoid a deadlock. * The recovery of the active VFs is currently not supported. @@ -1209,6 +1234,7 @@ */ INIT_DELAYED_WORK(&edev->sp_task, qede_sp_task); mutex_init(&edev->qede_lock); + qede_init_periodic_task(edev); rc = register_netdev(edev->ndev); if (rc) { @@ -1233,6 +1259,11 @@ edev->rx_copybreak = QEDE_RX_HDR_SIZE; qede_log_probe(edev); + + /* retain user config (for example - after recovery) */ + if (edev->stats_coal_usecs) + schedule_delayed_work(&edev->periodic_task, 0); + return 0; err4: @@ -1301,6 +1332,7 @@ unregister_netdev(ndev); cancel_delayed_work_sync(&edev->sp_task); + cancel_delayed_work_sync(&edev->periodic_task); edev->ops->common->set_power_state(cdev, PCI_D0); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/sfc/ef10.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/sfc/ef10.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/sfc/ef10.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/sfc/ef10.c @@ -1297,8 +1297,10 @@ { struct efx_ef10_nic_data *nic_data = efx->nic_data; + spin_lock_bh(&efx->stats_lock); kfree(nic_data->mc_stats); nic_data->mc_stats = NULL; + spin_unlock_bh(&efx->stats_lock); } static int efx_ef10_init_nic(struct efx_nic *efx) @@ -1852,9 +1854,14 @@ efx_ef10_get_stat_mask(efx, mask); - efx_nic_copy_stats(efx, nic_data->mc_stats); - efx_nic_update_stats(efx_ef10_stat_desc, EF10_STAT_COUNT, - mask, stats, nic_data->mc_stats, false); + /* If NIC was fini'd (probably resetting), then we can't read + * updated stats right now. + */ + if (nic_data->mc_stats) { + efx_nic_copy_stats(efx, nic_data->mc_stats); + efx_nic_update_stats(efx_ef10_stat_desc, EF10_STAT_COUNT, + mask, stats, nic_data->mc_stats, false); + } /* Update derived statistics */ efx_nic_fix_nodesc_drop_stat(efx, diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c @@ -1502,7 +1502,7 @@ { PCI_DEVICE_DATA(INTEL, ADLS_SGMII1G_0, &adls_sgmii1g_phy0_info) }, { PCI_DEVICE_DATA(INTEL, ADLS_SGMII1G_1, &adls_sgmii1g_phy1_info) }, { PCI_DEVICE_DATA(INTEL, ADLN_SGMII1G, &adln_sgmii1g_phy0_info) }, - { PCI_DEVICE_DATA(INTEL, RPLP_SGMII1G, &tgl_sgmii1g_phy0_info) }, + { PCI_DEVICE_DATA(INTEL, RPLP_SGMII1G, &adln_sgmii1g_phy0_info) }, {} }; MODULE_DEVICE_TABLE(pci, intel_eth_pci_id_table); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -7521,12 +7521,6 @@ netif_carrier_off(ndev); unregister_netdev(ndev); - /* Serdes power down needs to happen after VLAN filter - * is deleted that is triggered by unregister_netdev(). - */ - if (priv->plat->serdes_powerdown) - priv->plat->serdes_powerdown(ndev, priv->plat->bsp_priv); - #ifdef CONFIG_DEBUG_FS stmmac_exit_fs(ndev); #endif diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/xilinx/xilinx_axienet_main.c linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/xilinx/xilinx_axienet_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -2075,6 +2075,11 @@ goto cleanup_clk; } + /* Reset core now that clocks are enabled, prior to accessing MDIO */ + ret = __axienet_device_reset(lp); + if (ret) + goto cleanup_clk; + /* Autodetect the need for 64-bit DMA pointers. * When the IP is configured for a bus width bigger than 32 bits, * writing the MSB registers is mandatory, even if they are all 0. @@ -2122,11 +2127,6 @@ lp->coalesce_count_rx = XAXIDMA_DFT_RX_THRESHOLD; lp->coalesce_count_tx = XAXIDMA_DFT_TX_THRESHOLD; - /* Reset core now that clocks are enabled, prior to accessing MDIO */ - ret = __axienet_device_reset(lp); - if (ret) - goto cleanup_clk; - ret = axienet_mdio_setup(lp); if (ret) dev_warn(&pdev->dev, diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ieee802154/mac802154_hwsim.c linux-intel-iotg-5.15-5.15.0/drivers/net/ieee802154/mac802154_hwsim.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ieee802154/mac802154_hwsim.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ieee802154/mac802154_hwsim.c @@ -522,7 +522,7 @@ static int hwsim_set_edge_lqi(struct sk_buff *msg, struct genl_info *info) { struct nlattr *edge_attrs[MAC802154_HWSIM_EDGE_ATTR_MAX + 1]; - struct hwsim_edge_info *einfo; + struct hwsim_edge_info *einfo, *einfo_old; struct hwsim_phy *phy_v0; struct hwsim_edge *e; u32 v0, v1; @@ -560,8 +560,10 @@ list_for_each_entry_rcu(e, &phy_v0->edges, list) { if (e->endpoint->idx == v1) { einfo->lqi = lqi; - rcu_assign_pointer(e->info, einfo); + einfo_old = rcu_replace_pointer(e->info, einfo, + lockdep_is_held(&hwsim_phys_lock)); rcu_read_unlock(); + kfree_rcu(einfo_old, rcu); mutex_unlock(&hwsim_phys_lock); return 0; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_core.c linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_core.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_core.c @@ -586,7 +586,8 @@ consume_skb(skb); return NET_XMIT_DROP; } - return ipvlan_rcv_frame(addr, &skb, true); + ipvlan_rcv_frame(addr, &skb, true); + return NET_XMIT_SUCCESS; } } out: @@ -612,7 +613,8 @@ consume_skb(skb); return NET_XMIT_DROP; } - return ipvlan_rcv_frame(addr, &skb, true); + ipvlan_rcv_frame(addr, &skb, true); + return NET_XMIT_SUCCESS; } } skb = skb_share_check(skb, GFP_ATOMIC); @@ -624,7 +626,8 @@ * the skb for the main-dev. At the RX side we just return * RX_PASS for it to be processed further on the stack. */ - return dev_forward_skb(ipvlan->phy_dev, skb); + dev_forward_skb(ipvlan->phy_dev, skb); + return NET_XMIT_SUCCESS; } else if (is_multicast_ether_addr(eth->h_dest)) { skb_reset_mac_header(skb); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_l3s.c linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_l3s.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_l3s.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ipvlan/ipvlan_l3s.c @@ -102,6 +102,10 @@ skb->dev = addr->master->dev; skb->skb_iif = skb->dev->ifindex; +#if IS_ENABLED(CONFIG_IPV6) + if (addr->atype == IPVL_IPV6) + IP6CB(skb)->iif = skb->dev->ifindex; +#endif len = skb->len + ETH_HLEN; ipvlan_count_rx(addr->master, len, true, false); out: diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/netdevsim/dev.c linux-intel-iotg-5.15-5.15.0/drivers/net/netdevsim/dev.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/netdevsim/dev.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/netdevsim/dev.c @@ -168,13 +168,10 @@ cookie_len = (count - 1) / 2; if ((count - 1) % 2) return -EINVAL; - buf = kmalloc(count, GFP_KERNEL | __GFP_NOWARN); - if (!buf) - return -ENOMEM; - ret = simple_write_to_buffer(buf, count, ppos, data, count); - if (ret < 0) - goto free_buf; + buf = memdup_user(data, count); + if (IS_ERR(buf)) + return PTR_ERR(buf); fa_cookie = kmalloc(sizeof(*fa_cookie) + cookie_len, GFP_KERNEL | __GFP_NOWARN); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/phy/dp83867.c linux-intel-iotg-5.15-5.15.0/drivers/net/phy/dp83867.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/phy/dp83867.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/phy/dp83867.c @@ -863,7 +863,7 @@ { int err; - err = phy_write(phydev, DP83867_CTRL, DP83867_SW_RESTART); + err = phy_write(phydev, DP83867_CTRL, DP83867_SW_RESET); if (err < 0) return err; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/tap.c linux-intel-iotg-5.15-5.15.0/drivers/net/tap.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/tap.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/tap.c @@ -523,7 +523,7 @@ q->sock.state = SS_CONNECTED; q->sock.file = file; q->sock.ops = &tap_socket_ops; - sock_init_data_uid(&q->sock, &q->sk, inode->i_uid); + sock_init_data_uid(&q->sock, &q->sk, current_fsuid()); q->sk.sk_write_space = tap_sock_write_space; q->sk.sk_destruct = tap_sock_destruct; q->flags = IFF_VNET_HDR | IFF_NO_PI | IFF_TAP; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/tun.c linux-intel-iotg-5.15-5.15.0/drivers/net/tun.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/tun.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/tun.c @@ -3411,7 +3411,7 @@ tfile->socket.file = file; tfile->socket.ops = &tun_socket_ops; - sock_init_data_uid(&tfile->socket, &tfile->sk, inode->i_uid); + sock_init_data_uid(&tfile->socket, &tfile->sk, current_fsuid()); tfile->sk.sk_write_space = tun_sock_write_space; tfile->sk.sk_sndbuf = INT_MAX; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/usb/qmi_wwan.c linux-intel-iotg-5.15-5.15.0/drivers/net/usb/qmi_wwan.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/usb/qmi_wwan.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/usb/qmi_wwan.c @@ -1217,7 +1217,9 @@ {QMI_FIXED_INTF(0x05c6, 0x9080, 8)}, {QMI_FIXED_INTF(0x05c6, 0x9083, 3)}, {QMI_FIXED_INTF(0x05c6, 0x9084, 4)}, + {QMI_QUIRK_SET_DTR(0x05c6, 0x9091, 2)}, /* Compal RXM-G1 */ {QMI_FIXED_INTF(0x05c6, 0x90b2, 3)}, /* ublox R410M */ + {QMI_QUIRK_SET_DTR(0x05c6, 0x90db, 2)}, /* Compal RXM-G1 */ {QMI_FIXED_INTF(0x05c6, 0x920d, 0)}, {QMI_FIXED_INTF(0x05c6, 0x920d, 5)}, {QMI_QUIRK_SET_DTR(0x05c6, 0x9625, 4)}, /* YUGA CLM920-NC5 */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wan/lapbether.c linux-intel-iotg-5.15-5.15.0/drivers/net/wan/lapbether.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wan/lapbether.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wan/lapbether.c @@ -384,6 +384,9 @@ ASSERT_RTNL(); + if (dev->type != ARPHRD_ETHER) + return -EINVAL; + ndev = alloc_netdev(sizeof(*lapbeth), "lapb%d", NET_NAME_UNKNOWN, lapbeth_setup); if (!ndev) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/netlink.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/netlink.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/netlink.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/netlink.c @@ -546,6 +546,7 @@ u8 *private_key = nla_data(info->attrs[WGDEVICE_A_PRIVATE_KEY]); u8 public_key[NOISE_PUBLIC_KEY_LEN]; struct wg_peer *peer, *temp; + bool send_staged_packets; if (!crypto_memneq(wg->static_identity.static_private, private_key, NOISE_PUBLIC_KEY_LEN)) @@ -564,14 +565,17 @@ } down_write(&wg->static_identity.lock); - wg_noise_set_static_identity_private_key(&wg->static_identity, - private_key); - list_for_each_entry_safe(peer, temp, &wg->peer_list, - peer_list) { + send_staged_packets = !wg->static_identity.has_identity && netif_running(wg->dev); + wg_noise_set_static_identity_private_key(&wg->static_identity, private_key); + send_staged_packets = send_staged_packets && wg->static_identity.has_identity; + + wg_cookie_checker_precompute_device_keys(&wg->cookie_checker); + list_for_each_entry_safe(peer, temp, &wg->peer_list, peer_list) { wg_noise_precompute_static_static(peer); wg_noise_expire_current_peer_keypairs(peer); + if (send_staged_packets) + wg_packet_send_staged_packets(peer); } - wg_cookie_checker_precompute_device_keys(&wg->cookie_checker); up_write(&wg->static_identity.lock); } skip_set_private_key: diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.c @@ -28,6 +28,7 @@ int ret; memset(queue, 0, sizeof(*queue)); + queue->last_cpu = -1; ret = ptr_ring_init(&queue->ring, len, GFP_KERNEL); if (ret) return ret; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.h linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.h --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/queueing.h @@ -119,20 +119,17 @@ return cpu; } -/* This function is racy, in the sense that next is unlocked, so it could return - * the same CPU twice. A race-free version of this would be to instead store an - * atomic sequence number, do an increment-and-return, and then iterate through - * every possible CPU until we get to that index -- choose_cpu. However that's - * a bit slower, and it doesn't seem like this potential race actually - * introduces any performance loss, so we live with it. +/* This function is racy, in the sense that it's called while last_cpu is + * unlocked, so it could return the same CPU twice. Adding locking or using + * atomic sequence numbers is slower though, and the consequences of racing are + * harmless, so live with it. */ -static inline int wg_cpumask_next_online(int *next) +static inline int wg_cpumask_next_online(int *last_cpu) { - int cpu = *next; - - while (unlikely(!cpumask_test_cpu(cpu, cpu_online_mask))) - cpu = cpumask_next(cpu, cpu_online_mask) % nr_cpumask_bits; - *next = cpumask_next(cpu, cpu_online_mask) % nr_cpumask_bits; + int cpu = cpumask_next(*last_cpu, cpu_online_mask); + if (cpu >= nr_cpu_ids) + cpu = cpumask_first(cpu_online_mask); + *last_cpu = cpu; return cpu; } @@ -161,7 +158,7 @@ static inline int wg_queue_enqueue_per_device_and_peer( struct crypt_queue *device_queue, struct prev_queue *peer_queue, - struct sk_buff *skb, struct workqueue_struct *wq, int *next_cpu) + struct sk_buff *skb, struct workqueue_struct *wq) { int cpu; @@ -175,7 +172,7 @@ /* Then we queue it up in the device queue, which consumes the * packet as soon as it can. */ - cpu = wg_cpumask_next_online(next_cpu); + cpu = wg_cpumask_next_online(&device_queue->last_cpu); if (unlikely(ptr_ring_produce_bh(&device_queue->ring, skb))) return -EPIPE; queue_work_on(cpu, wq, &per_cpu_ptr(device_queue->worker, cpu)->work); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/receive.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/receive.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/receive.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/receive.c @@ -531,7 +531,7 @@ goto err; ret = wg_queue_enqueue_per_device_and_peer(&wg->decrypt_queue, &peer->rx_queue, skb, - wg->packet_crypt_wq, &wg->decrypt_queue.last_cpu); + wg->packet_crypt_wq); if (unlikely(ret == -EPIPE)) wg_queue_enqueue_per_peer_rx(skb, PACKET_STATE_DEAD); if (likely(!ret || ret == -EPIPE)) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/htc_hst.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/htc_hst.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/htc_hst.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/htc_hst.c @@ -114,7 +114,13 @@ if (svc_rspmsg->status == HTC_SERVICE_SUCCESS) { epid = svc_rspmsg->endpoint_id; - if (epid < 0 || epid >= ENDPOINT_MAX) + + /* Check that the received epid for the endpoint to attach + * a new service is valid. ENDPOINT0 can't be used here as it + * is already reserved for HTC_CTRL_RSVD_SVC service and thus + * should not be modified. + */ + if (epid <= ENDPOINT0 || epid >= ENDPOINT_MAX) return; service_id = be16_to_cpu(svc_rspmsg->service_id); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/main.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/main.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/main.c @@ -203,7 +203,7 @@ void ath_restart_work(struct ath_softc *sc) { ieee80211_queue_delayed_work(sc->hw, &sc->hw_check_work, - ATH_HW_CHECK_POLL_INT); + msecs_to_jiffies(ATH_HW_CHECK_POLL_INT)); if (AR_SREV_9340(sc->sc_ah) || AR_SREV_9330(sc->sc_ah)) ieee80211_queue_delayed_work(sc->hw, &sc->hw_pll_work, @@ -850,7 +850,7 @@ static bool ath9k_txq_has_key(struct ath_softc *sc, u32 keyix) { struct ath_hw *ah = sc->sc_ah; - int i; + int i, j; struct ath_txq *txq; bool key_in_use = false; @@ -868,8 +868,9 @@ if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) { int idx = txq->txq_tailidx; - while (!key_in_use && - !list_empty(&txq->txq_fifo[idx])) { + for (j = 0; !key_in_use && + !list_empty(&txq->txq_fifo[idx]) && + j < ATH_TXFIFO_DEPTH; j++) { key_in_use = ath9k_txq_list_has_key( &txq->txq_fifo[idx], keyix); INCR(idx, ATH_TXFIFO_DEPTH); @@ -2238,7 +2239,7 @@ } ieee80211_queue_delayed_work(hw, &sc->hw_check_work, - ATH_HW_CHECK_POLL_INT); + msecs_to_jiffies(ATH_HW_CHECK_POLL_INT)); } static bool ath9k_tx_frames_pending(struct ieee80211_hw *hw) diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/wmi.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/wmi.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/wmi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/wmi.c @@ -221,6 +221,10 @@ if (unlikely(wmi->stopped)) goto free_skb; + /* Validate the obtained SKB. */ + if (unlikely(skb->len < sizeof(struct wmi_cmd_hdr))) + goto free_skb; + hdr = (struct wmi_cmd_hdr *) skb->data; cmd_id = be16_to_cpu(hdr->command_id); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/cisco/airo.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/cisco/airo.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/cisco/airo.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/cisco/airo.c @@ -6147,8 +6147,11 @@ { struct airo_info *local = dev->ml_priv; StatusRid status_rid; /* Card status info */ + int ret; - readStatusRid(local, &status_rid, 1); + ret = readStatusRid(local, &status_rid, 1); + if (ret) + return -EBUSY; vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000; /* If more than one rate, set auto */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/ops.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/ops.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -1663,8 +1663,11 @@ else set_bit(IWL_MVM_TXQ_STATE_STOP_FULL, &mvmtxq->state); - if (start && mvmsta->sta_state != IEEE80211_STA_NOTEXIST) + if (start && mvmsta->sta_state != IEEE80211_STA_NOTEXIST) { + local_bh_disable(); iwl_mvm_mac_itxq_xmit(mvm->hw, txq); + local_bh_enable(); + } } out: diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c @@ -302,7 +302,8 @@ static int iwl_mvm_rx_mgmt_prot(struct ieee80211_sta *sta, struct ieee80211_hdr *hdr, struct iwl_rx_mpdu_desc *desc, - u32 status) + u32 status, + struct ieee80211_rx_status *stats) { struct iwl_mvm_sta *mvmsta; struct iwl_mvm_vif *mvmvif; @@ -331,8 +332,10 @@ /* good cases */ if (likely(status & IWL_RX_MPDU_STATUS_MIC_OK && - !(status & IWL_RX_MPDU_STATUS_REPLAY_ERROR))) + !(status & IWL_RX_MPDU_STATUS_REPLAY_ERROR))) { + stats->flag |= RX_FLAG_DECRYPTED; return 0; + } if (!sta) return -1; @@ -401,7 +404,7 @@ if (unlikely(ieee80211_is_mgmt(hdr->frame_control) && !ieee80211_has_protected(hdr->frame_control))) - return iwl_mvm_rx_mgmt_prot(sta, hdr, desc, status); + return iwl_mvm_rx_mgmt_prot(sta, hdr, desc, status, stats); if (!ieee80211_has_protected(hdr->frame_control) || (status & IWL_RX_MPDU_STATUS_SEC_MASK) == diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/pcie/rx.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/pcie/rx.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/pcie/rx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intel/iwlwifi/pcie/rx.c @@ -1601,18 +1601,22 @@ struct msix_entry *entry = dev_id; struct iwl_trans_pcie *trans_pcie = iwl_pcie_get_trans_pcie(entry); struct iwl_trans *trans = trans_pcie->trans; - struct iwl_rxq *rxq = &trans_pcie->rxq[entry->entry]; + struct iwl_rxq *rxq; trace_iwlwifi_dev_irq_msix(trans->dev, entry, false, 0, 0); if (WARN_ON(entry->entry >= trans->num_rx_queues)) return IRQ_NONE; - if (WARN_ONCE(!rxq, - "[%d] Got MSI-X interrupt before we have Rx queues", - entry->entry)) + if (!trans_pcie->rxq) { + if (net_ratelimit()) + IWL_ERR(trans, + "[%d] Got MSI-X interrupt before we have Rx queues\n", + entry->entry); return IRQ_NONE; + } + rxq = &trans_pcie->rxq[entry->entry]; lock_map_acquire(&trans->sync_cmd_lockdep_map); IWL_DEBUG_ISR(trans, "[%d] Got interrupt\n", entry->entry); diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/mediatek/mt76/mt7615/mac.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/mediatek/mt76/mt7615/mac.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/mediatek/mt76/mt7615/mac.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/mediatek/mt76/mt7615/mac.c @@ -869,7 +869,10 @@ msta = list_first_entry(&sta_poll_list, struct mt7615_sta, poll_list); + + spin_lock_bh(&dev->sta_poll_lock); list_del_init(&msta->poll_list); + spin_unlock_bh(&dev->sta_poll_lock); addr = mt7615_mac_wtbl_addr(dev, msta->wcid.idx) + 19 * 4; diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/microchip/wilc1000/hif.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/microchip/wilc1000/hif.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/microchip/wilc1000/hif.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/microchip/wilc1000/hif.c @@ -470,6 +470,9 @@ int rsn_ie_len = sizeof(struct element) + rsn_ie[1]; int offset = 8; + param->mode_802_11i = 2; + param->rsn_found = true; + /* extract RSN capabilities */ if (offset < rsn_ie_len) { /* skip over pairwise suites */ @@ -479,11 +482,8 @@ /* skip over authentication suites */ offset += (rsn_ie[offset] * 4) + 2; - if (offset + 1 < rsn_ie_len) { - param->mode_802_11i = 2; - param->rsn_found = true; + if (offset + 1 < rsn_ie_len) memcpy(param->rsn_cap, &rsn_ie[offset], 2); - } } } } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ray_cs.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ray_cs.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ray_cs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ray_cs.c @@ -270,13 +270,14 @@ { ray_dev_t *local; struct net_device *dev; + int ret; dev_dbg(&p_dev->dev, "ray_attach()\n"); /* Allocate space for private device-specific data */ dev = alloc_etherdev(sizeof(ray_dev_t)); if (!dev) - goto fail_alloc_dev; + return -ENOMEM; local = netdev_priv(dev); local->finder = p_dev; @@ -313,11 +314,16 @@ timer_setup(&local->timer, NULL, 0); this_device = p_dev; - return ray_config(p_dev); + ret = ray_config(p_dev); + if (ret) + goto err_free_dev; -fail_alloc_dev: - return -ENOMEM; -} /* ray_attach */ + return 0; + +err_free_dev: + free_netdev(dev); + return ret; +} static void ray_detach(struct pcmcia_device *link) { @@ -1643,38 +1649,34 @@ /*===========================================================================*/ static int parse_addr(char *in_str, UCHAR *out) { + int i, k; int len; - int i, j, k; - int status; if (in_str == NULL) return 0; - if ((len = strlen(in_str)) < 2) + len = strnlen(in_str, ADDRLEN * 2 + 1) - 1; + if (len < 1) return 0; memset(out, 0, ADDRLEN); - status = 1; - j = len - 1; - if (j > 12) - j = 12; i = 5; - while (j > 0) { - if ((k = hex_to_bin(in_str[j--])) != -1) + while (len > 0) { + if ((k = hex_to_bin(in_str[len--])) != -1) out[i] = k; else return 0; - if (j == 0) + if (len == 0) break; - if ((k = hex_to_bin(in_str[j--])) != -1) + if ((k = hex_to_bin(in_str[len--])) != -1) out[i] += k << 4; else return 0; if (!i--) break; } - return status; + return 1; } /*===========================================================================*/ diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/rsi/rsi_91x_sdio.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/rsi/rsi_91x_sdio.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/rsi/rsi_91x_sdio.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/rsi/rsi_91x_sdio.c @@ -1463,10 +1463,8 @@ rsi_dbg(ERR_ZONE, "SDIO Bus shutdown =====>\n"); - if (hw) { - struct cfg80211_wowlan *wowlan = hw->wiphy->wowlan_config; - - if (rsi_config_wowlan(adapter, wowlan)) + if (hw && hw->wiphy && hw->wiphy->wowlan_config) { + if (rsi_config_wowlan(adapter, hw->wiphy->wowlan_config)) rsi_dbg(ERR_ZONE, "Failed to configure WoWLAN\n"); } @@ -1481,9 +1479,6 @@ if (sdev->write_fail) rsi_dbg(INFO_ZONE, "###### Device is not ready #######\n"); - if (rsi_set_sdio_pm_caps(adapter)) - rsi_dbg(INFO_ZONE, "Setting power management caps failed\n"); - rsi_dbg(INFO_ZONE, "***** RSI module shut down *****\n"); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/wl3501_cs.c linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/wl3501_cs.c --- linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/wl3501_cs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/wl3501_cs.c @@ -1862,6 +1862,7 @@ { struct net_device *dev; struct wl3501_card *this; + int ret; /* The io structure describes IO port mapping */ p_dev->resource[0]->end = 16; @@ -1873,8 +1874,7 @@ dev = alloc_etherdev(sizeof(struct wl3501_card)); if (!dev) - goto out_link; - + return -ENOMEM; dev->netdev_ops = &wl3501_netdev_ops; dev->watchdog_timeo = 5 * HZ; @@ -1887,9 +1887,15 @@ netif_stop_queue(dev); p_dev->priv = dev; - return wl3501_config(p_dev); -out_link: - return -ENOMEM; + ret = wl3501_config(p_dev); + if (ret) + goto out_free_etherdev; + + return 0; + +out_free_etherdev: + free_netdev(dev); + return ret; } static int wl3501_config(struct pcmcia_device *link) @@ -1945,8 +1951,7 @@ goto failed; } - for (i = 0; i < 6; i++) - dev->dev_addr[i] = ((char *)&this->mac_addr)[i]; + eth_hw_addr_set(dev, this->mac_addr); /* print probe information */ printk(KERN_INFO "%s: wl3501 @ 0x%3.3x, IRQ %d, " diff -u linux-intel-iotg-5.15-5.15.0/drivers/ntb/test/ntb_tool.c linux-intel-iotg-5.15-5.15.0/drivers/ntb/test/ntb_tool.c --- linux-intel-iotg-5.15-5.15.0/drivers/ntb/test/ntb_tool.c +++ linux-intel-iotg-5.15-5.15.0/drivers/ntb/test/ntb_tool.c @@ -998,6 +998,8 @@ tc->peers[pidx].outmws = devm_kcalloc(&tc->ntb->dev, tc->peers[pidx].outmw_cnt, sizeof(*tc->peers[pidx].outmws), GFP_KERNEL); + if (tc->peers[pidx].outmws == NULL) + return -ENOMEM; for (widx = 0; widx < tc->peers[pidx].outmw_cnt; widx++) { tc->peers[pidx].outmws[widx].pidx = pidx; diff -u linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/core.c linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/core.c --- linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/core.c @@ -1247,9 +1247,25 @@ * The host should send Keep Alive commands at half of the Keep Alive Timeout * accounting for transport roundtrip times [..]. */ +static unsigned long nvme_keep_alive_work_period(struct nvme_ctrl *ctrl) +{ + unsigned long delay = ctrl->kato * HZ / 2; + + /* + * When using Traffic Based Keep Alive, we need to run + * nvme_keep_alive_work at twice the normal frequency, as one + * command completion can postpone sending a keep alive command + * by up to twice the delay between runs. + */ + if (ctrl->ctratt & NVME_CTRL_ATTR_TBKAS) + delay /= 2; + return delay; +} + static void nvme_queue_keep_alive_work(struct nvme_ctrl *ctrl) { - queue_delayed_work(nvme_wq, &ctrl->ka_work, ctrl->kato * HZ / 2); + queue_delayed_work(nvme_wq, &ctrl->ka_work, + nvme_keep_alive_work_period(ctrl)); } static void nvme_keep_alive_end_io(struct request *rq, blk_status_t status) diff -u linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/pci.c linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/pci.c --- linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/pci.c +++ linux-intel-iotg-5.15-5.15.0/drivers/nvme/host/pci.c @@ -224,7 +224,6 @@ struct nvme_iod { struct nvme_request req; struct nvme_command cmd; - struct nvme_queue *nvmeq; bool use_sgl; int aborted; int npages; /* In the PRP list. 0 means small pool in use */ @@ -422,11 +421,6 @@ { struct nvme_dev *dev = set->driver_data; struct nvme_iod *iod = blk_mq_rq_to_pdu(req); - int queue_idx = (set == &dev->tagset) ? hctx_idx + 1 : 0; - struct nvme_queue *nvmeq = &dev->queues[queue_idx]; - - BUG_ON(!nvmeq); - iod->nvmeq = nvmeq; nvme_req(req)->ctrl = &dev->ctrl; nvme_req(req)->cmd = &iod->cmd; @@ -529,7 +523,7 @@ static inline bool nvme_pci_use_sgls(struct nvme_dev *dev, struct request *req) { - struct nvme_iod *iod = blk_mq_rq_to_pdu(req); + struct nvme_queue *nvmeq = req->mq_hctx->driver_data; int nseg = blk_rq_nr_phys_segments(req); unsigned int avg_seg_size; @@ -537,7 +531,7 @@ if (!nvme_ctrl_sgl_supported(&dev->ctrl)) return false; - if (!iod->nvmeq->qid) + if (!nvmeq->qid) return false; if (!sgl_threshold || avg_seg_size < sgl_threshold) return false; @@ -846,6 +840,7 @@ int nr_mapped; if (blk_rq_nr_phys_segments(req) == 1) { + struct nvme_queue *nvmeq = req->mq_hctx->driver_data; struct bio_vec bv = req_bvec(req); if (!is_pci_p2pdma_page(bv.bv_page)) { @@ -853,7 +848,7 @@ return nvme_setup_prp_simple(dev, req, &cmnd->rw, &bv); - if (iod->nvmeq->qid && sgl_threshold && + if (nvmeq->qid && sgl_threshold && nvme_ctrl_sgl_supported(&dev->ctrl)) return nvme_setup_sgl_simple(dev, req, &cmnd->rw, &bv); @@ -963,12 +958,16 @@ static void nvme_pci_complete_rq(struct request *req) { - struct nvme_iod *iod = blk_mq_rq_to_pdu(req); - struct nvme_dev *dev = iod->nvmeq->dev; + struct nvme_queue *nvmeq = req->mq_hctx->driver_data; + struct nvme_dev *dev = nvmeq->dev; + + if (blk_integrity_rq(req)) { + struct nvme_iod *iod = blk_mq_rq_to_pdu(req); - if (blk_integrity_rq(req)) dma_unmap_page(dev->dev, iod->meta_dma, - rq_integrity_vec(req)->bv_len, rq_data_dir(req)); + rq_integrity_vec(req)->bv_len, rq_dma_dir(req)); + } + if (blk_rq_nr_phys_segments(req)) nvme_unmap_data(dev, req); nvme_complete_rq(req); @@ -1194,8 +1193,7 @@ static void abort_endio(struct request *req, blk_status_t error) { - struct nvme_iod *iod = blk_mq_rq_to_pdu(req); - struct nvme_queue *nvmeq = iod->nvmeq; + struct nvme_queue *nvmeq = req->mq_hctx->driver_data; dev_warn(nvmeq->dev->ctrl.device, "Abort status: 0x%x", nvme_req(req)->status); @@ -1249,7 +1247,7 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved) { struct nvme_iod *iod = blk_mq_rq_to_pdu(req); - struct nvme_queue *nvmeq = iod->nvmeq; + struct nvme_queue *nvmeq = req->mq_hctx->driver_data; struct nvme_dev *dev = nvmeq->dev; struct request *abort_req; struct nvme_command cmd = { }; @@ -3390,6 +3388,8 @@ .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1e4B, 0x1202), /* MAXIO MAP1202 */ .driver_data = NVME_QUIRK_BOGUS_NID, }, + { PCI_DEVICE(0x1e4B, 0x1602), /* MAXIO MAP1602 */ + .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1cc1, 0x5350), /* ADATA XPG GAMMIX S50 */ .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1e49, 0x0021), /* ZHITAI TiPro5000 NVMe SSD */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/nvmem/rmem.c linux-intel-iotg-5.15-5.15.0/drivers/nvmem/rmem.c --- linux-intel-iotg-5.15-5.15.0/drivers/nvmem/rmem.c +++ linux-intel-iotg-5.15-5.15.0/drivers/nvmem/rmem.c @@ -71,6 +71,7 @@ config.dev = dev; config.priv = priv; config.name = "rmem"; + config.id = NVMEM_DEVID_AUTO; config.size = mem->size; config.reg_read = rmem_read; diff -u linux-intel-iotg-5.15-5.15.0/drivers/of/overlay.c linux-intel-iotg-5.15-5.15.0/drivers/of/overlay.c --- linux-intel-iotg-5.15-5.15.0/drivers/of/overlay.c +++ linux-intel-iotg-5.15-5.15.0/drivers/of/overlay.c @@ -57,8 +57,10 @@ * struct overlay_changeset * @id: changeset identifier * @ovcs_list: list on which we are located - * @fdt: base of memory allocated to hold aligned FDT that was unflattened to create @overlay_tree - * @overlay_tree: expanded device tree that contains the fragment nodes + * @new_fdt: Memory allocated to hold unflattened aligned FDT + * @overlay_mem: the memory chunk that contains @overlay_root + * @overlay_root: expanded device tree that contains the fragment nodes + * @notify_state: most recent notify action used on overlay * @count: count of fragment structures * @fragments: fragment nodes in the overlay expanded device tree * @symbols_fragment: last element of @fragments[] is the __symbols__ node @@ -67,8 +69,10 @@ struct overlay_changeset { int id; struct list_head ovcs_list; - const void *fdt; - struct device_node *overlay_tree; + const void *new_fdt; + const void *overlay_mem; + struct device_node *overlay_root; + enum of_overlay_notify_action notify_state; int count; struct fragment *fragments; bool symbols_fragment; @@ -115,7 +119,6 @@ mutex_unlock(&of_overlay_phandle_mutex); } - static LIST_HEAD(ovcs_list); static DEFINE_IDR(ovcs_idr); @@ -149,19 +152,14 @@ } EXPORT_SYMBOL_GPL(of_overlay_notifier_unregister); -static char *of_overlay_action_name[] = { - "pre-apply", - "post-apply", - "pre-remove", - "post-remove", -}; - static int overlay_notify(struct overlay_changeset *ovcs, enum of_overlay_notify_action action) { struct of_overlay_notify_data nd; int i, ret; + ovcs->notify_state = action; + for (i = 0; i < ovcs->count; i++) { struct fragment *fragment = &ovcs->fragments[i]; @@ -173,7 +171,7 @@ if (notifier_to_errno(ret)) { ret = notifier_to_errno(ret); pr_err("overlay changeset %s notifier error %d, target: %pOF\n", - of_overlay_action_name[action], ret, nd.target); + of_overlay_action_name(action), ret, nd.target); return ret; } } @@ -183,7 +181,7 @@ /* * The values of properties in the "/__symbols__" node are paths in - * the ovcs->overlay_tree. When duplicating the properties, the paths + * the ovcs->overlay_root. When duplicating the properties, the paths * need to be adjusted to be the correct path for the live device tree. * * The paths refer to a node in the subtree of a fragment node's "__overlay__" @@ -219,7 +217,7 @@ if (path_len < 1) return NULL; - fragment_node = __of_find_node_by_path(ovcs->overlay_tree, path + 1); + fragment_node = __of_find_node_by_path(ovcs->overlay_root, path + 1); overlay_node = __of_find_node_by_path(fragment_node, "__overlay__/"); of_node_put(fragment_node); of_node_put(overlay_node); @@ -716,53 +714,50 @@ /** * init_overlay_changeset() - initialize overlay changeset from overlay tree - * @ovcs: Overlay changeset to build - * @fdt: base of memory allocated to hold aligned FDT that was unflattened to create @tree - * @tree: Contains the overlay fragments and overlay fixup nodes + * @ovcs: Overlay changeset to build * * Initialize @ovcs. Populate @ovcs->fragments with node information from - * the top level of @tree. The relevant top level nodes are the fragment - * nodes and the __symbols__ node. Any other top level node will be ignored. + * the top level of @overlay_root. The relevant top level nodes are the + * fragment nodes and the __symbols__ node. Any other top level node will + * be ignored. Populate other @ovcs fields. * * Return: 0 on success, -ENOMEM if memory allocation failure, -EINVAL if error - * detected in @tree, or -ENOSPC if idr_alloc() error. + * detected in @overlay_root. On error return, the caller of + * init_overlay_changeset() must call free_overlay_changeset(). */ -static int init_overlay_changeset(struct overlay_changeset *ovcs, - const void *fdt, struct device_node *tree) +static int init_overlay_changeset(struct overlay_changeset *ovcs) { struct device_node *node, *overlay_node; struct fragment *fragment; struct fragment *fragments; - int cnt, id, ret; + int cnt, ret; + + /* + * None of the resources allocated by this function will be freed in + * the error paths. Instead the caller of this function is required + * to call free_overlay_changeset() (which will free the resources) + * if error return. + */ /* * Warn for some issues. Can not return -EINVAL for these until * of_unittest_apply_overlay() is fixed to pass these checks. */ - if (!of_node_check_flag(tree, OF_DYNAMIC)) - pr_debug("%s() tree is not dynamic\n", __func__); + if (!of_node_check_flag(ovcs->overlay_root, OF_DYNAMIC)) + pr_debug("%s() ovcs->overlay_root is not dynamic\n", __func__); - if (!of_node_check_flag(tree, OF_DETACHED)) - pr_debug("%s() tree is not detached\n", __func__); + if (!of_node_check_flag(ovcs->overlay_root, OF_DETACHED)) + pr_debug("%s() ovcs->overlay_root is not detached\n", __func__); - if (!of_node_is_root(tree)) - pr_debug("%s() tree is not root\n", __func__); - - ovcs->overlay_tree = tree; - ovcs->fdt = fdt; - - INIT_LIST_HEAD(&ovcs->ovcs_list); + if (!of_node_is_root(ovcs->overlay_root)) + pr_debug("%s() ovcs->overlay_root is not root\n", __func__); of_changeset_init(&ovcs->cset); - id = idr_alloc(&ovcs_idr, ovcs, 1, 0, GFP_KERNEL); - if (id <= 0) - return id; - cnt = 0; /* fragment nodes */ - for_each_child_of_node(tree, node) { + for_each_child_of_node(ovcs->overlay_root, node) { overlay_node = of_get_child_by_name(node, "__overlay__"); if (overlay_node) { cnt++; @@ -770,7 +765,7 @@ } } - node = of_get_child_by_name(tree, "__symbols__"); + node = of_get_child_by_name(ovcs->overlay_root, "__symbols__"); if (node) { cnt++; of_node_put(node); @@ -779,11 +774,12 @@ fragments = kcalloc(cnt, sizeof(*fragments), GFP_KERNEL); if (!fragments) { ret = -ENOMEM; - goto err_free_idr; + goto err_out; } + ovcs->fragments = fragments; cnt = 0; - for_each_child_of_node(tree, node) { + for_each_child_of_node(ovcs->overlay_root, node) { overlay_node = of_get_child_by_name(node, "__overlay__"); if (!overlay_node) continue; @@ -795,7 +791,7 @@ of_node_put(fragment->overlay); ret = -EINVAL; of_node_put(node); - goto err_free_fragments; + goto err_out; } cnt++; @@ -805,7 +801,7 @@ * if there is a symbols fragment in ovcs->fragments[i] it is * the final element in the array */ - node = of_get_child_by_name(tree, "__symbols__"); + node = of_get_child_by_name(ovcs->overlay_root, "__symbols__"); if (node) { ovcs->symbols_fragment = 1; fragment = &fragments[cnt]; @@ -815,7 +811,8 @@ if (!fragment->target) { pr_err("symbols in overlay, but not in live tree\n"); ret = -EINVAL; - goto err_free_fragments; + of_node_put(node); + goto err_out; } cnt++; @@ -824,20 +821,14 @@ if (!cnt) { pr_err("no fragments or symbols in overlay\n"); ret = -EINVAL; - goto err_free_fragments; + goto err_out; } - ovcs->id = id; ovcs->count = cnt; - ovcs->fragments = fragments; return 0; -err_free_fragments: - kfree(fragments); -err_free_idr: - idr_remove(&ovcs_idr, id); - +err_out: pr_err("%s() failed, ret = %d\n", __func__, ret); return ret; @@ -850,21 +841,34 @@ if (ovcs->cset.entries.next) of_changeset_destroy(&ovcs->cset); - if (ovcs->id) + if (ovcs->id) { idr_remove(&ovcs_idr, ovcs->id); + list_del(&ovcs->ovcs_list); + ovcs->id = 0; + } + for (i = 0; i < ovcs->count; i++) { of_node_put(ovcs->fragments[i].target); of_node_put(ovcs->fragments[i].overlay); } kfree(ovcs->fragments); + /* - * There should be no live pointers into ovcs->overlay_tree and - * ovcs->fdt due to the policy that overlay notifiers are not allowed - * to retain pointers into the overlay devicetree. + * There should be no live pointers into ovcs->overlay_mem and + * ovcs->new_fdt due to the policy that overlay notifiers are not + * allowed to retain pointers into the overlay devicetree other + * than during the window from OF_OVERLAY_PRE_APPLY overlay + * notifiers until the OF_OVERLAY_POST_REMOVE overlay notifiers. + * + * A memory leak will occur here if within the window. */ - kfree(ovcs->overlay_tree); - kfree(ovcs->fdt); + + if (ovcs->notify_state == OF_OVERLAY_INIT || + ovcs->notify_state == OF_OVERLAY_POST_REMOVE) { + kfree(ovcs->overlay_mem); + kfree(ovcs->new_fdt); + } kfree(ovcs); } @@ -872,28 +876,13 @@ * internal documentation * * of_overlay_apply() - Create and apply an overlay changeset - * @fdt: base of memory allocated to hold the aligned FDT - * @tree: Expanded overlay device tree - * @ovcs_id: Pointer to overlay changeset id + * @ovcs: overlay changeset * * Creates and applies an overlay changeset. * - * If an error occurs in a pre-apply notifier, then no changes are made - * to the device tree. - * - - * A non-zero return value will not have created the changeset if error is from: - * - parameter checks - * - building the changeset - * - overlay changeset pre-apply notifier - * * If an error is returned by an overlay changeset pre-apply notifier * then no further overlay changeset pre-apply notifier will be called. * - * A non-zero return value will have created the changeset if error is from: - * - overlay changeset entry notifier - * - overlay changeset post-apply notifier - * * If an error is returned by an overlay changeset post-apply notifier * then no further overlay changeset post-apply notifier will be called. * @@ -907,64 +896,35 @@ * following attempt to apply or remove an overlay changeset will be * refused. * - * Returns 0 on success, or a negative error number. Overlay changeset - * id is returned to *ovcs_id. + * Returns 0 on success, or a negative error number. On error return, + * the caller of of_overlay_apply() must call free_overlay_changeset(). */ -static int of_overlay_apply(const void *fdt, struct device_node *tree, - int *ovcs_id) +static int of_overlay_apply(struct overlay_changeset *ovcs) { - struct overlay_changeset *ovcs; int ret = 0, ret_revert, ret_tmp; - /* - * As of this point, fdt and tree belong to the overlay changeset. - * overlay changeset code is responsible for freeing them. - */ - if (devicetree_corrupt()) { pr_err("devicetree state suspect, refuse to apply overlay\n"); - kfree(fdt); - kfree(tree); ret = -EBUSY; goto out; } - ovcs = kzalloc(sizeof(*ovcs), GFP_KERNEL); - if (!ovcs) { - kfree(fdt); - kfree(tree); - ret = -ENOMEM; - goto out; - } - - of_overlay_mutex_lock(); - mutex_lock(&of_mutex); - - ret = of_resolve_phandles(tree); + ret = of_resolve_phandles(ovcs->overlay_root); if (ret) - goto err_free_tree; + goto out; - ret = init_overlay_changeset(ovcs, fdt, tree); + ret = init_overlay_changeset(ovcs); if (ret) - goto err_free_tree; + goto out; - /* - * after overlay_notify(), ovcs->overlay_tree related pointers may have - * leaked to drivers, so can not kfree() tree, aka ovcs->overlay_tree; - * and can not free memory containing aligned fdt. The aligned fdt - * is contained within the memory at ovcs->fdt, possibly at an offset - * from ovcs->fdt. - */ ret = overlay_notify(ovcs, OF_OVERLAY_PRE_APPLY); - if (ret) { - pr_err("overlay changeset pre-apply notify error %d\n", ret); - goto err_free_overlay_changeset; - } + if (ret) + goto out; ret = build_changeset(ovcs); if (ret) - goto err_free_overlay_changeset; + goto out; ret_revert = 0; ret = __of_changeset_apply_entries(&ovcs->cset, &ret_revert); @@ -974,7 +934,7 @@ ret_revert); devicetree_state_flags |= DTSF_APPLY_FAIL; } - goto err_free_overlay_changeset; + goto out; } ret = __of_changeset_apply_notify(&ovcs->cset); @@ -982,29 +942,10 @@ pr_err("overlay apply changeset entry notify error %d\n", ret); /* notify failure is not fatal, continue */ - list_add_tail(&ovcs->ovcs_list, &ovcs_list); - *ovcs_id = ovcs->id; - ret_tmp = overlay_notify(ovcs, OF_OVERLAY_POST_APPLY); - if (ret_tmp) { - pr_err("overlay changeset post-apply notify error %d\n", - ret_tmp); + if (ret_tmp) if (!ret) ret = ret_tmp; - } - - goto out_unlock; - -err_free_tree: - kfree(fdt); - kfree(tree); - -err_free_overlay_changeset: - free_overlay_changeset(ovcs); - -out_unlock: - mutex_unlock(&of_mutex); - of_overlay_mutex_unlock(); out: pr_debug("%s() err=%d\n", __func__, ret); @@ -1013,15 +954,16 @@ } int of_overlay_fdt_apply(const void *overlay_fdt, u32 overlay_fdt_size, - int *ovcs_id) + int *ret_ovcs_id) { void *new_fdt; void *new_fdt_align; + void *overlay_mem; int ret; u32 size; - struct device_node *overlay_root = NULL; + struct overlay_changeset *ovcs; - *ovcs_id = 0; + *ret_ovcs_id = 0; if (overlay_fdt_size < sizeof(struct fdt_header) || fdt_check_header(overlay_fdt)) { @@ -1033,41 +975,67 @@ if (overlay_fdt_size < size) return -EINVAL; + ovcs = kzalloc(sizeof(*ovcs), GFP_KERNEL); + if (!ovcs) + return -ENOMEM; + + of_overlay_mutex_lock(); + mutex_lock(&of_mutex); + + /* + * ovcs->notify_state must be set to OF_OVERLAY_INIT before allocating + * ovcs resources, implicitly set by kzalloc() of ovcs + */ + + ovcs->id = idr_alloc(&ovcs_idr, ovcs, 1, 0, GFP_KERNEL); + if (ovcs->id <= 0) { + ret = ovcs->id; + goto err_free_ovcs; + } + + INIT_LIST_HEAD(&ovcs->ovcs_list); + list_add_tail(&ovcs->ovcs_list, &ovcs_list); + /* * Must create permanent copy of FDT because of_fdt_unflatten_tree() * will create pointers to the passed in FDT in the unflattened tree. */ new_fdt = kmalloc(size + FDT_ALIGN_SIZE, GFP_KERNEL); - if (!new_fdt) - return -ENOMEM; + if (!new_fdt) { + ret = -ENOMEM; + goto err_free_ovcs; + } + ovcs->new_fdt = new_fdt; new_fdt_align = PTR_ALIGN(new_fdt, FDT_ALIGN_SIZE); memcpy(new_fdt_align, overlay_fdt, size); - of_fdt_unflatten_tree(new_fdt_align, NULL, &overlay_root); - if (!overlay_root) { + overlay_mem = of_fdt_unflatten_tree(new_fdt_align, NULL, + &ovcs->overlay_root); + if (!overlay_mem) { pr_err("unable to unflatten overlay_fdt\n"); ret = -EINVAL; - goto out_free_new_fdt; + goto err_free_ovcs; } + ovcs->overlay_mem = overlay_mem; - ret = of_overlay_apply(new_fdt, overlay_root, ovcs_id); - if (ret < 0) { - /* - * new_fdt and overlay_root now belong to the overlay - * changeset. - * overlay changeset code is responsible for freeing them. - */ - goto out; - } + ret = of_overlay_apply(ovcs); + if (ret < 0) + goto err_free_ovcs; + + mutex_unlock(&of_mutex); + of_overlay_mutex_unlock(); + + *ret_ovcs_id = ovcs->id; return 0; +err_free_ovcs: + free_overlay_changeset(ovcs); -out_free_new_fdt: - kfree(new_fdt); + mutex_unlock(&of_mutex); + of_overlay_mutex_unlock(); -out: return ret; } EXPORT_SYMBOL_GPL(of_overlay_fdt_apply); @@ -1204,28 +1172,24 @@ if (!ovcs) { ret = -ENODEV; pr_err("remove: Could not find overlay #%d\n", *ovcs_id); - goto out_unlock; + goto err_unlock; } if (!overlay_removal_is_ok(ovcs)) { ret = -EBUSY; - goto out_unlock; + goto err_unlock; } ret = overlay_notify(ovcs, OF_OVERLAY_PRE_REMOVE); - if (ret) { - pr_err("overlay changeset pre-remove notify error %d\n", ret); - goto out_unlock; - } - - list_del(&ovcs->ovcs_list); + if (ret) + goto err_unlock; ret_apply = 0; ret = __of_changeset_revert_entries(&ovcs->cset, &ret_apply); if (ret) { if (ret_apply) devicetree_state_flags |= DTSF_REVERT_FAIL; - goto out_unlock; + goto err_unlock; } ret = __of_changeset_revert_notify(&ovcs->cset); @@ -1235,17 +1199,24 @@ *ovcs_id = 0; + /* + * Note that the overlay memory will be kfree()ed by + * free_overlay_changeset() even if the notifier for + * OF_OVERLAY_POST_REMOVE returns an error. + */ ret_tmp = overlay_notify(ovcs, OF_OVERLAY_POST_REMOVE); - if (ret_tmp) { - pr_err("overlay changeset post-remove notify error %d\n", - ret_tmp); + if (ret_tmp) if (!ret) ret = ret_tmp; - } free_overlay_changeset(ovcs); -out_unlock: +err_unlock: + /* + * If jumped over free_overlay_changeset(), then did not kfree() + * overlay related memory. This is a memory leak unless a subsequent + * of_overlay_remove() of this overlay is successful. + */ mutex_unlock(&of_mutex); out: diff -u linux-intel-iotg-5.15-5.15.0/drivers/opp/core.c linux-intel-iotg-5.15-5.15.0/drivers/opp/core.c --- linux-intel-iotg-5.15-5.15.0/drivers/opp/core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/opp/core.c @@ -1249,7 +1249,10 @@ return opp_table; remove_opp_dev: + _of_clear_opp_table(opp_table); _remove_opp_dev(opp_dev, opp_table); + mutex_destroy(&opp_table->genpd_virt_dev_lock); + mutex_destroy(&opp_table->lock); err: kfree(opp_table); return ERR_PTR(ret); diff -u linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/dwc/pcie-qcom.c linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/dwc/pcie-qcom.c --- linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/dwc/pcie-qcom.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/dwc/pcie-qcom.c @@ -1134,6 +1134,8 @@ writel(PCI_EXP_DEVCTL2_COMP_TMOUT_DIS, pci->dbi_base + offset + PCI_EXP_DEVCTL2); + dw_pcie_dbi_ro_wr_dis(pci); + return 0; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pci-hyperv.c linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pci-hyperv.c --- linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pci-hyperv.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pci-hyperv.c @@ -483,7 +483,10 @@ struct fwnode_handle *fwnode; /* Protocol version negotiated with the host */ enum pci_protocol_version_t protocol_version; + + struct mutex state_lock; enum hv_pcibus_state state; + struct hv_device *hdev; resource_size_t low_mmio_space; resource_size_t high_mmio_space; @@ -547,19 +550,10 @@ struct hv_pcidev_description func[]; }; -enum hv_pcichild_state { - hv_pcichild_init = 0, - hv_pcichild_requirements, - hv_pcichild_resourced, - hv_pcichild_ejecting, - hv_pcichild_maximum -}; - struct hv_pci_dev { /* List protected by pci_rescan_remove_lock */ struct list_head list_entry; refcount_t refs; - enum hv_pcichild_state state; struct pci_slot *pci_slot; struct hv_pcidev_description desc; bool reported_missing; @@ -1261,6 +1255,11 @@ pbus = pdev->bus; hbus = container_of(pbus->sysdata, struct hv_pcibus_device, sysdata); int_desc = data->chip_data; + if (!int_desc) { + dev_warn(&hbus->hdev->device, "%s() can not unmask irq %u\n", + __func__, data->irq); + return; + } spin_lock_irqsave(&hbus->retarget_msi_interrupt_lock, flags); @@ -1610,12 +1609,6 @@ hv_pci_onchannelcallback(hbus); spin_unlock_irqrestore(&channel->sched_lock, flags); - if (hpdev->state == hv_pcichild_ejecting) { - dev_err_once(&hbus->hdev->device, - "the device is being ejected\n"); - goto enable_tasklet; - } - udelay(100); } @@ -2201,6 +2194,8 @@ if (!dr) return; + mutex_lock(&hbus->state_lock); + /* First, mark all existing children as reported missing. */ spin_lock_irqsave(&hbus->device_list_lock, flags); list_for_each_entry(hpdev, &hbus->children, list_entry) { @@ -2282,6 +2277,8 @@ break; } + mutex_unlock(&hbus->state_lock); + kfree(dr); } @@ -2430,7 +2427,7 @@ hpdev = container_of(work, struct hv_pci_dev, wrk); hbus = hpdev->hbus; - WARN_ON(hpdev->state != hv_pcichild_ejecting); + mutex_lock(&hbus->state_lock); /* * Ejection can come before or after the PCI bus has been set up, so @@ -2468,6 +2465,8 @@ put_pcichild(hpdev); put_pcichild(hpdev); /* hpdev has been freed. Do not use it any more. */ + + mutex_unlock(&hbus->state_lock); } /** @@ -2488,7 +2487,6 @@ return; } - hpdev->state = hv_pcichild_ejecting; get_pcichild(hpdev); INIT_WORK(&hpdev->wrk, hv_eject_device_work); queue_work(hbus->wq, &hpdev->wrk); @@ -2889,8 +2887,10 @@ struct pci_bus_d0_entry *d0_entry; struct hv_pci_compl comp_pkt; struct pci_packet *pkt; + bool retry = true; int ret; +enter_d0_retry: /* * Tell the host that the bus is ready to use, and moved into the * powered-on state. This includes telling the host which region @@ -2917,6 +2917,38 @@ if (ret) goto exit; + /* + * In certain case (Kdump) the pci device of interest was + * not cleanly shut down and resource is still held on host + * side, the host could return invalid device status. + * We need to explicitly request host to release the resource + * and try to enter D0 again. + */ + if (comp_pkt.completion_status < 0 && retry) { + retry = false; + + dev_err(&hdev->device, "Retrying D0 Entry\n"); + + /* + * Hv_pci_bus_exit() calls hv_send_resource_released() + * to free up resources of its child devices. + * In the kdump kernel we need to set the + * wslot_res_allocated to 255 so it scans all child + * devices to release resources allocated in the + * normal kernel before panic happened. + */ + hbus->wslot_res_allocated = 255; + + ret = hv_pci_bus_exit(hdev, true); + + if (ret == 0) { + kfree(pkt); + goto enter_d0_retry; + } + dev_err(&hdev->device, + "Retrying D0 failed with ret %d\n", ret); + } + if (comp_pkt.completion_status < 0) { dev_err(&hdev->device, "PCI Pass-through VSP failed D0 Entry with status %x\n", @@ -2959,6 +2991,24 @@ if (!ret) ret = wait_for_response(hdev, &comp); + /* + * In the case of fast device addition/removal, it's possible that + * vmbus_sendpacket() or wait_for_response() returns -ENODEV but we + * already got a PCI_BUS_RELATIONS* message from the host and the + * channel callback already scheduled a work to hbus->wq, which can be + * running pci_devices_present_work() -> survey_child_resources() -> + * complete(&hbus->survey_event), even after hv_pci_query_relations() + * exits and the stack variable 'comp' is no longer valid; as a result, + * a hang or a page fault may happen when the complete() calls + * raw_spin_lock_irqsave(). Flush hbus->wq before we exit from + * hv_pci_query_relations() to avoid the issues. Note: if 'ret' is + * -ENODEV, there can't be any more work item scheduled to hbus->wq + * after the flush_workqueue(): see vmbus_onoffer_rescind() -> + * vmbus_reset_channel_cb(), vmbus_rescind_cleanup() -> + * channel->rescind = true. + */ + flush_workqueue(hbus->wq); + return ret; } @@ -3144,7 +3194,6 @@ struct hv_pcibus_device *hbus; u16 dom_req, dom; char *name; - bool enter_d0_retry = true; int ret; /* @@ -3180,6 +3229,7 @@ return -ENOMEM; hbus->bridge = bridge; + mutex_init(&hbus->state_lock); hbus->state = hv_pcibus_init; hbus->wslot_res_allocated = -1; @@ -3280,49 +3330,15 @@ if (ret) goto free_fwnode; -retry: ret = hv_pci_query_relations(hdev); if (ret) goto free_irq_domain; - ret = hv_pci_enter_d0(hdev); - /* - * In certain case (Kdump) the pci device of interest was - * not cleanly shut down and resource is still held on host - * side, the host could return invalid device status. - * We need to explicitly request host to release the resource - * and try to enter D0 again. - * Since the hv_pci_bus_exit() call releases structures - * of all its child devices, we need to start the retry from - * hv_pci_query_relations() call, requesting host to send - * the synchronous child device relations message before this - * information is needed in hv_send_resources_allocated() - * call later. - */ - if (ret == -EPROTO && enter_d0_retry) { - enter_d0_retry = false; - - dev_err(&hdev->device, "Retrying D0 Entry\n"); + mutex_lock(&hbus->state_lock); - /* - * Hv_pci_bus_exit() calls hv_send_resources_released() - * to free up resources of its child devices. - * In the kdump kernel we need to set the - * wslot_res_allocated to 255 so it scans all child - * devices to release resources allocated in the - * normal kernel before panic happened. - */ - hbus->wslot_res_allocated = 255; - ret = hv_pci_bus_exit(hdev, true); - - if (ret == 0) - goto retry; - - dev_err(&hdev->device, - "Retrying D0 failed with ret %d\n", ret); - } + ret = hv_pci_enter_d0(hdev); if (ret) - goto free_irq_domain; + goto release_state_lock; ret = hv_pci_allocate_bridge_windows(hbus); if (ret) @@ -3340,12 +3356,15 @@ if (ret) goto free_windows; + mutex_unlock(&hbus->state_lock); return 0; free_windows: hv_pci_free_bridge_windows(hbus); exit_d0: (void) hv_pci_bus_exit(hdev, true); +release_state_lock: + mutex_unlock(&hbus->state_lock); free_irq_domain: irq_domain_remove(hbus->irq_domain); free_fwnode: @@ -3578,20 +3597,26 @@ if (ret) goto out; + mutex_lock(&hbus->state_lock); + ret = hv_pci_enter_d0(hdev); if (ret) - goto out; + goto release_state_lock; ret = hv_send_resources_allocated(hdev); if (ret) - goto out; + goto release_state_lock; prepopulate_bars(hbus); hv_pci_restore_msi_state(hbus); hbus->state = hv_pcibus_installed; + mutex_unlock(&hbus->state_lock); return 0; + +release_state_lock: + mutex_unlock(&hbus->state_lock); out: vmbus_close(hdev->channel); return ret; diff -u linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pcie-rockchip-ep.c linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pcie-rockchip-ep.c --- linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pcie-rockchip-ep.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pcie-rockchip-ep.c @@ -125,6 +125,7 @@ static int rockchip_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, struct pci_epf_header *hdr) { + u32 reg; struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); struct rockchip_pcie *rockchip = &ep->rockchip; @@ -137,8 +138,9 @@ PCIE_CORE_CONFIG_VENDOR); } - rockchip_pcie_write(rockchip, hdr->deviceid << 16, - ROCKCHIP_PCIE_EP_FUNC_BASE(fn) + PCI_VENDOR_ID); + reg = rockchip_pcie_read(rockchip, PCIE_EP_CONFIG_DID_VID); + reg = (reg & 0xFFFF) | (hdr->deviceid << 16); + rockchip_pcie_write(rockchip, reg, PCIE_EP_CONFIG_DID_VID); rockchip_pcie_write(rockchip, hdr->revid | @@ -312,15 +314,15 @@ { struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); struct rockchip_pcie *rockchip = &ep->rockchip; - u16 flags; + u32 flags; flags = rockchip_pcie_read(rockchip, ROCKCHIP_PCIE_EP_FUNC_BASE(fn) + ROCKCHIP_PCIE_EP_MSI_CTRL_REG); flags &= ~ROCKCHIP_PCIE_EP_MSI_CTRL_MMC_MASK; flags |= - ((multi_msg_cap << 1) << ROCKCHIP_PCIE_EP_MSI_CTRL_MMC_OFFSET) | - PCI_MSI_FLAGS_64BIT; + (multi_msg_cap << ROCKCHIP_PCIE_EP_MSI_CTRL_MMC_OFFSET) | + (PCI_MSI_FLAGS_64BIT << ROCKCHIP_PCIE_EP_MSI_FLAGS_OFFSET); flags &= ~ROCKCHIP_PCIE_EP_MSI_CTRL_MASK_MSI_CAP; rockchip_pcie_write(rockchip, flags, ROCKCHIP_PCIE_EP_FUNC_BASE(fn) + @@ -332,7 +334,7 @@ { struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); struct rockchip_pcie *rockchip = &ep->rockchip; - u16 flags; + u32 flags; flags = rockchip_pcie_read(rockchip, ROCKCHIP_PCIE_EP_FUNC_BASE(fn) + @@ -345,48 +347,25 @@ } static void rockchip_pcie_ep_assert_intx(struct rockchip_pcie_ep *ep, u8 fn, - u8 intx, bool is_asserted) + u8 intx, bool do_assert) { struct rockchip_pcie *rockchip = &ep->rockchip; - u32 r = ep->max_regions - 1; - u32 offset; - u32 status; - u8 msg_code; - - if (unlikely(ep->irq_pci_addr != ROCKCHIP_PCIE_EP_PCI_LEGACY_IRQ_ADDR || - ep->irq_pci_fn != fn)) { - rockchip_pcie_prog_ep_ob_atu(rockchip, fn, r, - AXI_WRAPPER_NOR_MSG, - ep->irq_phys_addr, 0, 0); - ep->irq_pci_addr = ROCKCHIP_PCIE_EP_PCI_LEGACY_IRQ_ADDR; - ep->irq_pci_fn = fn; - } intx &= 3; - if (is_asserted) { + + if (do_assert) { ep->irq_pending |= BIT(intx); - msg_code = ROCKCHIP_PCIE_MSG_CODE_ASSERT_INTA + intx; + rockchip_pcie_write(rockchip, + PCIE_CLIENT_INT_IN_ASSERT | + PCIE_CLIENT_INT_PEND_ST_PEND, + PCIE_CLIENT_LEGACY_INT_CTRL); } else { ep->irq_pending &= ~BIT(intx); - msg_code = ROCKCHIP_PCIE_MSG_CODE_DEASSERT_INTA + intx; - } - - status = rockchip_pcie_read(rockchip, - ROCKCHIP_PCIE_EP_FUNC_BASE(fn) + - ROCKCHIP_PCIE_EP_CMD_STATUS); - status &= ROCKCHIP_PCIE_EP_CMD_STATUS_IS; - - if ((status != 0) ^ (ep->irq_pending != 0)) { - status ^= ROCKCHIP_PCIE_EP_CMD_STATUS_IS; - rockchip_pcie_write(rockchip, status, - ROCKCHIP_PCIE_EP_FUNC_BASE(fn) + - ROCKCHIP_PCIE_EP_CMD_STATUS); + rockchip_pcie_write(rockchip, + PCIE_CLIENT_INT_IN_DEASSERT | + PCIE_CLIENT_INT_PEND_ST_NORMAL, + PCIE_CLIENT_LEGACY_INT_CTRL); } - - offset = - ROCKCHIP_PCIE_MSG_ROUTING(ROCKCHIP_PCIE_MSG_ROUTING_LOCAL_INTX) | - ROCKCHIP_PCIE_MSG_CODE(msg_code) | ROCKCHIP_PCIE_MSG_NO_DATA; - writel(0, ep->irq_cpu_addr + offset); } static int rockchip_pcie_ep_send_legacy_irq(struct rockchip_pcie_ep *ep, u8 fn, @@ -416,7 +395,7 @@ u8 interrupt_num) { struct rockchip_pcie *rockchip = &ep->rockchip; - u16 flags, mme, data, data_mask; + u32 flags, mme, data, data_mask; u8 msi_count; u64 pci_addr, pci_addr_mask = 0xff; @@ -506,6 +485,7 @@ .linkup_notifier = false, .msi_capable = true, .msix_capable = false, + .align = 256, }; static const struct pci_epc_features* @@ -631,6 +611,9 @@ ep->irq_pci_addr = ROCKCHIP_PCIE_EP_DUMMY_IRQ_ADDR; + rockchip_pcie_write(rockchip, PCIE_CLIENT_CONF_ENABLE, + PCIE_CLIENT_CONFIG); + return 0; err_epc_mem_exit: pci_epc_mem_exit(epc); diff -u linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/vmd.c linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/vmd.c --- linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/vmd.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/vmd.c @@ -902,6 +902,13 @@ vmd_remove_irq_domain(vmd); } +static void vmd_shutdown(struct pci_dev *dev) +{ + struct vmd_dev *vmd = pci_get_drvdata(dev); + + vmd_remove_irq_domain(vmd); +} + #ifdef CONFIG_PM_SLEEP static int vmd_suspend(struct device *dev) { @@ -967,6 +974,7 @@ .id_table = vmd_ids, .probe = vmd_probe, .remove = vmd_remove, + .shutdown = vmd_shutdown, .driver = { .pm = &vmd_dev_pm_ops, }, diff -u linux-intel-iotg-5.15-5.15.0/drivers/pci/pci.c linux-intel-iotg-5.15-5.15.0/drivers/pci/pci.c --- linux-intel-iotg-5.15-5.15.0/drivers/pci/pci.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/pci.c @@ -2909,13 +2909,13 @@ { /* * Downstream device is not accessible after putting a root port - * into D3cold and back into D0 on Elo i2. + * into D3cold and back into D0 on Elo Continental Z2 board */ - .ident = "Elo i2", + .ident = "Elo Continental Z2", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Elo Touch Solutions"), - DMI_MATCH(DMI_PRODUCT_NAME, "Elo i2"), - DMI_MATCH(DMI_PRODUCT_VERSION, "RevB"), + DMI_MATCH(DMI_BOARD_VENDOR, "Elo Touch Solutions"), + DMI_MATCH(DMI_BOARD_NAME, "Geminilake"), + DMI_MATCH(DMI_BOARD_VERSION, "Continental Z2"), }, }, #endif diff -u linux-intel-iotg-5.15-5.15.0/drivers/pci/pcie/aspm.c linux-intel-iotg-5.15-5.15.0/drivers/pci/pcie/aspm.c --- linux-intel-iotg-5.15-5.15.0/drivers/pci/pcie/aspm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/pcie/aspm.c @@ -1038,21 +1038,24 @@ down_read(&pci_bus_sem); mutex_lock(&aspm_lock); - /* - * All PCIe functions are in one slot, remove one function will remove - * the whole slot, so just wait until we are the last function left. - */ - if (!list_empty(&parent->subordinate->devices)) - goto out; link = parent->link_state; root = link->root; parent_link = link->parent; - /* All functions are removed, so just disable ASPM for the link */ + /* + * link->downstream is a pointer to the pci_dev of function 0. If + * we remove that function, the pci_dev is about to be deallocated, + * so we can't use link->downstream again. Free the link state to + * avoid this. + * + * If we're removing a non-0 function, it's possible we could + * retain the link state, but PCIe r6.0, sec 7.5.3.7, recommends + * programming the same ASPM Control value for all functions of + * multi-function devices, so disable ASPM for all of them. + */ pcie_config_aspm_link(link, 0); list_del(&link->sibling); - /* Clock PM is for endpoint device */ free_link_state(link); /* Recheck latencies and configure upstream links */ @@ -1060,7 +1063,7 @@ pcie_update_aspm_capable(root); pcie_config_aspm_path(parent_link); } -out: + mutex_unlock(&aspm_lock); up_read(&pci_bus_sem); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/pci/quirks.c linux-intel-iotg-5.15-5.15.0/drivers/pci/quirks.c --- linux-intel-iotg-5.15-5.15.0/drivers/pci/quirks.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/quirks.c @@ -4164,6 +4164,8 @@ /* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c49 */ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9230, quirk_dma_func1_alias); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9235, + quirk_dma_func1_alias); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TTI, 0x0642, quirk_dma_func1_alias); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TTI, 0x0645, diff -u linux-intel-iotg-5.15-5.15.0/drivers/perf/arm-cmn.c linux-intel-iotg-5.15-5.15.0/drivers/perf/arm-cmn.c --- linux-intel-iotg-5.15-5.15.0/drivers/perf/arm-cmn.c +++ linux-intel-iotg-5.15-5.15.0/drivers/perf/arm-cmn.c @@ -1254,9 +1254,10 @@ if (dtc->irq < 0) return dtc->irq; - writel_relaxed(0, dtc->base + CMN_DT_PMCR); + writel_relaxed(CMN_DT_DTC_CTL_DT_EN, dtc->base + CMN_DT_DTC_CTL); + writel_relaxed(CMN_DT_PMCR_PMU_EN | CMN_DT_PMCR_OVFL_INTR_EN, dtc->base + CMN_DT_PMCR); + writeq_relaxed(0, dtc->base + CMN_DT_PMCCNTR); writel_relaxed(0x1ff, dtc->base + CMN_DT_PMOVSR_CLR); - writel_relaxed(CMN_DT_PMCR_OVFL_INTR_EN, dtc->base + CMN_DT_PMCR); /* We do at least know that a DTC's XP must be in that DTC's domain */ xp = arm_cmn_node_to_xp(dn); @@ -1303,7 +1304,7 @@ dn->type = CMN_TYPE_RNI; } - writel_relaxed(CMN_DT_DTC_CTL_DT_EN, cmn->dtc[0].base + CMN_DT_DTC_CTL); + arm_cmn_set_state(cmn, CMN_STATE_DISABLED); return 0; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/phy/tegra/xusb.c linux-intel-iotg-5.15-5.15.0/drivers/phy/tegra/xusb.c --- linux-intel-iotg-5.15-5.15.0/drivers/phy/tegra/xusb.c +++ linux-intel-iotg-5.15-5.15.0/drivers/phy/tegra/xusb.c @@ -562,6 +562,7 @@ usb_role_switch_unregister(port->usb_role_sw); cancel_work_sync(&port->usb_phy_work); usb_remove_phy(&port->usb_phy); + port->usb_phy.dev->driver = NULL; } if (port->ops->remove) @@ -668,6 +669,9 @@ port->dev.driver = devm_kzalloc(&port->dev, sizeof(struct device_driver), GFP_KERNEL); + if (!port->dev.driver) + return -ENOMEM; + port->dev.driver->owner = THIS_MODULE; port->usb_role_sw = usb_role_switch_register(&port->dev, diff -u linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/bcm/pinctrl-bcm2835.c linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/bcm/pinctrl-bcm2835.c --- linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -359,10 +359,8 @@ if (!pctldev) return 0; - gpiochip_add_pin_range(gc, pinctrl_dev_get_devname(pctldev), 0, 0, - gc->ngpio); - - return 0; + return gpiochip_add_pin_range(gc, pinctrl_dev_get_devname(pctldev), 0, 0, + gc->ngpio); } static const struct gpio_chip bcm2835_gpio_chip = { diff -u linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-amd.c linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-amd.c --- linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-amd.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-amd.c @@ -126,6 +126,14 @@ struct amd_gpio *gpio_dev = gpiochip_get_data(gc); raw_spin_lock_irqsave(&gpio_dev->lock, flags); + + /* Use special handling for Pin0 debounce */ + if (offset == 0) { + pin_reg = readl(gpio_dev->base + WAKE_INT_MASTER_REG); + if (pin_reg & INTERNAL_GPIO0_DEBOUNCE) + debounce = 0; + } + pin_reg = readl(gpio_dev->base + offset * 4); if (debounce) { @@ -223,6 +231,7 @@ char debounce_value[40]; char *debounce_enable; + seq_printf(s, "WAKE_INT_MASTER_REG: 0x%08x\n", readl(gpio_dev->base + WAKE_INT_MASTER_REG)); for (bank = 0; bank < gpio_dev->hwbank_num; bank++) { seq_printf(s, "GPIO bank%d\t", bank); @@ -646,21 +655,21 @@ * We must read the pin register again, in case the * value was changed while executing * generic_handle_domain_irq() above. - * If we didn't find a mapping for the interrupt, - * disable it in order to avoid a system hang caused - * by an interrupt storm. + * If the line is not an irq, disable it in order to + * avoid a system hang caused by an interrupt storm. */ raw_spin_lock_irqsave(&gpio_dev->lock, flags); regval = readl(regs + i); - if (irq == 0) { - regval &= ~BIT(INTERRUPT_ENABLE_OFF); + if (!gpiochip_line_is_irq(gc, irqnr + i)) { + regval &= ~BIT(INTERRUPT_MASK_OFF); dev_dbg(&gpio_dev->pdev->dev, "Disabling spurious GPIO IRQ %d\n", irqnr + i); + } else { + ret = true; } writel(regval, regs + i); raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); - ret = true; } } /* did not cause wake on resume context for shared IRQ */ @@ -883,9 +892,9 @@ raw_spin_lock_irqsave(&gpio_dev->lock, flags); - pin_reg = readl(gpio_dev->base + i * 4); + pin_reg = readl(gpio_dev->base + pin * 4); pin_reg &= ~mask; - writel(pin_reg, gpio_dev->base + i * 4); + writel(pin_reg, gpio_dev->base + pin * 4); raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-at91-pio4.c linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-at91-pio4.c --- linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-at91-pio4.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-at91-pio4.c @@ -1128,6 +1128,8 @@ /* Pin naming convention: P(bank_name)(bank_pin_number). */ pin_desc[i].name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "P%c%d", bank + 'A', line); + if (!pin_desc[i].name) + return -ENOMEM; group->name = group_names[i] = pin_desc[i].name; group->pin = pin_desc[i].number; diff -u linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-microchip-sgpio.c linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-microchip-sgpio.c --- linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-microchip-sgpio.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-microchip-sgpio.c @@ -729,6 +729,9 @@ pctl_desc->name = devm_kasprintf(dev, GFP_KERNEL, "%s-%sput", dev_name(dev), bank->is_input ? "in" : "out"); + if (!pctl_desc->name) + return -ENOMEM; + pctl_desc->pctlops = &sgpio_pctl_ops; pctl_desc->pmxops = &sgpio_pmx_ops; pctl_desc->confops = &sgpio_confops; diff -u linux-intel-iotg-5.15-5.15.0/drivers/platform/surface/aggregator/controller.c linux-intel-iotg-5.15-5.15.0/drivers/platform/surface/aggregator/controller.c --- linux-intel-iotg-5.15-5.15.0/drivers/platform/surface/aggregator/controller.c +++ linux-intel-iotg-5.15-5.15.0/drivers/platform/surface/aggregator/controller.c @@ -825,7 +825,7 @@ cplt->dev = dev; - cplt->wq = create_workqueue(SSAM_CPLT_WQ_NAME); + cplt->wq = alloc_workqueue(SSAM_CPLT_WQ_NAME, WQ_UNBOUND | WQ_MEM_RECLAIM, 0); if (!cplt->wq) return -ENOMEM; diff -u linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/asus-nb-wmi.c linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/asus-nb-wmi.c --- linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/asus-nb-wmi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/asus-nb-wmi.c @@ -550,6 +550,7 @@ { KE_KEY, 0x71, { KEY_F13 } }, /* General-purpose button */ { KE_IGNORE, 0x79, }, /* Charger type dectection notification */ { KE_KEY, 0x7a, { KEY_ALS_TOGGLE } }, /* Ambient Light Sensor Toggle */ + { KE_IGNORE, 0x7B, }, /* Charger connect/disconnect notification */ { KE_KEY, 0x7c, { KEY_MICMUTE } }, { KE_KEY, 0x7D, { KEY_BLUETOOTH } }, /* Bluetooth Enable */ { KE_KEY, 0x7E, { KEY_BLUETOOTH } }, /* Bluetooth Disable */ @@ -575,6 +576,7 @@ { KE_KEY, 0xA6, { KEY_SWITCHVIDEOMODE } }, /* SDSP CRT + TV + HDMI */ { KE_KEY, 0xA7, { KEY_SWITCHVIDEOMODE } }, /* SDSP LCD + CRT + TV + HDMI */ { KE_KEY, 0xB5, { KEY_CALC } }, + { KE_IGNORE, 0xC0, }, /* External display connect/disconnect notification */ { KE_KEY, 0xC4, { KEY_KBDILLUMUP } }, { KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } }, { KE_IGNORE, 0xC6, }, /* Ambient Light Sensor notification */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/wmi.c linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/wmi.c --- linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/wmi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/platform/x86/wmi.c @@ -39,7 +39,7 @@ static LIST_HEAD(wmi_block_list); struct guid_block { - char guid[16]; + guid_t guid; union { char object_id[2]; struct { @@ -124,7 +124,7 @@ list_for_each_entry(wblock, &wmi_block_list, list) { block = &wblock->gblock; - if (memcmp(block->guid, &guid_input, 16) == 0) { + if (guid_equal(&block->guid, &guid_input)) { if (out) *out = wblock; return true; @@ -133,11 +133,20 @@ return false; } +static bool guid_parse_and_compare(const char *string, const guid_t *guid) +{ + guid_t guid_input; + + if (guid_parse(string, &guid_input)) + return false; + + return guid_equal(&guid_input, guid); +} + static const void *find_guid_context(struct wmi_block *wblock, struct wmi_driver *wdriver) { const struct wmi_device_id *id; - guid_t guid_input; if (wblock == NULL || wdriver == NULL) return NULL; @@ -146,9 +155,7 @@ id = wdriver->id_table; while (*id->guid_string) { - if (guid_parse(id->guid_string, &guid_input)) - continue; - if (!memcmp(wblock->gblock.guid, &guid_input, 16)) + if (guid_parse_and_compare(id->guid_string, &wblock->gblock.guid)) return id->context; id++; } @@ -460,7 +467,7 @@ static void wmi_dump_wdg(const struct guid_block *g) { - pr_info("%pUL:\n", g->guid); + pr_info("%pUL:\n", &g->guid); if (g->flags & ACPI_WMI_EVENT) pr_info("\tnotify_id: 0x%02X\n", g->notify_id); else @@ -542,7 +549,7 @@ list_for_each_entry(block, &wmi_block_list, list) { acpi_status wmi_status; - if (memcmp(block->gblock.guid, &guid_input, 16) == 0) { + if (guid_equal(&block->gblock.guid, &guid_input)) { if (block->handler && block->handler != wmi_notify_debug) return AE_ALREADY_ACQUIRED; @@ -582,7 +589,7 @@ list_for_each_entry(block, &wmi_block_list, list) { acpi_status wmi_status; - if (memcmp(block->gblock.guid, &guid_input, 16) == 0) { + if (guid_equal(&block->gblock.guid, &guid_input)) { if (!block->handler || block->handler == wmi_notify_debug) return AE_NULL_ENTRY; @@ -618,7 +625,6 @@ { struct acpi_object_list input; union acpi_object params[1]; - struct guid_block *gblock; struct wmi_block *wblock; input.count = 1; @@ -627,7 +633,7 @@ params[0].integer.value = event; list_for_each_entry(wblock, &wmi_block_list, list) { - gblock = &wblock->gblock; + struct guid_block *gblock = &wblock->gblock; if ((gblock->flags & ACPI_WMI_EVENT) && (gblock->notify_id == event)) @@ -693,7 +699,7 @@ { struct wmi_block *wblock = dev_to_wblock(dev); - return sprintf(buf, "wmi:%pUL\n", wblock->gblock.guid); + return sprintf(buf, "wmi:%pUL\n", &wblock->gblock.guid); } static DEVICE_ATTR_RO(modalias); @@ -702,7 +708,7 @@ { struct wmi_block *wblock = dev_to_wblock(dev); - return sprintf(buf, "%pUL\n", wblock->gblock.guid); + return sprintf(buf, "%pUL\n", &wblock->gblock.guid); } static DEVICE_ATTR_RO(guid); @@ -785,10 +791,10 @@ { struct wmi_block *wblock = dev_to_wblock(dev); - if (add_uevent_var(env, "MODALIAS=wmi:%pUL", wblock->gblock.guid)) + if (add_uevent_var(env, "MODALIAS=wmi:%pUL", &wblock->gblock.guid)) return -ENOMEM; - if (add_uevent_var(env, "WMI_GUID=%pUL", wblock->gblock.guid)) + if (add_uevent_var(env, "WMI_GUID=%pUL", &wblock->gblock.guid)) return -ENOMEM; return 0; @@ -811,11 +817,7 @@ return 0; while (*id->guid_string) { - guid_t driver_guid; - - if (WARN_ON(guid_parse(id->guid_string, &driver_guid))) - continue; - if (!memcmp(&driver_guid, wblock->gblock.guid, 16)) + if (guid_parse_and_compare(id->guid_string, &wblock->gblock.guid)) return 1; id++; @@ -1046,7 +1048,6 @@ }; static int wmi_create_device(struct device *wmi_bus_dev, - const struct guid_block *gblock, struct wmi_block *wblock, struct acpi_device *device) { @@ -1054,12 +1055,12 @@ char method[5]; int result; - if (gblock->flags & ACPI_WMI_EVENT) { + if (wblock->gblock.flags & ACPI_WMI_EVENT) { wblock->dev.dev.type = &wmi_type_event; goto out_init; } - if (gblock->flags & ACPI_WMI_METHOD) { + if (wblock->gblock.flags & ACPI_WMI_METHOD) { wblock->dev.dev.type = &wmi_type_method; mutex_init(&wblock->char_mutex); goto out_init; @@ -1109,7 +1110,7 @@ wblock->dev.dev.bus = &wmi_bus_type; wblock->dev.dev.parent = wmi_bus_dev; - dev_set_name(&wblock->dev.dev, "%pUL", gblock->guid); + dev_set_name(&wblock->dev.dev, "%pUL", &wblock->gblock.guid); device_initialize(&wblock->dev.dev); @@ -1129,12 +1130,12 @@ } } -static bool guid_already_parsed(struct acpi_device *device, const u8 *guid) +static bool guid_already_parsed(struct acpi_device *device, const guid_t *guid) { struct wmi_block *wblock; list_for_each_entry(wblock, &wmi_block_list, list) { - if (memcmp(wblock->gblock.guid, guid, 16) == 0) { + if (guid_equal(&wblock->gblock.guid, guid)) { /* * Because we historically didn't track the relationship * between GUIDs and ACPI nodes, we don't know whether @@ -1189,7 +1190,7 @@ * case yet, so for now, we'll just ignore the duplicate * for device creation. */ - if (guid_already_parsed(device, gblock[i].guid)) + if (guid_already_parsed(device, &gblock[i].guid)) continue; wblock = kzalloc(sizeof(struct wmi_block), GFP_KERNEL); @@ -1201,7 +1202,7 @@ wblock->acpi_device = device; wblock->gblock = gblock[i]; - retval = wmi_create_device(wmi_bus_dev, &gblock[i], wblock, device); + retval = wmi_create_device(wmi_bus_dev, wblock, device); if (retval) { kfree(wblock); continue; @@ -1226,7 +1227,7 @@ retval = device_add(&wblock->dev.dev); if (retval) { dev_err(wmi_bus_dev, "failed to register %pUL\n", - wblock->gblock.guid); + &wblock->gblock.guid); if (debug_event) wmi_method_enable(wblock, 0); list_del(&wblock->list); @@ -1283,12 +1284,11 @@ static void acpi_wmi_notify_handler(acpi_handle handle, u32 event, void *context) { - struct guid_block *block; struct wmi_block *wblock; bool found_it = false; list_for_each_entry(wblock, &wmi_block_list, list) { - block = &wblock->gblock; + struct guid_block *block = &wblock->gblock; if (wblock->acpi_device->handle == handle && (block->flags & ACPI_WMI_EVENT) && @@ -1334,7 +1334,7 @@ } if (debug_event) - pr_info("DEBUG Event GUID: %pUL\n", wblock->gblock.guid); + pr_info("DEBUG Event GUID: %pUL\n", &wblock->gblock.guid); acpi_bus_generate_netlink_event( wblock->acpi_device->pnp.device_class, diff -u linux-intel-iotg-5.15-5.15.0/drivers/power/supply/ab8500_fg.c linux-intel-iotg-5.15-5.15.0/drivers/power/supply/ab8500_fg.c --- linux-intel-iotg-5.15-5.15.0/drivers/power/supply/ab8500_fg.c +++ linux-intel-iotg-5.15-5.15.0/drivers/power/supply/ab8500_fg.c @@ -2384,10 +2384,8 @@ */ static void ab8500_fg_external_power_changed(struct power_supply *psy) { - struct ab8500_fg *di = power_supply_get_drvdata(psy); - - class_for_each_device(power_supply_class, NULL, - di->fg_psy, ab8500_fg_get_ext_psy_data); + class_for_each_device(power_supply_class, NULL, psy, + ab8500_fg_get_ext_psy_data); } /** diff -u linux-intel-iotg-5.15-5.15.0/drivers/power/supply/bq27xxx_battery.c linux-intel-iotg-5.15-5.15.0/drivers/power/supply/bq27xxx_battery.c --- linux-intel-iotg-5.15-5.15.0/drivers/power/supply/bq27xxx_battery.c +++ linux-intel-iotg-5.15-5.15.0/drivers/power/supply/bq27xxx_battery.c @@ -1083,10 +1083,8 @@ return ret; mutex_lock(&bq27xxx_list_lock); - list_for_each_entry(di, &bq27xxx_battery_devices, list) { - cancel_delayed_work_sync(&di->work); - schedule_delayed_work(&di->work, 0); - } + list_for_each_entry(di, &bq27xxx_battery_devices, list) + mod_delayed_work(system_wq, &di->work, 0); mutex_unlock(&bq27xxx_list_lock); return ret; diff -u linux-intel-iotg-5.15-5.15.0/drivers/power/supply/power_supply_core.c linux-intel-iotg-5.15-5.15.0/drivers/power/supply/power_supply_core.c --- linux-intel-iotg-5.15-5.15.0/drivers/power/supply/power_supply_core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/power/supply/power_supply_core.c @@ -347,6 +347,10 @@ struct power_supply *psy = dev_get_drvdata(dev); unsigned int *count = data; + if (!psy->desc->get_property(psy, POWER_SUPPLY_PROP_SCOPE, &ret)) + if (ret.intval == POWER_SUPPLY_SCOPE_DEVICE) + return 0; + (*count)++; if (psy->desc->type != POWER_SUPPLY_TYPE_BATTERY) if (!psy->desc->get_property(psy, POWER_SUPPLY_PROP_ONLINE, @@ -365,8 +369,8 @@ __power_supply_is_system_supplied); /* - * If no power class device was found at all, most probably we are - * running on a desktop system, so assume we are on mains power. + * If no system scope power class device was found at all, most probably we + * are running on a desktop system, so assume we are on mains power. */ if (count == 0) return 1; diff -u linux-intel-iotg-5.15-5.15.0/drivers/powercap/intel_rapl_msr.c linux-intel-iotg-5.15-5.15.0/drivers/powercap/intel_rapl_msr.c --- linux-intel-iotg-5.15-5.15.0/drivers/powercap/intel_rapl_msr.c +++ linux-intel-iotg-5.15-5.15.0/drivers/powercap/intel_rapl_msr.c @@ -22,7 +22,6 @@ #include #include -#include #include #include diff -u linux-intel-iotg-5.15-5.15.0/drivers/pwm/pwm-mtk-disp.c linux-intel-iotg-5.15-5.15.0/drivers/pwm/pwm-mtk-disp.c --- linux-intel-iotg-5.15-5.15.0/drivers/pwm/pwm-mtk-disp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pwm/pwm-mtk-disp.c @@ -79,14 +79,11 @@ if (state->polarity != PWM_POLARITY_NORMAL) return -EINVAL; - if (!state->enabled) { - mtk_disp_pwm_update_bits(mdp, DISP_PWM_EN, mdp->data->enable_mask, - 0x0); - - if (mdp->enabled) { - clk_disable_unprepare(mdp->clk_mm); - clk_disable_unprepare(mdp->clk_main); - } + if (!state->enabled && mdp->enabled) { + mtk_disp_pwm_update_bits(mdp, DISP_PWM_EN, + mdp->data->enable_mask, 0x0); + clk_disable_unprepare(mdp->clk_mm); + clk_disable_unprepare(mdp->clk_main); mdp->enabled = false; return 0; diff -u linux-intel-iotg-5.15-5.15.0/drivers/regulator/core.c linux-intel-iotg-5.15-5.15.0/drivers/regulator/core.c --- linux-intel-iotg-5.15-5.15.0/drivers/regulator/core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/regulator/core.c @@ -1874,19 +1874,17 @@ if (err != -EEXIST) regulator->debugfs = debugfs_create_dir(supply_name, rdev->debugfs); - if (!regulator->debugfs) { + if (IS_ERR(regulator->debugfs)) rdev_dbg(rdev, "Failed to create debugfs directory\n"); - } else { - debugfs_create_u32("uA_load", 0444, regulator->debugfs, - ®ulator->uA_load); - debugfs_create_u32("min_uV", 0444, regulator->debugfs, - ®ulator->voltage[PM_SUSPEND_ON].min_uV); - debugfs_create_u32("max_uV", 0444, regulator->debugfs, - ®ulator->voltage[PM_SUSPEND_ON].max_uV); - debugfs_create_file("constraint_flags", 0444, - regulator->debugfs, regulator, - &constraint_flags_fops); - } + + debugfs_create_u32("uA_load", 0444, regulator->debugfs, + ®ulator->uA_load); + debugfs_create_u32("min_uV", 0444, regulator->debugfs, + ®ulator->voltage[PM_SUSPEND_ON].min_uV); + debugfs_create_u32("max_uV", 0444, regulator->debugfs, + ®ulator->voltage[PM_SUSPEND_ON].max_uV); + debugfs_create_file("constraint_flags", 0444, regulator->debugfs, + regulator, &constraint_flags_fops); /* * Check now if the regulator is an always on regulator - if @@ -5193,10 +5191,8 @@ } rdev->debugfs = debugfs_create_dir(rname, debugfs_root); - if (!rdev->debugfs) { - rdev_warn(rdev, "Failed to create debugfs directory\n"); - return; - } + if (IS_ERR(rdev->debugfs)) + rdev_dbg(rdev, "Failed to create debugfs directory\n"); debugfs_create_u32("use_count", 0444, rdev->debugfs, &rdev->use_count); @@ -6103,8 +6099,8 @@ ret = class_register(®ulator_class); debugfs_root = debugfs_create_dir("regulator", NULL); - if (!debugfs_root) - pr_warn("regulator: Failed to create debugfs directory\n"); + if (IS_ERR(debugfs_root)) + pr_debug("regulator: Failed to create debugfs directory\n"); #ifdef CONFIG_DEBUG_FS debugfs_create_file("supply_map", 0444, debugfs_root, NULL, diff -u linux-intel-iotg-5.15-5.15.0/drivers/rtc/rtc-st-lpc.c linux-intel-iotg-5.15-5.15.0/drivers/rtc/rtc-st-lpc.c --- linux-intel-iotg-5.15-5.15.0/drivers/rtc/rtc-st-lpc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/rtc/rtc-st-lpc.c @@ -228,7 +228,7 @@ enable_irq_wake(rtc->irq); disable_irq(rtc->irq); - rtc->clk = clk_get(&pdev->dev, NULL); + rtc->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(rtc->clk)) { dev_err(&pdev->dev, "Unable to request clock\n"); return PTR_ERR(rtc->clk); diff -u linux-intel-iotg-5.15-5.15.0/drivers/s390/cio/device.c linux-intel-iotg-5.15-5.15.0/drivers/s390/cio/device.c --- linux-intel-iotg-5.15-5.15.0/drivers/s390/cio/device.c +++ linux-intel-iotg-5.15-5.15.0/drivers/s390/cio/device.c @@ -1379,6 +1379,7 @@ enum io_sch_action { IO_SCH_UNREG, IO_SCH_ORPH_UNREG, + IO_SCH_UNREG_CDEV, IO_SCH_ATTACH, IO_SCH_UNREG_ATTACH, IO_SCH_ORPH_ATTACH, @@ -1411,7 +1412,7 @@ } if ((sch->schib.pmcw.pam & sch->opm) == 0) { if (ccw_device_notify(cdev, CIO_NO_PATH) != NOTIFY_OK) - return IO_SCH_UNREG; + return IO_SCH_UNREG_CDEV; return IO_SCH_DISC; } if (device_is_disconnected(cdev)) @@ -1473,6 +1474,7 @@ case IO_SCH_ORPH_ATTACH: ccw_device_set_disconnected(cdev); break; + case IO_SCH_UNREG_CDEV: case IO_SCH_UNREG_ATTACH: case IO_SCH_UNREG: if (!cdev) @@ -1506,6 +1508,7 @@ if (rc) goto out; break; + case IO_SCH_UNREG_CDEV: case IO_SCH_UNREG_ATTACH: spin_lock_irqsave(sch->lock, flags); sch_set_cdev(sch, NULL); diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qedf/qedf_main.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qedf/qedf_main.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qedf/qedf_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qedf/qedf_main.c @@ -3046,9 +3046,8 @@ * addresses of our queues */ if (!qedf->p_cpuq) { - status = -EINVAL; QEDF_ERR(&qedf->dbg_ctx, "p_cpuq is NULL.\n"); - goto mem_alloc_failure; + return -EINVAL; } qedf->global_queues = kzalloc((sizeof(struct global_queue *) diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_attr.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_attr.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_attr.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_attr.c @@ -2738,6 +2738,7 @@ qla2x00_terminate_rport_io(struct fc_rport *rport) { fc_port_t *fcport = *(fc_port_t **)rport->dd_data; + scsi_qla_host_t *vha; if (!fcport) return; @@ -2747,9 +2748,12 @@ if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) return; + vha = fcport->vha; if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); + qla2x00_eh_wait_for_pending_commands(fcport->vha, fcport->d_id.b24, + 0, WAIT_TARGET); return; } /* @@ -2774,6 +2778,15 @@ qla2x00_port_logout(fcport->vha, fcport); } } + + /* check for any straggling io left behind */ + if (qla2x00_eh_wait_for_pending_commands(fcport->vha, fcport->d_id.b24, 0, WAIT_TARGET)) { + ql_log(ql_log_warn, vha, 0x300b, + "IO not return. Resetting. \n"); + set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); + qla2xxx_wake_dpc(vha); + qla2x00_wait_for_chip_reset(vha); + } } static int diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_bsg.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_bsg.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_bsg.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_bsg.c @@ -283,6 +283,10 @@ if (bsg_request->msgcode == FC_BSG_RPT_ELS) { rport = fc_bsg_to_rport(bsg_job); + if (!rport) { + rval = -ENOMEM; + goto done; + } fcport = *(fc_port_t **) rport->dd_data; host = rport_to_shost(rport); vha = shost_priv(host); @@ -2899,6 +2903,8 @@ if (bsg_request->msgcode == FC_BSG_RPT_ELS) { rport = fc_bsg_to_rport(bsg_job); + if (!rport) + return ret; host = rport_to_shost(rport); vha = shost_priv(host); } else { diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_def.h linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_def.h --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_def.h +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_def.h @@ -676,7 +676,6 @@ struct iocb_resource iores; struct kref cmd_kref; /* need to migrate ref_count over to this */ void *priv; - wait_queue_head_t nvme_ls_waitq; struct fc_port *fcport; struct scsi_qla_host *vha; unsigned int start_timer:1; diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_edif.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_edif.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_edif.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_edif.c @@ -2230,8 +2230,8 @@ if (!sa_ctl) { ql_dbg(ql_dbg_edif, vha, 0x70e6, "sa_ctl allocation failed\n"); - rval = -ENOMEM; - goto done; + rval = -ENOMEM; + return rval; } fcport = sa_ctl->fcport; diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_init.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_init.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_init.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_init.c @@ -5359,7 +5359,7 @@ __be32 *q; memset(ha->init_cb, 0, ha->init_cb_size); - sz = min_t(int, sizeof(struct fc_els_flogi), ha->init_cb_size); + sz = min_t(int, sizeof(struct fc_els_csp), ha->init_cb_size); rval = qla24xx_get_port_login_templ(vha, ha->init_cb_dma, ha->init_cb, sz); if (rval != QLA_SUCCESS) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_inline.h linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_inline.h --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_inline.h +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_inline.h @@ -109,11 +109,13 @@ { int old_val; uint8_t shiftbits, mask; + uint8_t port_dstate_str_sz; /* This will have to change when the max no. of states > 16 */ shiftbits = 4; mask = (1 << shiftbits) - 1; + port_dstate_str_sz = sizeof(port_dstate_str) / sizeof(char *); fcport->disc_state = state; while (1) { old_val = atomic_read(&fcport->shadow_disc_state); @@ -121,7 +123,8 @@ old_val, (old_val << shiftbits) | state)) { ql_dbg(ql_dbg_disc, fcport->vha, 0x2134, "FCPort %8phC disc_state transition: %s to %s - portid=%06x.\n", - fcport->port_name, port_dstate_str[old_val & mask], + fcport->port_name, (old_val & mask) < port_dstate_str_sz ? + port_dstate_str[old_val & mask] : "Unknown", port_dstate_str[state], fcport->d_id.b24); return; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_iocb.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_iocb.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_iocb.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_iocb.c @@ -603,7 +603,8 @@ put_unaligned_le32(COMMAND_TYPE_6, &cmd_pkt->entry_type); /* No data transfer */ - if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE) { + if (!scsi_bufflen(cmd) || cmd->sc_data_direction == DMA_NONE || + tot_dsds == 0) { cmd_pkt->byte_count = cpu_to_le32(0); return 0; } @@ -3898,7 +3899,7 @@ pkt = __qla2x00_alloc_iocbs(sp->qpair, sp); if (!pkt) { - rval = EAGAIN; + rval = -EAGAIN; ql_log(ql_log_warn, vha, 0x700c, "qla2x00_alloc_iocbs failed.\n"); goto done; diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_nvme.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_nvme.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_nvme.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_nvme.c @@ -355,7 +355,6 @@ if (rval != QLA_SUCCESS) { ql_log(ql_log_warn, vha, 0x700e, "qla2x00_start_sp failed = %d\n", rval); - wake_up(&sp->nvme_ls_waitq); sp->priv = NULL; priv->sp = NULL; qla2x00_rel_sp(sp); @@ -637,7 +636,6 @@ if (!sp) return -EBUSY; - init_waitqueue_head(&sp->nvme_ls_waitq); kref_init(&sp->cmd_kref); spin_lock_init(&priv->cmd_lock); sp->priv = priv; @@ -656,7 +654,6 @@ if (rval != QLA_SUCCESS) { ql_log(ql_log_warn, vha, 0x212d, "qla2x00_start_nvme_mq failed = %d\n", rval); - wake_up(&sp->nvme_ls_waitq); sp->priv = NULL; priv->sp = NULL; qla2xxx_rel_qpair_sp(sp->qpair, sp); diff -u linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_os.c linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_os.c --- linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_os.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/qla2xxx/qla_os.c @@ -5042,7 +5042,8 @@ } INIT_DELAYED_WORK(&vha->scan.scan_work, qla_scan_work_fn); - sprintf(vha->host_str, "%s_%lu", QLA2XXX_DRIVER_NAME, vha->host_no); + snprintf(vha->host_str, sizeof(vha->host_str), "%s_%lu", + QLA2XXX_DRIVER_NAME, vha->host_no); ql_dbg(ql_dbg_init, vha, 0x0041, "Allocated the host=%p hw=%p vha=%p dev_name=%s", vha->host, vha->hw, vha, diff -u linux-intel-iotg-5.15-5.15.0/drivers/soc/amlogic/meson-secure-pwrc.c linux-intel-iotg-5.15-5.15.0/drivers/soc/amlogic/meson-secure-pwrc.c --- linux-intel-iotg-5.15-5.15.0/drivers/soc/amlogic/meson-secure-pwrc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/soc/amlogic/meson-secure-pwrc.c @@ -104,7 +104,7 @@ SEC_PD(ACODEC, 0), SEC_PD(AUDIO, 0), SEC_PD(OTP, 0), - SEC_PD(DMA, 0), + SEC_PD(DMA, GENPD_FLAG_ALWAYS_ON | GENPD_FLAG_IRQ_SAFE), SEC_PD(SD_EMMC, 0), SEC_PD(RAMA, 0), /* SRAMB is used as ATF runtime memory, and should be always on */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/soundwire/dmi-quirks.c linux-intel-iotg-5.15-5.15.0/drivers/soundwire/dmi-quirks.c --- linux-intel-iotg-5.15-5.15.0/drivers/soundwire/dmi-quirks.c +++ linux-intel-iotg-5.15-5.15.0/drivers/soundwire/dmi-quirks.c @@ -65,0 +66,7 @@ + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "HP"), + DMI_MATCH(DMI_BOARD_NAME, "8709"), + }, + .driver_data = (void *)intel_tgl_bios, + }, diff -u linux-intel-iotg-5.15-5.15.0/drivers/soundwire/qcom.c linux-intel-iotg-5.15-5.15.0/drivers/soundwire/qcom.c --- linux-intel-iotg-5.15-5.15.0/drivers/soundwire/qcom.c +++ linux-intel-iotg-5.15-5.15.0/drivers/soundwire/qcom.c @@ -146,7 +146,8 @@ u32 intr_mask; u8 rcmd_id; u8 wcmd_id; - struct qcom_swrm_port_config pconfig[QCOM_SDW_MAX_PORTS]; + /* Port numbers are 1 - 14 */ + struct qcom_swrm_port_config pconfig[QCOM_SDW_MAX_PORTS + 1]; struct sdw_stream_runtime *sruntime[SWRM_MAX_DAIS]; enum sdw_slave_status status[SDW_MAX_DEVICES + 1]; int (*reg_read)(struct qcom_swrm_ctrl *ctrl, int reg, u32 *val); diff -u linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-bcm-qspi.c linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-bcm-qspi.c --- linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-bcm-qspi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-bcm-qspi.c @@ -1370,13 +1370,9 @@ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "mspi"); - if (res) { - qspi->base[MSPI] = devm_ioremap_resource(dev, res); - if (IS_ERR(qspi->base[MSPI])) - return PTR_ERR(qspi->base[MSPI]); - } else { - return 0; - } + qspi->base[MSPI] = devm_ioremap_resource(dev, res); + if (IS_ERR(qspi->base[MSPI])) + return PTR_ERR(qspi->base[MSPI]); res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "bspi"); if (res) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-dw-core.c linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-dw-core.c --- linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-dw-core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-dw-core.c @@ -416,7 +416,10 @@ int ret; dws->dma_mapped = 0; - dws->n_bytes = DIV_ROUND_UP(transfer->bits_per_word, BITS_PER_BYTE); + dws->n_bytes = + roundup_pow_of_two(DIV_ROUND_UP(transfer->bits_per_word, + BITS_PER_BYTE)); + dws->tx = (void *)transfer->tx_buf; dws->tx_len = transfer->len / dws->n_bytes; dws->rx = transfer->rx_buf; diff -u linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-qup.c linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-qup.c --- linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-qup.c +++ linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-qup.c @@ -1030,23 +1030,8 @@ return -ENXIO; } - ret = clk_prepare_enable(cclk); - if (ret) { - dev_err(dev, "cannot enable core clock\n"); - return ret; - } - - ret = clk_prepare_enable(iclk); - if (ret) { - clk_disable_unprepare(cclk); - dev_err(dev, "cannot enable iface clock\n"); - return ret; - } - master = spi_alloc_master(dev, sizeof(struct spi_qup)); if (!master) { - clk_disable_unprepare(cclk); - clk_disable_unprepare(iclk); dev_err(dev, "cannot allocate master\n"); return -ENOMEM; } @@ -1092,6 +1077,19 @@ spin_lock_init(&controller->lock); init_completion(&controller->done); + ret = clk_prepare_enable(cclk); + if (ret) { + dev_err(dev, "cannot enable core clock\n"); + goto error_dma; + } + + ret = clk_prepare_enable(iclk); + if (ret) { + clk_disable_unprepare(cclk); + dev_err(dev, "cannot enable iface clock\n"); + goto error_dma; + } + iomode = readl_relaxed(base + QUP_IO_M_MODES); size = QUP_IO_M_OUTPUT_BLOCK_SIZE(iomode); @@ -1121,7 +1119,7 @@ ret = spi_qup_set_state(controller, QUP_STATE_RESET); if (ret) { dev_err(dev, "cannot set RESET state\n"); - goto error_dma; + goto error_clk; } writel_relaxed(0, base + QUP_OPERATIONAL); @@ -1145,7 +1143,7 @@ ret = devm_request_irq(dev, irq, spi_qup_qup_irq, IRQF_TRIGGER_HIGH, pdev->name, controller); if (ret) - goto error_dma; + goto error_clk; pm_runtime_set_autosuspend_delay(dev, MSEC_PER_SEC); pm_runtime_use_autosuspend(dev); @@ -1160,11 +1158,12 @@ disable_pm: pm_runtime_disable(&pdev->dev); +error_clk: + clk_disable_unprepare(cclk); + clk_disable_unprepare(iclk); error_dma: spi_qup_release_dma(master); error: - clk_disable_unprepare(cclk); - clk_disable_unprepare(iclk); spi_master_put(master); return ret; } diff -u linux-intel-iotg-5.15-5.15.0/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c linux-intel-iotg-5.15-5.15.0/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c --- linux-intel-iotg-5.15-5.15.0/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +++ linux-intel-iotg-5.15-5.15.0/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c @@ -1198,7 +1198,7 @@ dev_info(dev, "found _DSM entry for '%s': %s\n", var, cur->string.pointer); strscpy(out, cur->string.pointer, *out_len); - *out_len = strlen(cur->string.pointer); + *out_len = strlen(out); ACPI_FREE(obj); return 0; reverted: --- linux-intel-iotg-5.15-5.15.0/drivers/thermal/mtk_thermal.c +++ linux-intel-iotg-5.15-5.15.0.orig/drivers/thermal/mtk_thermal.c @@ -1028,12 +1028,7 @@ return -ENODEV; } + auxadc_base = of_iomap(auxadc, 0); - auxadc_base = devm_of_iomap(&pdev->dev, auxadc, 0, NULL); - if (IS_ERR(auxadc_base)) { - of_node_put(auxadc); - return PTR_ERR(auxadc_base); - } - auxadc_phys_base = of_get_phys_base(auxadc); of_node_put(auxadc); @@ -1049,12 +1044,7 @@ return -ENODEV; } + apmixed_base = of_iomap(apmixedsys, 0); - apmixed_base = devm_of_iomap(&pdev->dev, apmixedsys, 0, NULL); - if (IS_ERR(apmixed_base)) { - of_node_put(apmixedsys); - return PTR_ERR(apmixed_base); - } - apmixed_phys_base = of_get_phys_base(apmixedsys); of_node_put(apmixedsys); diff -u linux-intel-iotg-5.15-5.15.0/drivers/thunderbolt/nhi.c linux-intel-iotg-5.15-5.15.0/drivers/thunderbolt/nhi.c --- linux-intel-iotg-5.15-5.15.0/drivers/thunderbolt/nhi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/thunderbolt/nhi.c @@ -53,9 +53,14 @@ static void nhi_mask_interrupt(struct tb_nhi *nhi, int mask, int ring) { - if (nhi->quirks & QUIRK_AUTO_CLEAR_INT) - return; - iowrite32(mask, nhi->iobase + REG_RING_INTERRUPT_MASK_CLEAR_BASE + ring); + if (nhi->quirks & QUIRK_AUTO_CLEAR_INT) { + u32 val; + + val = ioread32(nhi->iobase + REG_RING_INTERRUPT_BASE + ring); + iowrite32(val & ~mask, nhi->iobase + REG_RING_INTERRUPT_BASE + ring); + } else { + iowrite32(mask, nhi->iobase + REG_RING_INTERRUPT_MASK_CLEAR_BASE + ring); + } } static void nhi_clear_interrupt(struct tb_nhi *nhi, int ring) diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250.h linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250.h --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250.h +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250.h @@ -90,7 +90,6 @@ #define UART_BUG_TXEN BIT(1) /* UART has buggy TX IIR status */ #define UART_BUG_NOMSR BIT(2) /* UART has buggy MSR status bits (Au1x00) */ #define UART_BUG_THRE BIT(3) /* UART has buggy THRE reassertion */ -#define UART_BUG_PARITY BIT(4) /* UART mishandles parity if FIFO enabled */ #define UART_BUG_TXRACE BIT(5) /* UART Tx fails to set remote DR */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_omap.c linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_omap.c --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_omap.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_omap.c @@ -653,6 +653,8 @@ if ((lsr & UART_LSR_OE) && up->overrun_backoff_time_ms > 0) { unsigned long delay; + /* Synchronize UART_IER access against the console. */ + spin_lock(&port->lock); up->ier = port->serial_in(port, UART_IER); if (up->ier & (UART_IER_RLSI | UART_IER_RDI)) { port->ops->stop_rx(port); @@ -662,6 +664,7 @@ */ cancel_delayed_work(&up->overrun_backoff); } + spin_unlock(&port->lock); delay = msecs_to_jiffies(up->overrun_backoff_time_ms); schedule_delayed_work(&up->overrun_backoff, delay); @@ -1469,7 +1472,9 @@ err: pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_sync(&pdev->dev); + flush_work(&priv->qos_work); pm_runtime_disable(&pdev->dev); + cpu_latency_qos_remove_request(&priv->pm_qos_request); return ret; } @@ -1516,25 +1521,35 @@ { struct omap8250_priv *priv = dev_get_drvdata(dev); struct uart_8250_port *up = serial8250_get_port(priv->line); + int err; serial8250_suspend_port(priv->line); - pm_runtime_get_sync(dev); + err = pm_runtime_resume_and_get(dev); + if (err) + return err; if (!device_may_wakeup(dev)) priv->wer = 0; serial_out(up, UART_OMAP_WER, priv->wer); - pm_runtime_mark_last_busy(dev); - pm_runtime_put_autosuspend(dev); - + err = pm_runtime_force_suspend(dev); flush_work(&priv->qos_work); - return 0; + + return err; } static int omap8250_resume(struct device *dev) { struct omap8250_priv *priv = dev_get_drvdata(dev); + int err; + err = pm_runtime_force_resume(dev); + if (err) + return err; serial8250_resume_port(priv->line); + /* Paired with pm_runtime_resume_and_get() in omap8250_suspend() */ + pm_runtime_mark_last_busy(dev); + pm_runtime_put_autosuspend(dev); + return 0; } #else diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_pci.c linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_pci.c --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_pci.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_pci.c @@ -1254,10 +1254,2 @@ -static int pci_asix_setup(struct serial_private *priv, - const struct pciserial_board *board, - struct uart_8250_port *port, int idx) -{ - port->bugs |= UART_BUG_PARITY; - return pci_default_setup(priv, board, port, idx); -} - /* Quatech devices have their own extra interface features */ @@ -2082,7 +2074,6 @@ #define PCI_DEVICE_ID_WCH_CH355_4S 0x7173 #define PCI_VENDOR_ID_AGESTAR 0x5372 #define PCI_DEVICE_ID_AGESTAR_9375 0x6872 -#define PCI_VENDOR_ID_ASIX 0x9710 #define PCI_DEVICE_ID_BROADCOM_TRUMANAGE 0x160a #define PCI_DEVICE_ID_AMCC_ADDIDATA_APCI7800 0x818e @@ -2893,16 +2884,6 @@ .setup = pci_wch_ch38x_setup, }, /* - * ASIX devices with FIFO bug - */ - { - .vendor = PCI_VENDOR_ID_ASIX, - .device = PCI_ANY_ID, - .subvendor = PCI_ANY_ID, - .subdevice = PCI_ANY_ID, - .setup = pci_asix_setup, - }, - /* * Broadcom TruManage (NetXtreme) */ { diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_port.c linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_port.c --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_port.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/8250/8250_port.c @@ -2620,11 +2620,8 @@ if (c_cflag & CSTOPB) cval |= UART_LCR_STOP; - if (c_cflag & PARENB) { + if (c_cflag & PARENB) cval |= UART_LCR_PARITY; - if (up->bugs & UART_BUG_PARITY) - up->fifo_bug = true; - } if (!(c_cflag & PARODD)) cval |= UART_LCR_EPAR; #ifdef CMSPAR @@ -2787,8 +2784,7 @@ up->lcr = cval; /* Save computed LCR */ if (up->capabilities & UART_CAP_FIFO && port->fifosize > 1) { - /* NOTE: If fifo_bug is not set, a user can set RX_trigger. */ - if ((baud < 2400 && !up->dma) || up->fifo_bug) { + if (baud < 2400 && !up->dma) { up->fcr &= ~UART_FCR_TRIGGER_MASK; up->fcr |= UART_FCR_TRIGGER_1; } @@ -3124,8 +3120,7 @@ struct uart_8250_port *up = up_to_u8250p(uport); int rxtrig; - if (!(up->capabilities & UART_CAP_FIFO) || uport->fifosize <= 1 || - up->fifo_bug) + if (!(up->capabilities & UART_CAP_FIFO) || uport->fifosize <= 1) return -EINVAL; rxtrig = bytes_to_fcr_rxtrig(up, bytes); diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/atmel_serial.c linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/atmel_serial.c --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/atmel_serial.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/atmel_serial.c @@ -873,11 +873,11 @@ port->icount.tx += atmel_port->tx_len; - spin_lock_irq(&atmel_port->lock_tx); + spin_lock(&atmel_port->lock_tx); async_tx_ack(atmel_port->desc_tx); atmel_port->cookie_tx = -EINVAL; atmel_port->desc_tx = NULL; - spin_unlock_irq(&atmel_port->lock_tx); + spin_unlock(&atmel_port->lock_tx); if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) uart_write_wakeup(port); diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/fsl_lpuart.c linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/fsl_lpuart.c --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/fsl_lpuart.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/fsl_lpuart.c @@ -2632,6 +2632,7 @@ OF_EARLYCON_DECLARE(lpuart32, "fsl,ls1021a-lpuart", lpuart32_early_console_setup); OF_EARLYCON_DECLARE(lpuart32, "fsl,ls1028a-lpuart", ls1028a_early_console_setup); OF_EARLYCON_DECLARE(lpuart32, "fsl,imx7ulp-lpuart", lpuart32_imx_early_console_setup); +OF_EARLYCON_DECLARE(lpuart32, "fsl,imx8ulp-lpuart", lpuart32_imx_early_console_setup); OF_EARLYCON_DECLARE(lpuart32, "fsl,imx8qxp-lpuart", lpuart32_imx_early_console_setup); EARLYCON_DECLARE(lpuart, lpuart_early_console_setup); EARLYCON_DECLARE(lpuart32, lpuart32_early_console_setup); diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/imx.c linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/imx.c --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/imx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/imx.c @@ -397,6 +397,16 @@ hrtimer_start(hrt, ms_to_ktime(msec), HRTIMER_MODE_REL); } +static void imx_uart_disable_loopback_rs485(struct imx_port *sport) +{ + unsigned int uts; + + /* See SER_RS485_ENABLED/UTS_LOOP comment in imx_uart_probe() */ + uts = imx_uart_readl(sport, imx_uart_uts_reg(sport)); + uts &= ~UTS_LOOP; + imx_uart_writel(sport, uts, imx_uart_uts_reg(sport)); +} + /* called with port.lock taken and irqs off */ static void imx_uart_start_rx(struct uart_port *port) { @@ -418,6 +428,7 @@ /* Write UCR2 first as it includes RXEN */ imx_uart_writel(sport, ucr2, UCR2); imx_uart_writel(sport, ucr1, UCR1); + imx_uart_disable_loopback_rs485(sport); } /* called with port.lock taken and irqs off */ @@ -1394,7 +1405,7 @@ int retval, i; unsigned long flags; int dma_is_inited = 0; - u32 ucr1, ucr2, ucr3, ucr4, uts; + u32 ucr1, ucr2, ucr3, ucr4; retval = clk_prepare_enable(sport->clk_per); if (retval) @@ -1499,10 +1510,7 @@ imx_uart_writel(sport, ucr2, UCR2); } - /* See SER_RS485_ENABLED/UTS_LOOP comment in imx_uart_probe() */ - uts = imx_uart_readl(sport, imx_uart_uts_reg(sport)); - uts &= ~UTS_LOOP; - imx_uart_writel(sport, uts, imx_uart_uts_reg(sport)); + imx_uart_disable_loopback_rs485(sport); spin_unlock_irqrestore(&sport->port.lock, flags); diff -u linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/samsung_tty.c linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/samsung_tty.c --- linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/samsung_tty.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/samsung_tty.c @@ -1478,8 +1478,12 @@ continue; rate = clk_get_rate(clk); - if (!rate) + if (!rate) { + dev_err(ourport->port.dev, + "Failed to get clock rate for %s.\n", clkname); + clk_put(clk); continue; + } if (ourport->info->has_divslot) { unsigned long div = rate / req_baud; @@ -1505,10 +1509,18 @@ calc_deviation = -calc_deviation; if (calc_deviation < deviation) { + /* + * If we find a better clk, release the previous one, if + * any. + */ + if (!IS_ERR(*best_clk)) + clk_put(*best_clk); *best_clk = clk; best_quot = quot; *clk_num = cnt; deviation = calc_deviation; + } else { + clk_put(clk); } } diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/core/devio.c linux-intel-iotg-5.15-5.15.0/drivers/usb/core/devio.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/core/devio.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/core/devio.c @@ -174,6 +174,7 @@ static void dec_usb_memory_use_count(struct usb_memory *usbm, int *count) { struct usb_dev_state *ps = usbm->ps; + struct usb_hcd *hcd = bus_to_hcd(ps->dev->bus); unsigned long flags; spin_lock_irqsave(&ps->lock, flags); @@ -182,8 +183,8 @@ list_del(&usbm->memlist); spin_unlock_irqrestore(&ps->lock, flags); - usb_free_coherent(ps->dev, usbm->size, usbm->mem, - usbm->dma_handle); + hcd_buffer_free_pages(hcd, usbm->size, + usbm->mem, usbm->dma_handle); usbfs_decrease_memory_usage( usbm->size + sizeof(struct usb_memory)); kfree(usbm); @@ -222,7 +223,7 @@ size_t size = vma->vm_end - vma->vm_start; void *mem; unsigned long flags; - dma_addr_t dma_handle; + dma_addr_t dma_handle = DMA_MAPPING_ERROR; int ret; ret = usbfs_increase_memory_usage(size + sizeof(struct usb_memory)); @@ -235,8 +236,8 @@ goto error_decrease_mem; } - mem = usb_alloc_coherent(ps->dev, size, GFP_USER | __GFP_NOWARN, - &dma_handle); + mem = hcd_buffer_alloc_pages(hcd, + size, GFP_USER | __GFP_NOWARN, &dma_handle); if (!mem) { ret = -ENOMEM; goto error_free_usbm; @@ -252,7 +253,14 @@ usbm->vma_use_count = 1; INIT_LIST_HEAD(&usbm->memlist); - if (hcd->localmem_pool || !hcd_uses_dma(hcd)) { + /* + * In DMA-unavailable cases, hcd_buffer_alloc_pages allocates + * normal pages and assigns DMA_MAPPING_ERROR to dma_handle. Check + * whether we are in such cases, and then use remap_pfn_range (or + * dma_mmap_coherent) to map normal (or DMA) pages into the user + * space, respectively. + */ + if (dma_handle == DMA_MAPPING_ERROR) { if (remap_pfn_range(vma, vma->vm_start, virt_to_phys(usbm->mem) >> PAGE_SHIFT, size, vma->vm_page_prot) < 0) { @@ -727,6 +735,7 @@ return 0; } +#ifdef CONFIG_PM /* The following routines apply to the entire device, not interfaces */ void usbfs_notify_suspend(struct usb_device *udev) { @@ -745,6 +754,7 @@ } mutex_unlock(&usbfs_mutex); } +#endif struct usb_driver usbfs_driver = { .name = "usbfs", diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc2/platform.c linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc2/platform.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc2/platform.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc2/platform.c @@ -205,6 +205,11 @@ return ret; } +static void dwc2_reset_control_assert(void *data) +{ + reset_control_assert(data); +} + static int dwc2_lowlevel_hw_init(struct dwc2_hsotg *hsotg) { int i, ret; @@ -217,6 +222,10 @@ } reset_control_deassert(hsotg->reset); + ret = devm_add_action_or_reset(hsotg->dev, dwc2_reset_control_assert, + hsotg->reset); + if (ret) + return ret; hsotg->reset_ecc = devm_reset_control_get_optional(hsotg->dev, "dwc2-ecc"); if (IS_ERR(hsotg->reset_ecc)) { @@ -226,6 +235,10 @@ } reset_control_deassert(hsotg->reset_ecc); + ret = devm_add_action_or_reset(hsotg->dev, dwc2_reset_control_assert, + hsotg->reset_ecc); + if (ret) + return ret; /* * Attempt to find a generic PHY, then look for an old style @@ -352,10 +365,7 @@ if (hsotg->ll_hw_enabled) dwc2_lowlevel_hw_disable(hsotg); - reset_control_assert(hsotg->reset); - reset_control_assert(hsotg->reset_ecc); - - return ret; + return 0; } /** diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-meson-g12a.c linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-meson-g12a.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-meson-g12a.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-meson-g12a.c @@ -805,7 +805,7 @@ ret = dwc3_meson_g12a_otg_init(pdev, priv); if (ret) - goto err_phys_power; + goto err_plat_depopulate; pm_runtime_set_active(dev); pm_runtime_enable(dev); @@ -813,6 +813,9 @@ return 0; +err_plat_depopulate: + of_platform_depopulate(dev); + err_phys_power: for (i = 0 ; i < PHY_COUNT ; ++i) phy_power_off(priv->phys[i]); diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-qcom.c linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-qcom.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-qcom.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/dwc3-qcom.c @@ -727,6 +727,7 @@ struct device *dev = &pdev->dev; struct dwc3_qcom *qcom; struct resource *res, *parent_res = NULL; + struct resource local_res; int ret, i; bool ignore_pipe_clk; @@ -777,9 +778,8 @@ if (np) { parent_res = res; } else { - parent_res = kmemdup(res, sizeof(struct resource), GFP_KERNEL); - if (!parent_res) - return -ENOMEM; + memcpy(&local_res, res, sizeof(struct resource)); + parent_res = &local_res; parent_res->start = res->start + qcom->acpi_pdata->qscratch_base_offset; @@ -791,9 +791,10 @@ if (IS_ERR_OR_NULL(qcom->urs_usb)) { dev_err(dev, "failed to create URS USB platdev\n"); if (!qcom->urs_usb) - return -ENODEV; + ret = -ENODEV; else - return PTR_ERR(qcom->urs_usb); + ret = PTR_ERR(qcom->urs_usb); + goto clk_disable; } } } @@ -873,11 +874,15 @@ static int dwc3_qcom_remove(struct platform_device *pdev) { struct dwc3_qcom *qcom = platform_get_drvdata(pdev); + struct device_node *np = pdev->dev.of_node; struct device *dev = &pdev->dev; int i; device_remove_software_node(&qcom->dwc3->dev); - of_platform_depopulate(dev); + if (np) + of_platform_depopulate(&pdev->dev); + else + platform_device_put(pdev); for (i = qcom->num_clocks - 1; i >= 0; i--) { clk_disable_unprepare(qcom->clks[i]); diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/gadget.c linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/gadget.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/gadget.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/dwc3/gadget.c @@ -180,6 +180,7 @@ list_del(&req->list); req->remaining = 0; req->needs_extra_trb = false; + req->num_trbs = 0; if (req->request.status == -EINPROGRESS) req->request.status = status; @@ -2529,7 +2530,9 @@ ret = pm_runtime_get_sync(dwc->dev); if (!ret || ret < 0) { pm_runtime_put(dwc->dev); - return 0; + if (ret < 0) + pm_runtime_set_suspended(dwc->dev); + return ret; } if (dwc->pullups_connected == is_on) { diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/gadget/function/u_serial.c linux-intel-iotg-5.15-5.15.0/drivers/usb/gadget/function/u_serial.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/gadget/function/u_serial.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/gadget/function/u_serial.c @@ -1419,10 +1419,19 @@ void gserial_suspend(struct gserial *gser) { - struct gs_port *port = gser->ioport; + struct gs_port *port; unsigned long flags; - spin_lock_irqsave(&port->port_lock, flags); + spin_lock_irqsave(&serial_port_lock, flags); + port = gser->ioport; + + if (!port) { + spin_unlock_irqrestore(&serial_port_lock, flags); + return; + } + + spin_lock(&port->port_lock); + spin_unlock(&serial_port_lock); port->suspended = true; spin_unlock_irqrestore(&port->port_lock, flags); } diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-mem.c linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-mem.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-mem.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-mem.c @@ -2128,7 +2128,7 @@ { u32 temp, port_offset, port_count; int i; - u8 major_revision, minor_revision; + u8 major_revision, minor_revision, tmp_minor_revision; struct xhci_hub *rhub; struct device *dev = xhci_to_hcd(xhci)->self.sysdev; struct xhci_port_cap *port_cap; @@ -2148,6 +2148,15 @@ */ if (minor_revision > 0x00 && minor_revision < 0x10) minor_revision <<= 4; + /* + * Some zhaoxin's xHCI controller that follow usb3.1 spec + * but only support Gen1. + */ + if (xhci->quirks & XHCI_ZHAOXIN_HOST) { + tmp_minor_revision = minor_revision; + minor_revision = 0; + } + } else if (major_revision <= 0x02) { rhub = &xhci->usb2_rhub; } else { @@ -2157,10 +2166,6 @@ /* Ignoring port protocol we can't understand. FIXME */ return; } - rhub->maj_rev = XHCI_EXT_PORT_MAJOR(temp); - - if (rhub->min_rev < minor_revision) - rhub->min_rev = minor_revision; /* Port offset and count in the third dword, see section 7.2 */ temp = readl(addr + 2); @@ -2179,8 +2184,6 @@ if (xhci->num_port_caps > max_caps) return; - port_cap->maj_rev = major_revision; - port_cap->min_rev = minor_revision; port_cap->psi_count = XHCI_EXT_PORT_PSIC(temp); if (port_cap->psi_count) { @@ -2201,6 +2204,11 @@ XHCI_EXT_PORT_PSIV(port_cap->psi[i - 1]))) port_cap->psi_uid_count++; + if (xhci->quirks & XHCI_ZHAOXIN_HOST && + major_revision == 0x03 && + XHCI_EXT_PORT_PSIV(port_cap->psi[i]) >= 5) + minor_revision = tmp_minor_revision; + xhci_dbg(xhci, "PSIV:%d PSIE:%d PLT:%d PFD:%d LP:%d PSIM:%d\n", XHCI_EXT_PORT_PSIV(port_cap->psi[i]), XHCI_EXT_PORT_PSIE(port_cap->psi[i]), @@ -2210,6 +2218,15 @@ XHCI_EXT_PORT_PSIM(port_cap->psi[i])); } } + + rhub->maj_rev = major_revision; + + if (rhub->min_rev < minor_revision) + rhub->min_rev = minor_revision; + + port_cap->maj_rev = major_revision; + port_cap->min_rev = minor_revision; + /* cache usb2 port capabilities */ if (major_revision < 0x03 && xhci->num_ext_caps < max_caps) xhci->ext_caps[xhci->num_ext_caps++] = temp; @@ -2454,8 +2471,12 @@ * and our use of dma addresses in the trb_address_map radix tree needs * TRB_SEGMENT_SIZE alignment, so we pick the greater alignment need. */ - xhci->segment_pool = dma_pool_create("xHCI ring segments", dev, - TRB_SEGMENT_SIZE, TRB_SEGMENT_SIZE, xhci->page_size); + if (xhci->quirks & XHCI_ZHAOXIN_TRB_FETCH) + xhci->segment_pool = dma_pool_create("xHCI ring segments", dev, + TRB_SEGMENT_SIZE * 2, TRB_SEGMENT_SIZE * 2, xhci->page_size * 2); + else + xhci->segment_pool = dma_pool_create("xHCI ring segments", dev, + TRB_SEGMENT_SIZE, TRB_SEGMENT_SIZE, xhci->page_size); /* See Table 46 and Note on Figure 55 */ xhci->device_pool = dma_pool_create("xHCI input/output contexts", dev, diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-pci.c linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-pci.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-pci.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci-pci.c @@ -336,6 +336,18 @@ pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4)) xhci->quirks |= XHCI_NO_SOFT_RETRY; + if (pdev->vendor == PCI_VENDOR_ID_ZHAOXIN) { + xhci->quirks |= XHCI_ZHAOXIN_HOST; + + if (pdev->device == 0x9202) { + xhci->quirks |= XHCI_RESET_ON_RESUME; + xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH; + } + + if (pdev->device == 0x9203) + xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH; + } + /* xHC spec requires PCI devices to support D3hot and D3cold */ if (xhci->hci_version >= 0x120) xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW; diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci.h linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci.h --- linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci.h +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/host/xhci.h @@ -1906,6 +1906,8 @@ #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42) #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43) #define XHCI_RESET_TO_DEFAULT BIT_ULL(44) +#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45) +#define XHCI_ZHAOXIN_HOST BIT_ULL(46) unsigned int num_active_eps; unsigned int limit_active_eps; diff -u linux-intel-iotg-5.15-5.15.0/drivers/usb/serial/option.c linux-intel-iotg-5.15-5.15.0/drivers/usb/serial/option.c --- linux-intel-iotg-5.15-5.15.0/drivers/usb/serial/option.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/serial/option.c @@ -248,6 +248,8 @@ #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ #define QUECTEL_PRODUCT_EC21 0x0121 +#define QUECTEL_PRODUCT_EM061K_LTA 0x0123 +#define QUECTEL_PRODUCT_EM061K_LMS 0x0124 #define QUECTEL_PRODUCT_EC25 0x0125 #define QUECTEL_PRODUCT_EG91 0x0191 #define QUECTEL_PRODUCT_EG95 0x0195 @@ -266,6 +268,8 @@ #define QUECTEL_PRODUCT_RM520N 0x0801 #define QUECTEL_PRODUCT_EC200U 0x0901 #define QUECTEL_PRODUCT_EC200S_CN 0x6002 +#define QUECTEL_PRODUCT_EM061K_LWW 0x6008 +#define QUECTEL_PRODUCT_EM061K_LCN 0x6009 #define QUECTEL_PRODUCT_EC200T 0x6026 #define QUECTEL_PRODUCT_RM500K 0x7001 @@ -1147,6 +1151,10 @@ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x90fa), .driver_info = RSVD(3) }, /* u-blox products */ + { USB_DEVICE(UBLOX_VENDOR_ID, 0x1311) }, /* u-blox LARA-R6 01B */ + { USB_DEVICE(UBLOX_VENDOR_ID, 0x1312), /* u-blox LARA-R6 01B (RMNET) */ + .driver_info = RSVD(4) }, + { USB_DEVICE_INTERFACE_CLASS(UBLOX_VENDOR_ID, 0x1313, 0xff) }, /* u-blox LARA-R6 01B (ECM) */ { USB_DEVICE(UBLOX_VENDOR_ID, 0x1341) }, /* u-blox LARA-L6 */ { USB_DEVICE(UBLOX_VENDOR_ID, 0x1342), /* u-blox LARA-L6 (RMNET) */ .driver_info = RSVD(4) }, @@ -1189,6 +1197,18 @@ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0x00, 0x40) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x30) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0xff, 0x40) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff), .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) }, diff -u linux-intel-iotg-5.15-5.15.0/drivers/vdpa/vdpa_user/vduse_dev.c linux-intel-iotg-5.15-5.15.0/drivers/vdpa/vdpa_user/vduse_dev.c --- linux-intel-iotg-5.15-5.15.0/drivers/vdpa/vdpa_user/vduse_dev.c +++ linux-intel-iotg-5.15-5.15.0/drivers/vdpa/vdpa_user/vduse_dev.c @@ -1254,6 +1254,9 @@ if (config->vq_num > 0xffff) return false; + if (!config->name[0]) + return false; + if (!device_is_allowed(config->device_id)) return false; diff -u linux-intel-iotg-5.15-5.15.0/drivers/vhost/net.c linux-intel-iotg-5.15-5.15.0/drivers/vhost/net.c --- linux-intel-iotg-5.15-5.15.0/drivers/vhost/net.c +++ linux-intel-iotg-5.15-5.15.0/drivers/vhost/net.c @@ -933,13 +933,18 @@ err = sock->ops->sendmsg(sock, &msg, len); if (unlikely(err < 0)) { + bool retry = err == -EAGAIN || err == -ENOMEM || err == -ENOBUFS; + if (zcopy_used) { if (vq->heads[ubuf->desc].len == VHOST_DMA_IN_PROGRESS) vhost_net_ubuf_put(ubufs); - nvq->upend_idx = ((unsigned)nvq->upend_idx - 1) - % UIO_MAXIOV; + if (retry) + nvq->upend_idx = ((unsigned)nvq->upend_idx - 1) + % UIO_MAXIOV; + else + vq->heads[ubuf->desc].len = VHOST_DMA_DONE_LEN; } - if (err == -EAGAIN || err == -ENOMEM || err == -ENOBUFS) { + if (retry) { vhost_discard_vq_desc(vq, 1); vhost_net_enable_vq(net, vq); break; diff -u linux-intel-iotg-5.15-5.15.0/drivers/vhost/vdpa.c linux-intel-iotg-5.15-5.15.0/drivers/vhost/vdpa.c --- linux-intel-iotg-5.15-5.15.0/drivers/vhost/vdpa.c +++ linux-intel-iotg-5.15-5.15.0/drivers/vhost/vdpa.c @@ -392,7 +392,14 @@ if (r) return r; - vq->last_avail_idx = vq_state.split.avail_index; + if (vhost_has_feature(vq, VIRTIO_F_RING_PACKED)) { + vq->last_avail_idx = vq_state.packed.last_avail_idx | + (vq_state.packed.last_avail_counter << 15); + vq->last_used_idx = vq_state.packed.last_used_idx | + (vq_state.packed.last_used_counter << 15); + } else { + vq->last_avail_idx = vq_state.split.avail_index; + } break; } @@ -410,9 +417,15 @@ break; case VHOST_SET_VRING_BASE: - vq_state.split.avail_index = vq->last_avail_idx; - if (ops->set_vq_state(vdpa, idx, &vq_state)) - r = -EINVAL; + if (vhost_has_feature(vq, VIRTIO_F_RING_PACKED)) { + vq_state.packed.last_avail_idx = vq->last_avail_idx & 0x7fff; + vq_state.packed.last_avail_counter = !!(vq->last_avail_idx & 0x8000); + vq_state.packed.last_used_idx = vq->last_used_idx & 0x7fff; + vq_state.packed.last_used_counter = !!(vq->last_used_idx & 0x8000); + } else { + vq_state.split.avail_index = vq->last_avail_idx; + } + r = ops->set_vq_state(vdpa, idx, &vq_state); break; case VHOST_SET_VRING_CALL: diff -u linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.c linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.c --- linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.c +++ linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.c @@ -1628,17 +1628,25 @@ r = -EFAULT; break; } - if (s.num > 0xffff) { - r = -EINVAL; - break; + if (vhost_has_feature(vq, VIRTIO_F_RING_PACKED)) { + vq->last_avail_idx = s.num & 0xffff; + vq->last_used_idx = (s.num >> 16) & 0xffff; + } else { + if (s.num > 0xffff) { + r = -EINVAL; + break; + } + vq->last_avail_idx = s.num; } - vq->last_avail_idx = s.num; /* Forget the cached index value. */ vq->avail_idx = vq->last_avail_idx; break; case VHOST_GET_VRING_BASE: s.index = idx; - s.num = vq->last_avail_idx; + if (vhost_has_feature(vq, VIRTIO_F_RING_PACKED)) + s.num = (u32)vq->last_avail_idx | ((u32)vq->last_used_idx << 16); + else + s.num = vq->last_avail_idx; if (copy_to_user(argp, &s, sizeof s)) r = -EFAULT; break; diff -u linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.h linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.h --- linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.h +++ linux-intel-iotg-5.15-5.15.0/drivers/vhost/vhost.h @@ -86,13 +86,17 @@ /* The routine to call when the Guest pings us, or timeout. */ vhost_work_fn_t handle_kick; - /* Last available index we saw. */ + /* Last available index we saw. + * Values are limited to 0x7fff, and the high bit is used as + * a wrap counter when using VIRTIO_F_RING_PACKED. */ u16 last_avail_idx; /* Caches available index value from user. */ u16 avail_idx; - /* Last index we used. */ + /* Last index we used. + * Values are limited to 0x7fff, and the high bit is used as + * a wrap counter when using VIRTIO_F_RING_PACKED. */ u16 last_used_idx; /* Used flags */ diff -u linux-intel-iotg-5.15-5.15.0/drivers/w1/slaves/w1_therm.c linux-intel-iotg-5.15-5.15.0/drivers/w1/slaves/w1_therm.c --- linux-intel-iotg-5.15-5.15.0/drivers/w1/slaves/w1_therm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/w1/slaves/w1_therm.c @@ -1093,29 +1093,26 @@ w1_write_8(dev_master, W1_CONVERT_TEMP); - if (strong_pullup) { /*some device need pullup */ + if (SLAVE_FEATURES(sl) & W1_THERM_POLL_COMPLETION) { + ret = w1_poll_completion(dev_master, W1_POLL_CONVERT_TEMP); + if (ret) { + dev_dbg(&sl->dev, "%s: Timeout\n", __func__); + goto mt_unlock; + } + mutex_unlock(&dev_master->bus_mutex); + } else if (!strong_pullup) { /*no device need pullup */ sleep_rem = msleep_interruptible(t_conv); if (sleep_rem != 0) { ret = -EINTR; goto mt_unlock; } mutex_unlock(&dev_master->bus_mutex); - } else { /*no device need pullup */ - if (SLAVE_FEATURES(sl) & W1_THERM_POLL_COMPLETION) { - ret = w1_poll_completion(dev_master, W1_POLL_CONVERT_TEMP); - if (ret) { - dev_dbg(&sl->dev, "%s: Timeout\n", __func__); - goto mt_unlock; - } - mutex_unlock(&dev_master->bus_mutex); - } else { - /* Fixed delay */ - mutex_unlock(&dev_master->bus_mutex); - sleep_rem = msleep_interruptible(t_conv); - if (sleep_rem != 0) { - ret = -EINTR; - goto dec_refcnt; - } + } else { /*some device need pullup */ + mutex_unlock(&dev_master->bus_mutex); + sleep_rem = msleep_interruptible(t_conv); + if (sleep_rem != 0) { + ret = -EINTR; + goto dec_refcnt; } } ret = read_scratchpad(sl, info); diff -u linux-intel-iotg-5.15-5.15.0/drivers/w1/w1.c linux-intel-iotg-5.15-5.15.0/drivers/w1/w1.c --- linux-intel-iotg-5.15-5.15.0/drivers/w1/w1.c +++ linux-intel-iotg-5.15-5.15.0/drivers/w1/w1.c @@ -1263,10 +1263,10 @@ static void __exit w1_fini(void) { - struct w1_master *dev; + struct w1_master *dev, *n; /* Set netlink removal messages and some cleanup */ - list_for_each_entry(dev, &w1_masters, w1_master_entry) + list_for_each_entry_safe(dev, n, &w1_masters, w1_master_entry) __w1_remove_master_device(dev); w1_fini_netlink(); diff -u linux-intel-iotg-5.15-5.15.0/fs/afs/dir.c linux-intel-iotg-5.15-5.15.0/fs/afs/dir.c --- linux-intel-iotg-5.15-5.15.0/fs/afs/dir.c +++ linux-intel-iotg-5.15-5.15.0/fs/afs/dir.c @@ -1394,6 +1394,7 @@ op->dentry = dentry; op->create.mode = S_IFDIR | mode; op->create.reason = afs_edit_dir_for_mkdir; + op->mtime = current_time(dir); op->ops = &afs_mkdir_operation; return afs_do_sync_operation(op); } @@ -1697,6 +1698,7 @@ op->dentry = dentry; op->create.mode = S_IFREG | mode; op->create.reason = afs_edit_dir_for_create; + op->mtime = current_time(dir); op->ops = &afs_create_operation; return afs_do_sync_operation(op); @@ -1832,6 +1834,7 @@ op->ops = &afs_symlink_operation; op->create.reason = afs_edit_dir_for_symlink; op->create.symlink = content; + op->mtime = current_time(dir); return afs_do_sync_operation(op); error: diff -u linux-intel-iotg-5.15-5.15.0/fs/btrfs/block-group.c linux-intel-iotg-5.15-5.15.0/fs/btrfs/block-group.c --- linux-intel-iotg-5.15-5.15.0/fs/btrfs/block-group.c +++ linux-intel-iotg-5.15-5.15.0/fs/btrfs/block-group.c @@ -78,14 +78,21 @@ } allowed &= flags; - if (allowed & BTRFS_BLOCK_GROUP_RAID6) + /* Select the highest-redundancy RAID level. */ + if (allowed & BTRFS_BLOCK_GROUP_RAID1C4) + allowed = BTRFS_BLOCK_GROUP_RAID1C4; + else if (allowed & BTRFS_BLOCK_GROUP_RAID6) allowed = BTRFS_BLOCK_GROUP_RAID6; + else if (allowed & BTRFS_BLOCK_GROUP_RAID1C3) + allowed = BTRFS_BLOCK_GROUP_RAID1C3; else if (allowed & BTRFS_BLOCK_GROUP_RAID5) allowed = BTRFS_BLOCK_GROUP_RAID5; else if (allowed & BTRFS_BLOCK_GROUP_RAID10) allowed = BTRFS_BLOCK_GROUP_RAID10; else if (allowed & BTRFS_BLOCK_GROUP_RAID1) allowed = BTRFS_BLOCK_GROUP_RAID1; + else if (allowed & BTRFS_BLOCK_GROUP_DUP) + allowed = BTRFS_BLOCK_GROUP_DUP; else if (allowed & BTRFS_BLOCK_GROUP_RAID0) allowed = BTRFS_BLOCK_GROUP_RAID0; @@ -1534,8 +1541,15 @@ } spin_unlock(&bg->lock); - /* Get out fast, in case we're unmounting the filesystem */ - if (btrfs_fs_closing(fs_info)) { + /* + * Get out fast, in case we're read-only or unmounting the + * filesystem. It is OK to drop block groups from the list even + * for the read-only case. As we did sb_start_write(), + * "mount -o remount,ro" won't happen and read-only filesystem + * means it is forced read-only due to a fatal error. So, it + * never gets back to read-write to let us reclaim again. + */ + if (btrfs_need_cleaner_sleep(fs_info)) { up_write(&space_info->groups_sem); goto next; } @@ -1566,11 +1580,27 @@ } next: + if (ret) + btrfs_mark_bg_to_reclaim(bg); btrfs_put_block_group(bg); + + mutex_unlock(&fs_info->reclaim_bgs_lock); + /* + * Reclaiming all the block groups in the list can take really + * long. Prioritize cleaning up unused block groups. + */ + btrfs_delete_unused_bgs(fs_info); + /* + * If we are interrupted by a balance, we can just bail out. The + * cleaner thread restart again if necessary. + */ + if (!mutex_trylock(&fs_info->reclaim_bgs_lock)) + goto end; spin_lock(&fs_info->unused_bgs_lock); } spin_unlock(&fs_info->unused_bgs_lock); mutex_unlock(&fs_info->reclaim_bgs_lock); +end: btrfs_exclop_finish(fs_info); sb_end_write(fs_info->sb); } @@ -2576,10 +2606,20 @@ } ret = inc_block_group_ro(cache, 0); - if (!do_chunk_alloc || ret == -ETXTBSY) - goto unlock_out; if (!ret) goto out; + if (ret == -ETXTBSY) + goto unlock_out; + + /* + * Skip chunk alloction if the bg is SYSTEM, this is to avoid system + * chunk allocation storm to exhaust the system chunk array. Otherwise + * we still want to try our best to mark the block group read-only. + */ + if (!do_chunk_alloc && ret == -ENOSPC && + (cache->flags & BTRFS_BLOCK_GROUP_SYSTEM)) + goto unlock_out; + alloc_flags = btrfs_get_alloc_profile(fs_info, cache->space_info->flags); ret = btrfs_chunk_alloc(trans, alloc_flags, CHUNK_ALLOC_FORCE); if (ret < 0) diff -u linux-intel-iotg-5.15-5.15.0/fs/btrfs/ctree.c linux-intel-iotg-5.15-5.15.0/fs/btrfs/ctree.c --- linux-intel-iotg-5.15-5.15.0/fs/btrfs/ctree.c +++ linux-intel-iotg-5.15-5.15.0/fs/btrfs/ctree.c @@ -457,9 +457,14 @@ btrfs_header_backref_rev(buf) < BTRFS_MIXED_BACKREF_REV) parent_start = buf->start; - atomic_inc(&cow->refs); ret = btrfs_tree_mod_log_insert_root(root->node, cow, true); - BUG_ON(ret < 0); + if (ret < 0) { + btrfs_tree_unlock(cow); + free_extent_buffer(cow); + btrfs_abort_transaction(trans, ret); + return ret; + } + atomic_inc(&cow->refs); rcu_assign_pointer(root->node, cow); btrfs_free_tree_block(trans, btrfs_root_id(root), buf, @@ -912,7 +917,12 @@ } ret = btrfs_tree_mod_log_insert_root(root->node, child, true); - BUG_ON(ret < 0); + if (ret < 0) { + btrfs_tree_unlock(child); + free_extent_buffer(child); + btrfs_abort_transaction(trans, ret); + goto enospc; + } rcu_assign_pointer(root->node, child); add_root_to_dirty_list(root); @@ -994,7 +1004,10 @@ btrfs_node_key(right, &right_key, 0); ret = btrfs_tree_mod_log_insert_key(parent, pslot + 1, BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS); - BUG_ON(ret < 0); + if (ret < 0) { + btrfs_abort_transaction(trans, ret); + goto enospc; + } btrfs_set_node_key(parent, &right_key, pslot + 1); btrfs_mark_buffer_dirty(parent); } @@ -1040,7 +1053,10 @@ btrfs_node_key(mid, &mid_key, 0); ret = btrfs_tree_mod_log_insert_key(parent, pslot, BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS); - BUG_ON(ret < 0); + if (ret < 0) { + btrfs_abort_transaction(trans, ret); + goto enospc; + } btrfs_set_node_key(parent, &mid_key, pslot); btrfs_mark_buffer_dirty(parent); } @@ -2626,6 +2642,8 @@ ret = btrfs_tree_mod_log_eb_copy(split, c, 0, mid, c_nritems - mid); if (ret) { + btrfs_tree_unlock(split); + free_extent_buffer(split); btrfs_abort_transaction(trans, ret); return ret; } diff -u linux-intel-iotg-5.15-5.15.0/fs/btrfs/file-item.c linux-intel-iotg-5.15-5.15.0/fs/btrfs/file-item.c --- linux-intel-iotg-5.15-5.15.0/fs/btrfs/file-item.c +++ linux-intel-iotg-5.15-5.15.0/fs/btrfs/file-item.c @@ -700,7 +700,9 @@ sums = kvzalloc(btrfs_ordered_sum_size(fs_info, bytes_left), GFP_KERNEL); memalloc_nofs_restore(nofs_flag); - BUG_ON(!sums); /* -ENOMEM */ + if (!sums) + return BLK_STS_RESOURCE; + sums->len = bytes_left; ordered = btrfs_lookup_ordered_extent(inode, offset); diff -u linux-intel-iotg-5.15-5.15.0/fs/btrfs/qgroup.c linux-intel-iotg-5.15-5.15.0/fs/btrfs/qgroup.c --- linux-intel-iotg-5.15-5.15.0/fs/btrfs/qgroup.c +++ linux-intel-iotg-5.15-5.15.0/fs/btrfs/qgroup.c @@ -1269,7 +1269,9 @@ goto out; } + spin_lock(&fs_info->trans_lock); list_del("a_root->dirty_list); + spin_unlock(&fs_info->trans_lock); btrfs_tree_lock(quota_root->node); btrfs_clean_tree_block(quota_root->node); diff -u linux-intel-iotg-5.15-5.15.0/fs/btrfs/scrub.c linux-intel-iotg-5.15-5.15.0/fs/btrfs/scrub.c --- linux-intel-iotg-5.15-5.15.0/fs/btrfs/scrub.c +++ linux-intel-iotg-5.15-5.15.0/fs/btrfs/scrub.c @@ -3812,13 +3812,20 @@ if (ret == 0) { ro_set = 1; - } else if (ret == -ENOSPC && !sctx->is_dev_replace) { + } else if (ret == -ENOSPC && !sctx->is_dev_replace && + !(cache->flags & BTRFS_BLOCK_GROUP_RAID56_MASK)) { /* * btrfs_inc_block_group_ro return -ENOSPC when it * failed in creating new chunk for metadata. * It is not a problem for scrub, because * metadata are always cowed, and our scrub paused * commit_transactions. + * + * For RAID56 chunks, we have to mark them read-only + * for scrub, as later we would use our own cache + * out of RAID56 realm. + * Thus we want the RAID56 bg to be marked RO to + * prevent RMW from screwing up out cache. */ ro_set = 0; } else if (ret == -ETXTBSY) { diff -u linux-intel-iotg-5.15-5.15.0/fs/ceph/caps.c linux-intel-iotg-5.15-5.15.0/fs/ceph/caps.c --- linux-intel-iotg-5.15-5.15.0/fs/ceph/caps.c +++ linux-intel-iotg-5.15-5.15.0/fs/ceph/caps.c @@ -1624,6 +1624,7 @@ struct inode *inode = &ci->vfs_inode; struct ceph_mds_client *mdsc = ceph_inode_to_client(inode)->mdsc; struct ceph_mds_session *session = NULL; + bool need_put = false; int mds; dout("ceph_flush_snaps %p\n", inode); @@ -1668,8 +1669,13 @@ ceph_put_mds_session(session); /* we flushed them all; remove this inode from the queue */ spin_lock(&mdsc->snap_flush_lock); + if (!list_empty(&ci->i_snap_flush_item)) + need_put = true; list_del_init(&ci->i_snap_flush_item); spin_unlock(&mdsc->snap_flush_lock); + + if (need_put) + iput(inode); } /* @@ -3511,6 +3517,15 @@ } BUG_ON(cap->issued & ~cap->implemented); + /* don't let check_caps skip sending a response to MDS for revoke msgs */ + if (le32_to_cpu(grant->op) == CEPH_CAP_OP_REVOKE) { + cap->mds_wanted = 0; + if (cap == ci->i_auth_cap) + check_caps = 1; /* check auth cap only */ + else + check_caps = 2; /* check all caps */ + } + if (extra_info->inline_version > 0 && extra_info->inline_version >= ci->i_inline_version) { ci->i_inline_version = extra_info->inline_version; diff -u linux-intel-iotg-5.15-5.15.0/fs/ceph/snap.c linux-intel-iotg-5.15-5.15.0/fs/ceph/snap.c --- linux-intel-iotg-5.15-5.15.0/fs/ceph/snap.c +++ linux-intel-iotg-5.15-5.15.0/fs/ceph/snap.c @@ -657,8 +657,10 @@ capsnap->size); spin_lock(&mdsc->snap_flush_lock); - if (list_empty(&ci->i_snap_flush_item)) + if (list_empty(&ci->i_snap_flush_item)) { + ihold(inode); list_add_tail(&ci->i_snap_flush_item, &mdsc->snap_flush_list); + } spin_unlock(&mdsc->snap_flush_lock); return 1; /* caller may want to ceph_flush_snaps */ } diff -u linux-intel-iotg-5.15-5.15.0/fs/cifs/file.c linux-intel-iotg-5.15-5.15.0/fs/cifs/file.c --- linux-intel-iotg-5.15-5.15.0/fs/cifs/file.c +++ linux-intel-iotg-5.15-5.15.0/fs/cifs/file.c @@ -4923,16 +4923,19 @@ _cifsFileInfo_put(cfile, false /* do not wait for ourself */, false); /* - * releasing stale oplock after recent reconnect of smb session using - * a now incorrect file handle is not a data integrity issue but do - * not bother sending an oplock release if session to server still is - * disconnected since oplock already released by the server + * MS-SMB2 3.2.5.19.1 and 3.2.5.19.2 (and MS-CIFS 3.2.5.42) do not require + * an acknowledgment to be sent when the file has already been closed. + * check for server null, since can race with kill_sb calling tree disconnect. */ - if (!oplock_break_cancelled) { + spin_lock(&cinode->open_file_lock); + if (tcon->ses && tcon->ses->server && !oplock_break_cancelled && + !list_empty(&cinode->openFileList)) { + spin_unlock(&cinode->open_file_lock); rc = tcon->ses->server->ops->oplock_response(tcon, persistent_fid, - volatile_fid, net_fid, cinode); + volatile_fid, net_fid, cinode); cifs_dbg(FYI, "Oplock release rc = %d\n", rc); - } + } else + spin_unlock(&cinode->open_file_lock); cifs_done_oplock_break(cinode); } diff -u linux-intel-iotg-5.15-5.15.0/fs/dlm/plock.c linux-intel-iotg-5.15-5.15.0/fs/dlm/plock.c --- linux-intel-iotg-5.15-5.15.0/fs/dlm/plock.c +++ linux-intel-iotg-5.15-5.15.0/fs/dlm/plock.c @@ -363,7 +363,9 @@ locks_init_lock(fl); fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK; fl->fl_flags = FL_POSIX; - fl->fl_pid = -op->info.pid; + fl->fl_pid = op->info.pid; + if (op->info.nodeid != dlm_our_nodeid()) + fl->fl_pid = -fl->fl_pid; fl->fl_start = op->info.start; fl->fl_end = op->info.end; rv = 0; diff -u linux-intel-iotg-5.15-5.15.0/fs/erofs/inode.c linux-intel-iotg-5.15-5.15.0/fs/erofs/inode.c --- linux-intel-iotg-5.15-5.15.0/fs/erofs/inode.c +++ linux-intel-iotg-5.15-5.15.0/fs/erofs/inode.c @@ -192,8 +192,9 @@ inode->i_atime.tv_nsec = inode->i_ctime.tv_nsec; inode->i_flags &= ~S_DAX; - if (test_opt(&sbi->ctx, DAX_ALWAYS) && S_ISREG(inode->i_mode) && - vi->datalayout == EROFS_INODE_FLAT_PLAIN) + if (test_opt(&sbi->opt, DAX_ALWAYS) && S_ISREG(inode->i_mode) && + (vi->datalayout == EROFS_INODE_FLAT_PLAIN || + vi->datalayout == EROFS_INODE_CHUNK_BASED)) inode->i_flags |= S_DAX; if (!nblks) /* measure inode.i_blocks as generic filesystems */ diff -u linux-intel-iotg-5.15-5.15.0/fs/erofs/internal.h linux-intel-iotg-5.15-5.15.0/fs/erofs/internal.h --- linux-intel-iotg-5.15-5.15.0/fs/erofs/internal.h +++ linux-intel-iotg-5.15-5.15.0/fs/erofs/internal.h @@ -47,7 +47,7 @@ /* data type for filesystem-wide blocks number */ typedef u32 erofs_blk_t; -struct erofs_fs_context { +struct erofs_mount_opts { #ifdef CONFIG_EROFS_FS_ZIP /* current strategy of how to use managed cache */ unsigned char cache_strategy; @@ -60,6 +60,10 @@ unsigned int mount_opt; }; +struct erofs_fs_context { + struct erofs_mount_opts opt; +}; + /* all filesystem-wide lz4 configurations */ struct erofs_sb_lz4_info { /* # of pages needed for EROFS lz4 rolling decompression */ @@ -69,6 +73,8 @@ }; struct erofs_sb_info { + struct erofs_mount_opts opt; /* options */ + #ifdef CONFIG_EROFS_FS_ZIP /* list for all registered superblocks, mainly for shrinker */ struct list_head list; @@ -108,8 +114,6 @@ u8 volume_name[16]; /* volume name */ u32 feature_compat; u32 feature_incompat; - - struct erofs_fs_context ctx; /* options */ }; #define EROFS_SB(sb) ((struct erofs_sb_info *)(sb)->s_fs_info) @@ -121,9 +125,9 @@ #define EROFS_MOUNT_DAX_ALWAYS 0x00000040 #define EROFS_MOUNT_DAX_NEVER 0x00000080 -#define clear_opt(ctx, option) ((ctx)->mount_opt &= ~EROFS_MOUNT_##option) -#define set_opt(ctx, option) ((ctx)->mount_opt |= EROFS_MOUNT_##option) -#define test_opt(ctx, option) ((ctx)->mount_opt & EROFS_MOUNT_##option) +#define clear_opt(opt, option) ((opt)->mount_opt &= ~EROFS_MOUNT_##option) +#define set_opt(opt, option) ((opt)->mount_opt |= EROFS_MOUNT_##option) +#define test_opt(opt, option) ((opt)->mount_opt & EROFS_MOUNT_##option) enum { EROFS_ZIP_CACHE_DISABLED, diff -u linux-intel-iotg-5.15-5.15.0/fs/erofs/zdata.c linux-intel-iotg-5.15-5.15.0/fs/erofs/zdata.c --- linux-intel-iotg-5.15-5.15.0/fs/erofs/zdata.c +++ linux-intel-iotg-5.15-5.15.0/fs/erofs/zdata.c @@ -695,7 +695,7 @@ goto err_out; /* preload all compressed pages (maybe downgrade role if necessary) */ - if (should_alloc_managed_pages(fe, sbi->ctx.cache_strategy, map->m_la)) + if (should_alloc_managed_pages(fe, sbi->opt.cache_strategy, map->m_la)) cache_strategy = TRYALLOC; else cache_strategy = DONTALLOC; @@ -713,7 +713,7 @@ tight &= (clt->mode >= COLLECT_PRIMARY_HOOKED && clt->mode != COLLECT_PRIMARY_FOLLOWED_NOINPLACE); - cur = end - min_t(unsigned int, offset + end - map->m_la, end); + cur = end - min_t(erofs_off_t, offset + end - map->m_la, end); if (!(map->m_flags & EROFS_MAP_MAPPED)) { zero_user_segment(page, cur, end); goto next_part; @@ -797,7 +797,7 @@ /* Use workqueue and sync decompression for atomic contexts only */ if (in_atomic() || irqs_disabled()) { queue_work(z_erofs_workqueue, &io->u.work); - sbi->ctx.readahead_sync_decompress = true; + sbi->opt.readahead_sync_decompress = true; return; } z_erofs_decompressqueue_work(&io->u.work); @@ -1412,8 +1412,8 @@ struct erofs_sb_info *const sbi = EROFS_I_SB(inode); unsigned int nr_pages = readahead_count(rac); - bool sync = (sbi->ctx.readahead_sync_decompress && - nr_pages <= sbi->ctx.max_sync_decompress_pages); + bool sync = (sbi->opt.readahead_sync_decompress && + nr_pages <= sbi->opt.max_sync_decompress_pages); struct z_erofs_decompress_frontend f = DECOMPRESS_FRONTEND_INIT(inode); struct page *page, *head = NULL; LIST_HEAD(pagepool); diff -u linux-intel-iotg-5.15-5.15.0/fs/erofs/zmap.c linux-intel-iotg-5.15-5.15.0/fs/erofs/zmap.c --- linux-intel-iotg-5.15-5.15.0/fs/erofs/zmap.c +++ linux-intel-iotg-5.15-5.15.0/fs/erofs/zmap.c @@ -253,7 +253,7 @@ u8 *in, type; bool big_pcluster; - if (1 << amortizedshift == 4) + if (1 << amortizedshift == 4 && lclusterbits <= 14) vcnt = 2; else if (1 << amortizedshift == 2 && lclusterbits == 12) vcnt = 16; @@ -351,7 +351,6 @@ { struct inode *const inode = m->inode; struct erofs_inode *const vi = EROFS_I(inode); - const unsigned int lclusterbits = vi->z_logical_clusterbits; const erofs_off_t ebase = ALIGN(iloc(EROFS_I_SB(inode), vi->nid) + vi->inode_isize + vi->xattr_isize, 8) + sizeof(struct z_erofs_map_header); @@ -361,9 +360,6 @@ erofs_off_t pos; int err; - if (lclusterbits != 12) - return -EOPNOTSUPP; - if (lcn >= totalidx) return -EINVAL; diff -u linux-intel-iotg-5.15-5.15.0/fs/eventpoll.c linux-intel-iotg-5.15-5.15.0/fs/eventpoll.c --- linux-intel-iotg-5.15-5.15.0/fs/eventpoll.c +++ linux-intel-iotg-5.15-5.15.0/fs/eventpoll.c @@ -1753,7 +1753,11 @@ { int ret = default_wake_function(wq_entry, mode, sync, key); - list_del_init(&wq_entry->entry); + /* + * Pairs with list_empty_careful in ep_poll, and ensures future loop + * iterations see the cause of this wakeup. + */ + list_del_init_careful(&wq_entry->entry); return ret; } diff -u linux-intel-iotg-5.15-5.15.0/fs/exfat/dir.c linux-intel-iotg-5.15-5.15.0/fs/exfat/dir.c --- linux-intel-iotg-5.15-5.15.0/fs/exfat/dir.c +++ linux-intel-iotg-5.15-5.15.0/fs/exfat/dir.c @@ -34,6 +34,7 @@ { int i; struct exfat_entry_set_cache *es; + unsigned int uni_len = 0, len; es = exfat_get_dentry_set(sb, p_dir, entry, ES_ALL_ENTRIES); if (!es) @@ -52,7 +53,10 @@ if (exfat_get_entry_type(ep) != TYPE_EXTEND) break; - exfat_extract_uni_name(ep, uniname); + len = exfat_extract_uni_name(ep, uniname); + uni_len += len; + if (len != EXFAT_FILE_NAME_LEN || uni_len >= MAX_NAME_LENGTH) + break; uniname += EXFAT_FILE_NAME_LEN; } @@ -1035,7 +1039,8 @@ if (entry_type == TYPE_EXTEND) { unsigned short entry_uniname[16], unichar; - if (step != DIRENT_STEP_NAME) { + if (step != DIRENT_STEP_NAME || + name_len >= MAX_NAME_LENGTH) { step = DIRENT_STEP_FILE; continue; } diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/balloc.c linux-intel-iotg-5.15-5.15.0/fs/ext4/balloc.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/balloc.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/balloc.c @@ -322,17 +322,15 @@ struct ext4_group_info *ext4_get_group_info(struct super_block *sb, ext4_group_t group) { - struct ext4_group_info **grp_info; - long indexv, indexh; + struct ext4_group_info **grp_info; + long indexv, indexh; - if (unlikely(group >= EXT4_SB(sb)->s_groups_count)) { - ext4_error(sb, "invalid group %u", group); - return NULL; - } - indexv = group >> (EXT4_DESC_PER_BLOCK_BITS(sb)); - indexh = group & ((EXT4_DESC_PER_BLOCK(sb)) - 1); - grp_info = sbi_array_rcu_deref(EXT4_SB(sb), s_group_info, indexv); - return grp_info[indexh]; + if (unlikely(group >= EXT4_SB(sb)->s_groups_count)) + return NULL; + indexv = group >> (EXT4_DESC_PER_BLOCK_BITS(sb)); + indexh = group & ((EXT4_DESC_PER_BLOCK(sb)) - 1); + grp_info = sbi_array_rcu_deref(EXT4_SB(sb), s_group_info, indexv); + return grp_info[indexh]; } /* diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/indirect.c linux-intel-iotg-5.15-5.15.0/fs/ext4/indirect.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/indirect.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/indirect.c @@ -651,6 +651,14 @@ ext4_update_inode_fsync_trans(handle, inode, 1); count = ar.len; + + /* + * Update reserved blocks/metadata blocks after successful block + * allocation which had been deferred till now. + */ + if (flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE) + ext4_da_update_reserve_space(inode, count, 1); + got_it: map->m_flags |= EXT4_MAP_MAPPED; map->m_pblk = le32_to_cpu(chain[depth-1].key); diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/inode.c linux-intel-iotg-5.15-5.15.0/fs/ext4/inode.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/inode.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/inode.c @@ -654,16 +654,6 @@ */ ext4_clear_inode_state(inode, EXT4_STATE_EXT_MIGRATE); } - - /* - * Update reserved blocks/metadata blocks after successful - * block allocation which had been deferred till now. We don't - * support fallocate for non extent files. So we can update - * reserve space here. - */ - if ((retval > 0) && - (flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE)) - ext4_da_update_reserve_space(inode, retval, 1); } if (retval > 0) { diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/ioctl.c linux-intel-iotg-5.15-5.15.0/fs/ext4/ioctl.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/ioctl.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/ioctl.c @@ -559,6 +559,7 @@ { struct ext4_sb_info *sbi = EXT4_SB(sb); __u32 flags; + int ret; if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -577,7 +578,9 @@ switch (flags) { case EXT4_GOING_FLAGS_DEFAULT: - freeze_bdev(sb->s_bdev); + ret = freeze_bdev(sb->s_bdev); + if (ret) + return ret; set_bit(EXT4_FLAGS_SHUTDOWN, &sbi->s_ext4_flags); thaw_bdev(sb->s_bdev); break; diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/mballoc.c linux-intel-iotg-5.15-5.15.0/fs/ext4/mballoc.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/mballoc.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/mballoc.c @@ -6086,8 +6086,8 @@ * them with group lock_held */ if (test_opt(sb, DISCARD)) { - err = ext4_issue_discard(sb, block_group, bit, count, - NULL); + err = ext4_issue_discard(sb, block_group, bit, + count_clusters, NULL); if (err && err != -EOPNOTSUPP) ext4_msg(sb, KERN_WARNING, "discard request in" " group:%u block:%d count:%lu failed" @@ -6171,12 +6171,6 @@ sbi = EXT4_SB(sb); - if (sbi->s_mount_state & EXT4_FC_REPLAY) { - ext4_free_blocks_simple(inode, block, count); - return; - } - - might_sleep(); if (bh) { if (block) BUG_ON(block != bh->b_blocknr); @@ -6184,6 +6178,13 @@ block = bh->b_blocknr; } + if (sbi->s_mount_state & EXT4_FC_REPLAY) { + ext4_free_blocks_simple(inode, block, EXT4_NUM_B2C(sbi, count)); + return; + } + + might_sleep(); + if (!(flags & EXT4_FREE_BLOCKS_VALIDATED) && !ext4_inode_block_valid(inode, block, count)) { ext4_error(sb, "Freeing blocks not in datazone - " diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/namei.c linux-intel-iotg-5.15-5.15.0/fs/ext4/namei.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/namei.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/namei.c @@ -3848,19 +3848,10 @@ return retval; } - /* - * We need to protect against old.inode directory getting converted - * from inline directory format into a normal one. - */ - if (S_ISDIR(old.inode->i_mode)) - inode_lock_nested(old.inode, I_MUTEX_NONDIR2); - old.bh = ext4_find_entry(old.dir, &old.dentry->d_name, &old.de, &old.inlined); - if (IS_ERR(old.bh)) { - retval = PTR_ERR(old.bh); - goto unlock_moved_dir; - } + if (IS_ERR(old.bh)) + return PTR_ERR(old.bh); /* * Check for inode number is _not_ due to possible IO errors. @@ -4050,10 +4041,6 @@ brelse(old.bh); brelse(new.bh); -unlock_moved_dir: - if (S_ISDIR(old.inode->i_mode)) - inode_unlock(old.inode); - return retval; } diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/super.c linux-intel-iotg-5.15-5.15.0/fs/ext4/super.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/super.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/super.c @@ -1097,6 +1097,12 @@ struct block_device *bdev; bdev = sbi->s_journal_bdev; if (bdev) { + /* + * Invalidate the journal device's buffers. We don't want them + * floating about in memory - the physical journal device may + * hotswapped, and it breaks the `ro-after' testing code. + */ + invalidate_bdev(bdev); ext4_blkdev_put(bdev); sbi->s_journal_bdev = NULL; } @@ -1239,13 +1245,7 @@ sync_blockdev(sb->s_bdev); invalidate_bdev(sb->s_bdev); if (sbi->s_journal_bdev && sbi->s_journal_bdev != sb->s_bdev) { - /* - * Invalidate the journal device's buffers. We don't want them - * floating about in memory - the physical journal device may - * hotswapped, and it breaks the `ro-after' testing code. - */ sync_blockdev(sbi->s_journal_bdev); - invalidate_bdev(sbi->s_journal_bdev); ext4_blkdev_remove(sbi); } @@ -4977,7 +4977,7 @@ ext4_msg(sb, KERN_INFO, "recovery complete"); err = ext4_mark_recovery_complete(sb, es); if (err) - goto failed_mount9; + goto failed_mount10; } if (EXT4_SB(sb)->s_journal) { if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA) @@ -5023,7 +5023,9 @@ ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem"); goto failed_mount; -failed_mount9: +failed_mount10: + ext4_quota_off_umount(sb); +failed_mount9: __maybe_unused ext4_release_orphan_info(sb); failed_mount8: ext4_unregister_sysfs(sb); @@ -5100,6 +5102,7 @@ brelse(bh); ext4_blkdev_remove(sbi); out_fail: + invalidate_bdev(sb->s_bdev); sb->s_fs_info = NULL; kfree(sbi->s_blockgroup_lock); out_free_base: diff -u linux-intel-iotg-5.15-5.15.0/fs/ext4/xattr.c linux-intel-iotg-5.15-5.15.0/fs/ext4/xattr.c --- linux-intel-iotg-5.15-5.15.0/fs/ext4/xattr.c +++ linux-intel-iotg-5.15-5.15.0/fs/ext4/xattr.c @@ -2006,8 +2006,9 @@ else { u32 ref; +#ifdef EXT4_XATTR_DEBUG WARN_ON_ONCE(dquot_initialize_needed(inode)); - +#endif /* The old block is released after updating the inode. */ error = dquot_alloc_block(inode, @@ -2070,8 +2071,9 @@ /* We need to allocate a new block */ ext4_fsblk_t goal, block; +#ifdef EXT4_XATTR_DEBUG WARN_ON_ONCE(dquot_initialize_needed(inode)); - +#endif goal = ext4_group_first_block_no(sb, EXT4_I(inode)->i_block_group); block = ext4_new_meta_blocks(handle, inode, goal, 0, diff -u linux-intel-iotg-5.15-5.15.0/fs/f2fs/namei.c linux-intel-iotg-5.15-5.15.0/fs/f2fs/namei.c --- linux-intel-iotg-5.15-5.15.0/fs/f2fs/namei.c +++ linux-intel-iotg-5.15-5.15.0/fs/f2fs/namei.c @@ -991,20 +991,12 @@ goto out; } - /* - * Copied from ext4_rename: we need to protect against old.inode - * directory getting converted from inline directory format into - * a normal one. - */ - if (S_ISDIR(old_inode->i_mode)) - inode_lock_nested(old_inode, I_MUTEX_NONDIR2); - err = -ENOENT; old_entry = f2fs_find_entry(old_dir, &old_dentry->d_name, &old_page); if (!old_entry) { if (IS_ERR(old_page)) err = PTR_ERR(old_page); - goto out_unlock_old; + goto out; } if (S_ISDIR(old_inode->i_mode)) { @@ -1112,9 +1104,6 @@ f2fs_unlock_op(sbi); - if (S_ISDIR(old_inode->i_mode)) - inode_unlock(old_inode); - if (IS_DIRSYNC(old_dir) || IS_DIRSYNC(new_dir)) f2fs_sync_fs(sbi->sb, 1); @@ -1129,9 +1118,6 @@ f2fs_put_page(old_dir_page, 0); out_old: f2fs_put_page(old_page, 0); -out_unlock_old: - if (S_ISDIR(old_inode->i_mode)) - inode_unlock(old_inode); out: if (whiteout) iput(whiteout); diff -u linux-intel-iotg-5.15-5.15.0/fs/f2fs/node.c linux-intel-iotg-5.15-5.15.0/fs/f2fs/node.c --- linux-intel-iotg-5.15-5.15.0/fs/f2fs/node.c +++ linux-intel-iotg-5.15-5.15.0/fs/f2fs/node.c @@ -942,8 +942,10 @@ dn->ofs_in_node = 0; f2fs_truncate_data_blocks(dn); err = truncate_node(dn); - if (err) + if (err) { + f2fs_put_page(page, 1); return err; + } return 1; } diff -u linux-intel-iotg-5.15-5.15.0/fs/f2fs/sysfs.c linux-intel-iotg-5.15-5.15.0/fs/f2fs/sysfs.c --- linux-intel-iotg-5.15-5.15.0/fs/f2fs/sysfs.c +++ linux-intel-iotg-5.15-5.15.0/fs/f2fs/sysfs.c @@ -491,9 +491,9 @@ if (!strcmp(a->attr.name, "iostat_period_ms")) { if (t < MIN_IOSTAT_PERIOD_MS || t > MAX_IOSTAT_PERIOD_MS) return -EINVAL; - spin_lock(&sbi->iostat_lock); + spin_lock_irq(&sbi->iostat_lock); sbi->iostat_period_ms = (unsigned int)t; - spin_unlock(&sbi->iostat_lock); + spin_unlock_irq(&sbi->iostat_lock); return count; } #endif diff -u linux-intel-iotg-5.15-5.15.0/fs/fs_context.c linux-intel-iotg-5.15-5.15.0/fs/fs_context.c --- linux-intel-iotg-5.15-5.15.0/fs/fs_context.c +++ linux-intel-iotg-5.15-5.15.0/fs/fs_context.c @@ -561,7 +561,8 @@ return -ENOMEM; } - ctx->legacy_data[size++] = ','; + if (size) + ctx->legacy_data[size++] = ','; len = strlen(param->key); memcpy(ctx->legacy_data + size, param->key, len); size += len; diff -u linux-intel-iotg-5.15-5.15.0/fs/inode.c linux-intel-iotg-5.15-5.15.0/fs/inode.c --- linux-intel-iotg-5.15-5.15.0/fs/inode.c +++ linux-intel-iotg-5.15-5.15.0/fs/inode.c @@ -1024,6 +1024,48 @@ EXPORT_SYMBOL(discard_new_inode); /** + * lock_two_inodes - lock two inodes (may be regular files but also dirs) + * + * Lock any non-NULL argument. The caller must make sure that if he is passing + * in two directories, one is not ancestor of the other. Zero, one or two + * objects may be locked by this function. + * + * @inode1: first inode to lock + * @inode2: second inode to lock + * @subclass1: inode lock subclass for the first lock obtained + * @subclass2: inode lock subclass for the second lock obtained + */ +void lock_two_inodes(struct inode *inode1, struct inode *inode2, + unsigned subclass1, unsigned subclass2) +{ + if (!inode1 || !inode2) { + /* + * Make sure @subclass1 will be used for the acquired lock. + * This is not strictly necessary (no current caller cares) but + * let's keep things consistent. + */ + if (!inode1) + swap(inode1, inode2); + goto lock; + } + + /* + * If one object is directory and the other is not, we must make sure + * to lock directory first as the other object may be its child. + */ + if (S_ISDIR(inode2->i_mode) == S_ISDIR(inode1->i_mode)) { + if (inode1 > inode2) + swap(inode1, inode2); + } else if (!S_ISDIR(inode1->i_mode)) + swap(inode1, inode2); +lock: + if (inode1) + inode_lock_nested(inode1, subclass1); + if (inode2 && inode2 != inode1) + inode_lock_nested(inode2, subclass2); +} + +/** * lock_two_nondirectories - take two i_mutexes on non-directory objects * * Lock any non-NULL argument that is not a directory. diff -u linux-intel-iotg-5.15-5.15.0/fs/internal.h linux-intel-iotg-5.15-5.15.0/fs/internal.h --- linux-intel-iotg-5.15-5.15.0/fs/internal.h +++ linux-intel-iotg-5.15-5.15.0/fs/internal.h @@ -158,6 +158,8 @@ int dentry_needs_remove_privs(struct user_namespace *, struct dentry *dentry); bool in_group_or_capable(struct user_namespace *mnt_userns, const struct inode *inode, kgid_t gid); +void lock_two_inodes(struct inode *inode1, struct inode *inode2, + unsigned subclass1, unsigned subclass2); /* * fs-writeback.c diff -u linux-intel-iotg-5.15-5.15.0/fs/jffs2/build.c linux-intel-iotg-5.15-5.15.0/fs/jffs2/build.c --- linux-intel-iotg-5.15-5.15.0/fs/jffs2/build.c +++ linux-intel-iotg-5.15-5.15.0/fs/jffs2/build.c @@ -211,7 +211,10 @@ ic->scan_dents = NULL; cond_resched(); } - jffs2_build_xattr_subsystem(c); + ret = jffs2_build_xattr_subsystem(c); + if (ret) + goto exit; + c->flags &= ~JFFS2_SB_FLAG_BUILDING; dbg_fsbuild("FS build complete\n"); diff -u linux-intel-iotg-5.15-5.15.0/fs/jfs/jfs_dmap.c linux-intel-iotg-5.15-5.15.0/fs/jfs/jfs_dmap.c --- linux-intel-iotg-5.15-5.15.0/fs/jfs/jfs_dmap.c +++ linux-intel-iotg-5.15-5.15.0/fs/jfs/jfs_dmap.c @@ -178,7 +178,13 @@ dbmp_le = (struct dbmap_disk *) mp->data; bmp->db_mapsize = le64_to_cpu(dbmp_le->dn_mapsize); bmp->db_nfree = le64_to_cpu(dbmp_le->dn_nfree); + bmp->db_l2nbperpage = le32_to_cpu(dbmp_le->dn_l2nbperpage); + if (bmp->db_l2nbperpage > L2PSIZE - L2MINBLOCKSIZE) { + err = -EINVAL; + goto err_release_metapage; + } + bmp->db_numag = le32_to_cpu(dbmp_le->dn_numag); if (!bmp->db_numag) { err = -EINVAL; diff -u linux-intel-iotg-5.15-5.15.0/fs/kernfs/dir.c linux-intel-iotg-5.15-5.15.0/fs/kernfs/dir.c --- linux-intel-iotg-5.15-5.15.0/fs/kernfs/dir.c +++ linux-intel-iotg-5.15-5.15.0/fs/kernfs/dir.c @@ -637,7 +637,9 @@ return kn; err_out3: + spin_lock(&kernfs_idr_lock); idr_remove(&root->ino_idr, (u32)kernfs_ino(kn)); + spin_unlock(&kernfs_idr_lock); err_out2: kmem_cache_free(kernfs_node_cache, kn); err_out1: diff -u linux-intel-iotg-5.15-5.15.0/fs/ksmbd/server.c linux-intel-iotg-5.15-5.15.0/fs/ksmbd/server.c --- linux-intel-iotg-5.15-5.15.0/fs/ksmbd/server.c +++ linux-intel-iotg-5.15-5.15.0/fs/ksmbd/server.c @@ -184,24 +184,31 @@ goto send; } - if (conn->ops->check_user_session) { - rc = conn->ops->check_user_session(work); - if (rc < 0) { - command = conn->ops->get_cmd_val(work); - conn->ops->set_rsp_status(work, - STATUS_USER_SESSION_DELETED); - goto send; - } else if (rc > 0) { - rc = conn->ops->get_ksmbd_tcon(work); + do { + if (conn->ops->check_user_session) { + rc = conn->ops->check_user_session(work); if (rc < 0) { - conn->ops->set_rsp_status(work, - STATUS_NETWORK_NAME_DELETED); + if (rc == -EINVAL) + conn->ops->set_rsp_status(work, + STATUS_INVALID_PARAMETER); + else + conn->ops->set_rsp_status(work, + STATUS_USER_SESSION_DELETED); goto send; + } else if (rc > 0) { + rc = conn->ops->get_ksmbd_tcon(work); + if (rc < 0) { + if (rc == -EINVAL) + conn->ops->set_rsp_status(work, + STATUS_INVALID_PARAMETER); + else + conn->ops->set_rsp_status(work, + STATUS_NETWORK_NAME_DELETED); + goto send; + } } } - } - do { rc = __process_request(work, conn, &command); if (rc == SERVER_HANDLER_ABORT) break; diff -u linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2misc.c linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2misc.c --- linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2misc.c +++ linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2misc.c @@ -347,19 +347,21 @@ int ksmbd_smb2_check_message(struct ksmbd_work *work) { - struct smb2_pdu *pdu = work->request_buf; + struct smb2_pdu *pdu = ksmbd_req_buf_next(work); struct smb2_hdr *hdr = &pdu->hdr; int command; __u32 clc_len; /* calculated length */ - __u32 len = get_rfc1002_len(pdu); + __u32 len = get_rfc1002_len(work->request_buf); + __u32 req_struct_size, next_cmd = le32_to_cpu(hdr->NextCommand); - if (work->next_smb2_rcv_hdr_off) { - pdu = ksmbd_req_buf_next(work); - hdr = &pdu->hdr; + if ((u64)work->next_smb2_rcv_hdr_off + next_cmd > len) { + pr_err("next command(%u) offset exceeds smb msg size\n", + next_cmd); + return 1; } - if (le32_to_cpu(hdr->NextCommand) > 0) - len = le32_to_cpu(hdr->NextCommand); + if (next_cmd > 0) + len = next_cmd; else if (work->next_smb2_rcv_hdr_off) len -= work->next_smb2_rcv_hdr_off; @@ -379,17 +381,9 @@ } if (smb2_req_struct_sizes[command] != pdu->StructureSize2) { - if (command != SMB2_OPLOCK_BREAK_HE && - (hdr->Status == 0 || pdu->StructureSize2 != SMB2_ERROR_STRUCTURE_SIZE2_LE)) { - /* error packets have 9 byte structure size */ - ksmbd_debug(SMB, - "Illegal request size %u for command %d\n", - le16_to_cpu(pdu->StructureSize2), command); - return 1; - } else if (command == SMB2_OPLOCK_BREAK_HE && - hdr->Status == 0 && - le16_to_cpu(pdu->StructureSize2) != OP_BREAK_STRUCT_SIZE_20 && - le16_to_cpu(pdu->StructureSize2) != OP_BREAK_STRUCT_SIZE_21) { + if (command == SMB2_OPLOCK_BREAK_HE && + le16_to_cpu(pdu->StructureSize2) != OP_BREAK_STRUCT_SIZE_20 && + le16_to_cpu(pdu->StructureSize2) != OP_BREAK_STRUCT_SIZE_21) { /* special case for SMB2.1 lease break message */ ksmbd_debug(SMB, "Illegal request size %d for oplock break\n", @@ -398,6 +392,14 @@ } } + req_struct_size = le16_to_cpu(pdu->StructureSize2) + + __SMB2_HEADER_STRUCTURE_SIZE; + if (command == SMB2_LOCK_HE) + req_struct_size -= sizeof(struct smb2_lock_element); + + if (req_struct_size > len + 1) + return 1; + if (smb2_calc_size(hdr, &clc_len)) return 1; diff -u linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2pdu.c linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2pdu.c --- linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2pdu.c +++ linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb2pdu.c @@ -97,7 +97,6 @@ struct smb2_hdr *req_hdr = work->request_buf; int tree_id; - work->tcon = NULL; if (work->conn->ops->get_cmd_val(work) == SMB2_TREE_CONNECT_HE || work->conn->ops->get_cmd_val(work) == SMB2_CANCEL_HE || work->conn->ops->get_cmd_val(work) == SMB2_LOGOFF_HE) { @@ -111,10 +110,28 @@ } tree_id = le32_to_cpu(req_hdr->Id.SyncId.TreeId); + + /* + * If request is not the first in Compound request, + * Just validate tree id in header with work->tcon->id. + */ + if (work->next_smb2_rcv_hdr_off) { + if (!work->tcon) { + pr_err("The first operation in the compound does not have tcon\n"); + return -EINVAL; + } + if (work->tcon->id != tree_id) { + pr_err("tree id(%u) is different with id(%u) in first operation\n", + tree_id, work->tcon->id); + return -EINVAL; + } + return 1; + } + work->tcon = ksmbd_tree_conn_lookup(work->sess, tree_id); if (!work->tcon) { pr_err("Invalid tid %d\n", tree_id); - return -EINVAL; + return -ENOENT; } return 1; @@ -569,7 +586,6 @@ unsigned int cmd = conn->ops->get_cmd_val(work); unsigned long long sess_id; - work->sess = NULL; /* * SMB2_ECHO, SMB2_NEGOTIATE, SMB2_SESSION_SETUP command do not * require a session id, so no need to validate user session's for @@ -580,15 +596,33 @@ return 0; if (!ksmbd_conn_good(work)) - return -EINVAL; + return -EIO; sess_id = le64_to_cpu(req_hdr->SessionId); + + /* + * If request is not the first in Compound request, + * Just validate session id in header with work->sess->id. + */ + if (work->next_smb2_rcv_hdr_off) { + if (!work->sess) { + pr_err("The first operation in the compound does not have sess\n"); + return -EINVAL; + } + if (work->sess->id != sess_id) { + pr_err("session id(%llu) is different with the first operation(%lld)\n", + sess_id, work->sess->id); + return -EINVAL; + } + return 1; + } + /* Check for validity of user session */ work->sess = ksmbd_session_lookup_all(conn, sess_id); if (work->sess) return 1; ksmbd_debug(SMB, "Invalid user session, Uid %llu\n", sess_id); - return -EINVAL; + return -ENOENT; } static void destroy_previous_session(struct ksmbd_conn *conn, @@ -1083,16 +1117,16 @@ return rc; } - if (req->DialectCount == 0) { - pr_err("malformed packet\n"); + smb2_buf_len = get_rfc1002_len(work->request_buf); + smb2_neg_size = offsetof(struct smb2_negotiate_req, Dialects) - 4; + if (smb2_neg_size > smb2_buf_len) { rsp->hdr.Status = STATUS_INVALID_PARAMETER; rc = -EINVAL; goto err_out; } - smb2_buf_len = get_rfc1002_len(work->request_buf); - smb2_neg_size = offsetof(struct smb2_negotiate_req, Dialects) - 4; - if (smb2_neg_size > smb2_buf_len) { + if (req->DialectCount == 0) { + pr_err("malformed packet\n"); rsp->hdr.Status = STATUS_INVALID_PARAMETER; rc = -EINVAL; goto err_out; diff -u linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb_common.c linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb_common.c --- linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb_common.c +++ linux-intel-iotg-5.15-5.15.0/fs/ksmbd/smb_common.c @@ -423,7 +423,7 @@ out[baselen + 3] = PERIOD; if (dot_present) - memcpy(&out[baselen + 4], extension, 4); + memcpy(out + baselen + 4, extension, 4); else out[baselen + 4] = '\0'; smbConvertToUTF16((__le16 *)shortname, out, PATH_MAX, diff -u linux-intel-iotg-5.15-5.15.0/fs/namei.c linux-intel-iotg-5.15-5.15.0/fs/namei.c --- linux-intel-iotg-5.15-5.15.0/fs/namei.c +++ linux-intel-iotg-5.15-5.15.0/fs/namei.c @@ -2984,8 +2984,8 @@ return p; } - inode_lock_nested(p1->d_inode, I_MUTEX_PARENT); - inode_lock_nested(p2->d_inode, I_MUTEX_PARENT2); + lock_two_inodes(p1->d_inode, p2->d_inode, + I_MUTEX_PARENT, I_MUTEX_PARENT2); return NULL; } EXPORT_SYMBOL(lock_rename); @@ -4618,7 +4618,7 @@ * sb->s_vfs_rename_mutex. We might be more accurate, but that's another * story. * c) we have to lock _four_ objects - parents and victim (if it exists), - * and source (if it is not a directory). + * and source. * And that - after we got ->i_mutex on parents (until then we don't know * whether the target exists). Solution: try to be smart with locking * order for inodes. We rely on the fact that tree topology may change @@ -4702,10 +4702,16 @@ take_dentry_name_snapshot(&old_name, old_dentry); dget(new_dentry); - if (!is_dir || (flags & RENAME_EXCHANGE)) - lock_two_nondirectories(source, target); - else if (target) - inode_lock(target); + /* + * Lock all moved children. Moved directories may need to change parent + * pointer so they need the lock to prevent against concurrent + * directory changes moving parent pointer. For regular files we've + * historically always done this. The lockdep locking subclasses are + * somewhat arbitrary but RENAME_EXCHANGE in particular can swap + * regular files and directories so it's difficult to tell which + * subclasses to use. + */ + lock_two_inodes(source, target, I_MUTEX_NORMAL, I_MUTEX_NONDIR2); error = -EPERM; if (IS_SWAPFILE(source) || (target && IS_SWAPFILE(target))) @@ -4753,9 +4759,8 @@ d_exchange(old_dentry, new_dentry); } out: - if (!is_dir || (flags & RENAME_EXCHANGE)) - unlock_two_nondirectories(source, target); - else if (target) + inode_unlock(source); + if (target) inode_unlock(target); dput(new_dentry); if (!error) { diff -u linux-intel-iotg-5.15-5.15.0/fs/nfs/nfs4proc.c linux-intel-iotg-5.15-5.15.0/fs/nfs/nfs4proc.c --- linux-intel-iotg-5.15-5.15.0/fs/nfs/nfs4proc.c +++ linux-intel-iotg-5.15-5.15.0/fs/nfs/nfs4proc.c @@ -927,6 +927,7 @@ out_noaction: return ret; session_recover: + set_bit(NFS4_SLOT_TBL_DRAINING, &session->fc_slot_table.slot_tbl_state); nfs4_schedule_session_recovery(session, status); dprintk("%s ERROR: %d Reset session\n", __func__, status); nfs41_sequence_free_slot(res); diff -u linux-intel-iotg-5.15-5.15.0/fs/nfsd/nfs4xdr.c linux-intel-iotg-5.15-5.15.0/fs/nfsd/nfs4xdr.c --- linux-intel-iotg-5.15-5.15.0/fs/nfsd/nfs4xdr.c +++ linux-intel-iotg-5.15-5.15.0/fs/nfsd/nfs4xdr.c @@ -3814,7 +3814,7 @@ p = xdr_reserve_space(xdr, 32); if (!p) return nfserr_resource; - *p++ = cpu_to_be32(0); + *p++ = cpu_to_be32(open->op_recall); /* * TODO: space_limit's in delegations diff -u linux-intel-iotg-5.15-5.15.0/fs/nilfs2/btnode.c linux-intel-iotg-5.15-5.15.0/fs/nilfs2/btnode.c --- linux-intel-iotg-5.15-5.15.0/fs/nilfs2/btnode.c +++ linux-intel-iotg-5.15-5.15.0/fs/nilfs2/btnode.c @@ -287,4 +287,12 @@ unlock_page(ctxt->bh->b_page); - } else - brelse(nbh); + } else { + /* + * When canceling a buffer that a prepare operation has + * allocated to copy a node block to another location, use + * nilfs_btnode_delete() to initialize and release the buffer + * so that the buffer flags will not be in an inconsistent + * state when it is reallocated. + */ + nilfs_btnode_delete(nbh); + } } diff -u linux-intel-iotg-5.15-5.15.0/fs/nilfs2/page.c linux-intel-iotg-5.15-5.15.0/fs/nilfs2/page.c --- linux-intel-iotg-5.15-5.15.0/fs/nilfs2/page.c +++ linux-intel-iotg-5.15-5.15.0/fs/nilfs2/page.c @@ -369,7 +369,15 @@ struct page *page = pvec.pages[i]; lock_page(page); - nilfs_clear_dirty_page(page, silent); + + /* + * This page may have been removed from the address + * space by truncation or invalidation when the lock + * was acquired. Skip processing in that case. + */ + if (likely(page->mapping == mapping)) + nilfs_clear_dirty_page(page, silent); + unlock_page(page); } pagevec_release(&pvec); diff -u linux-intel-iotg-5.15-5.15.0/fs/nilfs2/segment.c linux-intel-iotg-5.15-5.15.0/fs/nilfs2/segment.c --- linux-intel-iotg-5.15-5.15.0/fs/nilfs2/segment.c +++ linux-intel-iotg-5.15-5.15.0/fs/nilfs2/segment.c @@ -979,10 +979,13 @@ unsigned int isz, srsz; bh_sr = NILFS_LAST_SEGBUF(&sci->sc_segbufs)->sb_super_root; + + lock_buffer(bh_sr); raw_sr = (struct nilfs_super_root *)bh_sr->b_data; isz = nilfs->ns_inode_size; srsz = NILFS_SR_BYTES(isz); + raw_sr->sr_sum = 0; /* Ensure initialization within this update */ raw_sr->sr_bytes = cpu_to_le16(srsz); raw_sr->sr_nongc_ctime = cpu_to_le64(nilfs_doing_gc() ? @@ -996,6 +999,8 @@ nilfs_write_inode_common(nilfs->ns_sufile, (void *)raw_sr + NILFS_SR_SUFILE_OFFSET(isz), 1); memset((void *)raw_sr + srsz, 0, nilfs->ns_blocksize - srsz); + set_buffer_uptodate(bh_sr); + unlock_buffer(bh_sr); } static void nilfs_redirty_inodes(struct list_head *head) @@ -1778,6 +1783,7 @@ list_for_each_entry(segbuf, logs, sb_list) { list_for_each_entry(bh, &segbuf->sb_segsum_buffers, b_assoc_buffers) { + clear_buffer_uptodate(bh); if (bh->b_page != bd_page) { if (bd_page) end_page_writeback(bd_page); @@ -1789,6 +1795,7 @@ b_assoc_buffers) { clear_buffer_async_write(bh); if (bh == segbuf->sb_super_root) { + clear_buffer_uptodate(bh); if (bh->b_page != bd_page) { end_page_writeback(bd_page); bd_page = bh->b_page; diff -u linux-intel-iotg-5.15-5.15.0/fs/nilfs2/sufile.c linux-intel-iotg-5.15-5.15.0/fs/nilfs2/sufile.c --- linux-intel-iotg-5.15-5.15.0/fs/nilfs2/sufile.c +++ linux-intel-iotg-5.15-5.15.0/fs/nilfs2/sufile.c @@ -779,6 +779,15 @@ goto out_header; sui->ncleansegs -= nsegs - newnsegs; + + /* + * If the sufile is successfully truncated, immediately adjust + * the segment allocation space while locking the semaphore + * "mi_sem" so that nilfs_sufile_alloc() never allocates + * segments in the truncated space. + */ + sui->allocmax = newnsegs - 1; + sui->allocmin = 0; } kaddr = kmap_atomic(header_bh->b_page); diff -u linux-intel-iotg-5.15-5.15.0/fs/nilfs2/super.c linux-intel-iotg-5.15-5.15.0/fs/nilfs2/super.c --- linux-intel-iotg-5.15-5.15.0/fs/nilfs2/super.c +++ linux-intel-iotg-5.15-5.15.0/fs/nilfs2/super.c @@ -372,10 +372,31 @@ goto out; } nsbp = (void *)nsbh->b_data + offset; - memset(nsbp, 0, nilfs->ns_blocksize); + lock_buffer(nsbh); if (sb2i >= 0) { + /* + * The position of the second superblock only changes by 4KiB, + * which is larger than the maximum superblock data size + * (= 1KiB), so there is no need to use memmove() to allow + * overlap between source and destination. + */ memcpy(nsbp, nilfs->ns_sbp[sb2i], nilfs->ns_sbsize); + + /* + * Zero fill after copy to avoid overwriting in case of move + * within the same block. + */ + memset(nsbh->b_data, 0, offset); + memset((void *)nsbp + nilfs->ns_sbsize, 0, + nsbh->b_size - offset - nilfs->ns_sbsize); + } else { + memset(nsbh->b_data, 0, nsbh->b_size); + } + set_buffer_uptodate(nsbh); + unlock_buffer(nsbh); + + if (sb2i >= 0) { brelse(nilfs->ns_sbh[sb2i]); nilfs->ns_sbh[sb2i] = nsbh; nilfs->ns_sbp[sb2i] = nsbp; diff -u linux-intel-iotg-5.15-5.15.0/fs/nilfs2/the_nilfs.c linux-intel-iotg-5.15-5.15.0/fs/nilfs2/the_nilfs.c --- linux-intel-iotg-5.15-5.15.0/fs/nilfs2/the_nilfs.c +++ linux-intel-iotg-5.15-5.15.0/fs/nilfs2/the_nilfs.c @@ -405,6 +405,18 @@ 100)); } +/** + * nilfs_max_segment_count - calculate the maximum number of segments + * @nilfs: nilfs object + */ +static u64 nilfs_max_segment_count(struct the_nilfs *nilfs) +{ + u64 max_count = U64_MAX; + + do_div(max_count, nilfs->ns_blocks_per_segment); + return min_t(u64, max_count, ULONG_MAX); +} + void nilfs_set_nsegments(struct the_nilfs *nilfs, unsigned long nsegs) { nilfs->ns_nsegments = nsegs; @@ -414,6 +426,8 @@ static int nilfs_store_disk_layout(struct the_nilfs *nilfs, struct nilfs_super_block *sbp) { + u64 nsegments, nblocks; + if (le32_to_cpu(sbp->s_rev_level) < NILFS_MIN_SUPP_REV) { nilfs_err(nilfs->ns_sb, "unsupported revision (superblock rev.=%d.%d, current rev.=%d.%d). Please check the version of mkfs.nilfs(2).", @@ -457,7 +471,35 @@ return -EINVAL; } - nilfs_set_nsegments(nilfs, le64_to_cpu(sbp->s_nsegments)); + nsegments = le64_to_cpu(sbp->s_nsegments); + if (nsegments > nilfs_max_segment_count(nilfs)) { + nilfs_err(nilfs->ns_sb, + "segment count %llu exceeds upper limit (%llu segments)", + (unsigned long long)nsegments, + (unsigned long long)nilfs_max_segment_count(nilfs)); + return -EINVAL; + } + + nblocks = (u64)i_size_read(nilfs->ns_sb->s_bdev->bd_inode) >> + nilfs->ns_sb->s_blocksize_bits; + if (nblocks) { + u64 min_block_count = nsegments * nilfs->ns_blocks_per_segment; + /* + * To avoid failing to mount early device images without a + * second superblock, exclude that block count from the + * "min_block_count" calculation. + */ + + if (nblocks < min_block_count) { + nilfs_err(nilfs->ns_sb, + "total number of segment blocks %llu exceeds device size (%llu blocks)", + (unsigned long long)min_block_count, + (unsigned long long)nblocks); + return -EINVAL; + } + } + + nilfs_set_nsegments(nilfs, nsegments); nilfs->ns_crc_seed = le32_to_cpu(sbp->s_crc_seed); return 0; } diff -u linux-intel-iotg-5.15-5.15.0/fs/notify/fanotify/fanotify_user.c linux-intel-iotg-5.15-5.15.0/fs/notify/fanotify/fanotify_user.c --- linux-intel-iotg-5.15-5.15.0/fs/notify/fanotify/fanotify_user.c +++ linux-intel-iotg-5.15-5.15.0/fs/notify/fanotify/fanotify_user.c @@ -1337,8 +1337,11 @@ return 0; } -static int fanotify_events_supported(struct path *path, __u64 mask) +static int fanotify_events_supported(struct path *path, __u64 mask, + unsigned int flags) { + unsigned int mark_type = flags & FANOTIFY_MARK_TYPE_BITS; + /* * Some filesystems such as 'proc' acquire unusual locks when opening * files. For them fanotify permission events have high chances of @@ -1350,6 +1353,21 @@ if (mask & FANOTIFY_PERM_EVENTS && path->mnt->mnt_sb->s_type->fs_flags & FS_DISALLOW_NOTIFY_PERM) return -EINVAL; + + /* + * mount and sb marks are not allowed on kernel internal pseudo fs, + * like pipe_mnt, because that would subscribe to events on all the + * anonynous pipes in the system. + * + * SB_NOUSER covers all of the internal pseudo fs whose objects are not + * exposed to user's mount namespace, but there are other SB_KERNMOUNT + * fs, like nsfs, debugfs, for which the value of allowing sb and mount + * mark is questionable. For now we leave them alone. + */ + if (mark_type != FAN_MARK_INODE && + path->mnt->mnt_sb->s_flags & SB_NOUSER) + return -EINVAL; + return 0; } @@ -1476,7 +1494,7 @@ goto fput_and_out; if (flags & FAN_MARK_ADD) { - ret = fanotify_events_supported(&path, mask); + ret = fanotify_events_supported(&path, mask, flags); if (ret) goto path_put_and_out; } diff -u linux-intel-iotg-5.15-5.15.0/fs/ntfs3/xattr.c linux-intel-iotg-5.15-5.15.0/fs/ntfs3/xattr.c --- linux-intel-iotg-5.15-5.15.0/fs/ntfs3/xattr.c +++ linux-intel-iotg-5.15-5.15.0/fs/ntfs3/xattr.c @@ -214,4 +214,7 @@ ea_size = unpacked_ea_size(ea); + if (!ea->name_len) + break; + if (buffer) { if (ret + ea->name_len + 1 > bytes_per_buffer) { diff -u linux-intel-iotg-5.15-5.15.0/fs/ocfs2/file.c linux-intel-iotg-5.15-5.15.0/fs/ocfs2/file.c --- linux-intel-iotg-5.15-5.15.0/fs/ocfs2/file.c +++ linux-intel-iotg-5.15-5.15.0/fs/ocfs2/file.c @@ -2103,14 +2103,20 @@ struct ocfs2_space_resv sr; int change_size = 1; int cmd = OCFS2_IOC_RESVSP64; + int ret = 0; if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE)) return -EOPNOTSUPP; if (!ocfs2_writes_unwritten_extents(osb)) return -EOPNOTSUPP; - if (mode & FALLOC_FL_KEEP_SIZE) + if (mode & FALLOC_FL_KEEP_SIZE) { change_size = 0; + } else { + ret = inode_newsize_ok(inode, offset + len); + if (ret) + return ret; + } if (mode & FALLOC_FL_PUNCH_HOLE) cmd = OCFS2_IOC_UNRESVSP64; diff -u linux-intel-iotg-5.15-5.15.0/fs/ocfs2/super.c linux-intel-iotg-5.15-5.15.0/fs/ocfs2/super.c --- linux-intel-iotg-5.15-5.15.0/fs/ocfs2/super.c +++ linux-intel-iotg-5.15-5.15.0/fs/ocfs2/super.c @@ -953,8 +953,10 @@ for (type = 0; type < OCFS2_MAXQUOTAS; type++) { if (!sb_has_quota_loaded(sb, type)) continue; - oinfo = sb_dqinfo(sb, type)->dqi_priv; - cancel_delayed_work_sync(&oinfo->dqi_sync_work); + if (!sb_has_quota_suspended(sb, type)) { + oinfo = sb_dqinfo(sb, type)->dqi_priv; + cancel_delayed_work_sync(&oinfo->dqi_sync_work); + } inode = igrab(sb->s_dquot.files[type]); /* Turn off quotas. This will remove all dquot structures from * memory and so they will be automatically synced to global diff -u linux-intel-iotg-5.15-5.15.0/fs/overlayfs/copy_up.c linux-intel-iotg-5.15-5.15.0/fs/overlayfs/copy_up.c --- linux-intel-iotg-5.15-5.15.0/fs/overlayfs/copy_up.c +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/copy_up.c @@ -542,6 +542,7 @@ /* Restore timestamps on parent (best effort) */ ovl_set_timestamps(upperdir, &c->pstat); ovl_dentry_set_upper_alias(c->dentry); + ovl_dentry_update_reval(c->dentry, upper); } } inode_unlock(udir); @@ -840,6 +841,7 @@ inode_unlock(udir); ovl_dentry_set_upper_alias(c->dentry); + ovl_dentry_update_reval(c->dentry, ovl_dentry_upper(c->dentry)); } out: diff -u linux-intel-iotg-5.15-5.15.0/fs/overlayfs/dir.c linux-intel-iotg-5.15-5.15.0/fs/overlayfs/dir.c --- linux-intel-iotg-5.15-5.15.0/fs/overlayfs/dir.c +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/dir.c @@ -267,8 +267,7 @@ ovl_dir_modified(dentry->d_parent, false); ovl_dentry_set_upper_alias(dentry); - ovl_dentry_update_reval(dentry, newdentry, - DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE); + ovl_dentry_init_reval(dentry, newdentry); if (!hardlink) { /* diff -u linux-intel-iotg-5.15-5.15.0/fs/overlayfs/export.c linux-intel-iotg-5.15-5.15.0/fs/overlayfs/export.c --- linux-intel-iotg-5.15-5.15.0/fs/overlayfs/export.c +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/export.c @@ -326,8 +326,7 @@ if (upper_alias) ovl_dentry_set_upper_alias(dentry); - ovl_dentry_update_reval(dentry, upper, - DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE); + ovl_dentry_init_reval(dentry, upper); return d_instantiate_anon(dentry, inode); diff -u linux-intel-iotg-5.15-5.15.0/fs/overlayfs/inode.c linux-intel-iotg-5.15-5.15.0/fs/overlayfs/inode.c --- linux-intel-iotg-5.15-5.15.0/fs/overlayfs/inode.c +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/inode.c @@ -453,7 +453,15 @@ const struct cred *old_cred; struct posix_acl *acl; - if (!IS_ENABLED(CONFIG_FS_POSIX_ACL) || !IS_POSIXACL(realinode)) + if (!IS_ENABLED(CONFIG_FS_POSIX_ACL)) + return NULL; + + if (!realinode) { + WARN_ON(!rcu); + return ERR_PTR(-ECHILD); + } + + if (!IS_POSIXACL(realinode)) return NULL; if (rcu) diff -u linux-intel-iotg-5.15-5.15.0/fs/overlayfs/overlayfs.h linux-intel-iotg-5.15-5.15.0/fs/overlayfs/overlayfs.h --- linux-intel-iotg-5.15-5.15.0/fs/overlayfs/overlayfs.h +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/overlayfs.h @@ -298,8 +298,10 @@ bool ovl_verify_lower(struct super_block *sb); struct ovl_entry *ovl_alloc_entry(unsigned int numlower); bool ovl_dentry_remote(struct dentry *dentry); -void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *upperdentry, - unsigned int mask); +void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *realdentry); +void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry); +void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry, + unsigned int mask); bool ovl_dentry_weird(struct dentry *dentry); enum ovl_path_type ovl_path_type(struct dentry *dentry); void ovl_path_upper(struct dentry *dentry, struct path *path); diff -u linux-intel-iotg-5.15-5.15.0/fs/overlayfs/super.c linux-intel-iotg-5.15-5.15.0/fs/overlayfs/super.c --- linux-intel-iotg-5.15-5.15.0/fs/overlayfs/super.c +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/super.c @@ -1966,7 +1966,7 @@ ovl_dentry_set_flag(OVL_E_CONNECTED, root); ovl_set_upperdata(d_inode(root)); ovl_inode_init(d_inode(root), &oip, ino, fsid); - ovl_dentry_update_reval(root, upperdentry, DCACHE_OP_WEAK_REVALIDATE); + ovl_dentry_init_flags(root, upperdentry, DCACHE_OP_WEAK_REVALIDATE); return root; } diff -u linux-intel-iotg-5.15-5.15.0/fs/overlayfs/util.c linux-intel-iotg-5.15-5.15.0/fs/overlayfs/util.c --- linux-intel-iotg-5.15-5.15.0/fs/overlayfs/util.c +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/util.c @@ -94,14 +94,30 @@ return oe; } +#define OVL_D_REVALIDATE (DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE) + bool ovl_dentry_remote(struct dentry *dentry) { - return dentry->d_flags & - (DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE); + return dentry->d_flags & OVL_D_REVALIDATE; +} + +void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *realdentry) +{ + if (!ovl_dentry_remote(realdentry)) + return; + + spin_lock(&dentry->d_lock); + dentry->d_flags |= realdentry->d_flags & OVL_D_REVALIDATE; + spin_unlock(&dentry->d_lock); +} + +void ovl_dentry_init_reval(struct dentry *dentry, struct dentry *upperdentry) +{ + return ovl_dentry_init_flags(dentry, upperdentry, OVL_D_REVALIDATE); } -void ovl_dentry_update_reval(struct dentry *dentry, struct dentry *upperdentry, - unsigned int mask) +void ovl_dentry_init_flags(struct dentry *dentry, struct dentry *upperdentry, + unsigned int mask) { struct ovl_entry *oe = OVL_E(dentry); unsigned int i, flags = 0; diff -u linux-intel-iotg-5.15-5.15.0/fs/pstore/ram_core.c linux-intel-iotg-5.15-5.15.0/fs/pstore/ram_core.c --- linux-intel-iotg-5.15-5.15.0/fs/pstore/ram_core.c +++ linux-intel-iotg-5.15-5.15.0/fs/pstore/ram_core.c @@ -591,6 +591,8 @@ raw_spin_lock_init(&prz->buffer_lock); prz->flags = flags; prz->label = kstrdup(label, GFP_KERNEL); + if (!prz->label) + goto err; ret = persistent_ram_buffer_map(start, size, prz, memtype); if (ret) diff -u linux-intel-iotg-5.15-5.15.0/include/acpi/acpi_bus.h linux-intel-iotg-5.15-5.15.0/include/acpi/acpi_bus.h --- linux-intel-iotg-5.15-5.15.0/include/acpi/acpi_bus.h +++ linux-intel-iotg-5.15-5.15.0/include/acpi/acpi_bus.h @@ -52,7 +52,7 @@ bool acpi_check_dsm(acpi_handle handle, const guid_t *guid, u64 rev, u64 funcs); union acpi_object *acpi_evaluate_dsm(acpi_handle handle, const guid_t *guid, u64 rev, u64 func, union acpi_object *argv4); - +#ifdef CONFIG_ACPI static inline union acpi_object * acpi_evaluate_dsm_typed(acpi_handle handle, const guid_t *guid, u64 rev, u64 func, union acpi_object *argv4, @@ -68,6 +68,7 @@ return obj; } +#endif #define ACPI_INIT_DSM_ARGV4(cnt, eles) \ { \ diff -u linux-intel-iotg-5.15-5.15.0/include/linux/cpu.h linux-intel-iotg-5.15-5.15.0/include/linux/cpu.h --- linux-intel-iotg-5.15-5.15.0/include/linux/cpu.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/cpu.h @@ -70,6 +70,8 @@ char *buf); extern ssize_t cpu_show_retbleed(struct device *dev, struct device_attribute *attr, char *buf); +extern ssize_t cpu_show_spec_rstack_overflow(struct device *dev, + struct device_attribute *attr, char *buf); extern __printf(4, 5) struct device *cpu_device_create(struct device *parent, void *drvdata, diff -u linux-intel-iotg-5.15-5.15.0/include/linux/gpio/driver.h linux-intel-iotg-5.15-5.15.0/include/linux/gpio/driver.h --- linux-intel-iotg-5.15-5.15.0/include/linux/gpio/driver.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/gpio/driver.h @@ -168,11 +168,18 @@ /** * @parent_handler_data: + * @parent_handler_data_array: * * Data associated, and passed to, the handler for the parent - * interrupt. + * interrupt. Can either be a single pointer if @per_parent_data + * is false, or an array of @num_parents pointers otherwise. If + * @per_parent_data is true, @parent_handler_data_array cannot be + * NULL. */ - void *parent_handler_data; + union { + void *parent_handler_data; + void **parent_handler_data_array; + }; /** * @num_parents: @@ -204,6 +211,14 @@ bool threaded; /** + * @per_parent_data: + * + * True if parent_handler_data_array describes a @num_parents + * sized array to be used as parent data. + */ + bool per_parent_data; + + /** * @init_hw: optional routine to initialize hardware before * an IRQ chip will be added. This is quite useful when * a particular driver wants to clear IRQ related registers diff -u linux-intel-iotg-5.15-5.15.0/include/linux/kexec.h linux-intel-iotg-5.15-5.15.0/include/linux/kexec.h --- linux-intel-iotg-5.15-5.15.0/include/linux/kexec.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/kexec.h @@ -19,6 +19,7 @@ #include #include +#include #ifdef CONFIG_KEXEC_CORE #include @@ -194,6 +195,12 @@ #endif int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf); +#ifdef CONFIG_KEXEC_SIG +#ifdef CONFIG_SIGNED_PE_FILE_VERIFICATION +int kexec_kernel_verify_pe_sig(const char *kernel, unsigned long kernel_len); +#endif +#endif + extern int kexec_add_buffer(struct kexec_buf *kbuf); int kexec_locate_mem_hole(struct kexec_buf *kbuf); diff -u linux-intel-iotg-5.15-5.15.0/include/linux/mm.h linux-intel-iotg-5.15-5.15.0/include/linux/mm.h --- linux-intel-iotg-5.15-5.15.0/include/linux/mm.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/mm.h @@ -3146,7 +3146,6 @@ MF_SOFT_OFFLINE = 1 << 3, }; extern int memory_failure(unsigned long pfn, int flags); -extern void memory_failure_queue(unsigned long pfn, int flags); extern void memory_failure_queue_kick(int cpu); extern int unpoison_memory(unsigned long pfn); extern int sysctl_memory_failure_early_kill; @@ -3155,8 +3154,12 @@ extern atomic_long_t num_poisoned_pages __read_mostly; extern int soft_offline_page(unsigned long pfn, int flags); #ifdef CONFIG_MEMORY_FAILURE +extern void memory_failure_queue(unsigned long pfn, int flags); extern int __get_huge_page_for_hwpoison(unsigned long pfn, int flags); #else +static inline void memory_failure_queue(unsigned long pfn, int flags) +{ +} static inline int __get_huge_page_for_hwpoison(unsigned long pfn, int flags) { return 0; diff -u linux-intel-iotg-5.15-5.15.0/include/linux/netdevice.h linux-intel-iotg-5.15-5.15.0/include/linux/netdevice.h --- linux-intel-iotg-5.15-5.15.0/include/linux/netdevice.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/netdevice.h @@ -737,8 +737,11 @@ /* We only give a hint, preemption can change CPU under us */ val |= raw_smp_processor_id(); - if (table->ents[index] != val) - table->ents[index] = val; + /* The following WRITE_ONCE() is paired with the READ_ONCE() + * here, and another one in get_rps_cpu(). + */ + if (READ_ONCE(table->ents[index]) != val) + WRITE_ONCE(table->ents[index], val); } } @@ -1838,7 +1841,6 @@ * @tipc_ptr: TIPC specific data * @atalk_ptr: AppleTalk link * @ip_ptr: IPv4 specific data - * @dn_ptr: DECnet specific data * @ip6_ptr: IPv6 specific data * @ax25_ptr: AX.25 specific data * @ieee80211_ptr: IEEE 802.11 specific data, assign before registering @@ -2121,9 +2123,6 @@ void *atalk_ptr; #endif struct in_device __rcu *ip_ptr; -#if IS_ENABLED(CONFIG_DECNET) - struct dn_dev __rcu *dn_ptr; -#endif struct inet6_dev __rcu *ip6_ptr; #if IS_ENABLED(CONFIG_AX25) void *ax25_ptr; @@ -5199,6 +5198,15 @@ return dev->priv_flags & IFF_L3MDEV_SLAVE; } +static inline int dev_sdif(const struct net_device *dev) +{ +#ifdef CONFIG_NET_L3_MASTER_DEV + if (netif_is_l3_slave(dev)) + return dev->ifindex; +#endif + return 0; +} + static inline bool netif_is_bridge_master(const struct net_device *dev) { return dev->priv_flags & IFF_EBRIDGE; diff -u linux-intel-iotg-5.15-5.15.0/include/linux/nmi.h linux-intel-iotg-5.15-5.15.0/include/linux/nmi.h --- linux-intel-iotg-5.15-5.15.0/include/linux/nmi.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/nmi.h @@ -197,7 +197,7 @@ #endif #if defined(CONFIG_HARDLOCKUP_CHECK_TIMESTAMP) && \ - defined(CONFIG_HARDLOCKUP_DETECTOR) + defined(CONFIG_HARDLOCKUP_DETECTOR_PERF) void watchdog_update_hrtimer_threshold(u64 period); #else static inline void watchdog_update_hrtimer_threshold(u64 period) { } diff -u linux-intel-iotg-5.15-5.15.0/include/linux/objtool.h linux-intel-iotg-5.15-5.15.0/include/linux/objtool.h --- linux-intel-iotg-5.15-5.15.0/include/linux/objtool.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/objtool.h @@ -71,6 +71,23 @@ static void __used __section(".discard.func_stack_frame_non_standard") \ *__func_stack_frame_non_standard_##func = func +/* + * STACK_FRAME_NON_STANDARD_FP() is a frame-pointer-specific function ignore + * for the case where a function is intentionally missing frame pointer setup, + * but otherwise needs objtool/ORC coverage when frame pointers are disabled. + */ +#ifdef CONFIG_FRAME_POINTER +#define STACK_FRAME_NON_STANDARD_FP(func) STACK_FRAME_NON_STANDARD(func) +#else +#define STACK_FRAME_NON_STANDARD_FP(func) +#endif + +#define ANNOTATE_NOENDBR \ + "986: \n\t" \ + ".pushsection .discard.noendbr\n\t" \ + _ASM_PTR " 986b\n\t" \ + ".popsection\n\t" + #else /* __ASSEMBLY__ */ /* @@ -123,6 +140,13 @@ .popsection .endm +.macro ANNOTATE_NOENDBR +.Lhere_\@: + .pushsection .discard.noendbr + .quad .Lhere_\@ + .popsection +.endm + #endif /* __ASSEMBLY__ */ #else /* !CONFIG_STACK_VALIDATION */ @@ -132,12 +156,16 @@ #define UNWIND_HINT(sp_reg, sp_offset, type, end) \ "\n\t" #define STACK_FRAME_NON_STANDARD(func) +#define STACK_FRAME_NON_STANDARD_FP(func) +#define ANNOTATE_NOENDBR #else #define ANNOTATE_INTRA_FUNCTION_CALL .macro UNWIND_HINT type:req sp_reg=0 sp_offset=0 end=0 .endm .macro STACK_FRAME_NON_STANDARD func:req .endm +.macro ANNOTATE_NOENDBR +.endm #endif #endif /* CONFIG_STACK_VALIDATION */ diff -u linux-intel-iotg-5.15-5.15.0/include/linux/pci.h linux-intel-iotg-5.15-5.15.0/include/linux/pci.h --- linux-intel-iotg-5.15-5.15.0/include/linux/pci.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/pci.h @@ -1795,6 +1795,7 @@ #define pci_dev_put(dev) do { } while (0) static inline void pci_set_master(struct pci_dev *dev) { } +static inline void pci_clear_master(struct pci_dev *dev) { } static inline int pci_enable_device(struct pci_dev *dev) { return -EIO; } static inline void pci_disable_device(struct pci_dev *dev) { } static inline int pcim_enable_device(struct pci_dev *pdev) { return -EIO; } diff -u linux-intel-iotg-5.15-5.15.0/include/linux/pipe_fs_i.h linux-intel-iotg-5.15-5.15.0/include/linux/pipe_fs_i.h --- linux-intel-iotg-5.15-5.15.0/include/linux/pipe_fs_i.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/pipe_fs_i.h @@ -265,18 +265,14 @@ extern const struct pipe_buf_operations nosteal_pipe_buf_ops; -#ifdef CONFIG_WATCH_QUEUE unsigned long account_pipe_buffers(struct user_struct *user, unsigned long old, unsigned long new); bool too_many_pipe_buffers_soft(unsigned long user_bufs); bool too_many_pipe_buffers_hard(unsigned long user_bufs); bool pipe_is_unprivileged_user(void); -#endif /* for F_SETPIPE_SZ and F_GETPIPE_SZ */ -#ifdef CONFIG_WATCH_QUEUE int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots); -#endif long pipe_fcntl(struct file *, unsigned int, unsigned long arg); struct pipe_inode_info *get_pipe_info(struct file *file, bool for_splice); diff -u linux-intel-iotg-5.15-5.15.0/include/linux/serial_8250.h linux-intel-iotg-5.15-5.15.0/include/linux/serial_8250.h --- linux-intel-iotg-5.15-5.15.0/include/linux/serial_8250.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/serial_8250.h @@ -98,7 +98,6 @@ struct list_head list; /* ports on this IRQ */ u32 capabilities; /* port capabilities */ unsigned short bugs; /* port bugs */ - bool fifo_bug; /* min RX trigger if enabled */ unsigned int tx_loadsz; /* transmit fifo load size */ unsigned char acr; unsigned char fcr; diff -u linux-intel-iotg-5.15-5.15.0/include/linux/usb/hcd.h linux-intel-iotg-5.15-5.15.0/include/linux/usb/hcd.h --- linux-intel-iotg-5.15-5.15.0/include/linux/usb/hcd.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/usb/hcd.h @@ -515,6 +515,11 @@ void hcd_buffer_free(struct usb_bus *bus, size_t size, void *addr, dma_addr_t dma); +void *hcd_buffer_alloc_pages(struct usb_hcd *hcd, + size_t size, gfp_t mem_flags, dma_addr_t *dma); +void hcd_buffer_free_pages(struct usb_hcd *hcd, + size_t size, void *addr, dma_addr_t dma); + /* generic bus glue, needed for host controllers that don't use PCI */ extern irqreturn_t usb_hcd_irq(int irq, void *__hcd); diff -u linux-intel-iotg-5.15-5.15.0/include/linux/workqueue.h linux-intel-iotg-5.15-5.15.0/include/linux/workqueue.h --- linux-intel-iotg-5.15-5.15.0/include/linux/workqueue.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/workqueue.h @@ -68,7 +68,6 @@ WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT, __WORK_OFFQ_CANCELING = WORK_OFFQ_FLAG_BASE, - WORK_OFFQ_CANCELING = (1 << __WORK_OFFQ_CANCELING), /* * When a work item is off queue, its high bits point to the last @@ -79,12 +78,6 @@ WORK_OFFQ_POOL_SHIFT = WORK_OFFQ_FLAG_BASE + WORK_OFFQ_FLAG_BITS, WORK_OFFQ_LEFT = BITS_PER_LONG - WORK_OFFQ_POOL_SHIFT, WORK_OFFQ_POOL_BITS = WORK_OFFQ_LEFT <= 31 ? WORK_OFFQ_LEFT : 31, - WORK_OFFQ_POOL_NONE = (1LU << WORK_OFFQ_POOL_BITS) - 1, - - /* convenience constants */ - WORK_STRUCT_FLAG_MASK = (1UL << WORK_STRUCT_FLAG_BITS) - 1, - WORK_STRUCT_WQ_DATA_MASK = ~WORK_STRUCT_FLAG_MASK, - WORK_STRUCT_NO_POOL = (unsigned long)WORK_OFFQ_POOL_NONE << WORK_OFFQ_POOL_SHIFT, /* bit mask for work_busy() return values */ WORK_BUSY_PENDING = 1 << 0, @@ -94,6 +87,14 @@ WORKER_DESC_LEN = 24, }; +/* Convenience constants - of type 'unsigned long', not 'enum'! */ +#define WORK_OFFQ_CANCELING (1ul << __WORK_OFFQ_CANCELING) +#define WORK_OFFQ_POOL_NONE ((1ul << WORK_OFFQ_POOL_BITS) - 1) +#define WORK_STRUCT_NO_POOL (WORK_OFFQ_POOL_NONE << WORK_OFFQ_POOL_SHIFT) + +#define WORK_STRUCT_FLAG_MASK ((1ul << WORK_STRUCT_FLAG_BITS) - 1) +#define WORK_STRUCT_WQ_DATA_MASK (~WORK_STRUCT_FLAG_MASK) + struct work_struct { atomic_long_t data; struct list_head entry; diff -u linux-intel-iotg-5.15-5.15.0/include/net/bond_alb.h linux-intel-iotg-5.15-5.15.0/include/net/bond_alb.h --- linux-intel-iotg-5.15-5.15.0/include/net/bond_alb.h +++ linux-intel-iotg-5.15-5.15.0/include/net/bond_alb.h @@ -156,8 +156,8 @@ void bond_alb_deinit_slave(struct bonding *bond, struct slave *slave); void bond_alb_handle_link_change(struct bonding *bond, struct slave *slave, char link); void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave); -int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev); -int bond_tlb_xmit(struct sk_buff *skb, struct net_device *bond_dev); +netdev_tx_t bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev); +netdev_tx_t bond_tlb_xmit(struct sk_buff *skb, struct net_device *bond_dev); struct slave *bond_xmit_alb_slave_get(struct bonding *bond, struct sk_buff *skb); struct slave *bond_xmit_tlb_slave_get(struct bonding *bond, diff -u linux-intel-iotg-5.15-5.15.0/include/net/dst.h linux-intel-iotg-5.15-5.15.0/include/net/dst.h --- linux-intel-iotg-5.15-5.15.0/include/net/dst.h +++ linux-intel-iotg-5.15-5.15.0/include/net/dst.h @@ -238,12 +238,6 @@ } } -static inline void dst_hold_and_use(struct dst_entry *dst, unsigned long time) -{ - dst_hold(dst); - dst_use_noref(dst, time); -} - static inline struct dst_entry *dst_clone(struct dst_entry *dst) { if (dst) diff -u linux-intel-iotg-5.15-5.15.0/include/net/ip_tunnels.h linux-intel-iotg-5.15-5.15.0/include/net/ip_tunnels.h --- linux-intel-iotg-5.15-5.15.0/include/net/ip_tunnels.h +++ linux-intel-iotg-5.15-5.15.0/include/net/ip_tunnels.h @@ -405,9 +405,11 @@ static inline u8 ip_tunnel_get_dsfield(const struct iphdr *iph, const struct sk_buff *skb) { - if (skb->protocol == htons(ETH_P_IP)) + __be16 payload_protocol = skb_protocol(skb, true); + + if (payload_protocol == htons(ETH_P_IP)) return iph->tos; - else if (skb->protocol == htons(ETH_P_IPV6)) + else if (payload_protocol == htons(ETH_P_IPV6)) return ipv6_get_dsfield((const struct ipv6hdr *)iph); else return 0; @@ -416,9 +418,11 @@ static inline u8 ip_tunnel_get_ttl(const struct iphdr *iph, const struct sk_buff *skb) { - if (skb->protocol == htons(ETH_P_IP)) + __be16 payload_protocol = skb_protocol(skb, true); + + if (payload_protocol == htons(ETH_P_IP)) return iph->ttl; - else if (skb->protocol == htons(ETH_P_IPV6)) + else if (payload_protocol == htons(ETH_P_IPV6)) return ((const struct ipv6hdr *)iph)->hop_limit; else return 0; diff -u linux-intel-iotg-5.15-5.15.0/include/net/ipv6.h linux-intel-iotg-5.15-5.15.0/include/net/ipv6.h --- linux-intel-iotg-5.15-5.15.0/include/net/ipv6.h +++ linux-intel-iotg-5.15-5.15.0/include/net/ipv6.h @@ -664,12 +664,8 @@ /* more secured version of ipv6_addr_hash() */ static inline u32 __ipv6_addr_jhash(const struct in6_addr *a, const u32 initval) { - u32 v = (__force u32)a->s6_addr32[0] ^ (__force u32)a->s6_addr32[1]; - - return jhash_3words(v, - (__force u32)a->s6_addr32[2], - (__force u32)a->s6_addr32[3], - initval); + return jhash2((__force const u32 *)a->s6_addr32, + ARRAY_SIZE(a->s6_addr32), initval); } static inline bool ipv6_addr_loopback(const struct in6_addr *a) diff -u linux-intel-iotg-5.15-5.15.0/include/net/neighbour.h linux-intel-iotg-5.15-5.15.0/include/net/neighbour.h --- linux-intel-iotg-5.15-5.15.0/include/net/neighbour.h +++ linux-intel-iotg-5.15-5.15.0/include/net/neighbour.h @@ -174,7 +174,7 @@ struct net_device *dev; u8 flags; u8 protocol; - u8 key[]; + u32 key[]; }; /* @@ -260,11 +260,6 @@ extern const struct nla_policy nda_policy[]; -static inline bool neigh_key_eq16(const struct neighbour *n, const void *pkey) -{ - return *(const u16 *)n->primary_key == *(const u16 *)pkey; -} - static inline bool neigh_key_eq32(const struct neighbour *n, const void *pkey) { return *(const u32 *)n->primary_key == *(const u32 *)pkey; @@ -314,8 +309,6 @@ int neigh_table_clear(int index, struct neigh_table *tbl); struct neighbour *neigh_lookup(struct neigh_table *tbl, const void *pkey, struct net_device *dev); -struct neighbour *neigh_lookup_nodev(struct neigh_table *tbl, struct net *net, - const void *pkey); struct neighbour *__neigh_create(struct neigh_table *tbl, const void *pkey, struct net_device *dev, bool want_ref); static inline struct neighbour *neigh_create(struct neigh_table *tbl, diff -u linux-intel-iotg-5.15-5.15.0/include/net/netfilter/nf_tables.h linux-intel-iotg-5.15-5.15.0/include/net/netfilter/nf_tables.h --- linux-intel-iotg-5.15-5.15.0/include/net/netfilter/nf_tables.h +++ linux-intel-iotg-5.15-5.15.0/include/net/netfilter/nf_tables.h @@ -427,7 +427,8 @@ const struct nft_set *set, const struct nft_set_elem *elem, unsigned int flags); - + void (*commit)(const struct nft_set *set); + void (*abort)(const struct nft_set *set); u64 (*privsize)(const struct nlattr * const nla[], const struct nft_set_desc *desc); bool (*estimate)(const struct nft_set_desc *desc, @@ -436,7 +437,8 @@ int (*init)(const struct nft_set *set, const struct nft_set_desc *desc, const struct nlattr * const nla[]); - void (*destroy)(const struct nft_set *set); + void (*destroy)(const struct nft_ctx *ctx, + const struct nft_set *set); void (*gc_init)(const struct nft_set *set); unsigned int elemsize; @@ -522,6 +524,7 @@ u16 policy; u16 udlen; unsigned char *udata; + struct list_head pending_update; /* runtime data below here */ const struct nft_set_ops *ops ____cacheline_aligned; u16 flags:14, @@ -770,6 +773,8 @@ struct nft_expr *expr_array[]); void nft_set_elem_destroy(const struct nft_set *set, void *elem, bool destroy_expr); +void nf_tables_set_elem_destroy(const struct nft_ctx *ctx, + const struct nft_set *set, void *elem); /** * struct nft_set_gc_batch_head - nf_tables set garbage collection batch @@ -1501,6 +1506,7 @@ * struct nft_trans - nf_tables object update in transaction * * @list: used internally + * @binding_list: list of objects with possible bindings * @msg_type: message type * @put_net: ctx->net needs to be put * @ctx: transaction context @@ -1508,6 +1514,7 @@ */ struct nft_trans { struct list_head list; + struct list_head binding_list; int msg_type; bool put_net; struct nft_ctx ctx; @@ -1646,6 +1653,7 @@ struct nftables_pernet { struct list_head tables; struct list_head commit_list; + struct list_head binding_list; struct list_head module_list; struct list_head notify_list; struct mutex commit_mutex; diff -u linux-intel-iotg-5.15-5.15.0/include/net/netns/ipv6.h linux-intel-iotg-5.15-5.15.0/include/net/netns/ipv6.h --- linux-intel-iotg-5.15-5.15.0/include/net/netns/ipv6.h +++ linux-intel-iotg-5.15-5.15.0/include/net/netns/ipv6.h @@ -53,7 +53,7 @@ int seg6_flowlabel; u32 ioam6_id; u64 ioam6_id_wide; - bool skip_notify_on_dev_down; + int skip_notify_on_dev_down; u8 fib_notify_on_flag_change; }; diff -u linux-intel-iotg-5.15-5.15.0/include/net/pkt_sched.h linux-intel-iotg-5.15-5.15.0/include/net/pkt_sched.h --- linux-intel-iotg-5.15-5.15.0/include/net/pkt_sched.h +++ linux-intel-iotg-5.15-5.15.0/include/net/pkt_sched.h @@ -134,12 +134,14 @@ } } +extern const struct nla_policy rtm_tca_policy[TCA_MAX + 1]; + /* Calculate maximal size of packet seen by hard_start_xmit routine of this device. */ static inline unsigned int psched_mtu(const struct net_device *dev) { - return dev->mtu + dev->hard_header_len; + return READ_ONCE(dev->mtu) + dev->hard_header_len; } static inline struct net *qdisc_net(struct Qdisc *q) diff -u linux-intel-iotg-5.15-5.15.0/include/net/sock.h linux-intel-iotg-5.15-5.15.0/include/net/sock.h --- linux-intel-iotg-5.15-5.15.0/include/net/sock.h +++ linux-intel-iotg-5.15-5.15.0/include/net/sock.h @@ -1093,8 +1093,12 @@ * OR an additional socket flag * [1] : sk_state and sk_prot are in the same cache line. */ - if (sk->sk_state == TCP_ESTABLISHED) - sock_rps_record_flow_hash(sk->sk_rxhash); + if (sk->sk_state == TCP_ESTABLISHED) { + /* This READ_ONCE() is paired with the WRITE_ONCE() + * from sock_rps_save_rxhash() and sock_rps_reset_rxhash(). + */ + sock_rps_record_flow_hash(READ_ONCE(sk->sk_rxhash)); + } } #endif } @@ -1103,15 +1107,19 @@ const struct sk_buff *skb) { #ifdef CONFIG_RPS - if (unlikely(sk->sk_rxhash != skb->hash)) - sk->sk_rxhash = skb->hash; + /* The following WRITE_ONCE() is paired with the READ_ONCE() + * here, and another one in sock_rps_record_flow(). + */ + if (unlikely(READ_ONCE(sk->sk_rxhash) != skb->hash)) + WRITE_ONCE(sk->sk_rxhash, skb->hash); #endif } static inline void sock_rps_reset_rxhash(struct sock *sk) { #ifdef CONFIG_RPS - sk->sk_rxhash = 0; + /* Paired with READ_ONCE() in sock_rps_record_flow() */ + WRITE_ONCE(sk->sk_rxhash, 0); #endif } @@ -1996,6 +2004,7 @@ } kuid_t sock_i_uid(struct sock *sk); +unsigned long __sock_i_ino(struct sock *sk); unsigned long sock_i_ino(struct sock *sk); static inline kuid_t sock_net_uid(const struct net *net, const struct sock *sk) diff -u linux-intel-iotg-5.15-5.15.0/include/net/xfrm.h linux-intel-iotg-5.15-5.15.0/include/net/xfrm.h --- linux-intel-iotg-5.15-5.15.0/include/net/xfrm.h +++ linux-intel-iotg-5.15-5.15.0/include/net/xfrm.h @@ -1028,6 +1028,7 @@ struct sec_path { int len; int olen; + int verified_cnt; struct xfrm_state *xvec[XFRM_MAX_DEPTH]; struct xfrm_offload ovec[XFRM_MAX_OFFLOAD_DEPTH]; diff -u linux-intel-iotg-5.15-5.15.0/include/sound/soc-dpcm.h linux-intel-iotg-5.15-5.15.0/include/sound/soc-dpcm.h --- linux-intel-iotg-5.15-5.15.0/include/sound/soc-dpcm.h +++ linux-intel-iotg-5.15-5.15.0/include/sound/soc-dpcm.h @@ -123,6 +123,10 @@ int snd_soc_dpcm_can_be_params(struct snd_soc_pcm_runtime *fe, struct snd_soc_pcm_runtime *be, int stream); +/* can this BE perform prepare */ +int snd_soc_dpcm_can_be_prepared(struct snd_soc_pcm_runtime *fe, + struct snd_soc_pcm_runtime *be, int stream); + /* is the current PCM operation for this FE ? */ int snd_soc_dpcm_fe_can_update(struct snd_soc_pcm_runtime *fe, int stream); diff -u linux-intel-iotg-5.15-5.15.0/include/trace/events/timer.h linux-intel-iotg-5.15-5.15.0/include/trace/events/timer.h --- linux-intel-iotg-5.15-5.15.0/include/trace/events/timer.h +++ linux-intel-iotg-5.15-5.15.0/include/trace/events/timer.h @@ -156,7 +156,11 @@ { HRTIMER_MODE_ABS_SOFT, "ABS|SOFT" }, \ { HRTIMER_MODE_REL_SOFT, "REL|SOFT" }, \ { HRTIMER_MODE_ABS_PINNED_SOFT, "ABS|PINNED|SOFT" }, \ - { HRTIMER_MODE_REL_PINNED_SOFT, "REL|PINNED|SOFT" }) + { HRTIMER_MODE_REL_PINNED_SOFT, "REL|PINNED|SOFT" }, \ + { HRTIMER_MODE_ABS_HARD, "ABS|HARD" }, \ + { HRTIMER_MODE_REL_HARD, "REL|HARD" }, \ + { HRTIMER_MODE_ABS_PINNED_HARD, "ABS|PINNED|HARD" }, \ + { HRTIMER_MODE_REL_PINNED_HARD, "REL|PINNED|HARD" }) /** * hrtimer_init - called when the hrtimer is initialized diff -u linux-intel-iotg-5.15-5.15.0/include/uapi/linux/ethtool_netlink.h linux-intel-iotg-5.15-5.15.0/include/uapi/linux/ethtool_netlink.h --- linux-intel-iotg-5.15-5.15.0/include/uapi/linux/ethtool_netlink.h +++ linux-intel-iotg-5.15-5.15.0/include/uapi/linux/ethtool_netlink.h @@ -767,7 +767,7 @@ /* add new constants above here */ __ETHTOOL_A_STATS_GRP_CNT, - ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_CNT - 1) + ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1) }; enum { diff -u linux-intel-iotg-5.15-5.15.0/include/uapi/linux/videodev2.h linux-intel-iotg-5.15-5.15.0/include/uapi/linux/videodev2.h --- linux-intel-iotg-5.15-5.15.0/include/uapi/linux/videodev2.h +++ linux-intel-iotg-5.15-5.15.0/include/uapi/linux/videodev2.h @@ -1652,7 +1652,7 @@ __u8 name[32]; /* Label */ __u32 type; /* Type of input */ __u32 audioset; /* Associated audios (bitfield) */ - __u32 tuner; /* enum v4l2_tuner_type */ + __u32 tuner; /* Tuner index */ v4l2_std_id std; __u32 status; __u32 capabilities; diff -u linux-intel-iotg-5.15-5.15.0/io_uring/io_uring.c linux-intel-iotg-5.15-5.15.0/io_uring/io_uring.c --- linux-intel-iotg-5.15-5.15.0/io_uring/io_uring.c +++ linux-intel-iotg-5.15-5.15.0/io_uring/io_uring.c @@ -581,6 +581,7 @@ size_t len; size_t done_io; struct io_buffer *kbuf; + void __user *msg_control; }; struct io_open { @@ -2216,9 +2217,12 @@ } req->io_task_work.func(req, &locked); node = next; + if (unlikely(need_resched())) { + ctx_flush_and_put(ctx, &locked); + ctx = NULL; + cond_resched(); + } } while (node); - - cond_resched(); } ctx_flush_and_put(ctx, &locked); @@ -4881,10 +4885,16 @@ static int io_sendmsg_copy_hdr(struct io_kiocb *req, struct io_async_msghdr *iomsg) { + struct io_sr_msg *sr = &req->sr_msg; + int ret; + iomsg->msg.msg_name = &iomsg->addr; iomsg->free_iov = iomsg->fast_iov; - return sendmsg_copy_msghdr(&iomsg->msg, req->sr_msg.umsg, + ret = sendmsg_copy_msghdr(&iomsg->msg, req->sr_msg.umsg, req->sr_msg.msg_flags, &iomsg->free_iov); + /* save msg_control as sys_sendmsg() overwrites it */ + sr->msg_control = iomsg->msg.msg_control; + return ret; } static int io_sendmsg_prep_async(struct io_kiocb *req) @@ -4941,6 +4951,8 @@ if (ret) return ret; kmsg = &iomsg; + } else { + kmsg->msg.msg_control = sr->msg_control; } flags = req->sr_msg.msg_flags; @@ -4957,6 +4969,8 @@ if (ret == -ERESTARTSYS) ret = -EINTR; if (ret > 0 && io_net_retry(sock, flags)) { + kmsg->msg.msg_controllen = 0; + kmsg->msg.msg_control = NULL; sr->done_io += ret; req->flags |= REQ_F_PARTIAL_IO; return io_setup_async_msg(req, kmsg); @@ -5207,7 +5221,7 @@ flags = req->sr_msg.msg_flags; if (force_nonblock) flags |= MSG_DONTWAIT; - if (flags & MSG_WAITALL) + if (flags & MSG_WAITALL && !kmsg->msg.msg_controllen) min_ret = iov_iter_count(&kmsg->msg.msg_iter); ret = __sys_recvmsg_sock(sock, &kmsg->msg, req->sr_msg.umsg, @@ -7785,7 +7799,7 @@ struct io_wait_queue *iowq, ktime_t *timeout) { - int ret; + int token, ret; /* make sure we run task_work before checking for signals */ ret = io_run_task_work_sig(); @@ -7795,9 +7809,17 @@ if (test_bit(0, &ctx->check_cq_overflow)) return 1; + /* + * Use io_schedule_prepare/finish, so cpufreq can take into account + * that the task is waiting for IO - turns out to be important for low + * QD IO. + */ + token = io_schedule_prepare(); + ret = 1; if (!schedule_hrtimeout(timeout, HRTIMER_MODE_ABS)) - return -ETIME; - return 1; + ret = -ETIME; + io_schedule_finish(token); + return ret; } /* @@ -9703,7 +9725,18 @@ /* there is little hope left, don't run it too often */ interval = HZ * 60; } - } while (!wait_for_completion_timeout(&ctx->ref_comp, interval)); + /* + * This is really an uninterruptible wait, as it has to be + * complete. But it's also run from a kworker, which doesn't + * take signals, so it's fine to make it interruptible. This + * avoids scenarios where we knowingly can wait much longer + * on completions, for example if someone does a SIGSTOP on + * a task that needs to finish task_work to make this loop + * complete. That's a synthetic situation that should not + * cause a stuck task backtrace, and hence a potential panic + * on stuck tasks if that is enabled. + */ + } while (!wait_for_completion_interruptible_timeout(&ctx->ref_comp, interval)); init_completion(&exit.completion); init_task_work(&exit.task_work, io_tctx_exit_cb); @@ -9728,7 +9761,12 @@ wake_up_process(node->task); mutex_unlock(&ctx->uring_lock); - wait_for_completion(&exit.completion); + /* + * See comment above for + * wait_for_completion_interruptible_timeout() on why this + * wait is marked as interruptible. + */ + wait_for_completion_interruptible(&exit.completion); mutex_lock(&ctx->uring_lock); } mutex_unlock(&ctx->uring_lock); diff -u linux-intel-iotg-5.15-5.15.0/kernel/bpf/btf.c linux-intel-iotg-5.15-5.15.0/kernel/bpf/btf.c --- linux-intel-iotg-5.15-5.15.0/kernel/bpf/btf.c +++ linux-intel-iotg-5.15-5.15.0/kernel/bpf/btf.c @@ -633,13 +633,12 @@ return offset < btf->hdr.str_len; } -static bool __btf_name_char_ok(char c, bool first, bool dot_ok) +static bool __btf_name_char_ok(char c, bool first) { if ((first ? !isalpha(c) : !isalnum(c)) && c != '_' && - ((c == '.' && !dot_ok) || - c != '.')) + c != '.') return false; return true; } @@ -656,20 +655,20 @@ return NULL; } -static bool __btf_name_valid(const struct btf *btf, u32 offset, bool dot_ok) +static bool __btf_name_valid(const struct btf *btf, u32 offset) { /* offset must be valid */ const char *src = btf_str_by_offset(btf, offset); const char *src_limit; - if (!__btf_name_char_ok(*src, true, dot_ok)) + if (!__btf_name_char_ok(*src, true)) return false; /* set a limit on identifier length */ src_limit = src + KSYM_NAME_LEN; src++; while (*src && src < src_limit) { - if (!__btf_name_char_ok(*src, false, dot_ok)) + if (!__btf_name_char_ok(*src, false)) return false; src++; } @@ -677,17 +676,14 @@ return !*src; } -/* Only C-style identifier is permitted. This can be relaxed if - * necessary. - */ static bool btf_name_valid_identifier(const struct btf *btf, u32 offset) { - return __btf_name_valid(btf, offset, false); + return __btf_name_valid(btf, offset); } static bool btf_name_valid_section(const struct btf *btf, u32 offset) { - return __btf_name_valid(btf, offset, true); + return __btf_name_valid(btf, offset); } static const char *__btf_name_by_offset(const struct btf *btf, u32 offset) @@ -3536,7 +3532,7 @@ } if (!t->name_off || - !__btf_name_valid(env->btf, t->name_off, true)) { + !__btf_name_valid(env->btf, t->name_off)) { btf_verifier_log_type(env, t, "Invalid name"); return -EINVAL; } diff -u linux-intel-iotg-5.15-5.15.0/kernel/bpf/cgroup.c linux-intel-iotg-5.15-5.15.0/kernel/bpf/cgroup.c --- linux-intel-iotg-5.15-5.15.0/kernel/bpf/cgroup.c +++ linux-intel-iotg-5.15-5.15.0/kernel/bpf/cgroup.c @@ -1481,6 +1481,12 @@ ret = 1; } else if (ctx.optlen > max_optlen || ctx.optlen < -1) { /* optlen is out of bounds */ + if (*optlen > PAGE_SIZE && ctx.optlen >= 0) { + pr_info_once("bpf setsockopt: ignoring program buffer with optlen=%d (max_optlen=%d)\n", + ctx.optlen, max_optlen); + ret = 0; + goto out; + } ret = -EFAULT; } else { /* optlen within bounds, run kernel handler */ @@ -1536,6 +1542,7 @@ .optname = optname, .retval = retval, }; + int orig_optlen; int ret; /* Opportunistic check to see whether we have any BPF program @@ -1545,6 +1552,7 @@ if (__cgroup_bpf_prog_array_is_empty(cgrp, CGROUP_GETSOCKOPT)) return retval; + orig_optlen = max_optlen; ctx.optlen = max_optlen; max_optlen = sockopt_alloc_buf(&ctx, max_optlen, &buf); @@ -1568,6 +1576,7 @@ ret = -EFAULT; goto out; } + orig_optlen = ctx.optlen; if (copy_from_user(ctx.optval, optval, min(ctx.optlen, max_optlen)) != 0) { @@ -1587,6 +1596,12 @@ } if (optval && (ctx.optlen > max_optlen || ctx.optlen < 0)) { + if (orig_optlen > PAGE_SIZE && ctx.optlen >= 0) { + pr_info_once("bpf getsockopt: ignoring program buffer with optlen=%d (max_optlen=%d)\n", + ctx.optlen, max_optlen); + ret = retval; + goto out; + } ret = -EFAULT; goto out; } diff -u linux-intel-iotg-5.15-5.15.0/kernel/bpf/verifier.c linux-intel-iotg-5.15-5.15.0/kernel/bpf/verifier.c --- linux-intel-iotg-5.15-5.15.0/kernel/bpf/verifier.c +++ linux-intel-iotg-5.15-5.15.0/kernel/bpf/verifier.c @@ -2661,2 +2661,7 @@ +static bool is_bpf_st_mem(struct bpf_insn *insn) +{ + return BPF_CLASS(insn->code) == BPF_ST && BPF_MODE(insn->code) == BPF_MEM; +} + /* check_stack_{read,write}_fixed_off functions track spill/fill of registers, @@ -2670,8 +2675,9 @@ { struct bpf_func_state *cur; /* state of the current function */ int i, slot = -off - 1, spi = slot / BPF_REG_SIZE, err; - u32 dst_reg = env->prog->insnsi[insn_idx].dst_reg; + struct bpf_insn *insn = &env->prog->insnsi[insn_idx]; struct bpf_reg_state *reg = NULL; + u32 dst_reg = insn->dst_reg; err = grow_stack_state(state, round_up(slot + 1, BPF_REG_SIZE)); if (err) @@ -2719,6 +2725,16 @@ return err; } save_register_state(state, spi, reg, size); + /* Break the relation on a narrowing spill. */ + if (fls64(reg->umax_value) > BITS_PER_BYTE * size) + state->stack[spi].spilled_ptr.id = 0; + } else if (!reg && !(off % BPF_REG_SIZE) && is_bpf_st_mem(insn) && + insn->imm != 0 && env->bpf_capable) { + struct bpf_reg_state fake_reg = {}; + + __mark_reg_known(&fake_reg, (u32)insn->imm); + fake_reg.type = SCALAR_VALUE; + save_register_state(state, spi, &fake_reg, size); } else if (reg && is_spillable_regtype(reg->type)) { /* register containing pointer is being spilled into stack */ if (size != BPF_REG_SIZE) { @@ -2753,7 +2769,8 @@ state->stack[spi].spilled_ptr.live |= REG_LIVE_WRITTEN; /* when we zero initialize stack slots mark them as such */ - if (reg && register_is_null(reg)) { + if ((reg && register_is_null(reg)) || + (!reg && is_bpf_st_mem(insn) && insn->imm == 0)) { /* backtracking doesn't work for STACK_ZERO yet. */ err = mark_chain_precision(env, value_regno); if (err) @@ -3748,8 +3765,9 @@ verbose(env, "verifier bug. subprog has tail_call and async cb\n"); return -EFAULT; } - /* async callbacks don't increase bpf prog stack size */ - continue; + /* async callbacks don't increase bpf prog stack size unless called directly */ + if (!bpf_pseudo_call(insn + i)) + continue; } i = next_insn; @@ -12579,9 +12597,10 @@ } /* finally lock prog and jit images for all functions and - * populate kallsysm + * populate kallsysm. Begin at the first subprogram, since + * bpf_prog_load will add the kallsyms for the main program. */ - for (i = 0; i < env->subprog_cnt; i++) { + for (i = 1; i < env->subprog_cnt; i++) { bpf_prog_lock_ro(func[i]); bpf_prog_kallsyms_add(func[i]); } @@ -12606,6 +12625,8 @@ prog->jited = 1; prog->bpf_func = func[0]->bpf_func; + prog->aux->extable = func[0]->aux->extable; + prog->aux->num_exentries = func[0]->aux->num_exentries; prog->aux->func = func; prog->aux->func_cnt = env->subprog_cnt; bpf_prog_jit_attempt_done(prog); diff -u linux-intel-iotg-5.15-5.15.0/kernel/cgroup/cgroup.c linux-intel-iotg-5.15-5.15.0/kernel/cgroup/cgroup.c --- linux-intel-iotg-5.15-5.15.0/kernel/cgroup/cgroup.c +++ linux-intel-iotg-5.15-5.15.0/kernel/cgroup/cgroup.c @@ -1741,7 +1741,7 @@ { struct cgroup *dcgrp = &dst_root->cgrp; struct cgroup_subsys *ss; - int ssid, i, ret; + int ssid, ret; u16 dfl_disable_ss_mask = 0; lockdep_assert_held(&cgroup_mutex); @@ -1785,7 +1785,8 @@ struct cgroup_root *src_root = ss->root; struct cgroup *scgrp = &src_root->cgrp; struct cgroup_subsys_state *css = cgroup_css(scgrp, ss); - struct css_set *cset; + struct css_set *cset, *cset_pos; + struct css_task_iter *it; WARN_ON(!css || cgroup_css(dcgrp, ss)); @@ -1803,9 +1804,22 @@ css->cgroup = dcgrp; spin_lock_irq(&css_set_lock); - hash_for_each(css_set_table, i, cset, hlist) + WARN_ON(!list_empty(&dcgrp->e_csets[ss->id])); + list_for_each_entry_safe(cset, cset_pos, &scgrp->e_csets[ss->id], + e_cset_node[ss->id]) { list_move_tail(&cset->e_cset_node[ss->id], &dcgrp->e_csets[ss->id]); + /* + * all css_sets of scgrp together in same order to dcgrp, + * patch in-flight iterators to preserve correct iteration. + * since the iterator is always advanced right away and + * finished when it->cset_pos meets it->cset_head, so only + * update it->cset_head is enough here. + */ + list_for_each_entry(it, &cset->task_iters, iters_node) + if (it->cset_head == &scgrp->e_csets[ss->id]) + it->cset_head = &dcgrp->e_csets[ss->id]; + } spin_unlock_irq(&css_set_lock); if (ss->css_rstat_flush) { @@ -6259,19 +6273,18 @@ static void cgroup_css_set_put_fork(struct kernel_clone_args *kargs) __releases(&cgroup_threadgroup_rwsem) __releases(&cgroup_mutex) { + struct cgroup *cgrp = kargs->cgrp; + struct css_set *cset = kargs->cset; + cgroup_threadgroup_change_end(current); - if (kargs->flags & CLONE_INTO_CGROUP) { - struct cgroup *cgrp = kargs->cgrp; - struct css_set *cset = kargs->cset; + if (cset) { + put_css_set(cset); + kargs->cset = NULL; + } + if (kargs->flags & CLONE_INTO_CGROUP) { mutex_unlock(&cgroup_mutex); - - if (cset) { - put_css_set(cset); - kargs->cset = NULL; - } - if (cgrp) { cgroup_put(cgrp); kargs->cgrp = NULL; diff -u linux-intel-iotg-5.15-5.15.0/kernel/fork.c linux-intel-iotg-5.15-5.15.0/kernel/fork.c --- linux-intel-iotg-5.15-5.15.0/kernel/fork.c +++ linux-intel-iotg-5.15-5.15.0/kernel/fork.c @@ -475,6 +475,7 @@ arch_release_task_struct(tsk); if (tsk->flags & PF_KTHREAD) free_kthread_struct(tsk); + bpf_task_storage_free(tsk); free_task_struct(tsk); } EXPORT_SYMBOL(free_task); @@ -758,7 +759,6 @@ cgroup_free(tsk); task_numa_free(tsk, true); security_task_free(tsk); - bpf_task_storage_free(tsk); exit_creds(tsk); delayacct_tsk_free(tsk); put_signal_struct(tsk->signal); diff -u linux-intel-iotg-5.15-5.15.0/kernel/kcsan/core.c linux-intel-iotg-5.15-5.15.0/kernel/kcsan/core.c --- linux-intel-iotg-5.15-5.15.0/kernel/kcsan/core.c +++ linux-intel-iotg-5.15-5.15.0/kernel/kcsan/core.c @@ -1050,7 +1050,9 @@ DEFINE_TSAN_ATOMIC_OPS(8); DEFINE_TSAN_ATOMIC_OPS(16); DEFINE_TSAN_ATOMIC_OPS(32); +#ifdef CONFIG_64BIT DEFINE_TSAN_ATOMIC_OPS(64); +#endif void __tsan_atomic_thread_fence(int memorder); void __tsan_atomic_thread_fence(int memorder) diff -u linux-intel-iotg-5.15-5.15.0/kernel/kexec_core.c linux-intel-iotg-5.15-5.15.0/kernel/kexec_core.c --- linux-intel-iotg-5.15-5.15.0/kernel/kexec_core.c +++ linux-intel-iotg-5.15-5.15.0/kernel/kexec_core.c @@ -1029,6 +1029,7 @@ start = crashk_res.start; end = crashk_res.end; old_size = (end == 0) ? 0 : end - start + 1; + new_size = roundup(new_size, KEXEC_CRASH_MEM_ALIGN); if (new_size >= old_size) { ret = (new_size == old_size) ? 0 : -EINVAL; goto unlock; @@ -1040,9 +1041,7 @@ goto unlock; } - start = roundup(start, KEXEC_CRASH_MEM_ALIGN); - end = roundup(start + new_size, KEXEC_CRASH_MEM_ALIGN); - + end = start + new_size; crash_free_reserved_phys_range(end, crashk_res.end); if ((start == end) && (crashk_res.parent != NULL)) diff -u linux-intel-iotg-5.15-5.15.0/kernel/kexec_file.c linux-intel-iotg-5.15-5.15.0/kernel/kexec_file.c --- linux-intel-iotg-5.15-5.15.0/kernel/kexec_file.c +++ linux-intel-iotg-5.15-5.15.0/kernel/kexec_file.c @@ -159,6 +159,23 @@ } #ifdef CONFIG_KEXEC_SIG +#ifdef CONFIG_SIGNED_PE_FILE_VERIFICATION +int kexec_kernel_verify_pe_sig(const char *kernel, unsigned long kernel_len) +{ + int ret; + + ret = verify_pefile_signature(kernel, kernel_len, + VERIFY_USE_SECONDARY_KEYRING, + VERIFYING_KEXEC_PE_SIGNATURE); + if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) { + ret = verify_pefile_signature(kernel, kernel_len, + VERIFY_USE_PLATFORM_KEYRING, + VERIFYING_KEXEC_PE_SIGNATURE); + } + return ret; +} +#endif + static int kimage_validate_signature(struct kimage *image) { @@ -910,10 +927,22 @@ } offset = ALIGN(offset, align); + + /* + * Check if the segment contains the entry point, if so, + * calculate the value of image->start based on it. + * If the compiler has produced more than one .text section + * (Eg: .text.hot), they are generally after the main .text + * section, and they shall not be used to calculate + * image->start. So do not re-calculate image->start if it + * is not set to the initial value, and warn the user so they + * have a chance to fix their purgatory's linker script. + */ if (sechdrs[i].sh_flags & SHF_EXECINSTR && pi->ehdr->e_entry >= sechdrs[i].sh_addr && pi->ehdr->e_entry < (sechdrs[i].sh_addr - + sechdrs[i].sh_size)) { + + sechdrs[i].sh_size) && + !WARN_ON(kbuf->image->start != pi->ehdr->e_entry)) { kbuf->image->start -= sechdrs[i].sh_addr; kbuf->image->start += kbuf->mem + offset; } diff -u linux-intel-iotg-5.15-5.15.0/kernel/rcu/tree.c linux-intel-iotg-5.15-5.15.0/kernel/rcu/tree.c --- linux-intel-iotg-5.15-5.15.0/kernel/rcu/tree.c +++ linux-intel-iotg-5.15-5.15.0/kernel/rcu/tree.c @@ -3328,6 +3328,30 @@ } } +static bool +need_offload_krc(struct kfree_rcu_cpu *krcp) +{ + int i; + + for (i = 0; i < FREE_N_CHANNELS; i++) + if (krcp->bkvhead[i]) + return true; + + return !!krcp->head; +} + +static bool +need_wait_for_krwp_work(struct kfree_rcu_cpu_work *krwp) +{ + int i; + + for (i = 0; i < FREE_N_CHANNELS; i++) + if (krwp->bkvhead_free[i]) + return true; + + return !!krwp->head_free; +} + /* * This function is invoked after the KFREE_DRAIN_JIFFIES timeout. */ @@ -3344,14 +3368,13 @@ for (i = 0; i < KFREE_N_BATCHES; i++) { struct kfree_rcu_cpu_work *krwp = &(krcp->krw_arr[i]); - // Try to detach bkvhead or head and attach it over any - // available corresponding free channel. It can be that - // a previous RCU batch is in progress, it means that - // immediately to queue another one is not possible so - // in that case the monitor work is rearmed. - if ((krcp->bkvhead[0] && !krwp->bkvhead_free[0]) || - (krcp->bkvhead[1] && !krwp->bkvhead_free[1]) || - (krcp->head && !krwp->head_free)) { + // Try to detach bulk_head or head and attach it, only when + // all channels are free. Any channel is not free means at krwp + // there is on-going rcu work to handle krwp's free business. + if (need_wait_for_krwp_work(krwp)) + continue; + + if (need_offload_krc(krcp)) { // Channel 1 corresponds to the SLAB-pointer bulk path. // Channel 2 corresponds to vmalloc-pointer bulk path. for (j = 0; j < FREE_N_CHANNELS; j++) { diff -u linux-intel-iotg-5.15-5.15.0/kernel/time/posix-timers.c linux-intel-iotg-5.15-5.15.0/kernel/time/posix-timers.c --- linux-intel-iotg-5.15-5.15.0/kernel/time/posix-timers.c +++ linux-intel-iotg-5.15-5.15.0/kernel/time/posix-timers.c @@ -1037,27 +1037,52 @@ } /* - * return timer owned by the process, used by exit_itimers + * Delete a timer if it is armed, remove it from the hash and schedule it + * for RCU freeing. */ static void itimer_delete(struct k_itimer *timer) { -retry_delete: - spin_lock_irq(&timer->it_lock); + unsigned long flags; + + /* + * irqsave is required to make timer_wait_running() work. + */ + spin_lock_irqsave(&timer->it_lock, flags); +retry_delete: + /* + * Even if the timer is not longer accessible from other tasks + * it still might be armed and queued in the underlying timer + * mechanism. Worse, that timer mechanism might run the expiry + * function concurrently. + */ if (timer_delete_hook(timer) == TIMER_RETRY) { - spin_unlock_irq(&timer->it_lock); + /* + * Timer is expired concurrently, prevent livelocks + * and pointless spinning on RT. + * + * timer_wait_running() drops timer::it_lock, which opens + * the possibility for another task to delete the timer. + * + * That's not possible here because this is invoked from + * do_exit() only for the last thread of the thread group. + * So no other task can access and delete that timer. + */ + if (WARN_ON_ONCE(timer_wait_running(timer, &flags) != timer)) + return; + goto retry_delete; } list_del(&timer->list); - spin_unlock_irq(&timer->it_lock); + spin_unlock_irqrestore(&timer->it_lock, flags); release_posix_timer(timer, IT_ID_SET); } /* - * This is called by do_exit or de_thread, only when nobody else can - * modify the signal->posix_timers list. Yet we need sighand->siglock - * to prevent the race with /proc/pid/timers. + * Invoked from do_exit() when the last thread of a thread group exits. + * At that point no other task can access the timers of the dying + * task anymore. */ void exit_itimers(struct task_struct *tsk) { @@ -1067,10 +1092,12 @@ if (list_empty(&tsk->signal->posix_timers)) return; + /* Protect against concurrent read via /proc/$PID/timers */ spin_lock_irq(&tsk->sighand->siglock); list_replace_init(&tsk->signal->posix_timers, &timers); spin_unlock_irq(&tsk->sighand->siglock); + /* The timers are not longer accessible via tsk::signal */ while (!list_empty(&timers)) { tmr = list_first_entry(&timers, struct k_itimer, list); itimer_delete(tmr); diff -u linux-intel-iotg-5.15-5.15.0/kernel/time/tick-common.c linux-intel-iotg-5.15-5.15.0/kernel/time/tick-common.c --- linux-intel-iotg-5.15-5.15.0/kernel/time/tick-common.c +++ linux-intel-iotg-5.15-5.15.0/kernel/time/tick-common.c @@ -218,19 +218,8 @@ * this cpu: */ if (tick_do_timer_cpu == TICK_DO_TIMER_BOOT) { - ktime_t next_p; - u32 rem; - tick_do_timer_cpu = cpu; - - next_p = ktime_get(); - div_u64_rem(next_p, TICK_NSEC, &rem); - if (rem) { - next_p -= rem; - next_p += TICK_NSEC; - } - - tick_next_period = next_p; + tick_next_period = ktime_get(); #ifdef CONFIG_NO_HZ_FULL /* * The boot CPU may be nohz_full, in which case set diff -u linux-intel-iotg-5.15-5.15.0/kernel/time/tick-sched.c linux-intel-iotg-5.15-5.15.0/kernel/time/tick-sched.c --- linux-intel-iotg-5.15-5.15.0/kernel/time/tick-sched.c +++ linux-intel-iotg-5.15-5.15.0/kernel/time/tick-sched.c @@ -161,8 +161,19 @@ raw_spin_lock(&jiffies_lock); write_seqcount_begin(&jiffies_seq); /* Did we start the jiffies update yet ? */ - if (last_jiffies_update == 0) + if (last_jiffies_update == 0) { + u32 rem; + + /* + * Ensure that the tick is aligned to a multiple of + * TICK_NSEC. + */ + div_u64_rem(tick_next_period, TICK_NSEC, &rem); + if (rem) + tick_next_period += TICK_NSEC - rem; + last_jiffies_update = tick_next_period; + } period = last_jiffies_update; write_seqcount_end(&jiffies_seq); raw_spin_unlock(&jiffies_lock); diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/bpf_trace.c linux-intel-iotg-5.15-5.15.0/kernel/trace/bpf_trace.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/bpf_trace.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/bpf_trace.c @@ -849,13 +849,23 @@ BPF_CALL_3(bpf_d_path, struct path *, path, char *, buf, u32, sz) { + struct path copy; long len; char *p; if (!sz) return 0; - p = d_path(path, buf, sz); + /* + * The path pointer is verified as trusted and safe to use, + * but let's double check it's valid anyway to workaround + * potentially broken verifier. + */ + len = copy_from_kernel_nofault(©, path, sizeof(*path)); + if (len < 0) + return len; + + p = d_path(©, buf, sz); if (IS_ERR(p)) { len = PTR_ERR(p); } else { diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/ftrace.c linux-intel-iotg-5.15-5.15.0/kernel/trace/ftrace.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/ftrace.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/ftrace.c @@ -3192,6 +3192,22 @@ return cnt; } +static void ftrace_free_pages(struct ftrace_page *pages) +{ + struct ftrace_page *pg = pages; + + while (pg) { + if (pg->records) { + free_pages((unsigned long)pg->records, pg->order); + ftrace_number_of_pages -= 1 << pg->order; + } + pages = pg->next; + kfree(pg); + pg = pages; + ftrace_number_of_groups--; + } +} + static struct ftrace_page * ftrace_allocate_pages(unsigned long num_to_init) { @@ -3230,17 +3246,7 @@ return start_pg; free_pages: - pg = start_pg; - while (pg) { - if (pg->records) { - free_pages((unsigned long)pg->records, pg->order); - ftrace_number_of_pages -= 1 << pg->order; - } - start_pg = pg->next; - kfree(pg); - pg = start_pg; - ftrace_number_of_groups--; - } + ftrace_free_pages(start_pg); pr_info("ftrace: FAILED to allocate memory for functions\n"); return NULL; } @@ -6184,9 +6190,11 @@ unsigned long *start, unsigned long *end) { + struct ftrace_page *pg_unuse = NULL; struct ftrace_page *start_pg; struct ftrace_page *pg; struct dyn_ftrace *rec; + unsigned long skipped = 0; unsigned long count; unsigned long *p; unsigned long addr; @@ -6240,8 +6248,10 @@ * object files to satisfy alignments. * Skip any NULL pointers. */ - if (!addr) + if (!addr) { + skipped++; continue; + } end_offset = (pg->index+1) * sizeof(pg->records[0]); if (end_offset > PAGE_SIZE << pg->order) { @@ -6255,8 +6265,10 @@ rec->ip = addr; } - /* We should have used all pages */ - WARN_ON(pg->next); + if (pg->next) { + pg_unuse = pg->next; + pg->next = NULL; + } /* Assign the last page to ftrace_pages */ ftrace_pages = pg; @@ -6278,6 +6290,11 @@ out: mutex_unlock(&ftrace_lock); + /* We should have used all pages unless we skipped some */ + if (pg_unuse) { + WARN_ON(!skipped); + ftrace_free_pages(pg_unuse); + } return ret; } diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/ring_buffer.c linux-intel-iotg-5.15-5.15.0/kernel/trace/ring_buffer.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/ring_buffer.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/ring_buffer.c @@ -5196,28 +5196,34 @@ } EXPORT_SYMBOL_GPL(ring_buffer_size); +static void rb_clear_buffer_page(struct buffer_page *page) +{ + local_set(&page->write, 0); + local_set(&page->entries, 0); + rb_init_page(page->page); + page->read = 0; +} + static void rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer) { + struct buffer_page *page; + rb_head_page_deactivate(cpu_buffer); cpu_buffer->head_page = list_entry(cpu_buffer->pages, struct buffer_page, list); - local_set(&cpu_buffer->head_page->write, 0); - local_set(&cpu_buffer->head_page->entries, 0); - local_set(&cpu_buffer->head_page->page->commit, 0); - - cpu_buffer->head_page->read = 0; + rb_clear_buffer_page(cpu_buffer->head_page); + list_for_each_entry(page, cpu_buffer->pages, list) { + rb_clear_buffer_page(page); + } cpu_buffer->tail_page = cpu_buffer->head_page; cpu_buffer->commit_page = cpu_buffer->head_page; INIT_LIST_HEAD(&cpu_buffer->reader_page->list); INIT_LIST_HEAD(&cpu_buffer->new_pages); - local_set(&cpu_buffer->reader_page->write, 0); - local_set(&cpu_buffer->reader_page->entries, 0); - local_set(&cpu_buffer->reader_page->page->commit, 0); - cpu_buffer->reader_page->read = 0; + rb_clear_buffer_page(cpu_buffer->reader_page); local_set(&cpu_buffer->entries_bytes, 0); local_set(&cpu_buffer->overrun, 0); diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.c linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.c @@ -2175,10 +2175,12 @@ } /* Must have trace_types_lock held */ -void tracing_reset_all_online_cpus(void) +void tracing_reset_all_online_cpus_unlocked(void) { struct trace_array *tr; + lockdep_assert_held(&trace_types_lock); + list_for_each_entry(tr, &ftrace_trace_arrays, list) { if (!tr->clear_trace) continue; @@ -2190,6 +2192,13 @@ } } +void tracing_reset_all_online_cpus(void) +{ + mutex_lock(&trace_types_lock); + tracing_reset_all_online_cpus_unlocked(); + mutex_unlock(&trace_types_lock); +} + /* * The tgid_map array maps from pid to tgid; i.e. the value stored at index i * is the tgid last observed corresponding to pid=i. @@ -6641,6 +6650,7 @@ free_cpumask_var(iter->started); kfree(iter->fmt); + kfree(iter->temp); mutex_destroy(&iter->mutex); kfree(iter); @@ -8004,7 +8014,7 @@ .open = tracing_err_log_open, .write = tracing_err_log_write, .read = seq_read, - .llseek = seq_lseek, + .llseek = tracing_lseek, .release = tracing_err_log_release, }; diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.h linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.h --- linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.h +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/trace.h @@ -580,6 +580,7 @@ void tracing_reset_online_cpus(struct array_buffer *buf); void tracing_reset_current(int cpu); void tracing_reset_all_online_cpus(void); +void tracing_reset_all_online_cpus_unlocked(void); int tracing_open_generic(struct inode *inode, struct file *filp); int tracing_open_generic_tr(struct inode *inode, struct file *filp); bool tracing_is_disabled(void); diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_eprobe.c linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_eprobe.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_eprobe.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_eprobe.c @@ -725,6 +725,7 @@ struct trace_eprobe *ep; bool enabled; int ret = 0; + int cnt = 0; tp = trace_probe_primary_from_call(call); if (WARN_ON_ONCE(!tp)) @@ -748,12 +749,25 @@ if (ret) break; enabled = true; + cnt++; } if (ret) { /* Failed to enable one of them. Roll back all */ - if (enabled) - disable_eprobe(ep, file->tr); + if (enabled) { + /* + * It's a bug if one failed for something other than memory + * not being available but another eprobe succeeded. + */ + WARN_ON_ONCE(ret != -ENOMEM); + + list_for_each_entry(pos, trace_probe_probe_list(tp), list) { + ep = container_of(pos, struct trace_eprobe, tp); + disable_eprobe(ep, file->tr); + if (!--cnt) + break; + } + } if (file) trace_probe_remove_file(tp, file); else diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events.c linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events.c @@ -2974,7 +2974,7 @@ * over from this module may be passed to the new module events and * unexpected results may occur. */ - tracing_reset_all_online_cpus(); + tracing_reset_all_online_cpus_unlocked(); } static int trace_module_notify(struct notifier_block *self, diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_hist.c linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_hist.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_hist.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_hist.c @@ -5944,13 +5944,15 @@ if (get_named_trigger_data(trigger_data)) goto enable; - if (has_hist_vars(hist_data)) - save_hist_vars(hist_data); - ret = create_actions(hist_data); if (ret) goto out_unreg; + if (has_hist_vars(hist_data) || hist_data->n_var_refs) { + if (save_hist_vars(hist_data)) + goto out_unreg; + } + ret = tracing_map_init(hist_data->map); if (ret) goto out_unreg; diff -u linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_synth.c linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_synth.c --- linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_synth.c +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_events_synth.c @@ -1416,7 +1416,6 @@ mutex_unlock(&event_mutex); if (mod) { - mutex_lock(&trace_types_lock); /* * It is safest to reset the ring buffer if the module * being unloaded registered any events that were @@ -1428,7 +1427,6 @@ * occur. */ tracing_reset_all_online_cpus(); - mutex_unlock(&trace_types_lock); } return ret; diff -u linux-intel-iotg-5.15-5.15.0/kernel/workqueue.c linux-intel-iotg-5.15-5.15.0/kernel/workqueue.c --- linux-intel-iotg-5.15-5.15.0/kernel/workqueue.c +++ linux-intel-iotg-5.15-5.15.0/kernel/workqueue.c @@ -697,12 +697,17 @@ set_work_data(work, WORK_STRUCT_NO_POOL, 0); } +static inline struct pool_workqueue *work_struct_pwq(unsigned long data) +{ + return (struct pool_workqueue *)(data & WORK_STRUCT_WQ_DATA_MASK); +} + static struct pool_workqueue *get_work_pwq(struct work_struct *work) { unsigned long data = atomic_long_read(&work->data); if (data & WORK_STRUCT_PWQ) - return (void *)(data & WORK_STRUCT_WQ_DATA_MASK); + return work_struct_pwq(data); else return NULL; } @@ -730,8 +735,7 @@ assert_rcu_or_pool_mutex(); if (data & WORK_STRUCT_PWQ) - return ((struct pool_workqueue *) - (data & WORK_STRUCT_WQ_DATA_MASK))->pool; + return work_struct_pwq(data)->pool; pool_id = data >> WORK_OFFQ_POOL_SHIFT; if (pool_id == WORK_OFFQ_POOL_NONE) @@ -752,8 +756,7 @@ unsigned long data = atomic_long_read(&work->data); if (data & WORK_STRUCT_PWQ) - return ((struct pool_workqueue *) - (data & WORK_STRUCT_WQ_DATA_MASK))->pool->id; + return work_struct_pwq(data)->pool->id; return data >> WORK_OFFQ_POOL_SHIFT; } diff -u linux-intel-iotg-5.15-5.15.0/lib/cpu_rmap.c linux-intel-iotg-5.15-5.15.0/lib/cpu_rmap.c --- linux-intel-iotg-5.15-5.15.0/lib/cpu_rmap.c +++ linux-intel-iotg-5.15-5.15.0/lib/cpu_rmap.c @@ -268,8 +268,8 @@ struct irq_glue *glue = container_of(ref, struct irq_glue, notify.kref); - cpu_rmap_put(glue->rmap); glue->rmap->obj[glue->index] = NULL; + cpu_rmap_put(glue->rmap); kfree(glue); } diff -u linux-intel-iotg-5.15-5.15.0/lib/test_firmware.c linux-intel-iotg-5.15-5.15.0/lib/test_firmware.c --- linux-intel-iotg-5.15-5.15.0/lib/test_firmware.c +++ linux-intel-iotg-5.15-5.15.0/lib/test_firmware.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -182,7 +183,7 @@ { *dst = kstrndup(name, count, gfp); if (!*dst) - return -ENOSPC; + return -ENOMEM; return count; } @@ -320,16 +321,26 @@ return len; } -static int test_dev_config_update_bool(const char *buf, size_t size, +static inline int __test_dev_config_update_bool(const char *buf, size_t size, bool *cfg) { int ret; - mutex_lock(&test_fw_mutex); - if (strtobool(buf, cfg) < 0) + if (kstrtobool(buf, cfg) < 0) ret = -EINVAL; else ret = size; + + return ret; +} + +static int test_dev_config_update_bool(const char *buf, size_t size, + bool *cfg) +{ + int ret; + + mutex_lock(&test_fw_mutex); + ret = __test_dev_config_update_bool(buf, size, cfg); mutex_unlock(&test_fw_mutex); return ret; @@ -340,7 +351,8 @@ return snprintf(buf, PAGE_SIZE, "%d\n", val); } -static int test_dev_config_update_size_t(const char *buf, +static int __test_dev_config_update_size_t( + const char *buf, size_t size, size_t *cfg) { @@ -351,9 +363,7 @@ if (ret) return ret; - mutex_lock(&test_fw_mutex); *(size_t *)cfg = new; - mutex_unlock(&test_fw_mutex); /* Always return full write size even if we didn't consume all */ return size; @@ -369,7 +379,7 @@ return snprintf(buf, PAGE_SIZE, "%d\n", val); } -static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg) +static int __test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg) { u8 val; int ret; @@ -378,14 +388,23 @@ if (ret) return ret; - mutex_lock(&test_fw_mutex); *(u8 *)cfg = val; - mutex_unlock(&test_fw_mutex); /* Always return full write size even if we didn't consume all */ return size; } +static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg) +{ + int ret; + + mutex_lock(&test_fw_mutex); + ret = __test_dev_config_update_u8(buf, size, cfg); + mutex_unlock(&test_fw_mutex); + + return ret; +} + static ssize_t test_dev_config_show_u8(char *buf, u8 val) { return snprintf(buf, PAGE_SIZE, "%u\n", val); @@ -412,10 +431,10 @@ mutex_unlock(&test_fw_mutex); goto out; } - mutex_unlock(&test_fw_mutex); - rc = test_dev_config_update_u8(buf, count, - &test_fw_config->num_requests); + rc = __test_dev_config_update_u8(buf, count, + &test_fw_config->num_requests); + mutex_unlock(&test_fw_mutex); out: return rc; @@ -459,10 +478,10 @@ mutex_unlock(&test_fw_mutex); goto out; } - mutex_unlock(&test_fw_mutex); - rc = test_dev_config_update_size_t(buf, count, - &test_fw_config->buf_size); + rc = __test_dev_config_update_size_t(buf, count, + &test_fw_config->buf_size); + mutex_unlock(&test_fw_mutex); out: return rc; @@ -489,10 +508,10 @@ mutex_unlock(&test_fw_mutex); goto out; } - mutex_unlock(&test_fw_mutex); - rc = test_dev_config_update_size_t(buf, count, - &test_fw_config->file_offset); + rc = __test_dev_config_update_size_t(buf, count, + &test_fw_config->file_offset); + mutex_unlock(&test_fw_mutex); out: return rc; @@ -587,7 +606,7 @@ name = kstrndup(buf, count, GFP_KERNEL); if (!name) - return -ENOSPC; + return -ENOMEM; pr_info("loading '%s'\n", name); @@ -635,7 +654,7 @@ name = kstrndup(buf, count, GFP_KERNEL); if (!name) - return -ENOSPC; + return -ENOMEM; pr_info("inserting test platform fw '%s'\n", name); efi_embedded_fw.name = name; @@ -688,7 +707,7 @@ name = kstrndup(buf, count, GFP_KERNEL); if (!name) - return -ENOSPC; + return -ENOMEM; pr_info("loading '%s'\n", name); @@ -733,7 +752,7 @@ name = kstrndup(buf, count, GFP_KERNEL); if (!name) - return -ENOSPC; + return -ENOMEM; pr_info("loading '%s' using custom fallback mechanism\n", name); @@ -784,7 +803,7 @@ test_buf = kzalloc(TEST_FIRMWARE_BUF_SIZE, GFP_KERNEL); if (!test_buf) - return -ENOSPC; + return -ENOMEM; if (test_fw_config->partial) req->rc = request_partial_firmware_into_buf @@ -844,6 +863,11 @@ mutex_lock(&test_fw_mutex); + if (test_fw_config->reqs) { + rc = -EBUSY; + goto out_bail; + } + test_fw_config->reqs = vzalloc(array3_size(sizeof(struct test_batched_req), test_fw_config->num_requests, 2)); @@ -943,6 +967,11 @@ mutex_lock(&test_fw_mutex); + if (test_fw_config->reqs) { + rc = -EBUSY; + goto out_bail; + } + test_fw_config->reqs = vzalloc(array3_size(sizeof(struct test_batched_req), test_fw_config->num_requests, 2)); diff -u linux-intel-iotg-5.15-5.15.0/mm/damon/vaddr.c linux-intel-iotg-5.15-5.15.0/mm/damon/vaddr.c --- linux-intel-iotg-5.15-5.15.0/mm/damon/vaddr.c +++ linux-intel-iotg-5.15-5.15.0/mm/damon/vaddr.c @@ -393,7 +393,7 @@ return page; } -static void damon_ptep_mkold(pte_t *pte, struct mm_struct *mm, +static void damon_ptep_mkold(pte_t *pte, struct vm_area_struct *vma, unsigned long addr) { bool referenced = false; @@ -402,13 +402,11 @@ if (!page) return; - if (pte_young(*pte)) { + if (ptep_test_and_clear_young(vma, addr, pte)) referenced = true; - *pte = pte_mkold(*pte); - } #ifdef CONFIG_MMU_NOTIFIER - if (mmu_notifier_clear_young(mm, addr, addr + PAGE_SIZE)) + if (mmu_notifier_clear_young(vma->vm_mm, addr, addr + PAGE_SIZE)) referenced = true; #endif /* CONFIG_MMU_NOTIFIER */ @@ -419,7 +417,7 @@ put_page(page); } -static void damon_pmdp_mkold(pmd_t *pmd, struct mm_struct *mm, +static void damon_pmdp_mkold(pmd_t *pmd, struct vm_area_struct *vma, unsigned long addr) { #ifdef CONFIG_TRANSPARENT_HUGEPAGE @@ -429,13 +427,11 @@ if (!page) return; - if (pmd_young(*pmd)) { + if (pmdp_test_and_clear_young(vma, addr, pmd)) referenced = true; - *pmd = pmd_mkold(*pmd); - } #ifdef CONFIG_MMU_NOTIFIER - if (mmu_notifier_clear_young(mm, addr, + if (mmu_notifier_clear_young(vma->vm_mm, addr, addr + ((1UL) << HPAGE_PMD_SHIFT))) referenced = true; #endif /* CONFIG_MMU_NOTIFIER */ @@ -462,7 +458,7 @@ } if (pmd_huge(*pmd)) { - damon_pmdp_mkold(pmd, walk->mm, addr); + damon_pmdp_mkold(pmd, walk->vma, addr); spin_unlock(ptl); return 0; } @@ -474,7 +470,7 @@ pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl); if (!pte_present(*pte)) goto out; - damon_ptep_mkold(pte, walk->mm, addr); + damon_ptep_mkold(pte, walk->vma, addr); out: pte_unmap_unlock(pte, ptl); return 0; diff -u linux-intel-iotg-5.15-5.15.0/mm/memfd.c linux-intel-iotg-5.15-5.15.0/mm/memfd.c --- linux-intel-iotg-5.15-5.15.0/mm/memfd.c +++ linux-intel-iotg-5.15-5.15.0/mm/memfd.c @@ -330,7 +330,8 @@ if (flags & MFD_ALLOW_SEALING) { file_seals = memfd_file_seals_ptr(file); - *file_seals &= ~F_SEAL_SEAL; + if (file_seals) + *file_seals &= ~F_SEAL_SEAL; } fd_install(fd, file); diff -u linux-intel-iotg-5.15-5.15.0/mm/memory.c linux-intel-iotg-5.15-5.15.0/mm/memory.c --- linux-intel-iotg-5.15-5.15.0/mm/memory.c +++ linux-intel-iotg-5.15-5.15.0/mm/memory.c @@ -2754,10 +2754,16 @@ return same; } -static inline bool cow_user_page(struct page *dst, struct page *src, - struct vm_fault *vmf) +/* + * Return: + * 0: copied succeeded + * -EHWPOISON: copy failed due to hwpoison in source page + * -EAGAIN: copied failed (some other reason) + */ +static inline int cow_user_page(struct page *dst, struct page *src, + struct vm_fault *vmf) { - bool ret; + int ret; void *kaddr; void __user *uaddr; bool locked = false; @@ -2766,8 +2772,11 @@ unsigned long addr = vmf->address; if (likely(src)) { - copy_user_highpage(dst, src, addr, vma); - return true; + if (copy_mc_user_highpage(dst, src, addr, vma)) { + memory_failure_queue(page_to_pfn(src), 0); + return -EHWPOISON; + } + return 0; } /* @@ -2794,7 +2803,7 @@ * and update local tlb only */ update_mmu_tlb(vma, addr, vmf->pte); - ret = false; + ret = -EAGAIN; goto pte_unlock; } @@ -2819,7 +2828,7 @@ if (!likely(pte_same(*vmf->pte, vmf->orig_pte))) { /* The PTE changed under us, update local tlb */ update_mmu_tlb(vma, addr, vmf->pte); - ret = false; + ret = -EAGAIN; goto pte_unlock; } @@ -2838,7 +2847,7 @@ } } - ret = true; + ret = 0; pte_unlock: if (locked) @@ -3004,6 +3013,7 @@ pte_t entry; int page_copied = 0; struct mmu_notifier_range range; + int ret; if (unlikely(anon_vma_prepare(vma))) goto oom; @@ -3019,17 +3029,20 @@ if (!new_page) goto oom; - if (!cow_user_page(new_page, old_page, vmf)) { + ret = cow_user_page(new_page, old_page, vmf); + if (ret) { /* * COW failed, if the fault was solved by other, * it's fine. If not, userspace would re-fault on * the same address and we will handle the fault * from the second attempt. + * The -EHWPOISON case will not be retried. */ put_page(new_page); if (old_page) put_page(old_page); - return 0; + + return ret == -EHWPOISON ? VM_FAULT_HWPOISON : 0; } } diff -u linux-intel-iotg-5.15-5.15.0/mm/shmem.c linux-intel-iotg-5.15-5.15.0/mm/shmem.c --- linux-intel-iotg-5.15-5.15.0/mm/shmem.c +++ linux-intel-iotg-5.15-5.15.0/mm/shmem.c @@ -4043,7 +4043,7 @@ .name = "tmpfs", .init_fs_context = ramfs_init_fs_context, .parameters = ramfs_fs_parameters, - .kill_sb = kill_litter_super, + .kill_sb = ramfs_kill_sb, .fs_flags = FS_USERNS_MOUNT, }; diff -u linux-intel-iotg-5.15-5.15.0/net/bluetooth/hci_core.c linux-intel-iotg-5.15-5.15.0/net/bluetooth/hci_core.c --- linux-intel-iotg-5.15-5.15.0/net/bluetooth/hci_core.c +++ linux-intel-iotg-5.15-5.15.0/net/bluetooth/hci_core.c @@ -2697,10 +2697,10 @@ int hci_remove_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 bdaddr_type) { - struct smp_ltk *k; + struct smp_ltk *k, *tmp; int removed = 0; - list_for_each_entry_rcu(k, &hdev->long_term_keys, list) { + list_for_each_entry_safe(k, tmp, &hdev->long_term_keys, list) { if (bacmp(bdaddr, &k->bdaddr) || k->bdaddr_type != bdaddr_type) continue; @@ -2716,9 +2716,9 @@ void hci_remove_irk(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 addr_type) { - struct smp_irk *k; + struct smp_irk *k, *tmp; - list_for_each_entry_rcu(k, &hdev->identity_resolving_keys, list) { + list_for_each_entry_safe(k, tmp, &hdev->identity_resolving_keys, list) { if (bacmp(bdaddr, &k->bdaddr) || k->addr_type != addr_type) continue; diff -u linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_core.c linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_core.c --- linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_core.c +++ linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_core.c @@ -4307,6 +4307,10 @@ result = __le16_to_cpu(rsp->result); status = __le16_to_cpu(rsp->status); + if (result == L2CAP_CR_SUCCESS && (dcid < L2CAP_CID_DYN_START || + dcid > L2CAP_CID_DYN_END)) + return -EPROTO; + BT_DBG("dcid 0x%4.4x scid 0x%4.4x result 0x%2.2x status 0x%2.2x", dcid, scid, result, status); @@ -4338,6 +4342,11 @@ switch (result) { case L2CAP_CR_SUCCESS: + if (__l2cap_get_chan_by_dcid(conn, dcid)) { + err = -EBADSLT; + break; + } + l2cap_state_change(chan, BT_CONFIG); chan->ident = 0; chan->dcid = dcid; @@ -4664,7 +4673,9 @@ chan->ops->set_shutdown(chan); + l2cap_chan_unlock(chan); mutex_lock(&conn->chan_lock); + l2cap_chan_lock(chan); l2cap_chan_del(chan, ECONNRESET); mutex_unlock(&conn->chan_lock); @@ -4703,7 +4714,9 @@ return 0; } + l2cap_chan_unlock(chan); mutex_lock(&conn->chan_lock); + l2cap_chan_lock(chan); l2cap_chan_del(chan, 0); mutex_unlock(&conn->chan_lock); diff -u linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_sock.c linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_sock.c --- linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_sock.c +++ linux-intel-iotg-5.15-5.15.0/net/bluetooth/l2cap_sock.c @@ -45,6 +45,7 @@ static void l2cap_sock_init(struct sock *sk, struct sock *parent); static struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock, int proto, gfp_t prio, int kern); +static void l2cap_sock_cleanup_listen(struct sock *parent); bool l2cap_is_socket(struct socket *sock) { @@ -1414,6 +1415,7 @@ if (!sk) return 0; + l2cap_sock_cleanup_listen(sk); bt_sock_unlink(&l2cap_sk_list, sk); err = l2cap_sock_shutdown(sock, SHUT_RDWR); diff -u linux-intel-iotg-5.15-5.15.0/net/can/isotp.c linux-intel-iotg-5.15-5.15.0/net/can/isotp.c --- linux-intel-iotg-5.15-5.15.0/net/can/isotp.c +++ linux-intel-iotg-5.15-5.15.0/net/can/isotp.c @@ -992,8 +992,9 @@ /* wait for complete transmission of current pdu */ wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE); - if (sk->sk_err) - return -sk->sk_err; + err = sock_error(sk); + if (err) + return err; } return size; diff -u linux-intel-iotg-5.15-5.15.0/net/can/j1939/main.c linux-intel-iotg-5.15-5.15.0/net/can/j1939/main.c --- linux-intel-iotg-5.15-5.15.0/net/can/j1939/main.c +++ linux-intel-iotg-5.15-5.15.0/net/can/j1939/main.c @@ -126,7 +126,7 @@ #define J1939_CAN_ID CAN_EFF_FLAG #define J1939_CAN_MASK (CAN_EFF_FLAG | CAN_RTR_FLAG) -static DEFINE_SPINLOCK(j1939_netdev_lock); +static DEFINE_MUTEX(j1939_netdev_lock); static struct j1939_priv *j1939_priv_create(struct net_device *ndev) { @@ -220,7 +220,7 @@ j1939_can_rx_unregister(priv); j1939_ecu_unmap_all(priv); j1939_priv_set(priv->ndev, NULL); - spin_unlock(&j1939_netdev_lock); + mutex_unlock(&j1939_netdev_lock); } /* get pointer to priv without increasing ref counter */ @@ -248,9 +248,9 @@ { struct j1939_priv *priv; - spin_lock(&j1939_netdev_lock); + mutex_lock(&j1939_netdev_lock); priv = j1939_priv_get_by_ndev_locked(ndev); - spin_unlock(&j1939_netdev_lock); + mutex_unlock(&j1939_netdev_lock); return priv; } @@ -260,14 +260,14 @@ struct j1939_priv *priv, *priv_new; int ret; - spin_lock(&j1939_netdev_lock); + mutex_lock(&j1939_netdev_lock); priv = j1939_priv_get_by_ndev_locked(ndev); if (priv) { kref_get(&priv->rx_kref); - spin_unlock(&j1939_netdev_lock); + mutex_unlock(&j1939_netdev_lock); return priv; } - spin_unlock(&j1939_netdev_lock); + mutex_unlock(&j1939_netdev_lock); priv = j1939_priv_create(ndev); if (!priv) @@ -277,29 +277,31 @@ spin_lock_init(&priv->j1939_socks_lock); INIT_LIST_HEAD(&priv->j1939_socks); - spin_lock(&j1939_netdev_lock); + mutex_lock(&j1939_netdev_lock); priv_new = j1939_priv_get_by_ndev_locked(ndev); if (priv_new) { /* Someone was faster than us, use their priv and roll * back our's. */ kref_get(&priv_new->rx_kref); - spin_unlock(&j1939_netdev_lock); + mutex_unlock(&j1939_netdev_lock); dev_put(ndev); kfree(priv); return priv_new; } j1939_priv_set(ndev, priv); - spin_unlock(&j1939_netdev_lock); ret = j1939_can_rx_register(priv); if (ret < 0) goto out_priv_put; + mutex_unlock(&j1939_netdev_lock); return priv; out_priv_put: j1939_priv_set(ndev, NULL); + mutex_unlock(&j1939_netdev_lock); + dev_put(ndev); kfree(priv); @@ -308,7 +310,7 @@ void j1939_netdev_stop(struct j1939_priv *priv) { - kref_put_lock(&priv->rx_kref, __j1939_rx_release, &j1939_netdev_lock); + kref_put_mutex(&priv->rx_kref, __j1939_rx_release, &j1939_netdev_lock); j1939_priv_put(priv); } diff -u linux-intel-iotg-5.15-5.15.0/net/can/j1939/socket.c linux-intel-iotg-5.15-5.15.0/net/can/j1939/socket.c --- linux-intel-iotg-5.15-5.15.0/net/can/j1939/socket.c +++ linux-intel-iotg-5.15-5.15.0/net/can/j1939/socket.c @@ -1088,6 +1088,11 @@ void j1939_sk_send_loop_abort(struct sock *sk, int err) { + struct j1939_sock *jsk = j1939_sk(sk); + + if (jsk->state & J1939_SOCK_ERRQUEUE) + return; + sk->sk_err = err; sk_error_report(sk); diff -u linux-intel-iotg-5.15-5.15.0/net/core/dev.c linux-intel-iotg-5.15-5.15.0/net/core/dev.c --- linux-intel-iotg-5.15-5.15.0/net/core/dev.c +++ linux-intel-iotg-5.15-5.15.0/net/core/dev.c @@ -4478,8 +4478,10 @@ u32 next_cpu; u32 ident; - /* First check into global flow table if there is a match */ - ident = sock_flow_table->ents[hash & sock_flow_table->mask]; + /* First check into global flow table if there is a match. + * This READ_ONCE() pairs with WRITE_ONCE() from rps_record_sock_flow(). + */ + ident = READ_ONCE(sock_flow_table->ents[hash & sock_flow_table->mask]); if ((ident ^ hash) & ~rps_cpu_mask) goto try_rps; @@ -10637,9 +10639,7 @@ BUG_ON(!list_empty(&dev->ptype_specific)); WARN_ON(rcu_access_pointer(dev->ip_ptr)); WARN_ON(rcu_access_pointer(dev->ip6_ptr)); -#if IS_ENABLED(CONFIG_DECNET) - WARN_ON(dev->dn_ptr); -#endif + if (dev->priv_destructor) dev->priv_destructor(dev); if (dev->needs_free_netdev) diff -u linux-intel-iotg-5.15-5.15.0/net/core/filter.c linux-intel-iotg-5.15-5.15.0/net/core/filter.c --- linux-intel-iotg-5.15-5.15.0/net/core/filter.c +++ linux-intel-iotg-5.15-5.15.0/net/core/filter.c @@ -6174,12 +6174,11 @@ static struct sock * __bpf_skc_lookup(struct sk_buff *skb, struct bpf_sock_tuple *tuple, u32 len, struct net *caller_net, u32 ifindex, u8 proto, u64 netns_id, - u64 flags) + u64 flags, int sdif) { struct sock *sk = NULL; - u8 family = AF_UNSPEC; struct net *net; - int sdif; + u8 family; if (len == sizeof(tuple->ipv4)) family = AF_INET; @@ -6188,14 +6187,15 @@ else return NULL; - if (unlikely(family == AF_UNSPEC || flags || - !((s32)netns_id < 0 || netns_id <= S32_MAX))) + if (unlikely(flags || !((s32)netns_id < 0 || netns_id <= S32_MAX))) goto out; - if (family == AF_INET) - sdif = inet_sdif(skb); - else - sdif = inet6_sdif(skb); + if (sdif < 0) { + if (family == AF_INET) + sdif = inet_sdif(skb); + else + sdif = inet6_sdif(skb); + } if ((s32)netns_id < 0) { net = caller_net; @@ -6215,10 +6215,11 @@ static struct sock * __bpf_sk_lookup(struct sk_buff *skb, struct bpf_sock_tuple *tuple, u32 len, struct net *caller_net, u32 ifindex, u8 proto, u64 netns_id, - u64 flags) + u64 flags, int sdif) { struct sock *sk = __bpf_skc_lookup(skb, tuple, len, caller_net, - ifindex, proto, netns_id, flags); + ifindex, proto, netns_id, flags, + sdif); if (sk) { struct sock *sk2 = sk_to_full_sk(sk); @@ -6258,7 +6259,7 @@ } return __bpf_skc_lookup(skb, tuple, len, caller_net, ifindex, proto, - netns_id, flags); + netns_id, flags, -1); } static struct sock * @@ -6347,0 +6349,72 @@ +}; + +BPF_CALL_5(bpf_tc_skc_lookup_tcp, struct sk_buff *, skb, + struct bpf_sock_tuple *, tuple, u32, len, u64, netns_id, u64, flags) +{ + struct net_device *dev = skb->dev; + int ifindex = dev->ifindex, sdif = dev_sdif(dev); + struct net *caller_net = dev_net(dev); + + return (unsigned long)__bpf_skc_lookup(skb, tuple, len, caller_net, + ifindex, IPPROTO_TCP, netns_id, + flags, sdif); +} + +static const struct bpf_func_proto bpf_tc_skc_lookup_tcp_proto = { + .func = bpf_tc_skc_lookup_tcp, + .gpl_only = false, + .pkt_access = true, + .ret_type = RET_PTR_TO_SOCK_COMMON_OR_NULL, + .arg1_type = ARG_PTR_TO_CTX, + .arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY, + .arg3_type = ARG_CONST_SIZE, + .arg4_type = ARG_ANYTHING, + .arg5_type = ARG_ANYTHING, +}; + +BPF_CALL_5(bpf_tc_sk_lookup_tcp, struct sk_buff *, skb, + struct bpf_sock_tuple *, tuple, u32, len, u64, netns_id, u64, flags) +{ + struct net_device *dev = skb->dev; + int ifindex = dev->ifindex, sdif = dev_sdif(dev); + struct net *caller_net = dev_net(dev); + + return (unsigned long)__bpf_sk_lookup(skb, tuple, len, caller_net, + ifindex, IPPROTO_TCP, netns_id, + flags, sdif); +} + +static const struct bpf_func_proto bpf_tc_sk_lookup_tcp_proto = { + .func = bpf_tc_sk_lookup_tcp, + .gpl_only = false, + .pkt_access = true, + .ret_type = RET_PTR_TO_SOCKET_OR_NULL, + .arg1_type = ARG_PTR_TO_CTX, + .arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY, + .arg3_type = ARG_CONST_SIZE, + .arg4_type = ARG_ANYTHING, + .arg5_type = ARG_ANYTHING, +}; + +BPF_CALL_5(bpf_tc_sk_lookup_udp, struct sk_buff *, skb, + struct bpf_sock_tuple *, tuple, u32, len, u64, netns_id, u64, flags) +{ + struct net_device *dev = skb->dev; + int ifindex = dev->ifindex, sdif = dev_sdif(dev); + struct net *caller_net = dev_net(dev); + + return (unsigned long)__bpf_sk_lookup(skb, tuple, len, caller_net, + ifindex, IPPROTO_UDP, netns_id, + flags, sdif); +} + +static const struct bpf_func_proto bpf_tc_sk_lookup_udp_proto = { + .func = bpf_tc_sk_lookup_udp, + .gpl_only = false, + .pkt_access = true, + .ret_type = RET_PTR_TO_SOCKET_OR_NULL, + .arg1_type = ARG_PTR_TO_CTX, + .arg2_type = ARG_PTR_TO_MEM | MEM_RDONLY, + .arg3_type = ARG_CONST_SIZE, + .arg4_type = ARG_ANYTHING, + .arg5_type = ARG_ANYTHING, @@ -6364,12 +6437,13 @@ BPF_CALL_5(bpf_xdp_sk_lookup_udp, struct xdp_buff *, ctx, struct bpf_sock_tuple *, tuple, u32, len, u32, netns_id, u64, flags) { - struct net *caller_net = dev_net(ctx->rxq->dev); - int ifindex = ctx->rxq->dev->ifindex; + struct net_device *dev = ctx->rxq->dev; + int ifindex = dev->ifindex, sdif = dev_sdif(dev); + struct net *caller_net = dev_net(dev); return (unsigned long)__bpf_sk_lookup(NULL, tuple, len, caller_net, ifindex, IPPROTO_UDP, netns_id, - flags); + flags, sdif); } static const struct bpf_func_proto bpf_xdp_sk_lookup_udp_proto = { @@ -6387,12 +6461,13 @@ BPF_CALL_5(bpf_xdp_skc_lookup_tcp, struct xdp_buff *, ctx, struct bpf_sock_tuple *, tuple, u32, len, u32, netns_id, u64, flags) { - struct net *caller_net = dev_net(ctx->rxq->dev); - int ifindex = ctx->rxq->dev->ifindex; + struct net_device *dev = ctx->rxq->dev; + int ifindex = dev->ifindex, sdif = dev_sdif(dev); + struct net *caller_net = dev_net(dev); return (unsigned long)__bpf_skc_lookup(NULL, tuple, len, caller_net, ifindex, IPPROTO_TCP, netns_id, - flags); + flags, sdif); } static const struct bpf_func_proto bpf_xdp_skc_lookup_tcp_proto = { @@ -6410,12 +6485,13 @@ BPF_CALL_5(bpf_xdp_sk_lookup_tcp, struct xdp_buff *, ctx, struct bpf_sock_tuple *, tuple, u32, len, u32, netns_id, u64, flags) { - struct net *caller_net = dev_net(ctx->rxq->dev); - int ifindex = ctx->rxq->dev->ifindex; + struct net_device *dev = ctx->rxq->dev; + int ifindex = dev->ifindex, sdif = dev_sdif(dev); + struct net *caller_net = dev_net(dev); return (unsigned long)__bpf_sk_lookup(NULL, tuple, len, caller_net, ifindex, IPPROTO_TCP, netns_id, - flags); + flags, sdif); } static const struct bpf_func_proto bpf_xdp_sk_lookup_tcp_proto = { @@ -6435,7 +6511,8 @@ { return (unsigned long)__bpf_skc_lookup(NULL, tuple, len, sock_net(ctx->sk), 0, - IPPROTO_TCP, netns_id, flags); + IPPROTO_TCP, netns_id, flags, + -1); } static const struct bpf_func_proto bpf_sock_addr_skc_lookup_tcp_proto = { @@ -6454,7 +6531,7 @@ { return (unsigned long)__bpf_sk_lookup(NULL, tuple, len, sock_net(ctx->sk), 0, IPPROTO_TCP, - netns_id, flags); + netns_id, flags, -1); } static const struct bpf_func_proto bpf_sock_addr_sk_lookup_tcp_proto = { @@ -6473,7 +6550,7 @@ { return (unsigned long)__bpf_sk_lookup(NULL, tuple, len, sock_net(ctx->sk), 0, IPPROTO_UDP, - netns_id, flags); + netns_id, flags, -1); } static const struct bpf_func_proto bpf_sock_addr_sk_lookup_udp_proto = { @@ -7476,9 +7553,9 @@ #endif #ifdef CONFIG_INET case BPF_FUNC_sk_lookup_tcp: - return &bpf_sk_lookup_tcp_proto; + return &bpf_tc_sk_lookup_tcp_proto; case BPF_FUNC_sk_lookup_udp: - return &bpf_sk_lookup_udp_proto; + return &bpf_tc_sk_lookup_udp_proto; case BPF_FUNC_sk_release: return &bpf_sk_release_proto; case BPF_FUNC_tcp_sock: @@ -7486,7 +7563,7 @@ case BPF_FUNC_get_listener_sock: return &bpf_get_listener_sock_proto; case BPF_FUNC_skc_lookup_tcp: - return &bpf_skc_lookup_tcp_proto; + return &bpf_tc_skc_lookup_tcp_proto; case BPF_FUNC_tcp_check_syncookie: return &bpf_tcp_check_syncookie_proto; case BPF_FUNC_skb_ecn_set_ce: diff -u linux-intel-iotg-5.15-5.15.0/net/core/neighbour.c linux-intel-iotg-5.15-5.15.0/net/core/neighbour.c --- linux-intel-iotg-5.15-5.15.0/net/core/neighbour.c +++ linux-intel-iotg-5.15-5.15.0/net/core/neighbour.c @@ -570,37 +570,6 @@ } EXPORT_SYMBOL(neigh_lookup); -struct neighbour *neigh_lookup_nodev(struct neigh_table *tbl, struct net *net, - const void *pkey) -{ - struct neighbour *n; - unsigned int key_len = tbl->key_len; - u32 hash_val; - struct neigh_hash_table *nht; - - NEIGH_CACHE_STAT_INC(tbl, lookups); - - rcu_read_lock_bh(); - nht = rcu_dereference_bh(tbl->nht); - hash_val = tbl->hash(pkey, NULL, nht->hash_rnd) >> (32 - nht->hash_shift); - - for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]); - n != NULL; - n = rcu_dereference_bh(n->next)) { - if (!memcmp(n->primary_key, pkey, key_len) && - net_eq(dev_net(n->dev), net)) { - if (!refcount_inc_not_zero(&n->refcnt)) - n = NULL; - NEIGH_CACHE_STAT_INC(tbl, hits); - break; - } - } - - rcu_read_unlock_bh(); - return n; -} -EXPORT_SYMBOL(neigh_lookup_nodev); - static struct neighbour * ___neigh_create(struct neigh_table *tbl, const void *pkey, struct net_device *dev, u8 flags, @@ -1794,9 +1763,6 @@ case AF_INET6: tbl = neigh_tables[NEIGH_ND_TABLE]; break; - case AF_DECnet: - tbl = neigh_tables[NEIGH_DN_TABLE]; - break; } return tbl; diff -u linux-intel-iotg-5.15-5.15.0/net/core/rtnetlink.c linux-intel-iotg-5.15-5.15.0/net/core/rtnetlink.c --- linux-intel-iotg-5.15-5.15.0/net/core/rtnetlink.c +++ linux-intel-iotg-5.15-5.15.0/net/core/rtnetlink.c @@ -922,24 +922,27 @@ nla_total_size(sizeof(struct ifla_vf_rate)) + nla_total_size(sizeof(struct ifla_vf_link_state)) + nla_total_size(sizeof(struct ifla_vf_rss_query_en)) + - nla_total_size(0) + /* nest IFLA_VF_STATS */ - /* IFLA_VF_STATS_RX_PACKETS */ - nla_total_size_64bit(sizeof(__u64)) + - /* IFLA_VF_STATS_TX_PACKETS */ - nla_total_size_64bit(sizeof(__u64)) + - /* IFLA_VF_STATS_RX_BYTES */ - nla_total_size_64bit(sizeof(__u64)) + - /* IFLA_VF_STATS_TX_BYTES */ - nla_total_size_64bit(sizeof(__u64)) + - /* IFLA_VF_STATS_BROADCAST */ - nla_total_size_64bit(sizeof(__u64)) + - /* IFLA_VF_STATS_MULTICAST */ - nla_total_size_64bit(sizeof(__u64)) + - /* IFLA_VF_STATS_RX_DROPPED */ - nla_total_size_64bit(sizeof(__u64)) + - /* IFLA_VF_STATS_TX_DROPPED */ - nla_total_size_64bit(sizeof(__u64)) + nla_total_size(sizeof(struct ifla_vf_trust))); + if (~ext_filter_mask & RTEXT_FILTER_SKIP_STATS) { + size += num_vfs * + (nla_total_size(0) + /* nest IFLA_VF_STATS */ + /* IFLA_VF_STATS_RX_PACKETS */ + nla_total_size_64bit(sizeof(__u64)) + + /* IFLA_VF_STATS_TX_PACKETS */ + nla_total_size_64bit(sizeof(__u64)) + + /* IFLA_VF_STATS_RX_BYTES */ + nla_total_size_64bit(sizeof(__u64)) + + /* IFLA_VF_STATS_TX_BYTES */ + nla_total_size_64bit(sizeof(__u64)) + + /* IFLA_VF_STATS_BROADCAST */ + nla_total_size_64bit(sizeof(__u64)) + + /* IFLA_VF_STATS_MULTICAST */ + nla_total_size_64bit(sizeof(__u64)) + + /* IFLA_VF_STATS_RX_DROPPED */ + nla_total_size_64bit(sizeof(__u64)) + + /* IFLA_VF_STATS_TX_DROPPED */ + nla_total_size_64bit(sizeof(__u64))); + } return size; } else return 0; @@ -1214,7 +1217,8 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb, struct net_device *dev, int vfs_num, - struct nlattr *vfinfo) + struct nlattr *vfinfo, + u32 ext_filter_mask) { struct ifla_vf_rss_query_en vf_rss_query_en; struct nlattr *vf, *vfstats, *vfvlanlist; @@ -1320,33 +1324,35 @@ goto nla_put_vf_failure; } nla_nest_end(skb, vfvlanlist); - memset(&vf_stats, 0, sizeof(vf_stats)); - if (dev->netdev_ops->ndo_get_vf_stats) - dev->netdev_ops->ndo_get_vf_stats(dev, vfs_num, - &vf_stats); - vfstats = nla_nest_start_noflag(skb, IFLA_VF_STATS); - if (!vfstats) - goto nla_put_vf_failure; - if (nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_PACKETS, - vf_stats.rx_packets, IFLA_VF_STATS_PAD) || - nla_put_u64_64bit(skb, IFLA_VF_STATS_TX_PACKETS, - vf_stats.tx_packets, IFLA_VF_STATS_PAD) || - nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_BYTES, - vf_stats.rx_bytes, IFLA_VF_STATS_PAD) || - nla_put_u64_64bit(skb, IFLA_VF_STATS_TX_BYTES, - vf_stats.tx_bytes, IFLA_VF_STATS_PAD) || - nla_put_u64_64bit(skb, IFLA_VF_STATS_BROADCAST, - vf_stats.broadcast, IFLA_VF_STATS_PAD) || - nla_put_u64_64bit(skb, IFLA_VF_STATS_MULTICAST, - vf_stats.multicast, IFLA_VF_STATS_PAD) || - nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_DROPPED, - vf_stats.rx_dropped, IFLA_VF_STATS_PAD) || - nla_put_u64_64bit(skb, IFLA_VF_STATS_TX_DROPPED, - vf_stats.tx_dropped, IFLA_VF_STATS_PAD)) { - nla_nest_cancel(skb, vfstats); - goto nla_put_vf_failure; + if (~ext_filter_mask & RTEXT_FILTER_SKIP_STATS) { + memset(&vf_stats, 0, sizeof(vf_stats)); + if (dev->netdev_ops->ndo_get_vf_stats) + dev->netdev_ops->ndo_get_vf_stats(dev, vfs_num, + &vf_stats); + vfstats = nla_nest_start_noflag(skb, IFLA_VF_STATS); + if (!vfstats) + goto nla_put_vf_failure; + if (nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_PACKETS, + vf_stats.rx_packets, IFLA_VF_STATS_PAD) || + nla_put_u64_64bit(skb, IFLA_VF_STATS_TX_PACKETS, + vf_stats.tx_packets, IFLA_VF_STATS_PAD) || + nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_BYTES, + vf_stats.rx_bytes, IFLA_VF_STATS_PAD) || + nla_put_u64_64bit(skb, IFLA_VF_STATS_TX_BYTES, + vf_stats.tx_bytes, IFLA_VF_STATS_PAD) || + nla_put_u64_64bit(skb, IFLA_VF_STATS_BROADCAST, + vf_stats.broadcast, IFLA_VF_STATS_PAD) || + nla_put_u64_64bit(skb, IFLA_VF_STATS_MULTICAST, + vf_stats.multicast, IFLA_VF_STATS_PAD) || + nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_DROPPED, + vf_stats.rx_dropped, IFLA_VF_STATS_PAD) || + nla_put_u64_64bit(skb, IFLA_VF_STATS_TX_DROPPED, + vf_stats.tx_dropped, IFLA_VF_STATS_PAD)) { + nla_nest_cancel(skb, vfstats); + goto nla_put_vf_failure; + } + nla_nest_end(skb, vfstats); } - nla_nest_end(skb, vfstats); nla_nest_end(skb, vf); return 0; @@ -1379,7 +1385,7 @@ return -EMSGSIZE; for (i = 0; i < num_vfs; i++) { - if (rtnl_fill_vfinfo(skb, dev, i, vfinfo)) + if (rtnl_fill_vfinfo(skb, dev, i, vfinfo, ext_filter_mask)) return -EMSGSIZE; } @@ -3905,7 +3911,7 @@ ndm->ndm_ifindex = dev->ifindex; ndm->ndm_state = ndm_state; - if (nla_put(skb, NDA_LLADDR, ETH_ALEN, addr)) + if (nla_put(skb, NDA_LLADDR, dev->addr_len, addr)) goto nla_put_failure; if (vid) if (nla_put(skb, NDA_VLAN, sizeof(u16), &vid)) @@ -3919,10 +3925,10 @@ return -EMSGSIZE; } -static inline size_t rtnl_fdb_nlmsg_size(void) +static inline size_t rtnl_fdb_nlmsg_size(const struct net_device *dev) { return NLMSG_ALIGN(sizeof(struct ndmsg)) + - nla_total_size(ETH_ALEN) + /* NDA_LLADDR */ + nla_total_size(dev->addr_len) + /* NDA_LLADDR */ nla_total_size(sizeof(u16)) + /* NDA_VLAN */ 0; } @@ -3934,7 +3940,7 @@ struct sk_buff *skb; int err = -ENOBUFS; - skb = nlmsg_new(rtnl_fdb_nlmsg_size(), GFP_ATOMIC); + skb = nlmsg_new(rtnl_fdb_nlmsg_size(dev), GFP_ATOMIC); if (!skb) goto errout; diff -u linux-intel-iotg-5.15-5.15.0/net/core/skbuff.c linux-intel-iotg-5.15-5.15.0/net/core/skbuff.c --- linux-intel-iotg-5.15-5.15.0/net/core/skbuff.c +++ linux-intel-iotg-5.15-5.15.0/net/core/skbuff.c @@ -3882,6 +3882,11 @@ skb_push(skb, -skb_network_offset(skb) + offset); + /* Ensure the head is writeable before touching the shared info */ + err = skb_unclone(skb, GFP_ATOMIC); + if (err) + goto err_linearize; + skb_shinfo(skb)->frag_list = NULL; while (list_skb) { diff -u linux-intel-iotg-5.15-5.15.0/net/core/sock.c linux-intel-iotg-5.15-5.15.0/net/core/sock.c --- linux-intel-iotg-5.15-5.15.0/net/core/sock.c +++ linux-intel-iotg-5.15-5.15.0/net/core/sock.c @@ -2324,13 +2324,24 @@ } EXPORT_SYMBOL(sock_i_uid); -unsigned long sock_i_ino(struct sock *sk) +unsigned long __sock_i_ino(struct sock *sk) { unsigned long ino; - read_lock_bh(&sk->sk_callback_lock); + read_lock(&sk->sk_callback_lock); ino = sk->sk_socket ? SOCK_INODE(sk->sk_socket)->i_ino : 0; - read_unlock_bh(&sk->sk_callback_lock); + read_unlock(&sk->sk_callback_lock); + return ino; +} +EXPORT_SYMBOL(__sock_i_ino); + +unsigned long sock_i_ino(struct sock *sk) +{ + unsigned long ino; + + local_bh_disable(); + ino = __sock_i_ino(sk); + local_bh_enable(); return ino; } EXPORT_SYMBOL(sock_i_ino); reverted: --- linux-intel-iotg-5.15-5.15.0/net/decnet/af_decnet.c +++ linux-intel-iotg-5.15-5.15.0.orig/net/decnet/af_decnet.c @@ -480,8 +480,8 @@ sk->sk_family = PF_DECnet; sk->sk_protocol = 0; sk->sk_allocation = gfp; + sk->sk_sndbuf = sysctl_decnet_wmem[1]; + sk->sk_rcvbuf = sysctl_decnet_rmem[1]; - sk->sk_sndbuf = READ_ONCE(sysctl_decnet_wmem[1]); - sk->sk_rcvbuf = READ_ONCE(sysctl_decnet_rmem[1]); /* Initialization of DECnet Session Control Port */ scp = DN_SK(sk); diff -u linux-intel-iotg-5.15-5.15.0/net/dsa/tag_sja1105.c linux-intel-iotg-5.15-5.15.0/net/dsa/tag_sja1105.c --- linux-intel-iotg-5.15-5.15.0/net/dsa/tag_sja1105.c +++ linux-intel-iotg-5.15-5.15.0/net/dsa/tag_sja1105.c @@ -100,8 +100,8 @@ * a unified unpacking command for both device series. */ packing(buf, &meta->tstamp, 31, 0, 4, UNPACK, 0); - packing(buf + 4, &meta->dmac_byte_4, 7, 0, 1, UNPACK, 0); - packing(buf + 5, &meta->dmac_byte_3, 7, 0, 1, UNPACK, 0); + packing(buf + 4, &meta->dmac_byte_3, 7, 0, 1, UNPACK, 0); + packing(buf + 5, &meta->dmac_byte_4, 7, 0, 1, UNPACK, 0); packing(buf + 6, &meta->source_port, 7, 0, 1, UNPACK, 0); packing(buf + 7, &meta->switch_id, 7, 0, 1, UNPACK, 0); } diff -u linux-intel-iotg-5.15-5.15.0/net/ipv4/esp4_offload.c linux-intel-iotg-5.15-5.15.0/net/ipv4/esp4_offload.c --- linux-intel-iotg-5.15-5.15.0/net/ipv4/esp4_offload.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv4/esp4_offload.c @@ -337,6 +337,9 @@ secpath_reset(skb); + if (skb_needs_linearize(skb, skb->dev->features) && + __skb_linearize(skb)) + return -ENOMEM; return 0; } diff -u linux-intel-iotg-5.15-5.15.0/net/ipv4/tcp_input.c linux-intel-iotg-5.15-5.15.0/net/ipv4/tcp_input.c --- linux-intel-iotg-5.15-5.15.0/net/ipv4/tcp_input.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv4/tcp_input.c @@ -3584,8 +3584,11 @@ static bool __tcp_oow_rate_limited(struct net *net, int mib_idx, u32 *last_oow_ack_time) { - if (*last_oow_ack_time) { - s32 elapsed = (s32)(tcp_jiffies32 - *last_oow_ack_time); + /* Paired with the WRITE_ONCE() in this function. */ + u32 val = READ_ONCE(*last_oow_ack_time); + + if (val) { + s32 elapsed = (s32)(tcp_jiffies32 - val); if (0 <= elapsed && elapsed < READ_ONCE(net->ipv4.sysctl_tcp_invalid_ratelimit)) { @@ -3594,7 +3597,10 @@ } } - *last_oow_ack_time = tcp_jiffies32; + /* Paired with the prior READ_ONCE() and with itself, + * as we might be lockless. + */ + WRITE_ONCE(*last_oow_ack_time, tcp_jiffies32); return false; /* not rate-limited: go ahead, send dupack now! */ } diff -u linux-intel-iotg-5.15-5.15.0/net/ipv6/addrconf.c linux-intel-iotg-5.15-5.15.0/net/ipv6/addrconf.c --- linux-intel-iotg-5.15-5.15.0/net/ipv6/addrconf.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv6/addrconf.c @@ -323,9 +323,8 @@ static void addrconf_mod_rs_timer(struct inet6_dev *idev, unsigned long when) { - if (!timer_pending(&idev->rs_timer)) + if (!mod_timer(&idev->rs_timer, jiffies + when)) in6_dev_hold(idev); - mod_timer(&idev->rs_timer, jiffies + when); } static void addrconf_mod_dad_work(struct inet6_ifaddr *ifp, diff -u linux-intel-iotg-5.15-5.15.0/net/ipv6/esp6_offload.c linux-intel-iotg-5.15-5.15.0/net/ipv6/esp6_offload.c --- linux-intel-iotg-5.15-5.15.0/net/ipv6/esp6_offload.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv6/esp6_offload.c @@ -372,6 +372,9 @@ secpath_reset(skb); + if (skb_needs_linearize(skb, skb->dev->features) && + __skb_linearize(skb)) + return -ENOMEM; return 0; } diff -u linux-intel-iotg-5.15-5.15.0/net/ipv6/icmp.c linux-intel-iotg-5.15-5.15.0/net/ipv6/icmp.c --- linux-intel-iotg-5.15-5.15.0/net/ipv6/icmp.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv6/icmp.c @@ -430,7 +430,10 @@ if (unlikely(dev->ifindex == LOOPBACK_IFINDEX || netif_is_l3_master(skb->dev))) { const struct rt6_info *rt6 = skb_rt6_info(skb); - if (rt6) + /* The destination could be an external IP in Ext Hdr (SRv6, RPL, etc.), + * and ip6_null_entry could be set to skb if no route is found. + */ + if (rt6 && rt6->rt6i_idev) dev = rt6->rt6i_idev->dev; } diff -u linux-intel-iotg-5.15-5.15.0/net/ipv6/udp.c linux-intel-iotg-5.15-5.15.0/net/ipv6/udp.c --- linux-intel-iotg-5.15-5.15.0/net/ipv6/udp.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv6/udp.c @@ -88,7 +88,7 @@ fhash = __ipv6_addr_jhash(faddr, udp_ipv6_hash_secret); return __inet6_ehashfn(lhash, lport, fhash, fport, - udp_ipv6_hash_secret + net_hash_mix(net)); + udp6_ehash_secret + net_hash_mix(net)); } int udp_v6_get_port(struct sock *sk, unsigned short snum) diff -u linux-intel-iotg-5.15-5.15.0/net/mptcp/protocol.c linux-intel-iotg-5.15-5.15.0/net/mptcp/protocol.c --- linux-intel-iotg-5.15-5.15.0/net/mptcp/protocol.c +++ linux-intel-iotg-5.15-5.15.0/net/mptcp/protocol.c @@ -51,7 +51,7 @@ static struct percpu_counter mptcp_sockets_allocated; static void __mptcp_destroy_sock(struct sock *sk); -static void __mptcp_check_send_data_fin(struct sock *sk); +static void mptcp_check_send_data_fin(struct sock *sk); DEFINE_PER_CPU(struct mptcp_delegated_action, mptcp_delegated_actions); static struct net_device mptcp_napi_dev; @@ -355,8 +355,7 @@ { struct mptcp_sock *msk = mptcp_sk(sk); - return !__mptcp_check_fallback(msk) && - ((1 << sk->sk_state) & + return ((1 << sk->sk_state) & (TCPF_FIN_WAIT1 | TCPF_CLOSING | TCPF_LAST_ACK)) && msk->write_seq == READ_ONCE(msk->snd_una); } @@ -509,9 +508,6 @@ u64 rcv_data_fin_seq; bool ret = false; - if (__mptcp_check_fallback(msk)) - return ret; - /* Need to ack a DATA_FIN received from a peer while this side * of the connection is in ESTABLISHED, FIN_WAIT1, or FIN_WAIT2. * msk->rcv_data_fin was set when parsing the incoming options @@ -549,7 +545,8 @@ } ret = true; - mptcp_send_ack(msk); + if (!__mptcp_check_fallback(msk)) + mptcp_send_ack(msk); mptcp_close_wake_up(sk); } return ret; @@ -1612,7 +1609,7 @@ if (!mptcp_timer_pending(sk)) mptcp_reset_timer(sk); if (copied) - __mptcp_check_send_data_fin(sk); + mptcp_check_send_data_fin(sk); } static void __mptcp_subflow_push_pending(struct sock *sk, struct sock *ssk) @@ -2451,7 +2448,6 @@ if (unlikely((1 << state) & (TCPF_CLOSE | TCPF_LISTEN))) goto unlock; - mptcp_check_data_fin_ack(sk); mptcp_flush_join_list(msk); mptcp_check_fastclose(msk); @@ -2462,7 +2458,8 @@ if (test_and_clear_bit(MPTCP_WORK_EOF, &msk->flags)) mptcp_check_for_eof(msk); - __mptcp_check_send_data_fin(sk); + mptcp_check_send_data_fin(sk); + mptcp_check_data_fin_ack(sk); mptcp_check_data_fin(sk); /* There is no point in keeping around an orphaned sk timedout or @@ -2591,6 +2588,12 @@ pr_debug("Fallback"); ssk->sk_shutdown |= how; tcp_shutdown(ssk, how); + + /* simulate the data_fin ack reception to let the state + * machine move forward + */ + WRITE_ONCE(mptcp_sk(sk)->snd_una, mptcp_sk(sk)->snd_nxt); + mptcp_schedule_work(sk); } else { pr_debug("Sending DATA_FIN on subflow %p", ssk); tcp_send_ack(ssk); @@ -2630,7 +2633,7 @@ return next & TCP_ACTION_FIN; } -static void __mptcp_check_send_data_fin(struct sock *sk) +static void mptcp_check_send_data_fin(struct sock *sk) { struct mptcp_subflow_context *subflow; struct mptcp_sock *msk = mptcp_sk(sk); @@ -2648,18 +2651,6 @@ WRITE_ONCE(msk->snd_nxt, msk->write_seq); - /* fallback socket will not get data_fin/ack, can move to the next - * state now - */ - if (__mptcp_check_fallback(msk)) { - if ((1 << sk->sk_state) & (TCPF_CLOSING | TCPF_LAST_ACK)) { - inet_sk_state_store(sk, TCP_CLOSE); - mptcp_close_wake_up(sk); - } else if (sk->sk_state == TCP_FIN_WAIT1) { - inet_sk_state_store(sk, TCP_FIN_WAIT2); - } - } - mptcp_flush_join_list(msk); mptcp_for_each_subflow(msk, subflow) { struct sock *tcp_sk = mptcp_subflow_tcp_sock(subflow); @@ -2680,7 +2671,7 @@ WRITE_ONCE(msk->write_seq, msk->write_seq + 1); WRITE_ONCE(msk->snd_data_fin_enable, 1); - __mptcp_check_send_data_fin(sk); + mptcp_check_send_data_fin(sk); } static void __mptcp_destroy_sock(struct sock *sk) @@ -2807,6 +2798,12 @@ struct mptcp_subflow_context *subflow; struct mptcp_sock *msk = mptcp_sk(sk); + /* Deny disconnect if other threads are blocked in sk_wait_event() + * or inet_wait_for_connect(). + */ + if (sk->sk_wait_pending) + return -EBUSY; + mptcp_do_flush_join_list(msk); mptcp_for_each_subflow(msk, subflow) { @@ -2845,6 +2842,7 @@ inet_sk(nsk)->pinet6 = mptcp_inet6_sk(nsk); #endif + nsk->sk_wait_pending = 0; __mptcp_init_sock(nsk); msk = mptcp_sk(nsk); diff -u linux-intel-iotg-5.15-5.15.0/net/mptcp/subflow.c linux-intel-iotg-5.15-5.15.0/net/mptcp/subflow.c --- linux-intel-iotg-5.15-5.15.0/net/mptcp/subflow.c +++ linux-intel-iotg-5.15-5.15.0/net/mptcp/subflow.c @@ -1653,14 +1653,16 @@ { struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk); struct sock *parent = subflow->conn; + struct mptcp_sock *msk; __subflow_state_change(sk); + msk = mptcp_sk(parent); if (subflow_simultaneous_connect(sk)) { mptcp_propagate_sndbuf(parent, sk); mptcp_do_fallback(sk); - mptcp_rcv_space_init(mptcp_sk(parent), sk); - pr_fallback(mptcp_sk(parent)); + mptcp_rcv_space_init(msk, sk); + pr_fallback(msk); subflow->conn_finished = 1; mptcp_set_connected(parent); } @@ -1676,11 +1678,12 @@ subflow_sched_work_if_closed(mptcp_sk(parent), sk); - if (__mptcp_check_fallback(mptcp_sk(parent)) && - !subflow->rx_eof && subflow_is_done(sk)) { - subflow->rx_eof = 1; - mptcp_subflow_eof(parent); - } + /* when the fallback subflow closes the rx side, trigger a 'dummy' + * ingress data fin, so that the msk state will follow along + */ + if (__mptcp_check_fallback(msk) && subflow_is_done(sk) && msk->first == sk && + mptcp_update_rcv_data_fin(msk, READ_ONCE(msk->ack_seq), true)) + mptcp_schedule_work(parent); } static int subflow_ulp_init(struct sock *sk) diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/core.c linux-intel-iotg-5.15-5.15.0/net/netfilter/core.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/core.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/core.c @@ -300,12 +300,6 @@ if (WARN_ON_ONCE(ARRAY_SIZE(net->nf.hooks_ipv6) <= hooknum)) return NULL; return net->nf.hooks_ipv6 + hooknum; -#if IS_ENABLED(CONFIG_DECNET) - case NFPROTO_DECNET: - if (WARN_ON_ONCE(ARRAY_SIZE(net->nf.hooks_decnet) <= hooknum)) - return NULL; - return net->nf.hooks_decnet + hooknum; -#endif default: WARN_ON_ONCE(1); return NULL; @@ -725,10 +719,6 @@ #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE __netfilter_net_init(net->nf.hooks_bridge, ARRAY_SIZE(net->nf.hooks_bridge)); #endif -#if IS_ENABLED(CONFIG_DECNET) - __netfilter_net_init(net->nf.hooks_decnet, ARRAY_SIZE(net->nf.hooks_decnet)); -#endif - #ifdef CONFIG_PROC_FS net->nf.proc_netfilter = proc_net_mkdir(net, "netfilter", net->proc_net); diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/ipset/ip_set_core.c linux-intel-iotg-5.15-5.15.0/net/netfilter/ipset/ip_set_core.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/ipset/ip_set_core.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/ipset/ip_set_core.c @@ -1694,6 +1694,14 @@ bool eexist = flags & IPSET_FLAG_EXIST, retried = false; do { + if (retried) { + __ip_set_get(set); + nfnl_unlock(NFNL_SUBSYS_IPSET); + cond_resched(); + nfnl_lock(NFNL_SUBSYS_IPSET); + __ip_set_put(set); + } + ip_set_lock(set); ret = set->variant->uadt(set, tb, adt, &lineno, flags, retried); ip_set_unlock(set); diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/ipvs/ip_vs_conn.c linux-intel-iotg-5.15-5.15.0/net/netfilter/ipvs/ip_vs_conn.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/ipvs/ip_vs_conn.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/ipvs/ip_vs_conn.c @@ -1484,8 +1484,8 @@ int idx; /* Compute size and mask */ - if (ip_vs_conn_tab_bits < 8 || ip_vs_conn_tab_bits > 20) { - pr_info("conn_tab_bits not in [8, 20]. Using default value\n"); + if (ip_vs_conn_tab_bits < 8 || ip_vs_conn_tab_bits > 27) { + pr_info("conn_tab_bits not in [8, 27]. Using default value\n"); ip_vs_conn_tab_bits = CONFIG_IP_VS_TAB_BITS; } ip_vs_conn_tab_size = 1 << ip_vs_conn_tab_bits; diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_core.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_core.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_core.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_core.c @@ -2224,6 +2224,9 @@ return 0; helper = rcu_dereference(help->helper); + if (!helper) + return 0; + if (!(helper->flags & NF_CT_HELPER_F_USERSPACE)) return 0; diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_helper.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_helper.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_helper.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_helper.c @@ -405,6 +405,9 @@ BUG_ON(me->expect_class_max >= NF_CT_MAX_EXPECT_CLASSES); BUG_ON(strlen(me->name) > NF_CT_HELPER_NAME_LEN - 1); + if (!nf_ct_helper_hash) + return -ENOENT; + if (me->expect_policy->max_expected > NF_CT_EXPECT_MAX_CNT) return -EINVAL; @@ -597,2 +600,3 @@ kvfree(nf_ct_helper_hash); + nf_ct_helper_hash = NULL; } diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_sip.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_sip.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_sip.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_sip.c @@ -611,7 +611,7 @@ start += strlen(name); *val = simple_strtoul(start, &end, 0); if (start == end) - return 0; + return -1; if (matchoff && matchlen) { *matchoff = start - dptr; *matchlen = end - start; diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_tables_api.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_tables_api.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_tables_api.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_tables_api.c @@ -153,6 +153,7 @@ return NULL; INIT_LIST_HEAD(&trans->list); + INIT_LIST_HEAD(&trans->binding_list); trans->msg_type = msg_type; trans->ctx = *ctx; @@ -165,9 +166,15 @@ return nft_trans_alloc_gfp(ctx, msg_type, size, GFP_KERNEL); } -static void nft_trans_destroy(struct nft_trans *trans) +static void nft_trans_list_del(struct nft_trans *trans) { list_del(&trans->list); + list_del(&trans->binding_list); +} + +static void nft_trans_destroy(struct nft_trans *trans) +{ + nft_trans_list_del(trans); kfree(trans); } @@ -359,6 +366,19 @@ { struct nftables_pernet *nft_net = nft_pernet(net); + switch (trans->msg_type) { + case NFT_MSG_NEWSET: + if (!nft_trans_set_update(trans) && + nft_set_is_anonymous(nft_trans_set(trans))) + list_add_tail(&trans->binding_list, &nft_net->binding_list); + break; + case NFT_MSG_NEWCHAIN: + if (!nft_trans_chain_update(trans) && + nft_chain_binding(nft_trans_chain(trans))) + list_add_tail(&trans->binding_list, &nft_net->binding_list); + break; + } + list_add_tail(&trans->list, &nft_net->commit_list); } @@ -561,6 +581,58 @@ return __nft_trans_set_add(ctx, msg_type, set, NULL); } +static void nft_setelem_data_deactivate(const struct net *net, + const struct nft_set *set, + struct nft_set_elem *elem); + +static int nft_mapelem_deactivate(const struct nft_ctx *ctx, + struct nft_set *set, + const struct nft_set_iter *iter, + struct nft_set_elem *elem) +{ + nft_setelem_data_deactivate(ctx->net, set, elem); + + return 0; +} + +struct nft_set_elem_catchall { + struct list_head list; + struct rcu_head rcu; + void *elem; +}; + +static void nft_map_catchall_deactivate(const struct nft_ctx *ctx, + struct nft_set *set) +{ + u8 genmask = nft_genmask_next(ctx->net); + struct nft_set_elem_catchall *catchall; + struct nft_set_elem elem; + struct nft_set_ext *ext; + + list_for_each_entry(catchall, &set->catchall_list, list) { + ext = nft_set_elem_ext(set, catchall->elem); + if (!nft_set_elem_active(ext, genmask)) + continue; + + elem.priv = catchall->elem; + nft_setelem_data_deactivate(ctx->net, set, &elem); + break; + } +} + +static void nft_map_deactivate(const struct nft_ctx *ctx, struct nft_set *set) +{ + struct nft_set_iter iter = { + .genmask = nft_genmask_next(ctx->net), + .fn = nft_mapelem_deactivate, + }; + + set->ops->walk(ctx, set, &iter); + WARN_ON_ONCE(iter.err); + + nft_map_catchall_deactivate(ctx, set); +} + static int nft_delset(const struct nft_ctx *ctx, struct nft_set *set) { int err; @@ -569,6 +641,9 @@ if (err < 0) return err; + if (set->flags & (NFT_SET_MAP | NFT_SET_OBJECT)) + nft_map_deactivate(ctx, set); + nft_deactivate_next(ctx->net, set); ctx->table->use--; @@ -3388,12 +3463,6 @@ return 0; } -struct nft_set_elem_catchall { - struct list_head list; - struct rcu_head rcu; - void *elem; -}; - int nft_set_catchall_validate(const struct nft_ctx *ctx, struct nft_set *set) { u8 genmask = nft_genmask_next(ctx->net); @@ -4613,6 +4682,9 @@ if (info->nlh->nlmsg_flags & NLM_F_REPLACE) return -EOPNOTSUPP; + if (nft_set_is_anonymous(set)) + return -EOPNOTSUPP; + err = nft_set_expr_alloc(&ctx, set, nla, exprs, &num_exprs, flags); if (err < 0) return err; @@ -4702,6 +4774,7 @@ set->num_exprs = num_exprs; set->handle = nf_tables_alloc_handle(table); + INIT_LIST_HEAD(&set->pending_update); err = nft_trans_set_add(&ctx, NFT_MSG_NEWSET, set); if (err < 0) @@ -4715,7 +4788,7 @@ for (i = 0; i < set->num_exprs; i++) nft_expr_destroy(&ctx, set->exprs[i]); err_set_destroy: - ops->destroy(set); + ops->destroy(&ctx, set); err_set_init: kfree(set->name); err_set_name: @@ -4730,7 +4803,7 @@ list_for_each_entry_safe(catchall, next, &set->catchall_list, list) { list_del_rcu(&catchall->list); - nft_set_elem_destroy(set, catchall->elem, true); + nf_tables_set_elem_destroy(ctx, set, catchall->elem); kfree_rcu(catchall, rcu); } } @@ -4745,7 +4818,7 @@ for (i = 0; i < set->num_exprs; i++) nft_expr_destroy(ctx, set->exprs[i]); - set->ops->destroy(set); + set->ops->destroy(ctx, set); nft_set_catchall_destroy(ctx, set); kfree(set->name); kvfree(set); @@ -4906,10 +4979,60 @@ } } +static void nft_setelem_data_activate(const struct net *net, + const struct nft_set *set, + struct nft_set_elem *elem); + +static int nft_mapelem_activate(const struct nft_ctx *ctx, + struct nft_set *set, + const struct nft_set_iter *iter, + struct nft_set_elem *elem) +{ + nft_setelem_data_activate(ctx->net, set, elem); + + return 0; +} + +static void nft_map_catchall_activate(const struct nft_ctx *ctx, + struct nft_set *set) +{ + u8 genmask = nft_genmask_next(ctx->net); + struct nft_set_elem_catchall *catchall; + struct nft_set_elem elem; + struct nft_set_ext *ext; + + list_for_each_entry(catchall, &set->catchall_list, list) { + ext = nft_set_elem_ext(set, catchall->elem); + if (!nft_set_elem_active(ext, genmask)) + continue; + + elem.priv = catchall->elem; + nft_setelem_data_activate(ctx->net, set, &elem); + break; + } +} + +static void nft_map_activate(const struct nft_ctx *ctx, struct nft_set *set) +{ + struct nft_set_iter iter = { + .genmask = nft_genmask_next(ctx->net), + .fn = nft_mapelem_activate, + }; + + set->ops->walk(ctx, set, &iter); + WARN_ON_ONCE(iter.err); + + nft_map_catchall_activate(ctx, set); +} + void nf_tables_activate_set(const struct nft_ctx *ctx, struct nft_set *set) { - if (nft_set_is_anonymous(set)) + if (nft_set_is_anonymous(set)) { + if (set->flags & (NFT_SET_MAP | NFT_SET_OBJECT)) + nft_map_activate(ctx, set); + nft_clear(ctx->net, set); + } set->use++; } @@ -4930,13 +5053,20 @@ set->use--; break; case NFT_TRANS_PREPARE: - if (nft_set_is_anonymous(set)) - nft_deactivate_next(ctx->net, set); + if (nft_set_is_anonymous(set)) { + if (set->flags & (NFT_SET_MAP | NFT_SET_OBJECT)) + nft_map_deactivate(ctx, set); + nft_deactivate_next(ctx->net, set); + } set->use--; return; case NFT_TRANS_ABORT: case NFT_TRANS_RELEASE: + if (nft_set_is_anonymous(set) && + set->flags & (NFT_SET_MAP | NFT_SET_OBJECT)) + nft_map_deactivate(ctx, set); + set->use--; fallthrough; default: @@ -5652,6 +5782,7 @@ __nft_set_elem_expr_destroy(ctx, expr); } +/* Drop references and destroy. Called from gc, dynset and abort path. */ void nft_set_elem_destroy(const struct nft_set *set, void *elem, bool destroy_expr) { @@ -5673,11 +5804,11 @@ } EXPORT_SYMBOL_GPL(nft_set_elem_destroy); -/* Only called from commit path, nft_setelem_data_deactivate() already deals - * with the refcounting from the preparation phase. +/* Destroy element. References have been already dropped in the preparation + * path via nft_setelem_data_deactivate(). */ -static void nf_tables_set_elem_destroy(const struct nft_ctx *ctx, - const struct nft_set *set, void *elem) +void nf_tables_set_elem_destroy(const struct nft_ctx *ctx, + const struct nft_set *set, void *elem) { struct nft_set_ext *ext = nft_set_elem_ext(set, elem); @@ -6338,7 +6469,8 @@ if (IS_ERR(set)) return PTR_ERR(set); - if (!list_empty(&set->bindings) && set->flags & NFT_SET_CONSTANT) + if (!list_empty(&set->bindings) && + (set->flags & (NFT_SET_CONSTANT | NFT_SET_ANONYMOUS))) return -EBUSY; nft_ctx_init(&ctx, net, skb, info->nlh, family, table, NULL, nla); @@ -6565,6 +6697,7 @@ ret = __nft_set_catchall_flush(ctx, set, &elem); if (ret < 0) break; + nft_set_elem_change_active(ctx->net, set, ext); } return ret; @@ -6608,7 +6741,9 @@ set = nft_set_lookup(table, nla[NFTA_SET_ELEM_LIST_SET], genmask); if (IS_ERR(set)) return PTR_ERR(set); - if (!list_empty(&set->bindings) && set->flags & NFT_SET_CONSTANT) + + if (!list_empty(&set->bindings) && + (set->flags & (NFT_SET_CONSTANT | NFT_SET_ANONYMOUS))) return -EBUSY; nft_ctx_init(&ctx, net, skb, info->nlh, family, table, NULL, nla); @@ -8568,7 +8703,7 @@ synchronize_rcu(); list_for_each_entry_safe(trans, next, &head, list) { - list_del(&trans->list); + nft_trans_list_del(trans); nft_commit_release(trans); } } @@ -8855,10 +8990,25 @@ } } +static void nft_set_commit_update(struct list_head *set_update_list) +{ + struct nft_set *set, *next; + + list_for_each_entry_safe(set, next, set_update_list, pending_update) { + list_del_init(&set->pending_update); + + if (!set->ops->commit) + continue; + + set->ops->commit(set); + } +} + static int nf_tables_commit(struct net *net, struct sk_buff *skb) { struct nftables_pernet *nft_net = nft_pernet(net); struct nft_trans *trans, *next; + LIST_HEAD(set_update_list); struct nft_trans_elem *te; struct nft_chain *chain; struct nft_table *table; @@ -8871,6 +9021,27 @@ return 0; } + list_for_each_entry(trans, &nft_net->binding_list, binding_list) { + switch (trans->msg_type) { + case NFT_MSG_NEWSET: + if (!nft_trans_set_update(trans) && + nft_set_is_anonymous(nft_trans_set(trans)) && + !nft_trans_set_bound(trans)) { + pr_warn_once("nftables ruleset with unbound set\n"); + return -EINVAL; + } + break; + case NFT_MSG_NEWCHAIN: + if (!nft_trans_chain_update(trans) && + nft_chain_binding(nft_trans_chain(trans)) && + !nft_trans_chain_bound(trans)) { + pr_warn_once("nftables ruleset with unbound chain\n"); + return -EINVAL; + } + break; + } + } + /* 0. Validate ruleset, otherwise roll back for error reporting. */ if (nf_tables_validate(net) < 0) return -EAGAIN; @@ -9017,6 +9188,11 @@ nf_tables_setelem_notify(&trans->ctx, te->set, &te->elem, NFT_MSG_NEWSETELEM); + if (te->set->ops->commit && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } nft_trans_destroy(trans); break; case NFT_MSG_DELSETELEM: @@ -9030,6 +9206,11 @@ atomic_dec(&te->set->nelems); te->set->ndeact--; } + if (te->set->ops->commit && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } break; case NFT_MSG_NEWOBJ: if (nft_trans_obj_update(trans)) { @@ -9090,6 +9271,8 @@ } } + nft_set_commit_update(&set_update_list); + nft_commit_notify(net, NETLINK_CB(skb).portid); nf_tables_gen_notify(net, skb, NFT_MSG_NEWGEN); nf_tables_commit_audit_log(&adl, nft_net->base_seq); @@ -9146,10 +9329,25 @@ kfree(trans); } +static void nft_set_abort_update(struct list_head *set_update_list) +{ + struct nft_set *set, *next; + + list_for_each_entry_safe(set, next, set_update_list, pending_update) { + list_del_init(&set->pending_update); + + if (!set->ops->abort) + continue; + + set->ops->abort(set); + } +} + static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action) { struct nftables_pernet *nft_net = nft_pernet(net); struct nft_trans *trans, *next; + LIST_HEAD(set_update_list); struct nft_trans_elem *te; if (action == NFNL_ABORT_VALIDATE && @@ -9240,6 +9438,9 @@ case NFT_MSG_DELSET: trans->ctx.table->use++; nft_clear(trans->ctx.net, nft_trans_set(trans)); + if (nft_trans_set(trans)->flags & (NFT_SET_MAP | NFT_SET_OBJECT)) + nft_map_activate(&trans->ctx, nft_trans_set(trans)); + nft_trans_destroy(trans); break; case NFT_MSG_NEWSETELEM: @@ -9251,6 +9452,12 @@ nft_setelem_remove(net, te->set, &te->elem); if (!nft_setelem_is_catchall(te->set, &te->elem)) atomic_dec(&te->set->nelems); + + if (te->set->ops->abort && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } break; case NFT_MSG_DELSETELEM: te = (struct nft_trans_elem *)trans->data; @@ -9260,6 +9467,11 @@ if (!nft_setelem_is_catchall(te->set, &te->elem)) te->set->ndeact--; + if (te->set->ops->abort && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } nft_trans_destroy(trans); break; case NFT_MSG_NEWOBJ: @@ -9300,11 +9512,13 @@ } } + nft_set_abort_update(&set_update_list); + synchronize_rcu(); list_for_each_entry_safe_reverse(trans, next, &nft_net->commit_list, list) { - list_del(&trans->list); + nft_trans_list_del(trans); nf_tables_abort_release(trans); } @@ -9994,6 +10208,9 @@ list_for_each_entry_safe(set, ns, &table->sets, list) { list_del(&set->list); table->use--; + if (set->flags & (NFT_SET_MAP | NFT_SET_OBJECT)) + nft_map_deactivate(&ctx, set); + nft_set_destroy(&ctx, set); } list_for_each_entry_safe(obj, ne, &table->objects, list) { @@ -10078,6 +10295,7 @@ INIT_LIST_HEAD(&nft_net->tables); INIT_LIST_HEAD(&nft_net->commit_list); + INIT_LIST_HEAD(&nft_net->binding_list); INIT_LIST_HEAD(&nft_net->module_list); INIT_LIST_HEAD(&nft_net->notify_list); mutex_init(&nft_net->commit_mutex); diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink.c @@ -528,7 +528,8 @@ * processed, this avoids that the same error is * reported several times when replaying the batch. */ - if (nfnl_err_add(&err_list, nlh, err, &extack) < 0) { + if (err == -ENOMEM || + nfnl_err_add(&err_list, nlh, err, &extack) < 0) { /* We failed to enqueue an error, reset the * list of errors and send OOM to userspace * pointing to the batch header. diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink_osf.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink_osf.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink_osf.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink_osf.c @@ -441,0 +442 @@ +MODULE_ALIAS_NFNL_SUBSYS(NFNL_SUBSYS_OSF); diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_hash.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_hash.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_hash.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_hash.c @@ -400,19 +400,31 @@ return 0; } +struct nft_rhash_ctx { + const struct nft_ctx ctx; + const struct nft_set *set; +}; + static void nft_rhash_elem_destroy(void *ptr, void *arg) { - nft_set_elem_destroy(arg, ptr, true); + struct nft_rhash_ctx *rhash_ctx = arg; + + nf_tables_set_elem_destroy(&rhash_ctx->ctx, rhash_ctx->set, ptr); } -static void nft_rhash_destroy(const struct nft_set *set) +static void nft_rhash_destroy(const struct nft_ctx *ctx, + const struct nft_set *set) { struct nft_rhash *priv = nft_set_priv(set); + struct nft_rhash_ctx rhash_ctx = { + .ctx = *ctx, + .set = set, + }; cancel_delayed_work_sync(&priv->gc_work); rcu_barrier(); rhashtable_free_and_destroy(&priv->ht, nft_rhash_elem_destroy, - (void *)set); + (void *)&rhash_ctx); } /* Number of buckets is stored in u32, so cap our result to 1U<<31 */ @@ -643,7 +655,8 @@ return 0; } -static void nft_hash_destroy(const struct nft_set *set) +static void nft_hash_destroy(const struct nft_ctx *ctx, + const struct nft_set *set) { struct nft_hash *priv = nft_set_priv(set); struct nft_hash_elem *he; @@ -653,7 +666,7 @@ for (i = 0; i < priv->buckets; i++) { hlist_for_each_entry_safe(he, next, &priv->table[i], node) { hlist_del_rcu(&he->node); - nft_set_elem_destroy(set, he, true); + nf_tables_set_elem_destroy(ctx, set, he); } } } diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_pipapo.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_pipapo.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_pipapo.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_pipapo.c @@ -1600,17 +1600,10 @@ } } -/** - * pipapo_reclaim_match - RCU callback to free fields from old matching data - * @rcu: RCU head - */ -static void pipapo_reclaim_match(struct rcu_head *rcu) +static void pipapo_free_match(struct nft_pipapo_match *m) { - struct nft_pipapo_match *m; int i; - m = container_of(rcu, struct nft_pipapo_match, rcu); - for_each_possible_cpu(i) kfree(*per_cpu_ptr(m->scratch, i)); @@ -1625,7 +1618,19 @@ } /** - * pipapo_commit() - Replace lookup data with current working copy + * pipapo_reclaim_match - RCU callback to free fields from old matching data + * @rcu: RCU head + */ +static void pipapo_reclaim_match(struct rcu_head *rcu) +{ + struct nft_pipapo_match *m; + + m = container_of(rcu, struct nft_pipapo_match, rcu); + pipapo_free_match(m); +} + +/** + * nft_pipapo_commit() - Replace lookup data with current working copy * @set: nftables API set representation * * While at it, check if we should perform garbage collection on the working @@ -1635,7 +1640,7 @@ * We also need to create a new working copy for subsequent insertions and * deletions. */ -static void pipapo_commit(const struct nft_set *set) +static void nft_pipapo_commit(const struct nft_set *set) { struct nft_pipapo *priv = nft_set_priv(set); struct nft_pipapo_match *new_clone, *old; @@ -1660,6 +1665,26 @@ priv->clone = new_clone; } +static void nft_pipapo_abort(const struct nft_set *set) +{ + struct nft_pipapo *priv = nft_set_priv(set); + struct nft_pipapo_match *new_clone, *m; + + if (!priv->dirty) + return; + + m = rcu_dereference(priv->match); + + new_clone = pipapo_clone(m); + if (IS_ERR(new_clone)) + return; + + priv->dirty = false; + + pipapo_free_match(priv->clone); + priv->clone = new_clone; +} + /** * nft_pipapo_activate() - Mark element reference as active given key, commit * @net: Network namespace @@ -1667,8 +1692,7 @@ * @elem: nftables API element representation containing key data * * On insertion, elements are added to a copy of the matching data currently - * in use for lookups, and not directly inserted into current lookup data, so - * we'll take care of that by calling pipapo_commit() here. Both + * in use for lookups, and not directly inserted into current lookup data. Both * nft_pipapo_insert() and nft_pipapo_activate() are called once for each * element, hence we can't purpose either one as a real commit operation. */ @@ -1684,8 +1708,6 @@ nft_set_elem_change_active(net, set, &e->ext); nft_set_elem_clear_busy(&e->ext); - - pipapo_commit(set); } /** @@ -1935,7 +1957,6 @@ if (i == m->field_count) { priv->dirty = true; pipapo_drop(m, rulemap); - pipapo_commit(set); return; } @@ -1957,12 +1978,16 @@ struct nft_set_iter *iter) { struct nft_pipapo *priv = nft_set_priv(set); + struct net *net = read_pnet(&set->net); struct nft_pipapo_match *m; struct nft_pipapo_field *f; int i, r; rcu_read_lock(); - m = rcu_dereference(priv->match); + if (iter->genmask == nft_genmask_cur(net)) + m = rcu_dereference(priv->match); + else + m = priv->clone; if (unlikely(!m)) goto out; @@ -2131,10 +2156,12 @@ /** * nft_set_pipapo_match_destroy() - Destroy elements from key mapping array + * @ctx: context * @set: nftables API set representation * @m: matching data pointing to key mapping array */ -static void nft_set_pipapo_match_destroy(const struct nft_set *set, +static void nft_set_pipapo_match_destroy(const struct nft_ctx *ctx, + const struct nft_set *set, struct nft_pipapo_match *m) { struct nft_pipapo_field *f; @@ -2151,15 +2178,17 @@ e = f->mt[r].e; - nft_set_elem_destroy(set, e, true); + nf_tables_set_elem_destroy(ctx, set, e); } } /** * nft_pipapo_destroy() - Free private data for set and all committed elements + * @ctx: context * @set: nftables API set representation */ -static void nft_pipapo_destroy(const struct nft_set *set) +static void nft_pipapo_destroy(const struct nft_ctx *ctx, + const struct nft_set *set) { struct nft_pipapo *priv = nft_set_priv(set); struct nft_pipapo_match *m; @@ -2169,7 +2198,7 @@ if (m) { rcu_barrier(); - nft_set_pipapo_match_destroy(set, m); + nft_set_pipapo_match_destroy(ctx, set, m); #ifdef NFT_PIPAPO_ALIGN free_percpu(m->scratch_aligned); @@ -2186,7 +2215,7 @@ m = priv->clone; if (priv->dirty) - nft_set_pipapo_match_destroy(set, m); + nft_set_pipapo_match_destroy(ctx, set, m); #ifdef NFT_PIPAPO_ALIGN free_percpu(priv->clone->scratch_aligned); @@ -2234,6 +2263,8 @@ .init = nft_pipapo_init, .destroy = nft_pipapo_destroy, .gc_init = nft_pipapo_gc_init, + .commit = nft_pipapo_commit, + .abort = nft_pipapo_abort, .elemsize = offsetof(struct nft_pipapo_elem, ext), }, }; @@ -2256,6 +2287,8 @@ .init = nft_pipapo_init, .destroy = nft_pipapo_destroy, .gc_init = nft_pipapo_gc_init, + .commit = nft_pipapo_commit, + .abort = nft_pipapo_abort, .elemsize = offsetof(struct nft_pipapo_elem, ext), }, }; diff -u linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_rbtree.c linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_rbtree.c --- linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_rbtree.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_rbtree.c @@ -664,7 +664,8 @@ return 0; } -static void nft_rbtree_destroy(const struct nft_set *set) +static void nft_rbtree_destroy(const struct nft_ctx *ctx, + const struct nft_set *set) { struct nft_rbtree *priv = nft_set_priv(set); struct nft_rbtree_elem *rbe; @@ -675,7 +676,7 @@ while ((node = priv->root.rb_node) != NULL) { rb_erase(node, &priv->root); rbe = rb_entry(node, struct nft_rbtree_elem, node); - nft_set_elem_destroy(set, rbe, true); + nf_tables_set_elem_destroy(ctx, set, rbe); } } diff -u linux-intel-iotg-5.15-5.15.0/net/netlink/af_netlink.c linux-intel-iotg-5.15-5.15.0/net/netlink/af_netlink.c --- linux-intel-iotg-5.15-5.15.0/net/netlink/af_netlink.c +++ linux-intel-iotg-5.15-5.15.0/net/netlink/af_netlink.c @@ -1610,6 +1610,7 @@ int netlink_set_err(struct sock *ssk, u32 portid, u32 group, int code) { struct netlink_set_err_data info; + unsigned long flags; struct sock *sk; int ret = 0; @@ -1619,12 +1620,12 @@ /* sk->sk_err wants a positive error value */ info.code = -code; - read_lock(&nl_table_lock); + read_lock_irqsave(&nl_table_lock, flags); sk_for_each_bound(sk, &nl_table[ssk->sk_protocol].mc_list) ret += do_one_set_err(sk, &info); - read_unlock(&nl_table_lock); + read_unlock_irqrestore(&nl_table_lock, flags); return ret; } EXPORT_SYMBOL(netlink_set_err); diff -u linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_core.c linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_core.c --- linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_core.c +++ linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_core.c @@ -17,6 +17,8 @@ static u8 llcp_magic[3] = {0x46, 0x66, 0x6d}; static LIST_HEAD(llcp_devices); +/* Protects llcp_devices list */ +static DEFINE_SPINLOCK(llcp_devices_lock); static void nfc_llcp_rx_skb(struct nfc_llcp_local *local, struct sk_buff *skb); @@ -143,7 +145,7 @@ write_unlock(&local->raw_sockets.lock); } -struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local) +static struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local) { kref_get(&local->ref); @@ -171,7 +173,6 @@ local = container_of(ref, struct nfc_llcp_local, ref); - list_del(&local->list); local_cleanup(local); kfree(local); } @@ -284,12 +285,33 @@ struct nfc_llcp_local *nfc_llcp_find_local(struct nfc_dev *dev) { struct nfc_llcp_local *local; + struct nfc_llcp_local *res = NULL; + spin_lock(&llcp_devices_lock); list_for_each_entry(local, &llcp_devices, list) - if (local->dev == dev) + if (local->dev == dev) { + res = nfc_llcp_local_get(local); + break; + } + spin_unlock(&llcp_devices_lock); + + return res; +} + +static struct nfc_llcp_local *nfc_llcp_remove_local(struct nfc_dev *dev) +{ + struct nfc_llcp_local *local, *tmp; + + spin_lock(&llcp_devices_lock); + list_for_each_entry_safe(local, tmp, &llcp_devices, list) + if (local->dev == dev) { + list_del(&local->list); + spin_unlock(&llcp_devices_lock); return local; + } + spin_unlock(&llcp_devices_lock); - pr_debug("No device found\n"); + pr_warn("Shutting down device not found\n"); return NULL; } @@ -610,12 +632,15 @@ *general_bytes_len = local->gb_len; + nfc_llcp_local_put(local); + return local->gb; } int nfc_llcp_set_remote_gb(struct nfc_dev *dev, const u8 *gb, u8 gb_len) { struct nfc_llcp_local *local; + int err; if (gb_len < 3 || gb_len > NFC_MAX_GT_LEN) return -EINVAL; @@ -632,12 +657,16 @@ if (memcmp(local->remote_gb, llcp_magic, 3)) { pr_err("MAC does not support LLCP\n"); - return -EINVAL; + err = -EINVAL; + goto out; } - return nfc_llcp_parse_gb_tlv(local, + err = nfc_llcp_parse_gb_tlv(local, &local->remote_gb[3], local->remote_gb_len - 3); +out: + nfc_llcp_local_put(local); + return err; } static u8 nfc_llcp_dsap(const struct sk_buff *pdu) @@ -1527,6 +1556,8 @@ __nfc_llcp_recv(local, skb); + nfc_llcp_local_put(local); + return 0; } @@ -1543,6 +1574,8 @@ /* Close and purge all existing sockets */ nfc_llcp_socket_release(local, true, 0); + + nfc_llcp_local_put(local); } void nfc_llcp_mac_is_up(struct nfc_dev *dev, u32 target_idx, @@ -1568,6 +1601,8 @@ mod_timer(&local->link_timer, jiffies + msecs_to_jiffies(local->remote_lto)); } + + nfc_llcp_local_put(local); } int nfc_llcp_register_device(struct nfc_dev *ndev) @@ -1618,7 +1653,7 @@ void nfc_llcp_unregister_device(struct nfc_dev *dev) { - struct nfc_llcp_local *local = nfc_llcp_find_local(dev); + struct nfc_llcp_local *local = nfc_llcp_remove_local(dev); if (local == NULL) { pr_debug("No such device\n"); diff -u linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_sock.c linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_sock.c --- linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_sock.c +++ linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_sock.c @@ -99,7 +99,7 @@ } llcp_sock->dev = dev; - llcp_sock->local = nfc_llcp_local_get(local); + llcp_sock->local = local; llcp_sock->nfc_protocol = llcp_addr.nfc_protocol; llcp_sock->service_name_len = min_t(unsigned int, llcp_addr.service_name_len, @@ -181,7 +181,7 @@ } llcp_sock->dev = dev; - llcp_sock->local = nfc_llcp_local_get(local); + llcp_sock->local = local; llcp_sock->nfc_protocol = llcp_addr.nfc_protocol; nfc_llcp_sock_link(&local->raw_sockets, sk); @@ -698,24 +698,22 @@ if (dev->dep_link_up == false) { ret = -ENOLINK; device_unlock(&dev->dev); - goto put_dev; + goto sock_llcp_put_local; } device_unlock(&dev->dev); if (local->rf_mode == NFC_RF_INITIATOR && addr->target_idx != local->target_idx) { ret = -ENOLINK; - goto put_dev; + goto sock_llcp_put_local; } llcp_sock->dev = dev; - llcp_sock->local = nfc_llcp_local_get(local); + llcp_sock->local = local; llcp_sock->ssap = nfc_llcp_get_local_ssap(local); if (llcp_sock->ssap == LLCP_SAP_MAX) { - nfc_llcp_local_put(llcp_sock->local); - llcp_sock->local = NULL; ret = -ENOMEM; - goto put_dev; + goto sock_llcp_nullify; } llcp_sock->reserved_ssap = llcp_sock->ssap; @@ -760,8 +758,13 @@ sock_llcp_release: nfc_llcp_put_ssap(local, llcp_sock->ssap); - nfc_llcp_local_put(llcp_sock->local); + +sock_llcp_nullify: llcp_sock->local = NULL; + llcp_sock->dev = NULL; + +sock_llcp_put_local: + nfc_llcp_local_put(local); put_dev: nfc_put_device(dev); diff -u linux-intel-iotg-5.15-5.15.0/net/nfc/netlink.c linux-intel-iotg-5.15-5.15.0/net/nfc/netlink.c --- linux-intel-iotg-5.15-5.15.0/net/nfc/netlink.c +++ linux-intel-iotg-5.15-5.15.0/net/nfc/netlink.c @@ -1039,11 +1039,14 @@ msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); if (!msg) { rc = -ENOMEM; - goto exit; + goto put_local; } rc = nfc_genl_send_params(msg, local, info->snd_portid, info->snd_seq); +put_local: + nfc_llcp_local_put(local); + exit: device_unlock(&dev->dev); @@ -1105,7 +1108,7 @@ if (info->attrs[NFC_ATTR_LLC_PARAM_LTO]) { if (dev->dep_link_up) { rc = -EINPROGRESS; - goto exit; + goto put_local; } local->lto = nla_get_u8(info->attrs[NFC_ATTR_LLC_PARAM_LTO]); @@ -1117,6 +1120,9 @@ if (info->attrs[NFC_ATTR_LLC_PARAM_MIUX]) local->miux = cpu_to_be16(miux); +put_local: + nfc_llcp_local_put(local); + exit: device_unlock(&dev->dev); @@ -1172,7 +1178,7 @@ if (rc != 0) { rc = -EINVAL; - goto exit; + goto put_local; } if (!sdp_attrs[NFC_SDP_ATTR_URI]) @@ -1191,7 +1197,7 @@ sdreq = nfc_llcp_build_sdreq_tlv(tid, uri, uri_len); if (sdreq == NULL) { rc = -ENOMEM; - goto exit; + goto put_local; } tlvs_len += sdreq->tlv_len; @@ -1201,10 +1207,14 @@ if (hlist_empty(&sdreq_list)) { rc = -EINVAL; - goto exit; + goto put_local; } rc = nfc_llcp_send_snl_sdreq(local, &sdreq_list, tlvs_len); + +put_local: + nfc_llcp_local_put(local); + exit: device_unlock(&dev->dev); diff -u linux-intel-iotg-5.15-5.15.0/net/sched/act_ipt.c linux-intel-iotg-5.15-5.15.0/net/sched/act_ipt.c --- linux-intel-iotg-5.15-5.15.0/net/sched/act_ipt.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/act_ipt.c @@ -50,7 +50,7 @@ par.entryinfo = &e; par.target = target; par.targinfo = t->data; - par.hook_mask = hook; + par.hook_mask = 1 << hook; par.family = NFPROTO_IPV4; ret = xt_check_target(&par, t->u.target_size - sizeof(*t), 0, false); @@ -87,7 +87,8 @@ static const struct nla_policy ipt_policy[TCA_IPT_MAX + 1] = { [TCA_IPT_TABLE] = { .type = NLA_STRING, .len = IFNAMSIZ }, - [TCA_IPT_HOOK] = { .type = NLA_U32 }, + [TCA_IPT_HOOK] = NLA_POLICY_RANGE(NLA_U32, NF_INET_PRE_ROUTING, + NF_INET_NUMHOOKS), [TCA_IPT_INDEX] = { .type = NLA_U32 }, [TCA_IPT_TARG] = { .len = sizeof(struct xt_entry_target) }, }; @@ -160,15 +161,27 @@ return -EEXIST; } } + + err = -EINVAL; hook = nla_get_u32(tb[TCA_IPT_HOOK]); + switch (hook) { + case NF_INET_PRE_ROUTING: + break; + case NF_INET_POST_ROUTING: + break; + default: + goto err1; + } + + if (tb[TCA_IPT_TABLE]) { + /* mangle only for now */ + if (nla_strcmp(tb[TCA_IPT_TABLE], "mangle")) + goto err1; + } - err = -ENOMEM; - tname = kmalloc(IFNAMSIZ, GFP_KERNEL); + tname = kstrdup("mangle", GFP_KERNEL); if (unlikely(!tname)) goto err1; - if (tb[TCA_IPT_TABLE] == NULL || - nla_strscpy(tname, tb[TCA_IPT_TABLE], IFNAMSIZ) >= IFNAMSIZ) - strcpy(tname, "mangle"); t = kmemdup(td, td->u.target_size, GFP_KERNEL); if (unlikely(!t)) diff -u linux-intel-iotg-5.15-5.15.0/net/sched/act_pedit.c linux-intel-iotg-5.15-5.15.0/net/sched/act_pedit.c --- linux-intel-iotg-5.15-5.15.0/net/sched/act_pedit.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/act_pedit.c @@ -13,7 +13,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -26,6 +29,7 @@ static const struct nla_policy pedit_policy[TCA_PEDIT_MAX + 1] = { [TCA_PEDIT_PARMS] = { .len = sizeof(struct tc_pedit) }, + [TCA_PEDIT_PARMS_EX] = { .len = sizeof(struct tc_pedit) }, [TCA_PEDIT_KEYS_EX] = { .type = NLA_NESTED }, }; @@ -313,11 +317,35 @@ return true; } -static int pedit_skb_hdr_offset(struct sk_buff *skb, - enum pedit_header_type htype, int *hoffset) +static int pedit_l4_skb_offset(struct sk_buff *skb, int *hoffset, const int header_type) { + const int noff = skb_network_offset(skb); int ret = -EINVAL; + struct iphdr _iph; + + switch (skb->protocol) { + case htons(ETH_P_IP): { + const struct iphdr *iph = skb_header_pointer(skb, noff, sizeof(_iph), &_iph); + + if (!iph) + goto out; + *hoffset = noff + iph->ihl * 4; + ret = 0; + break; + } + case htons(ETH_P_IPV6): + ret = ipv6_find_hdr(skb, hoffset, header_type, NULL, NULL) == header_type ? 0 : -EINVAL; + break; + } +out: + return ret; +} +static int pedit_skb_hdr_offset(struct sk_buff *skb, + enum pedit_header_type htype, int *hoffset) +{ + int ret = -EINVAL; + /* 'htype' is validated in the netlink parsing */ switch (htype) { case TCA_PEDIT_KEY_EX_HDR_TYPE_ETH: if (skb_mac_header_was_set(skb)) { @@ -332,25 +360,26 @@ ret = 0; break; case TCA_PEDIT_KEY_EX_HDR_TYPE_TCP: + ret = pedit_l4_skb_offset(skb, hoffset, IPPROTO_TCP); + break; case TCA_PEDIT_KEY_EX_HDR_TYPE_UDP: - if (skb_transport_header_was_set(skb)) { - *hoffset = skb_transport_offset(skb); - ret = 0; - } + ret = pedit_l4_skb_offset(skb, hoffset, IPPROTO_UDP); break; default: - ret = -EINVAL; break; } - return ret; } static int tcf_pedit_act(struct sk_buff *skb, const struct tc_action *a, struct tcf_result *res) { + enum pedit_header_type htype = TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK; + enum pedit_cmd cmd = TCA_PEDIT_KEY_EX_CMD_SET; struct tcf_pedit *p = to_pedit(a); + struct tcf_pedit_key_ex *tkey_ex; struct tcf_pedit_parms *parms; + struct tc_pedit_key *tkey; u32 max_offset; int i; @@ -366,88 +395,80 @@ tcf_lastuse_update(&p->tcf_tm); tcf_action_update_bstats(&p->common, skb); - if (parms->tcfp_nkeys > 0) { - struct tc_pedit_key *tkey = parms->tcfp_keys; - struct tcf_pedit_key_ex *tkey_ex = parms->tcfp_keys_ex; - enum pedit_header_type htype = - TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK; - enum pedit_cmd cmd = TCA_PEDIT_KEY_EX_CMD_SET; - - for (i = parms->tcfp_nkeys; i > 0; i--, tkey++) { - u32 *ptr, hdata; - int offset = tkey->off; - int hoffset; - u32 val; - int rc; - - if (tkey_ex) { - htype = tkey_ex->htype; - cmd = tkey_ex->cmd; + tkey = parms->tcfp_keys; + tkey_ex = parms->tcfp_keys_ex; - tkey_ex++; - } + for (i = parms->tcfp_nkeys; i > 0; i--, tkey++) { + int offset = tkey->off; + int hoffset = 0; + u32 *ptr, hdata; + u32 val; + int rc; + + if (tkey_ex) { + htype = tkey_ex->htype; + cmd = tkey_ex->cmd; - rc = pedit_skb_hdr_offset(skb, htype, &hoffset); - if (rc) { - pr_info("tc action pedit bad header type specified (0x%x)\n", - htype); - goto bad; - } + tkey_ex++; + } - if (tkey->offmask) { - u8 *d, _d; + rc = pedit_skb_hdr_offset(skb, htype, &hoffset); + if (rc) { + pr_info_ratelimited("tc action pedit unable to extract header offset for header type (0x%x)\n", htype); + goto bad; + } - if (!offset_valid(skb, hoffset + tkey->at)) { - pr_info("tc action pedit 'at' offset %d out of bounds\n", - hoffset + tkey->at); - goto bad; - } - d = skb_header_pointer(skb, hoffset + tkey->at, - sizeof(_d), &_d); - if (!d) - goto bad; - offset += (*d & tkey->offmask) >> tkey->shift; - } + if (tkey->offmask) { + u8 *d, _d; - if (offset % 4) { - pr_info("tc action pedit offset must be on 32 bit boundaries\n"); + if (!offset_valid(skb, hoffset + tkey->at)) { + pr_info("tc action pedit 'at' offset %d out of bounds\n", + hoffset + tkey->at); goto bad; } - - if (!offset_valid(skb, hoffset + offset)) { - pr_info("tc action pedit offset %d out of bounds\n", - hoffset + offset); + d = skb_header_pointer(skb, hoffset + tkey->at, + sizeof(_d), &_d); + if (!d) goto bad; - } + offset += (*d & tkey->offmask) >> tkey->shift; + } - ptr = skb_header_pointer(skb, hoffset + offset, - sizeof(hdata), &hdata); - if (!ptr) - goto bad; - /* just do it, baby */ - switch (cmd) { - case TCA_PEDIT_KEY_EX_CMD_SET: - val = tkey->val; - break; - case TCA_PEDIT_KEY_EX_CMD_ADD: - val = (*ptr + tkey->val) & ~tkey->mask; - break; - default: - pr_info("tc action pedit bad command (%d)\n", - cmd); - goto bad; - } + if (offset % 4) { + pr_info("tc action pedit offset must be on 32 bit boundaries\n"); + goto bad; + } - *ptr = ((*ptr & tkey->mask) ^ val); - if (ptr == &hdata) - skb_store_bits(skb, hoffset + offset, ptr, 4); + if (!offset_valid(skb, hoffset + offset)) { + pr_info("tc action pedit offset %d out of bounds\n", + hoffset + offset); + goto bad; } - goto done; - } else { - WARN(1, "pedit BUG: index %d\n", p->tcf_index); + ptr = skb_header_pointer(skb, hoffset + offset, + sizeof(hdata), &hdata); + if (!ptr) + goto bad; + /* just do it, baby */ + switch (cmd) { + case TCA_PEDIT_KEY_EX_CMD_SET: + val = tkey->val; + break; + case TCA_PEDIT_KEY_EX_CMD_ADD: + val = (*ptr + tkey->val) & ~tkey->mask; + break; + default: + pr_info("tc action pedit bad command (%d)\n", + cmd); + goto bad; + } + + *ptr = ((*ptr & tkey->mask) ^ val); + if (ptr == &hdata) + skb_store_bits(skb, hoffset + offset, ptr, 4); } + goto done; + bad: spin_lock(&p->tcf_lock); p->tcf_qstats.overlimits++; diff -u linux-intel-iotg-5.15-5.15.0/net/sched/act_police.c linux-intel-iotg-5.15-5.15.0/net/sched/act_police.c --- linux-intel-iotg-5.15-5.15.0/net/sched/act_police.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/act_police.c @@ -366,23 +366,23 @@ opt.burst = PSCHED_NS2TICKS(p->tcfp_burst); if (p->rate_present) { psched_ratecfg_getrate(&opt.rate, &p->rate); - if ((police->params->rate.rate_bytes_ps >= (1ULL << 32)) && + if ((p->rate.rate_bytes_ps >= (1ULL << 32)) && nla_put_u64_64bit(skb, TCA_POLICE_RATE64, - police->params->rate.rate_bytes_ps, + p->rate.rate_bytes_ps, TCA_POLICE_PAD)) goto nla_put_failure; } if (p->peak_present) { psched_ratecfg_getrate(&opt.peakrate, &p->peak); - if ((police->params->peak.rate_bytes_ps >= (1ULL << 32)) && + if ((p->peak.rate_bytes_ps >= (1ULL << 32)) && nla_put_u64_64bit(skb, TCA_POLICE_PEAKRATE64, - police->params->peak.rate_bytes_ps, + p->peak.rate_bytes_ps, TCA_POLICE_PAD)) goto nla_put_failure; } if (p->pps_present) { if (nla_put_u64_64bit(skb, TCA_POLICE_PKTRATE64, - police->params->ppsrate.rate_pkts_ps, + p->ppsrate.rate_pkts_ps, TCA_POLICE_PAD)) goto nla_put_failure; if (nla_put_u64_64bit(skb, TCA_POLICE_PKTBURST64, diff -u linux-intel-iotg-5.15-5.15.0/net/sched/cls_api.c linux-intel-iotg-5.15-5.15.0/net/sched/cls_api.c --- linux-intel-iotg-5.15-5.15.0/net/sched/cls_api.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/cls_api.c @@ -41,8 +41,6 @@ #include #include -extern const struct nla_policy rtm_tca_policy[TCA_MAX + 1]; - /* The list of all installed classifier types */ static LIST_HEAD(tcf_proto_base); @@ -535,8 +533,8 @@ { struct tcf_block *block = chain->block; const struct tcf_proto_ops *tmplt_ops; + unsigned int refcnt, non_act_refcnt; bool free_block = false; - unsigned int refcnt; void *tmplt_priv; mutex_lock(&block->lock); @@ -556,13 +554,15 @@ * save these to temporary variables. */ refcnt = --chain->refcnt; + non_act_refcnt = refcnt - chain->action_refcnt; tmplt_ops = chain->tmplt_ops; tmplt_priv = chain->tmplt_priv; - /* The last dropped non-action reference will trigger notification. */ - if (refcnt - chain->action_refcnt == 0 && !by_act) { - tc_chain_notify_delete(tmplt_ops, tmplt_priv, chain->index, - block, NULL, 0, 0, false); + if (non_act_refcnt == chain->explicitly_created && !by_act) { + if (non_act_refcnt == 0) + tc_chain_notify_delete(tmplt_ops, tmplt_priv, + chain->index, block, NULL, 0, 0, + false); /* Last reference to chain, no need to lock. */ chain->flushing = false; } @@ -2768,6 +2768,7 @@ return PTR_ERR(ops); if (!ops->tmplt_create || !ops->tmplt_destroy || !ops->tmplt_dump) { NL_SET_ERR_MSG(extack, "Chain templates are not supported with specified classifier"); + module_put(ops->owner); return -EOPNOTSUPP; } diff -u linux-intel-iotg-5.15-5.15.0/net/sched/cls_flower.c linux-intel-iotg-5.15-5.15.0/net/sched/cls_flower.c --- linux-intel-iotg-5.15-5.15.0/net/sched/cls_flower.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/cls_flower.c @@ -784,6 +784,16 @@ TCA_FLOWER_KEY_PORT_SRC_MAX, &mask->tp_range.tp_max.src, TCA_FLOWER_UNSPEC, sizeof(key->tp_range.tp_max.src)); + if (mask->tp_range.tp_min.dst != mask->tp_range.tp_max.dst) { + NL_SET_ERR_MSG(extack, + "Both min and max destination ports must be specified"); + return -EINVAL; + } + if (mask->tp_range.tp_min.src != mask->tp_range.tp_max.src) { + NL_SET_ERR_MSG(extack, + "Both min and max source ports must be specified"); + return -EINVAL; + } if (mask->tp_range.tp_min.dst && mask->tp_range.tp_max.dst && ntohs(key->tp_range.tp_max.dst) <= ntohs(key->tp_range.tp_min.dst)) { diff -u linux-intel-iotg-5.15-5.15.0/net/sched/cls_fw.c linux-intel-iotg-5.15-5.15.0/net/sched/cls_fw.c --- linux-intel-iotg-5.15-5.15.0/net/sched/cls_fw.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/cls_fw.c @@ -265,7 +265,6 @@ return -ENOBUFS; fnew->id = f->id; - fnew->res = f->res; fnew->ifindex = f->ifindex; fnew->tp = f->tp; diff -u linux-intel-iotg-5.15-5.15.0/net/sched/cls_route.c linux-intel-iotg-5.15-5.15.0/net/sched/cls_route.c --- linux-intel-iotg-5.15-5.15.0/net/sched/cls_route.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/cls_route.c @@ -511,7 +511,6 @@ if (fold) { f->id = fold->id; f->iif = fold->iif; - f->res = fold->res; f->handle = fold->handle; f->tp = fold->tp; diff -u linux-intel-iotg-5.15-5.15.0/net/sched/cls_u32.c linux-intel-iotg-5.15-5.15.0/net/sched/cls_u32.c --- linux-intel-iotg-5.15-5.15.0/net/sched/cls_u32.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/cls_u32.c @@ -812,7 +812,6 @@ new->ifindex = n->ifindex; new->fshift = n->fshift; - new->res = n->res; new->flags = n->flags; RCU_INIT_POINTER(new->ht_down, ht); diff -u linux-intel-iotg-5.15-5.15.0/net/sched/sch_fq_pie.c linux-intel-iotg-5.15-5.15.0/net/sched/sch_fq_pie.c --- linux-intel-iotg-5.15-5.15.0/net/sched/sch_fq_pie.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/sch_fq_pie.c @@ -201,6 +201,11 @@ return NET_XMIT_CN; } +static struct netlink_range_validation fq_pie_q_range = { + .min = 1, + .max = 1 << 20, +}; + static const struct nla_policy fq_pie_policy[TCA_FQ_PIE_MAX + 1] = { [TCA_FQ_PIE_LIMIT] = {.type = NLA_U32}, [TCA_FQ_PIE_FLOWS] = {.type = NLA_U32}, @@ -208,7 +213,8 @@ [TCA_FQ_PIE_TUPDATE] = {.type = NLA_U32}, [TCA_FQ_PIE_ALPHA] = {.type = NLA_U32}, [TCA_FQ_PIE_BETA] = {.type = NLA_U32}, - [TCA_FQ_PIE_QUANTUM] = {.type = NLA_U32}, + [TCA_FQ_PIE_QUANTUM] = + NLA_POLICY_FULL_RANGE(NLA_U32, &fq_pie_q_range), [TCA_FQ_PIE_MEMORY_LIMIT] = {.type = NLA_U32}, [TCA_FQ_PIE_ECN_PROB] = {.type = NLA_U32}, [TCA_FQ_PIE_ECN] = {.type = NLA_U32}, diff -u linux-intel-iotg-5.15-5.15.0/net/sched/sch_netem.c linux-intel-iotg-5.15-5.15.0/net/sched/sch_netem.c --- linux-intel-iotg-5.15-5.15.0/net/sched/sch_netem.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/sch_netem.c @@ -969,6 +969,7 @@ if (ret < 0) return ret; + sch_tree_lock(sch); /* backup q->clg and q->loss_model */ old_clg = q->clg; old_loss_model = q->loss_model; @@ -977,7 +978,7 @@ ret = get_loss_clg(q, tb[TCA_NETEM_LOSS]); if (ret) { q->loss_model = old_loss_model; - return ret; + goto unlock; } } else { q->loss_model = CLG_RANDOM; @@ -1044,6 +1045,8 @@ /* capping jitter to the range acceptable by tabledist() */ q->jitter = min_t(s64, abs(q->jitter), INT_MAX); +unlock: + sch_tree_unlock(sch); return ret; get_table_failure: @@ -1053,7 +1056,8 @@ */ q->clg = old_clg; q->loss_model = old_loss_model; - return ret; + + goto unlock; } static int netem_init(struct Qdisc *sch, struct nlattr *opt, diff -u linux-intel-iotg-5.15-5.15.0/net/sched/sch_qfq.c linux-intel-iotg-5.15-5.15.0/net/sched/sch_qfq.c --- linux-intel-iotg-5.15-5.15.0/net/sched/sch_qfq.c +++ linux-intel-iotg-5.15-5.15.0/net/sched/sch_qfq.c @@ -428,10 +428,17 @@ else weight = 1; - if (tb[TCA_QFQ_LMAX]) + if (tb[TCA_QFQ_LMAX]) { lmax = nla_get_u32(tb[TCA_QFQ_LMAX]); - else + } else { + /* MTU size is user controlled */ lmax = psched_mtu(qdisc_dev(sch)); + if (lmax < QFQ_MIN_LMAX || lmax > QFQ_MAX_LMAX) { + NL_SET_ERR_MSG_MOD(extack, + "MTU size out of bounds for qfq"); + return -EINVAL; + } + } inv_w = ONE_FP / weight; weight = ONE_FP / inv_w; diff -u linux-intel-iotg-5.15-5.15.0/net/sctp/socket.c linux-intel-iotg-5.15-5.15.0/net/sctp/socket.c --- linux-intel-iotg-5.15-5.15.0/net/sctp/socket.c +++ linux-intel-iotg-5.15-5.15.0/net/sctp/socket.c @@ -362,9 +362,9 @@ struct net *net = sock_net(&sp->inet.sk); if (net->sctp.default_auto_asconf) { - spin_lock(&net->sctp.addr_wq_lock); + spin_lock_bh(&net->sctp.addr_wq_lock); list_add_tail(&sp->auto_asconf_list, &net->sctp.auto_asconf_splist); - spin_unlock(&net->sctp.addr_wq_lock); + spin_unlock_bh(&net->sctp.addr_wq_lock); sp->do_auto_asconf = 1; } } @@ -8287,6 +8287,22 @@ return retval; } +static bool sctp_bpf_bypass_getsockopt(int level, int optname) +{ + if (level == SOL_SCTP) { + switch (optname) { + case SCTP_SOCKOPT_PEELOFF: + case SCTP_SOCKOPT_PEELOFF_FLAGS: + case SCTP_SOCKOPT_CONNECTX3: + return true; + default: + return false; + } + } + + return false; +} + static int sctp_hash(struct sock *sk) { /* STUB */ @@ -9655,6 +9671,7 @@ .shutdown = sctp_shutdown, .setsockopt = sctp_setsockopt, .getsockopt = sctp_getsockopt, + .bpf_bypass_getsockopt = sctp_bpf_bypass_getsockopt, .sendmsg = sctp_sendmsg, .recvmsg = sctp_recvmsg, .bind = sctp_bind, @@ -9707,6 +9724,7 @@ .shutdown = sctp_shutdown, .setsockopt = sctp_setsockopt, .getsockopt = sctp_getsockopt, + .bpf_bypass_getsockopt = sctp_bpf_bypass_getsockopt, .sendmsg = sctp_sendmsg, .recvmsg = sctp_recvmsg, .bind = sctp_bind, diff -u linux-intel-iotg-5.15-5.15.0/net/smc/smc_llc.c linux-intel-iotg-5.15-5.15.0/net/smc/smc_llc.c --- linux-intel-iotg-5.15-5.15.0/net/smc/smc_llc.c +++ linux-intel-iotg-5.15-5.15.0/net/smc/smc_llc.c @@ -842,6 +842,8 @@ addc_llc->num_rkeys = *num_rkeys_todo; n = *num_rkeys_todo; for (i = 0; i < min_t(u8, n, SMC_LLC_RKEYS_PER_CONT_MSG); i++) { + while (*buf_pos && !(*buf_pos)->used) + *buf_pos = smc_llc_get_next_rmb(lgr, buf_lst, *buf_pos); if (!*buf_pos) { addc_llc->num_rkeys = addc_llc->num_rkeys - *num_rkeys_todo; @@ -857,8 +859,6 @@ (*num_rkeys_todo)--; *buf_pos = smc_llc_get_next_rmb(lgr, buf_lst, *buf_pos); - while (*buf_pos && !(*buf_pos)->used) - *buf_pos = smc_llc_get_next_rmb(lgr, buf_lst, *buf_pos); } addc_llc->hd.common.llc_type = SMC_LLC_ADD_LINK_CONT; addc_llc->hd.length = sizeof(struct smc_llc_msg_add_link_cont); diff -u linux-intel-iotg-5.15-5.15.0/net/sunrpc/svcsock.c linux-intel-iotg-5.15-5.15.0/net/sunrpc/svcsock.c --- linux-intel-iotg-5.15-5.15.0/net/sunrpc/svcsock.c +++ linux-intel-iotg-5.15-5.15.0/net/sunrpc/svcsock.c @@ -685,12 +685,6 @@ { struct svc_sock *svsk = (struct svc_sock *)sk->sk_user_data; - if (svsk) { - /* Refer to svc_setup_socket() for details. */ - rmb(); - svsk->sk_odata(sk); - } - /* * This callback may called twice when a new connection * is established as a child socket inherits everything @@ -699,13 +693,18 @@ * when one of child sockets become ESTABLISHED. * 2) data_ready method of the child socket may be called * when it receives data before the socket is accepted. - * In case of 2, we should ignore it silently. + * In case of 2, we should ignore it silently and DO NOT + * dereference svsk. */ - if (sk->sk_state == TCP_LISTEN) { - if (svsk) { - set_bit(XPT_CONN, &svsk->sk_xprt.xpt_flags); - svc_xprt_enqueue(&svsk->sk_xprt); - } + if (sk->sk_state != TCP_LISTEN) + return; + + if (svsk) { + /* Refer to svc_setup_socket() for details. */ + rmb(); + svsk->sk_odata(sk); + set_bit(XPT_CONN, &svsk->sk_xprt.xpt_flags); + svc_xprt_enqueue(&svsk->sk_xprt); } } diff -u linux-intel-iotg-5.15-5.15.0/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux-intel-iotg-5.15-5.15.0/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c --- linux-intel-iotg-5.15-5.15.0/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c +++ linux-intel-iotg-5.15-5.15.0/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c @@ -791,6 +791,12 @@ struct svc_rdma_recv_ctxt *ctxt; int ret; + /* Prevent svc_xprt_release() from releasing pages in rq_pages + * when returning 0 or an error. + */ + rqstp->rq_respages = rqstp->rq_pages; + rqstp->rq_next_page = rqstp->rq_respages; + rqstp->rq_xprt_ctxt = NULL; ctxt = NULL; @@ -814,12 +820,6 @@ DMA_FROM_DEVICE); svc_rdma_build_arg_xdr(rqstp, ctxt); - /* Prevent svc_xprt_release from releasing pages in rq_pages - * if we return 0 or an error. - */ - rqstp->rq_respages = rqstp->rq_pages; - rqstp->rq_next_page = rqstp->rq_respages; - ret = svc_rdma_xdr_decode_req(&rqstp->rq_arg, ctxt); if (ret < 0) goto out_err; diff -u linux-intel-iotg-5.15-5.15.0/net/tipc/bearer.c linux-intel-iotg-5.15-5.15.0/net/tipc/bearer.c --- linux-intel-iotg-5.15-5.15.0/net/tipc/bearer.c +++ linux-intel-iotg-5.15-5.15.0/net/tipc/bearer.c @@ -1258,7 +1258,7 @@ struct tipc_nl_msg msg; struct tipc_media *media; struct sk_buff *rep; - struct nlattr *attrs[TIPC_NLA_BEARER_MAX + 1]; + struct nlattr *attrs[TIPC_NLA_MEDIA_MAX + 1]; if (!info->attrs[TIPC_NLA_MEDIA]) return -EINVAL; @@ -1307,7 +1307,7 @@ int err; char *name; struct tipc_media *m; - struct nlattr *attrs[TIPC_NLA_BEARER_MAX + 1]; + struct nlattr *attrs[TIPC_NLA_MEDIA_MAX + 1]; if (!info->attrs[TIPC_NLA_MEDIA]) return -EINVAL; diff -u linux-intel-iotg-5.15-5.15.0/net/wireless/core.c linux-intel-iotg-5.15-5.15.0/net/wireless/core.c --- linux-intel-iotg-5.15-5.15.0/net/wireless/core.c +++ linux-intel-iotg-5.15-5.15.0/net/wireless/core.c @@ -368,12 +368,12 @@ rdev = container_of(work, struct cfg80211_registered_device, sched_scan_stop_wk); - rtnl_lock(); + wiphy_lock(&rdev->wiphy); list_for_each_entry_safe(req, tmp, &rdev->sched_scan_req_list, list) { if (req->nl_owner_dead) cfg80211_stop_sched_scan_req(rdev, req, false); } - rtnl_unlock(); + wiphy_unlock(&rdev->wiphy); } static void cfg80211_propagate_radar_detect_wk(struct work_struct *work) diff -u linux-intel-iotg-5.15-5.15.0/net/wireless/reg.c linux-intel-iotg-5.15-5.15.0/net/wireless/reg.c --- linux-intel-iotg-5.15-5.15.0/net/wireless/reg.c +++ linux-intel-iotg-5.15-5.15.0/net/wireless/reg.c @@ -2398,9 +2398,7 @@ case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: case NL80211_IFTYPE_ADHOC: - wiphy_lock(wiphy); ret = cfg80211_reg_can_beacon_relax(wiphy, &chandef, iftype); - wiphy_unlock(wiphy); return ret; case NL80211_IFTYPE_STATION: @@ -2423,11 +2421,11 @@ struct wireless_dev *wdev; struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); - ASSERT_RTNL(); - + wiphy_lock(wiphy); list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) if (!reg_wdev_chan_valid(wiphy, wdev)) cfg80211_leave(rdev, wdev); + wiphy_unlock(wiphy); } static void reg_check_chans_work(struct work_struct *work) diff -u linux-intel-iotg-5.15-5.15.0/net/wireless/scan.c linux-intel-iotg-5.15-5.15.0/net/wireless/scan.c --- linux-intel-iotg-5.15-5.15.0/net/wireless/scan.c +++ linux-intel-iotg-5.15-5.15.0/net/wireless/scan.c @@ -262,117 +262,152 @@ } EXPORT_SYMBOL(cfg80211_is_element_inherited); -static size_t cfg80211_gen_new_ie(const u8 *ie, size_t ielen, - const u8 *subelement, size_t subie_len, - u8 *new_ie, gfp_t gfp) +static size_t cfg80211_copy_elem_with_frags(const struct element *elem, + const u8 *ie, size_t ie_len, + u8 **pos, u8 *buf, size_t buf_len) { - u8 *pos, *tmp; - const u8 *tmp_old, *tmp_new; - const struct element *non_inherit_elem; - u8 *sub_copy; + if (WARN_ON((u8 *)elem < ie || elem->data > ie + ie_len || + elem->data + elem->datalen > ie + ie_len)) + return 0; - /* copy subelement as we need to change its content to - * mark an ie after it is processed. - */ - sub_copy = kmemdup(subelement, subie_len, gfp); - if (!sub_copy) + if (elem->datalen + 2 > buf + buf_len - *pos) return 0; - pos = &new_ie[0]; + memcpy(*pos, elem, elem->datalen + 2); + *pos += elem->datalen + 2; + + /* Finish if it is not fragmented */ + if (elem->datalen != 255) + return *pos - buf; + + ie_len = ie + ie_len - elem->data - elem->datalen; + ie = (const u8 *)elem->data + elem->datalen; - /* set new ssid */ - tmp_new = cfg80211_find_ie(WLAN_EID_SSID, sub_copy, subie_len); - if (tmp_new) { - memcpy(pos, tmp_new, tmp_new[1] + 2); - pos += (tmp_new[1] + 2); + for_each_element(elem, ie, ie_len) { + if (elem->id != WLAN_EID_FRAGMENT) + break; + + if (elem->datalen + 2 > buf + buf_len - *pos) + return 0; + + memcpy(*pos, elem, elem->datalen + 2); + *pos += elem->datalen + 2; + + if (elem->datalen != 255) + break; } - /* get non inheritance list if exists */ - non_inherit_elem = - cfg80211_find_ext_elem(WLAN_EID_EXT_NON_INHERITANCE, - sub_copy, subie_len); + return *pos - buf; +} - /* go through IEs in ie (skip SSID) and subelement, - * merge them into new_ie +static size_t cfg80211_gen_new_ie(const u8 *ie, size_t ielen, + const u8 *subie, size_t subie_len, + u8 *new_ie, size_t new_ie_len) +{ + const struct element *non_inherit_elem, *parent, *sub; + u8 *pos = new_ie; + u8 id, ext_id; + unsigned int match_len; + + non_inherit_elem = cfg80211_find_ext_elem(WLAN_EID_EXT_NON_INHERITANCE, + subie, subie_len); + + /* We copy the elements one by one from the parent to the generated + * elements. + * If they are not inherited (included in subie or in the non + * inheritance element), then we copy all occurrences the first time + * we see this element type. */ - tmp_old = cfg80211_find_ie(WLAN_EID_SSID, ie, ielen); - tmp_old = (tmp_old) ? tmp_old + tmp_old[1] + 2 : ie; - - while (tmp_old + 2 - ie <= ielen && - tmp_old + tmp_old[1] + 2 - ie <= ielen) { - if (tmp_old[0] == 0) { - tmp_old++; + for_each_element(parent, ie, ielen) { + if (parent->id == WLAN_EID_FRAGMENT) continue; - } - if (tmp_old[0] == WLAN_EID_EXTENSION) - tmp = (u8 *)cfg80211_find_ext_ie(tmp_old[2], sub_copy, - subie_len); - else - tmp = (u8 *)cfg80211_find_ie(tmp_old[0], sub_copy, - subie_len); - - if (!tmp) { - const struct element *old_elem = (void *)tmp_old; - - /* ie in old ie but not in subelement */ - if (cfg80211_is_element_inherited(old_elem, - non_inherit_elem)) { - memcpy(pos, tmp_old, tmp_old[1] + 2); - pos += tmp_old[1] + 2; - } + if (parent->id == WLAN_EID_EXTENSION) { + if (parent->datalen < 1) + continue; + + id = WLAN_EID_EXTENSION; + ext_id = parent->data[0]; + match_len = 1; } else { - /* ie in transmitting ie also in subelement, - * copy from subelement and flag the ie in subelement - * as copied (by setting eid field to WLAN_EID_SSID, - * which is skipped anyway). - * For vendor ie, compare OUI + type + subType to - * determine if they are the same ie. - */ - if (tmp_old[0] == WLAN_EID_VENDOR_SPECIFIC) { - if (tmp_old[1] >= 5 && tmp[1] >= 5 && - !memcmp(tmp_old + 2, tmp + 2, 5)) { - /* same vendor ie, copy from - * subelement - */ - memcpy(pos, tmp, tmp[1] + 2); - pos += tmp[1] + 2; - tmp[0] = WLAN_EID_SSID; - } else { - memcpy(pos, tmp_old, tmp_old[1] + 2); - pos += tmp_old[1] + 2; - } - } else { - /* copy ie from subelement into new ie */ - memcpy(pos, tmp, tmp[1] + 2); - pos += tmp[1] + 2; - tmp[0] = WLAN_EID_SSID; - } + id = parent->id; + match_len = 0; } - if (tmp_old + tmp_old[1] + 2 - ie == ielen) - break; + /* Find first occurrence in subie */ + sub = cfg80211_find_elem_match(id, subie, subie_len, + &ext_id, match_len, 0); + + /* Copy from parent if not in subie and inherited */ + if (!sub && + cfg80211_is_element_inherited(parent, non_inherit_elem)) { + if (!cfg80211_copy_elem_with_frags(parent, + ie, ielen, + &pos, new_ie, + new_ie_len)) + return 0; - tmp_old += tmp_old[1] + 2; + continue; + } + + /* Already copied if an earlier element had the same type */ + if (cfg80211_find_elem_match(id, ie, (u8 *)parent - ie, + &ext_id, match_len, 0)) + continue; + + /* Not inheriting, copy all similar elements from subie */ + while (sub) { + if (!cfg80211_copy_elem_with_frags(sub, + subie, subie_len, + &pos, new_ie, + new_ie_len)) + return 0; + + sub = cfg80211_find_elem_match(id, + sub->data + sub->datalen, + subie_len + subie - + (sub->data + + sub->datalen), + &ext_id, match_len, 0); + } } - /* go through subelement again to check if there is any ie not - * copied to new ie, skip ssid, capability, bssid-index ie + /* The above misses elements that are included in subie but not in the + * parent, so do a pass over subie and append those. + * Skip the non-tx BSSID caps and non-inheritance element. */ - tmp_new = sub_copy; - while (tmp_new + 2 - sub_copy <= subie_len && - tmp_new + tmp_new[1] + 2 - sub_copy <= subie_len) { - if (!(tmp_new[0] == WLAN_EID_NON_TX_BSSID_CAP || - tmp_new[0] == WLAN_EID_SSID)) { - memcpy(pos, tmp_new, tmp_new[1] + 2); - pos += tmp_new[1] + 2; + for_each_element(sub, subie, subie_len) { + if (sub->id == WLAN_EID_NON_TX_BSSID_CAP) + continue; + + if (sub->id == WLAN_EID_FRAGMENT) + continue; + + if (sub->id == WLAN_EID_EXTENSION) { + if (sub->datalen < 1) + continue; + + id = WLAN_EID_EXTENSION; + ext_id = sub->data[0]; + match_len = 1; + + if (ext_id == WLAN_EID_EXT_NON_INHERITANCE) + continue; + } else { + id = sub->id; + match_len = 0; } - if (tmp_new + tmp_new[1] + 2 - sub_copy == subie_len) - break; - tmp_new += tmp_new[1] + 2; + + /* Processed if one was included in the parent */ + if (cfg80211_find_elem_match(id, ie, ielen, + &ext_id, match_len, 0)) + continue; + + if (!cfg80211_copy_elem_with_frags(sub, subie, subie_len, + &pos, new_ie, new_ie_len)) + return 0; } - kfree(sub_copy); return pos - new_ie; } @@ -2180,7 +2215,7 @@ new_ie_len = cfg80211_gen_new_ie(ie, ielen, profile, profile_len, new_ie, - gfp); + IEEE80211_MAX_DATA_LEN); if (!new_ie_len) continue; diff -u linux-intel-iotg-5.15-5.15.0/net/xdp/xsk.c linux-intel-iotg-5.15-5.15.0/net/xdp/xsk.c --- linux-intel-iotg-5.15-5.15.0/net/xdp/xsk.c +++ linux-intel-iotg-5.15-5.15.0/net/xdp/xsk.c @@ -893,6 +893,7 @@ struct sock *sk = sock->sk; struct xdp_sock *xs = xdp_sk(sk); struct net_device *dev; + int bound_dev_if; u32 flags, qid; int err = 0; @@ -906,6 +907,10 @@ XDP_USE_NEED_WAKEUP)) return -EINVAL; + bound_dev_if = READ_ONCE(sk->sk_bound_dev_if); + if (bound_dev_if && bound_dev_if != sxdp->sxdp_ifindex) + return -EINVAL; + rtnl_lock(); mutex_lock(&xs->mutex); if (xs->state != XSK_READY) { diff -u linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_input.c linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_input.c --- linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_input.c +++ linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_input.c @@ -130,6 +130,7 @@ memset(sp->ovec, 0, sizeof(sp->ovec)); sp->olen = 0; sp->len = 0; + sp->verified_cnt = 0; return sp; } reverted: --- linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_interface.c +++ linux-intel-iotg-5.15-5.15.0.orig/net/xfrm/xfrm_interface.c @@ -304,10 +304,7 @@ if (mtu < IPV6_MIN_MTU) mtu = IPV6_MIN_MTU; + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); - if (skb->len > 1280) - icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); - else - goto xmit; } else { if (!(ip_hdr(skb)->frag_off & htons(IP_DF))) goto xmit; @@ -640,16 +637,11 @@ struct netlink_ext_ack *extack) { struct net *net = dev_net(dev); + struct xfrm_if_parms p; - struct xfrm_if_parms p = {}; struct xfrm_if *xi; int err; xfrmi_netlink_parms(data, &p); - if (!p.if_id) { - NL_SET_ERR_MSG(extack, "if_id must be non zero"); - return -EINVAL; - } - xi = xfrmi_locate(net, &p); if (xi) return -EEXIST; @@ -674,14 +666,9 @@ { struct xfrm_if *xi = netdev_priv(dev); struct net *net = xi->net; + struct xfrm_if_parms p; - struct xfrm_if_parms p = {}; xfrmi_netlink_parms(data, &p); - if (!p.if_id) { - NL_SET_ERR_MSG(extack, "if_id must be non zero"); - return -EINVAL; - } - xi = xfrmi_locate(net, &p); if (!xi) { xi = netdev_priv(dev); diff -u linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_policy.c linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_policy.c --- linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_policy.c +++ linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_policy.c @@ -3275,6 +3275,13 @@ if (xfrm_state_ok(tmpl, sp->xvec[idx], family, if_id)) return ++idx; if (sp->xvec[idx]->props.mode != XFRM_MODE_TRANSPORT) { + if (idx < sp->verified_cnt) { + /* Secpath entry previously verified, consider optional and + * continue searching + */ + continue; + } + if (start == -1) start = -2-idx; break; @@ -3647,6 +3654,9 @@ * Order is _important_. Later we will implement * some barriers, but at the moment barriers * are implied between each two transformations. + * Upon success, marks secpath entries as having been + * verified to allow them to be skipped in future policy + * checks (e.g. nested tunnels). */ for (i = xfrm_nr-1, k = 0; i >= 0; i--) { k = xfrm_policy_ok(tpp[i], sp, k, family, if_id); @@ -3665,6 +3675,8 @@ } xfrm_pols_put(pols, npols); + sp->verified_cnt = k; + return 1; } XFRM_INC_STATS(net, LINUX_MIB_XFRMINPOLBLOCK); diff -u linux-intel-iotg-5.15-5.15.0/samples/ftrace/ftrace-direct-too.c linux-intel-iotg-5.15-5.15.0/samples/ftrace/ftrace-direct-too.c --- linux-intel-iotg-5.15-5.15.0/samples/ftrace/ftrace-direct-too.c +++ linux-intel-iotg-5.15-5.15.0/samples/ftrace/ftrace-direct-too.c @@ -4,14 +4,14 @@ #include /* for handle_mm_fault() */ #include -extern void my_direct_func(struct vm_area_struct *vma, - unsigned long address, unsigned int flags); +extern void my_direct_func(struct vm_area_struct *vma, unsigned long address, + unsigned int flags, struct pt_regs *regs); -void my_direct_func(struct vm_area_struct *vma, - unsigned long address, unsigned int flags) +void my_direct_func(struct vm_area_struct *vma, unsigned long address, + unsigned int flags, struct pt_regs *regs) { - trace_printk("handle mm fault vma=%p address=%lx flags=%x\n", - vma, address, flags); + trace_printk("handle mm fault vma=%p address=%lx flags=%x regs=%p\n", + vma, address, flags, regs); } extern void my_tramp(void *); @@ -26,7 +26,9 @@ " pushq %rdi\n" " pushq %rsi\n" " pushq %rdx\n" +" pushq %rcx\n" " call my_direct_func\n" +" popq %rcx\n" " popq %rdx\n" " popq %rsi\n" " popq %rdi\n" diff -u linux-intel-iotg-5.15-5.15.0/scripts/Makefile.modfinal linux-intel-iotg-5.15-5.15.0/scripts/Makefile.modfinal --- linux-intel-iotg-5.15-5.15.0/scripts/Makefile.modfinal +++ linux-intel-iotg-5.15-5.15.0/scripts/Makefile.modfinal @@ -23,7 +23,7 @@ part-of-module = y quiet_cmd_cc_o_c = CC [M] $@ - cmd_cc_o_c = $(CC) $(filter-out $(CC_FLAGS_CFI), $(c_flags)) -c -o $@ $< + cmd_cc_o_c = $(CC) $(filter-out $(CC_FLAGS_CFI) $(CFLAGS_GCOV), $(c_flags)) -c -o $@ $< %.mod.o: %.mod.c FORCE $(call if_changed_dep,cc_o_c) diff -u linux-intel-iotg-5.15-5.15.0/scripts/mod/modpost.c linux-intel-iotg-5.15-5.15.0/scripts/mod/modpost.c --- linux-intel-iotg-5.15-5.15.0/scripts/mod/modpost.c +++ linux-intel-iotg-5.15-5.15.0/scripts/mod/modpost.c @@ -1307,6 +1307,10 @@ if (relsym->st_name != 0) return relsym; + /* + * Strive to find a better symbol name, but the resulting name may not + * match the symbol referenced in the original code. + */ relsym_secindex = get_secindex(elf, relsym); for (sym = elf->symtab_start; sym < elf->symtab_stop; sym++) { if (get_secindex(elf, sym) != relsym_secindex) @@ -1611,49 +1615,12 @@ static int is_executable_section(struct elf_info* elf, unsigned int section_index) { - if (section_index > elf->num_sections) + if (section_index >= elf->num_sections) fatal("section_index is outside elf->num_sections!\n"); return ((elf->sechdrs[section_index].sh_flags & SHF_EXECINSTR) == SHF_EXECINSTR); } -/* - * We rely on a gross hack in section_rel[a]() calling find_extable_entry_size() - * to know the sizeof(struct exception_table_entry) for the target architecture. - */ -static unsigned int extable_entry_size = 0; -static void find_extable_entry_size(const char* const sec, const Elf_Rela* r) -{ - /* - * If we're currently checking the second relocation within __ex_table, - * that relocation offset tells us the offsetof(struct - * exception_table_entry, fixup) which is equal to sizeof(struct - * exception_table_entry) divided by two. We use that to our advantage - * since there's no portable way to get that size as every architecture - * seems to go with different sized types. Not pretty but better than - * hard-coding the size for every architecture.. - */ - if (!extable_entry_size) - extable_entry_size = r->r_offset * 2; -} - -static inline bool is_extable_fault_address(Elf_Rela *r) -{ - /* - * extable_entry_size is only discovered after we've handled the - * _second_ relocation in __ex_table, so only abort when we're not - * handling the first reloc and extable_entry_size is zero. - */ - if (r->r_offset && extable_entry_size == 0) - fatal("extable_entry size hasn't been discovered!\n"); - - return ((r->r_offset == 0) || - (r->r_offset % extable_entry_size == 0)); -} - -#define is_second_extable_reloc(Start, Cur, Sec) \ - (((Cur) == (Start) + 1) && (strcmp("__ex_table", (Sec)) == 0)) - static void report_extable_warnings(const char* modname, struct elf_info* elf, const struct sectioncheck* const mismatch, Elf_Rela* r, Elf_Sym* sym, @@ -1710,22 +1677,9 @@ "You might get more information about where this is\n" "coming from by using scripts/check_extable.sh %s\n", fromsec, (long)r->r_offset, tosec, modname); - else if (!is_executable_section(elf, get_secindex(elf, sym))) { - if (is_extable_fault_address(r)) - fatal("The relocation at %s+0x%lx references\n" - "section \"%s\" which is not executable, IOW\n" - "it is not possible for the kernel to fault\n" - "at that address. Something is seriously wrong\n" - "and should be fixed.\n", - fromsec, (long)r->r_offset, tosec); - else - fatal("The relocation at %s+0x%lx references\n" - "section \"%s\" which is not executable, IOW\n" - "the kernel will fault if it ever tries to\n" - "jump to it. Something is seriously wrong\n" - "and should be fixed.\n", - fromsec, (long)r->r_offset, tosec); - } + else if (!is_executable_section(elf, get_secindex(elf, sym))) + error("%s+0x%lx references non-executable section '%s'\n", + fromsec, (long)r->r_offset, tosec); } static void check_section_mismatch(const char *modname, struct elf_info *elf, @@ -1786,19 +1740,33 @@ #define R_ARM_THM_JUMP19 51 #endif +static int32_t sign_extend32(int32_t value, int index) +{ + uint8_t shift = 31 - index; + + return (int32_t)(value << shift) >> shift; +} + static int addend_arm_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) { unsigned int r_typ = ELF_R_TYPE(r->r_info); + Elf_Sym *sym = elf->symtab_start + ELF_R_SYM(r->r_info); + void *loc = reloc_location(elf, sechdr, r); + uint32_t inst; + int32_t offset; switch (r_typ) { case R_ARM_ABS32: - /* From ARM ABI: (S + A) | T */ - r->r_addend = (int)(long) - (elf->symtab_start + ELF_R_SYM(r->r_info)); + inst = TO_NATIVE(*(uint32_t *)loc); + r->r_addend = inst + sym->st_value; break; case R_ARM_PC24: case R_ARM_CALL: case R_ARM_JUMP24: + inst = TO_NATIVE(*(uint32_t *)loc); + offset = sign_extend32((inst & 0x00ffffff) << 2, 25); + r->r_addend = offset + sym->st_value + 8; + break; case R_ARM_THM_CALL: case R_ARM_THM_JUMP24: case R_ARM_THM_JUMP19: @@ -1876,8 +1844,6 @@ /* Skip special sections */ if (is_shndx_special(sym->st_shndx)) continue; - if (is_second_extable_reloc(start, rela, fromsec)) - find_extable_entry_size(fromsec, &r); check_section_mismatch(modname, elf, &r, sym, fromsec); } } @@ -1936,8 +1902,6 @@ /* Skip special sections */ if (is_shndx_special(sym->st_shndx)) continue; - if (is_second_extable_reloc(start, rel, fromsec)) - find_extable_entry_size(fromsec, &r); check_section_mismatch(modname, elf, &r, sym, fromsec); } } diff -u linux-intel-iotg-5.15-5.15.0/scripts/tags.sh linux-intel-iotg-5.15-5.15.0/scripts/tags.sh --- linux-intel-iotg-5.15-5.15.0/scripts/tags.sh +++ linux-intel-iotg-5.15-5.15.0/scripts/tags.sh @@ -32,6 +32,13 @@ ignore="$ignore ( -path ${tree}tools ) -prune -o" fi +# gtags(1) refuses to index any file outside of its current working dir. +# If gtags indexing is requested and the build output directory is not +# the kernel source tree, index all files in absolute-path form. +if [[ "$1" == "gtags" && -n "${tree}" ]]; then + tree=$(realpath "$tree")/ +fi + # Detect if ALLSOURCE_ARCHS is set. If not, we assume SRCARCH if [ "${ALLSOURCE_ARCHS}" = "" ]; then ALLSOURCE_ARCHS=${SRCARCH} @@ -131,7 +138,7 @@ dogtags() { - all_target_sources | gtags -i -f - + all_target_sources | gtags -i -C "${tree:-.}" -f - "$PWD" } # Basic regular expressions with an optional /kind-spec/ for ctags and diff -u linux-intel-iotg-5.15-5.15.0/security/apparmor/policy_unpack.c linux-intel-iotg-5.15-5.15.0/security/apparmor/policy_unpack.c --- linux-intel-iotg-5.15-5.15.0/security/apparmor/policy_unpack.c +++ linux-intel-iotg-5.15-5.15.0/security/apparmor/policy_unpack.c @@ -959,8 +959,13 @@ goto fail; } - rhashtable_insert_fast(profile->data, &data->head, - profile->data->p); + if (rhashtable_insert_fast(profile->data, &data->head, + profile->data->p)) { + kfree_sensitive(data->key); + kfree_sensitive(data); + info = "failed to insert data to table"; + goto fail; + } } if (!unpack_nameX(e, AA_STRUCTEND, NULL)) { diff -u linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_crypto.c linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_crypto.c --- linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_crypto.c +++ linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_crypto.c @@ -40,7 +40,7 @@ /** * evm_set_key() - set EVM HMAC key from the kernel * @key: pointer to a buffer with the key data - * @size: length of the key data + * @keylen: length of the key data * * This function allows setting the EVM HMAC key from the kernel * without using the "encrypted" key subsystem keys. It can be used diff -u linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_main.c linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_main.c --- linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_main.c +++ linux-intel-iotg-5.15-5.15.0/security/integrity/evm/evm_main.c @@ -324,7 +324,6 @@ /** * evm_read_protected_xattrs - read EVM protected xattr names, lengths, values * @dentry: dentry of the read xattrs - * @inode: inode of the read xattrs * @buffer: buffer xattr names, lengths or values are copied to * @buffer_size: size of buffer * @type: n: names, l: lengths, v: values @@ -396,6 +395,7 @@ * @xattr_name: requested xattr * @xattr_value: requested xattr value * @xattr_value_len: requested xattr value length + * @iint: inode integrity metadata * * Calculate the HMAC for the given dentry and verify it against the stored * security.evm xattr. For performance, use the xattr value and length @@ -770,7 +770,9 @@ /** * evm_inode_setattr - prevent updating an invalid EVM extended attribute + * @idmap: idmap of the mount * @dentry: pointer to the affected dentry + * @attr: iattr structure containing the new file attributes * * Permit update of file attributes when files have a valid EVM signature, * except in the case of them having an immutable portable signature. diff -u linux-intel-iotg-5.15-5.15.0/security/integrity/ima/ima_policy.c linux-intel-iotg-5.15-5.15.0/security/integrity/ima/ima_policy.c --- linux-intel-iotg-5.15-5.15.0/security/integrity/ima/ima_policy.c +++ linux-intel-iotg-5.15-5.15.0/security/integrity/ima/ima_policy.c @@ -673,6 +673,7 @@ * @blob: LSM data of the task to be validated * @func: IMA hook identifier * @mask: requested action (MAY_READ | MAY_WRITE | MAY_APPEND | MAY_EXEC) + * @flags: IMA actions to consider (e.g. IMA_MEASURE | IMA_APPRAISE) * @pcr: set the pcr to extend * @template_desc: the template that should be used for this rule * @func_data: func specific data, may be NULL @@ -1708,7 +1709,7 @@ /** * ima_parse_add_rule - add a rule to ima_policy_rules - * @rule - ima measurement policy rule + * @rule: ima measurement policy rule * * Avoid locking by allowing just one writer at a time in ima_write_policy() * Returns the length of the rule parsed, an error code on failure diff -u linux-intel-iotg-5.15-5.15.0/sound/core/jack.c linux-intel-iotg-5.15-5.15.0/sound/core/jack.c --- linux-intel-iotg-5.15-5.15.0/sound/core/jack.c +++ linux-intel-iotg-5.15-5.15.0/sound/core/jack.c @@ -654,6 +654,7 @@ struct snd_jack_kctl *jack_kctl; unsigned int mask_bits = 0; #ifdef CONFIG_SND_JACK_INPUT_DEV + struct input_dev *idev; int i; #endif @@ -670,17 +671,15 @@ status & jack_kctl->mask_bits); #ifdef CONFIG_SND_JACK_INPUT_DEV - mutex_lock(&jack->input_dev_lock); - if (!jack->input_dev) { - mutex_unlock(&jack->input_dev_lock); + idev = input_get_device(jack->input_dev); + if (!idev) return; - } for (i = 0; i < ARRAY_SIZE(jack->key); i++) { int testbit = ((SND_JACK_BTN_0 >> i) & ~mask_bits); if (jack->type & testbit) - input_report_key(jack->input_dev, jack->key[i], + input_report_key(idev, jack->key[i], status & testbit); } @@ -688,13 +687,13 @@ int testbit = ((1 << i) & ~mask_bits); if (jack->type & testbit) - input_report_switch(jack->input_dev, + input_report_switch(idev, jack_switch_types[i], status & testbit); } - input_sync(jack->input_dev); - mutex_unlock(&jack->input_dev_lock); + input_sync(idev); + input_put_device(idev); #endif /* CONFIG_SND_JACK_INPUT_DEV */ } EXPORT_SYMBOL(snd_jack_report); diff -u linux-intel-iotg-5.15-5.15.0/sound/pci/ac97/ac97_codec.c linux-intel-iotg-5.15-5.15.0/sound/pci/ac97/ac97_codec.c --- linux-intel-iotg-5.15-5.15.0/sound/pci/ac97/ac97_codec.c +++ linux-intel-iotg-5.15-5.15.0/sound/pci/ac97/ac97_codec.c @@ -2070,8 +2070,8 @@ .dev_disconnect = snd_ac97_dev_disconnect, }; - if (rac97) - *rac97 = NULL; + if (!rac97) + return -EINVAL; if (snd_BUG_ON(!bus || !template)) return -EINVAL; if (snd_BUG_ON(template->num >= 4)) diff -u linux-intel-iotg-5.15-5.15.0/sound/pci/hda/patch_realtek.c linux-intel-iotg-5.15-5.15.0/sound/pci/hda/patch_realtek.c --- linux-intel-iotg-5.15-5.15.0/sound/pci/hda/patch_realtek.c +++ linux-intel-iotg-5.15-5.15.0/sound/pci/hda/patch_realtek.c @@ -9408,6 +9408,7 @@ SND_PCI_QUIRK(0x1558, 0x5101, "Clevo S510WU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x5157, "Clevo W517GU1", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x51a1, "Clevo NS50MU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x51b1, "Clevo NS50AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x5630, "Clevo NP50RNJS", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x70a1, "Clevo NB70T[HJK]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x70b3, "Clevo NK70SB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), @@ -9444,6 +9445,7 @@ SND_PCI_QUIRK(0x1558, 0x971d, "Clevo N970T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0xa500, "Clevo NL5[03]RU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0xa600, "Clevo NL50NU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0xa650, "Clevo NP[567]0SN[CD]", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0xa671, "Clevo NP70SN[CDE]", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0xb018, "Clevo NP50D[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0xb019, "Clevo NH77D[BE]Q", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), @@ -11461,6 +11463,7 @@ SND_PCI_QUIRK(0x103c, 0x8719, "HP", ALC897_FIXUP_HP_HSMIC_VERB), SND_PCI_QUIRK(0x103c, 0x872b, "HP", ALC897_FIXUP_HP_HSMIC_VERB), SND_PCI_QUIRK(0x103c, 0x873e, "HP", ALC671_FIXUP_HP_HEADSET_MIC2), + SND_PCI_QUIRK(0x103c, 0x8768, "HP Slim Desktop S01", ALC671_FIXUP_HP_HEADSET_MIC2), SND_PCI_QUIRK(0x103c, 0x877e, "HP 288 Pro G6", ALC671_FIXUP_HP_HEADSET_MIC2), SND_PCI_QUIRK(0x103c, 0x885f, "HP 288 Pro G8", ALC671_FIXUP_HP_HEADSET_MIC2), SND_PCI_QUIRK(0x1043, 0x1080, "Asus UX501VW", ALC668_FIXUP_HEADSET_MODE), @@ -11497,6 +11500,7 @@ SND_PCI_QUIRK(0x1b0a, 0x01b8, "ACER Veriton", ALC662_FIXUP_ACER_VERITON), SND_PCI_QUIRK(0x1b35, 0x1234, "CZC ET26", ALC662_FIXUP_CZC_ET26), SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), + SND_PCI_QUIRK(0x1c6c, 0x1239, "Compaq N14JP6-V2", ALC897_FIXUP_HP_HSMIC_VERB), #if 0 /* Below is a quirk table taken from the old code. diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/es8316.c linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/es8316.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/es8316.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/es8316.c @@ -52,7 +52,12 @@ static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(adc_vol_tlv, -9600, 50, 1); static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(alc_max_gain_tlv, -650, 150, 0); static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(alc_min_gain_tlv, -1200, 150, 0); -static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(alc_target_tlv, -1650, 150, 0); + +static const SNDRV_CTL_TLVD_DECLARE_DB_RANGE(alc_target_tlv, + 0, 10, TLV_DB_SCALE_ITEM(-1650, 150, 0), + 11, 11, TLV_DB_SCALE_ITEM(-150, 0, 0), +); + static const SNDRV_CTL_TLVD_DECLARE_DB_RANGE(hpmixer_gain_tlv, 0, 4, TLV_DB_SCALE_ITEM(-1200, 150, 0), 8, 11, TLV_DB_SCALE_ITEM(-450, 150, 0), @@ -115,7 +120,7 @@ alc_max_gain_tlv), SOC_SINGLE_TLV("ALC Capture Min Volume", ES8316_ADC_ALC2, 0, 28, 0, alc_min_gain_tlv), - SOC_SINGLE_TLV("ALC Capture Target Volume", ES8316_ADC_ALC3, 4, 10, 0, + SOC_SINGLE_TLV("ALC Capture Target Volume", ES8316_ADC_ALC3, 4, 11, 0, alc_target_tlv), SOC_SINGLE("ALC Capture Hold Time", ES8316_ADC_ALC3, 0, 10, 0), SOC_SINGLE("ALC Capture Decay Time", ES8316_ADC_ALC4, 4, 10, 0), @@ -364,13 +369,11 @@ int count = 0; es8316->sysclk = freq; + es8316->sysclk_constraints.list = NULL; + es8316->sysclk_constraints.count = 0; - if (freq == 0) { - es8316->sysclk_constraints.list = NULL; - es8316->sysclk_constraints.count = 0; - + if (freq == 0) return 0; - } ret = clk_set_rate(es8316->mclk, freq); if (ret) @@ -386,8 +389,10 @@ es8316->allowed_rates[count++] = freq / ratio; } - es8316->sysclk_constraints.list = es8316->allowed_rates; - es8316->sysclk_constraints.count = count; + if (count) { + es8316->sysclk_constraints.list = es8316->allowed_rates; + es8316->sysclk_constraints.count = count; + } return 0; } diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/nau8824.c linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/nau8824.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/nau8824.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/nau8824.c @@ -1866,6 +1866,30 @@ }, .driver_data = (void *)(NAU8824_JD_ACTIVE_HIGH), }, + { + /* Positivo CW14Q01P */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Positivo Tecnologia SA"), + DMI_MATCH(DMI_BOARD_NAME, "CW14Q01P"), + }, + .driver_data = (void *)(NAU8824_JD_ACTIVE_HIGH), + }, + { + /* Positivo K1424G */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Positivo Tecnologia SA"), + DMI_MATCH(DMI_BOARD_NAME, "K1424G"), + }, + .driver_data = (void *)(NAU8824_JD_ACTIVE_HIGH), + }, + { + /* Positivo N14ZP74G */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Positivo Tecnologia SA"), + DMI_MATCH(DMI_BOARD_NAME, "N14ZP74G"), + }, + .driver_data = (void *)(NAU8824_JD_ACTIVE_HIGH), + }, {} }; diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/wsa881x.c linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/wsa881x.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/wsa881x.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/codecs/wsa881x.c @@ -646,7 +646,6 @@ .readable_reg = wsa881x_readable_register, .reg_format_endian = REGMAP_ENDIAN_NATIVE, .val_format_endian = REGMAP_ENDIAN_NATIVE, - .can_multi_write = true, }; enum { diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/dwc/dwc-i2s.c linux-intel-iotg-5.15-5.15.0/sound/soc/dwc/dwc-i2s.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/dwc/dwc-i2s.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/dwc/dwc-i2s.c @@ -183,30 +183,6 @@ } } -static int dw_i2s_startup(struct snd_pcm_substream *substream, - struct snd_soc_dai *cpu_dai) -{ - struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(cpu_dai); - union dw_i2s_snd_dma_data *dma_data = NULL; - - if (!(dev->capability & DWC_I2S_RECORD) && - (substream->stream == SNDRV_PCM_STREAM_CAPTURE)) - return -EINVAL; - - if (!(dev->capability & DWC_I2S_PLAY) && - (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)) - return -EINVAL; - - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - dma_data = &dev->play_dma_data; - else if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) - dma_data = &dev->capture_dma_data; - - snd_soc_dai_set_dma_data(cpu_dai, substream, (void *)dma_data); - - return 0; -} - static void dw_i2s_config(struct dw_i2s_dev *dev, int stream) { u32 ch_reg; @@ -305,12 +281,6 @@ return 0; } -static void dw_i2s_shutdown(struct snd_pcm_substream *substream, - struct snd_soc_dai *dai) -{ - snd_soc_dai_set_dma_data(dai, substream, NULL); -} - static int dw_i2s_prepare(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { @@ -382,8 +352,6 @@ } static const struct snd_soc_dai_ops dw_i2s_dai_ops = { - .startup = dw_i2s_startup, - .shutdown = dw_i2s_shutdown, .hw_params = dw_i2s_hw_params, .prepare = dw_i2s_prepare, .trigger = dw_i2s_trigger, @@ -624,6 +592,14 @@ } +static int dw_i2s_dai_probe(struct snd_soc_dai *dai) +{ + struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(dai); + + snd_soc_dai_init_dma_data(dai, &dev->play_dma_data, &dev->capture_dma_data); + return 0; +} + static int dw_i2s_probe(struct platform_device *pdev) { const struct i2s_platform_data *pdata = pdev->dev.platform_data; @@ -642,6 +618,7 @@ return -ENOMEM; dw_i2s_dai->ops = &dw_i2s_dai_ops; + dw_i2s_dai->probe = dw_i2s_dai_probe; dev->i2s_base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(dev->i2s_base)) diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/generic/simple-card.c linux-intel-iotg-5.15-5.15.0/sound/soc/generic/simple-card.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/generic/simple-card.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/generic/simple-card.c @@ -417,6 +417,7 @@ if (ret < 0) { of_node_put(codec); + of_node_put(plat); of_node_put(np); goto error; } diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c @@ -1072,6 +1072,10 @@ afe->dev = &pdev->dev; + irq_id = platform_get_irq(pdev, 0); + if (irq_id <= 0) + return irq_id < 0 ? irq_id : -ENXIO; + afe->base_addr = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(afe->base_addr)) return PTR_ERR(afe->base_addr); @@ -1158,14 +1162,14 @@ comp_hdmi = devm_kzalloc(&pdev->dev, sizeof(*comp_hdmi), GFP_KERNEL); if (!comp_hdmi) { ret = -ENOMEM; - goto err_pm_disable; + goto err_cleanup_components; } ret = snd_soc_component_initialize(comp_hdmi, &mt8173_afe_hdmi_dai_component, &pdev->dev); if (ret) - goto err_pm_disable; + goto err_cleanup_components; #ifdef CONFIG_DEBUG_FS comp_hdmi->debugfs_prefix = "hdmi"; @@ -1177,14 +1181,11 @@ if (ret) goto err_cleanup_components; - irq_id = platform_get_irq(pdev, 0); - if (irq_id <= 0) - return irq_id < 0 ? irq_id : -ENXIO; ret = devm_request_irq(afe->dev, irq_id, mt8173_afe_irq_handler, 0, "Afe_ISR_Handle", (void *)afe); if (ret) { dev_err(afe->dev, "could not request_irq\n"); - goto err_pm_disable; + goto err_cleanup_components; } dev_info(&pdev->dev, "MT8173 AFE driver initialized.\n"); diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c @@ -3237,18 +3237,13 @@ return ret; } -static int mt8195_afe_pcm_dev_remove(struct platform_device *pdev) +static void mt8195_afe_pcm_dev_remove(struct platform_device *pdev) { - struct mtk_base_afe *afe = platform_get_drvdata(pdev); - snd_soc_unregister_component(&pdev->dev); pm_runtime_disable(&pdev->dev); if (!pm_runtime_status_suspended(&pdev->dev)) mt8195_afe_runtime_suspend(&pdev->dev); - - mt8195_afe_deinit_clock(afe); - return 0; } static const struct of_device_id mt8195_afe_pcm_dt_match[] = { @@ -3271,7 +3266,7 @@ #endif }, .probe = mt8195_afe_pcm_dev_probe, - .remove = mt8195_afe_pcm_dev_remove, + .remove_new = mt8195_afe_pcm_dev_remove, }; module_platform_driver(mt8195_afe_pcm_driver); diff -u linux-intel-iotg-5.15-5.15.0/sound/soc/soc-pcm.c linux-intel-iotg-5.15-5.15.0/sound/soc/soc-pcm.c --- linux-intel-iotg-5.15-5.15.0/sound/soc/soc-pcm.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/soc-pcm.c @@ -2403,6 +2403,9 @@ if (!snd_soc_dpcm_be_can_update(fe, be, stream)) continue; + if (!snd_soc_dpcm_can_be_prepared(fe, be, stream)) + continue; + if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_PARAMS) && (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP) && (be->dpcm[stream].state != SND_SOC_DPCM_STATE_SUSPEND) && @@ -3054,0 +3058,17 @@ + +/* + * We can only prepare a BE DAI if any of it's FE are not prepared, + * running or paused for the specified stream direction. + */ +int snd_soc_dpcm_can_be_prepared(struct snd_soc_pcm_runtime *fe, + struct snd_soc_pcm_runtime *be, int stream) +{ + const enum snd_soc_dpcm_state state[] = { + SND_SOC_DPCM_STATE_START, + SND_SOC_DPCM_STATE_PAUSED, + SND_SOC_DPCM_STATE_PREPARE, + }; + + return snd_soc_dpcm_check_state(fe, be, stream, state, ARRAY_SIZE(state)); +} +EXPORT_SYMBOL_GPL(snd_soc_dpcm_can_be_prepared); diff -u linux-intel-iotg-5.15-5.15.0/sound/usb/quirks.c linux-intel-iotg-5.15-5.15.0/sound/usb/quirks.c --- linux-intel-iotg-5.15-5.15.0/sound/usb/quirks.c +++ linux-intel-iotg-5.15-5.15.0/sound/usb/quirks.c @@ -1921,6 +1921,8 @@ QUIRK_FLAG_DSD_RAW), VENDOR_FLG(0x2ab6, /* T+A devices */ QUIRK_FLAG_DSD_RAW), + VENDOR_FLG(0x3336, /* HEM devices */ + QUIRK_FLAG_DSD_RAW), VENDOR_FLG(0x3353, /* Khadas devices */ QUIRK_FLAG_DSD_RAW), VENDOR_FLG(0x3842, /* EVGA */ diff -u linux-intel-iotg-5.15-5.15.0/tools/arch/x86/include/asm/cpufeatures.h linux-intel-iotg-5.15-5.15.0/tools/arch/x86/include/asm/cpufeatures.h --- linux-intel-iotg-5.15-5.15.0/tools/arch/x86/include/asm/cpufeatures.h +++ linux-intel-iotg-5.15-5.15.0/tools/arch/x86/include/asm/cpufeatures.h @@ -14,7 +14,7 @@ * Defines x86 CPU feature bits */ #define NCAPINTS 20 /* N 32-bit words worth of info */ -#define NBUGINTS 1 /* N 32-bit bug flags */ +#define NBUGINTS 2 /* N 32-bit bug flags */ /* * Note: If the comment begins with a quoted string, that string is used diff -u linux-intel-iotg-5.15-5.15.0/tools/include/linux/objtool.h linux-intel-iotg-5.15-5.15.0/tools/include/linux/objtool.h --- linux-intel-iotg-5.15-5.15.0/tools/include/linux/objtool.h +++ linux-intel-iotg-5.15-5.15.0/tools/include/linux/objtool.h @@ -71,6 +71,23 @@ static void __used __section(".discard.func_stack_frame_non_standard") \ *__func_stack_frame_non_standard_##func = func +/* + * STACK_FRAME_NON_STANDARD_FP() is a frame-pointer-specific function ignore + * for the case where a function is intentionally missing frame pointer setup, + * but otherwise needs objtool/ORC coverage when frame pointers are disabled. + */ +#ifdef CONFIG_FRAME_POINTER +#define STACK_FRAME_NON_STANDARD_FP(func) STACK_FRAME_NON_STANDARD(func) +#else +#define STACK_FRAME_NON_STANDARD_FP(func) +#endif + +#define ANNOTATE_NOENDBR \ + "986: \n\t" \ + ".pushsection .discard.noendbr\n\t" \ + _ASM_PTR " 986b\n\t" \ + ".popsection\n\t" + #else /* __ASSEMBLY__ */ /* @@ -123,6 +140,13 @@ .popsection .endm +.macro ANNOTATE_NOENDBR +.Lhere_\@: + .pushsection .discard.noendbr + .quad .Lhere_\@ + .popsection +.endm + #endif /* __ASSEMBLY__ */ #else /* !CONFIG_STACK_VALIDATION */ @@ -132,12 +156,16 @@ #define UNWIND_HINT(sp_reg, sp_offset, type, end) \ "\n\t" #define STACK_FRAME_NON_STANDARD(func) +#define STACK_FRAME_NON_STANDARD_FP(func) +#define ANNOTATE_NOENDBR #else #define ANNOTATE_INTRA_FUNCTION_CALL .macro UNWIND_HINT type:req sp_reg=0 sp_offset=0 end=0 .endm .macro STACK_FRAME_NON_STANDARD func:req .endm +.macro ANNOTATE_NOENDBR +.endm #endif #endif /* CONFIG_STACK_VALIDATION */ diff -u linux-intel-iotg-5.15-5.15.0/tools/lib/bpf/btf_dump.c linux-intel-iotg-5.15-5.15.0/tools/lib/bpf/btf_dump.c --- linux-intel-iotg-5.15-5.15.0/tools/lib/bpf/btf_dump.c +++ linux-intel-iotg-5.15-5.15.0/tools/lib/bpf/btf_dump.c @@ -2126,9 +2126,25 @@ const struct btf_type *t, __u32 id, const void *data, - __u8 bits_offset) + __u8 bits_offset, + __u8 bit_sz) { - __s64 size = btf__resolve_size(d->btf, id); + __s64 size; + + if (bit_sz) { + /* bits_offset is at most 7. bit_sz is at most 128. */ + __u8 nr_bytes = (bits_offset + bit_sz + 7) / 8; + + /* When bit_sz is non zero, it is called from + * btf_dump_struct_data() where it only cares about + * negative error value. + * Return nr_bytes in success case to make it + * consistent as the regular integer case below. + */ + return data + nr_bytes > d->typed_dump->data_end ? -E2BIG : nr_bytes; + } + + size = btf__resolve_size(d->btf, id); if (size < 0 || size >= INT_MAX) { pr_warn("unexpected size [%zu] for id [%u]\n", @@ -2281,7 +2297,7 @@ { int size, err = 0; - size = btf_dump_type_data_check_overflow(d, t, id, data, bits_offset); + size = btf_dump_type_data_check_overflow(d, t, id, data, bits_offset, bit_sz); if (size < 0) return size; err = btf_dump_type_data_check_zero(d, t, id, data, bits_offset, bit_sz); diff -u linux-intel-iotg-5.15-5.15.0/tools/objtool/arch/x86/decode.c linux-intel-iotg-5.15-5.15.0/tools/objtool/arch/x86/decode.c --- linux-intel-iotg-5.15-5.15.0/tools/objtool/arch/x86/decode.c +++ linux-intel-iotg-5.15-5.15.0/tools/objtool/arch/x86/decode.c @@ -729,0 +730,6 @@ + +bool arch_is_embedded_insn(struct symbol *sym) +{ + return !strcmp(sym->name, "retbleed_return_thunk") || + !strcmp(sym->name, "srso_safe_ret"); +} diff -u linux-intel-iotg-5.15-5.15.0/tools/objtool/check.c linux-intel-iotg-5.15-5.15.0/tools/objtool/check.c --- linux-intel-iotg-5.15-5.15.0/tools/objtool/check.c +++ linux-intel-iotg-5.15-5.15.0/tools/objtool/check.c @@ -370,7 +370,7 @@ if (!strcmp(sec->name, ".noinstr.text") || !strcmp(sec->name, ".entry.text") || - !strncmp(sec->name, ".text.__x86.", 12)) + !strncmp(sec->name, ".text..__x86.", 13)) sec->noinstr = true; for (offset = 0; offset < sec->sh.sh_size; offset += insn->len) { @@ -990,16 +990,33 @@ return 0; } +/* + * Symbols that replace INSN_CALL_DYNAMIC, every (tail) call to such a symbol + * will be added to the .retpoline_sites section. + */ __weak bool arch_is_retpoline(struct symbol *sym) { return false; } +/* + * Symbols that replace INSN_RETURN, every (tail) call to such a symbol + * will be added to the .return_sites section. + */ __weak bool arch_is_rethunk(struct symbol *sym) { return false; } +/* + * Symbols that are embedded inside other instructions, because sometimes crazy + * code exists. These are mostly ignored for validation purposes. + */ +__weak bool arch_is_embedded_insn(struct symbol *sym) +{ + return false; +} + #define NEGATIVE_RELOC ((void *)-1L) static struct reloc *insn_reloc(struct objtool_file *file, struct instruction *insn) @@ -1228,14 +1245,14 @@ continue; /* - * This is a special case for zen_untrain_ret(). + * This is a special case for retbleed_untrain_ret(). * It jumps to __x86_return_thunk(), but objtool * can't find the thunk's starting RET * instruction, because the RET is also in the * middle of another instruction. Objtool only * knows about the outer instruction. */ - if (sym && sym->return_thunk) { + if (sym && sym->embedded_insn) { add_return_call(file, insn, false); continue; } @@ -2066,6 +2083,9 @@ if (arch_is_rethunk(func)) func->return_thunk = true; + if (arch_is_embedded_insn(func)) + func->embedded_insn = true; + if (!strcmp(func->name, "__fentry__")) func->fentry = true; @@ -2174,12 +2194,17 @@ return 0; } -static bool is_fentry_call(struct instruction *insn) +static bool is_special_call(struct instruction *insn) { - if (insn->type == INSN_CALL && - insn->call_dest && - insn->call_dest->fentry) - return true; + if (insn->type == INSN_CALL) { + struct symbol *dest = insn->call_dest; + + if (!dest) + return false; + + if (dest->fentry) + return true; + } return false; } @@ -3125,7 +3150,7 @@ if (ret) return ret; - if (!no_fp && func && !is_fentry_call(insn) && + if (!no_fp && func && !is_special_call(insn) && !has_valid_stack_frame(&state)) { WARN_FUNC("call without frame pointer save/setup", sec, insn->offset); diff -u linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/arch.h linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/arch.h --- linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/arch.h +++ linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/arch.h @@ -89,6 +89,7 @@ bool arch_is_retpoline(struct symbol *sym); bool arch_is_rethunk(struct symbol *sym); +bool arch_is_embedded_insn(struct symbol *sym); int arch_rewrite_retpolines(struct objtool_file *file); diff -u linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/elf.h linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/elf.h --- linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/elf.h +++ linux-intel-iotg-5.15-5.15.0/tools/objtool/include/objtool/elf.h @@ -60,6 +60,7 @@ u8 return_thunk : 1; u8 fentry : 1; u8 kcov : 1; + u8 embedded_insn : 1; }; struct reloc { diff -u linux-intel-iotg-5.15-5.15.0/tools/perf/builtin-script.c linux-intel-iotg-5.15-5.15.0/tools/perf/builtin-script.c --- linux-intel-iotg-5.15-5.15.0/tools/perf/builtin-script.c +++ linux-intel-iotg-5.15-5.15.0/tools/perf/builtin-script.c @@ -2260,6 +2260,9 @@ return ret; } +// Used when scr->per_event_dump is not set +static struct evsel_script es_stdout; + static int process_attr(struct perf_tool *tool, union perf_event *event, struct evlist **pevlist) { @@ -2268,7 +2271,6 @@ struct evsel *evsel, *pos; u64 sample_type; int err; - static struct evsel_script *es; err = perf_event__process_attr(tool, event, pevlist); if (err) @@ -2278,14 +2280,13 @@ evsel = evlist__last(*pevlist); if (!evsel->priv) { - if (scr->per_event_dump) { + if (scr->per_event_dump) { evsel->priv = evsel_script__new(evsel, scr->session->data); - } else { - es = zalloc(sizeof(*es)); - if (!es) + if (!evsel->priv) return -ENOMEM; - es->fp = stdout; - evsel->priv = es; + } else { // Replicate what is done in perf_script__setup_per_event_dump() + es_stdout.fp = stdout; + evsel->priv = &es_stdout; } } @@ -2591,7 +2592,6 @@ static int perf_script__setup_per_event_dump(struct perf_script *script) { struct evsel *evsel; - static struct evsel_script es_stdout; if (script->per_event_dump) return perf_script__fopen_per_event_dump(script); diff -u linux-intel-iotg-5.15-5.15.0/tools/perf/util/dwarf-aux.c linux-intel-iotg-5.15-5.15.0/tools/perf/util/dwarf-aux.c --- linux-intel-iotg-5.15-5.15.0/tools/perf/util/dwarf-aux.c +++ linux-intel-iotg-5.15-5.15.0/tools/perf/util/dwarf-aux.c @@ -1081,7 +1081,7 @@ ret = die_get_typename(vr_die, buf); if (ret < 0) { pr_debug("Failed to get type, make it unknown.\n"); - ret = strbuf_add(buf, " (unknown_type)", 14); + ret = strbuf_add(buf, "(unknown_type)", 14); } return ret < 0 ? ret : strbuf_addf(buf, "\t%s", dwarf_diename(vr_die)); diff -u linux-intel-iotg-5.15-5.15.0/tools/perf/util/symbol.c linux-intel-iotg-5.15-5.15.0/tools/perf/util/symbol.c --- linux-intel-iotg-5.15-5.15.0/tools/perf/util/symbol.c +++ linux-intel-iotg-5.15-5.15.0/tools/perf/util/symbol.c @@ -1357,10 +1357,23 @@ /* Find the kernel map using the '_stext' symbol */ if (!kallsyms__get_function_start(kallsyms_filename, "_stext", &stext)) { + u64 replacement_size = 0; + list_for_each_entry(new_map, &md.maps, node) { - if (stext >= new_map->start && stext < new_map->end) { + u64 new_size = new_map->end - new_map->start; + + if (!(stext >= new_map->start && stext < new_map->end)) + continue; + + /* + * On some architectures, ARM64 for example, the kernel + * text can get allocated inside of the vmalloc segment. + * Select the smallest matching segment, in case stext + * falls within more than one in the list. + */ + if (!replacement_map || new_size < replacement_size) { replacement_map = new_map; - break; + replacement_size = new_size; } } } diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/kselftest_harness.h linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/kselftest_harness.h --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/kselftest_harness.h +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/kselftest_harness.h @@ -244,7 +244,7 @@ /** * FIXTURE_SETUP() - Prepares the setup function for the fixture. - * *_metadata* is included so that EXPECT_* and ASSERT_* work correctly. + * *_metadata* is included so that EXPECT_*, ASSERT_* etc. work correctly. * * @fixture_name: fixture name * @@ -270,7 +270,7 @@ /** * FIXTURE_TEARDOWN() - * *_metadata* is included so that EXPECT_* and ASSERT_* work correctly. + * *_metadata* is included so that EXPECT_*, ASSERT_* etc. work correctly. * * @fixture_name: fixture name * @@ -383,7 +383,7 @@ memset(&self, 0, sizeof(FIXTURE_DATA(fixture_name))); \ fixture_name##_setup(_metadata, &self, variant->data); \ /* Let setup failure terminate early. */ \ - if (!_metadata->passed) \ + if (!_metadata->passed || _metadata->skip) \ return; \ fixture_name##_##test_name(_metadata, &self, variant->data); \ fixture_name##_teardown(_metadata, &self); \ diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/mount_setattr/mount_setattr_test.c linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/mount_setattr/mount_setattr_test.c --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/mount_setattr/mount_setattr_test.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/mount_setattr/mount_setattr_test.c @@ -104,13 +104,6 @@ #else #define __NR_mount_setattr 442 #endif - -struct mount_attr { - __u64 attr_set; - __u64 attr_clr; - __u64 propagation; - __u64 userns_fd; -}; #endif #ifndef __NR_open_tree diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/fcnal-test.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/fcnal-test.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/fcnal-test.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/fcnal-test.sh @@ -84,6 +84,13 @@ which ping6 > /dev/null 2>&1 && ping6=$(which ping6) || ping6=$(which ping) +# Check if FIPS mode is enabled +if [ -f /proc/sys/crypto/fips_enabled ]; then + fips_enabled=`cat /proc/sys/crypto/fips_enabled` +else + fips_enabled=0 +fi + ################################################################################ # utilities @@ -1202,7 +1209,7 @@ run_cmd nettest -d ${NSA_DEV} -r ${a} log_test_addr ${a} $? 1 "No server, device client, local conn" - ipv4_tcp_md5_novrf + [ "$fips_enabled" = "1" ] || ipv4_tcp_md5_novrf } ipv4_tcp_vrf() @@ -1256,9 +1263,11 @@ log_test_addr ${a} $? 1 "Global server, local connection" # run MD5 tests - setup_vrf_dup - ipv4_tcp_md5 - cleanup_vrf_dup + if [ "$fips_enabled" = "0" ]; then + setup_vrf_dup + ipv4_tcp_md5 + cleanup_vrf_dup + fi # # enable VRF global server @@ -2674,7 +2683,7 @@ log_test_addr ${a} $? 1 "No server, device client, local conn" done - ipv6_tcp_md5_novrf + [ "$fips_enabled" = "1" ] || ipv6_tcp_md5_novrf } ipv6_tcp_vrf() @@ -2744,9 +2753,11 @@ log_test_addr ${a} $? 1 "Global server, local connection" # run MD5 tests - setup_vrf_dup - ipv6_tcp_md5 - cleanup_vrf_dup + if [ "$fips_enabled" = "0" ]; then + setup_vrf_dup + ipv6_tcp_md5 + cleanup_vrf_dup + fi # # enable VRF global server diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1q.sh @@ -90,12 +90,16 @@ test_gretap() { + ip neigh replace 192.0.2.130 lladdr $(mac_get $h3) \ + nud permanent dev br1 full_test_span_gre_dir gt4 ingress 8 0 "mirror to gretap" full_test_span_gre_dir gt4 egress 0 8 "mirror to gretap" } test_ip6gretap() { + ip neigh replace 2001:db8:2::2 lladdr $(mac_get $h3) \ + nud permanent dev br1 full_test_span_gre_dir gt6 ingress 8 0 "mirror to ip6gretap" full_test_span_gre_dir gt6 egress 0 8 "mirror to ip6gretap" } diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/tc_actions.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/tc_actions.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/tc_actions.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/tc_actions.sh @@ -199,7 +199,6 @@ log_test "mirred_egress_to_ingress_tcp ($tcflags)" } ->>>>>>> e921d05033293 (act_mirred: use the backlog for nested calls to mirred ingress) setup_prepare() { h1=${NETIFS[p1]} diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_join.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_join.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -12,6 +12,8 @@ cinsent="" cout="" ksft_skip=4 +iptables="iptables" +ip6tables="ip6tables" timeout_poll=30 timeout_test=$((timeout_poll * 2 + 1)) mptcp_connect="" @@ -126,9 +128,9 @@ local ip="${1:-4}" local tables - tables="iptables" + tables="${iptables}" if [ $ip -eq 6 ]; then - tables="ip6tables" + tables="${ip6tables}" fi reset @@ -171,8 +173,10 @@ exit $ksft_skip fi -iptables -V > /dev/null 2>&1 -if [ $? -ne 0 ];then +if iptables-legacy -V &> /dev/null; then + iptables="iptables-legacy" + ip6tables="ip6tables-legacy" +elif ! iptables -V &> /dev/null; then echo "SKIP: Could not run all tests without iptables tool" exit $ksft_skip fi @@ -243,6 +247,22 @@ [ -z "${1##*:*}" ] } +# $1: ns ; $2: counter +get_counter() +{ + local ns="${1}" + local counter="${2}" + local count + + count=$(ip netns exec ${ns} nstat -asz "${counter}" | awk 'NR==1 {next} {print $2}') + if [ -z "${count}" ]; then + mptcp_lib_fail_if_expected_feature "${counter} counter" + return 1 + fi + + echo "${count}" +} + do_transfer() { listener_ns="$1" @@ -556,9 +576,10 @@ echo -n " " fi printf " %-36s %s" "$msg" "sum" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtDataCsumErr | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != 0 ]; then + count=$(get_counter ${ns1} "MPTcpExtDataCsumErr") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != 0 ]; then echo "[fail] got $count data checksum error[s] expected 0" ret=1 dump_stats=1 @@ -566,9 +587,10 @@ echo -n "[ ok ]" fi echo -n " - csum " - count=`ip netns exec $ns2 nstat -as | grep MPTcpExtDataCsumErr | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != 0 ]; then + count=$(get_counter ${ns2} "MPTcpExtDataCsumErr") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != 0 ]; then echo "[fail] got $count data checksum error[s] expected 0" ret=1 dump_stats=1 @@ -591,9 +613,10 @@ local dump_stats printf "%-39s %s" " " "ftx" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPFailTx | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$mp_fail_nr_tx" ]; then + count=$(get_counter ${ns1} "MPTcpExtMPFailTx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$mp_fail_nr_tx" ]; then echo "[fail] got $count MP_FAIL[s] TX expected $mp_fail_nr_tx" ret=1 dump_stats=1 @@ -602,9 +625,10 @@ fi echo -n " - frx " - count=`ip netns exec $ns2 nstat -as | grep MPTcpExtMPFailRx | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$mp_fail_nr_rx" ]; then + count=$(get_counter ${ns2} "MPTcpExtMPFailRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != "$mp_fail_nr_rx" ]; then echo "[fail] got $count MP_FAIL[s] RX expected $mp_fail_nr_rx" ret=1 dump_stats=1 @@ -631,9 +655,10 @@ local with_cookie printf "%02u %-36s %s" "$TEST_COUNT" "$msg" "syn" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinSynRx | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$syn_nr" ]; then + count=$(get_counter ${ns1} "MPTcpExtMPJoinSynRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$syn_nr" ]; then echo "[fail] got $count JOIN[s] syn expected $syn_nr" ret=1 dump_stats=1 @@ -643,9 +668,10 @@ echo -n " - synack" with_cookie=`ip netns exec $ns2 sysctl -n net.ipv4.tcp_syncookies` - count=`ip netns exec $ns2 nstat -as | grep MPTcpExtMPJoinSynAckRx | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$syn_ack_nr" ]; then + count=$(get_counter ${ns2} "MPTcpExtMPJoinSynAckRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$syn_ack_nr" ]; then # simult connections exceeding the limit with cookie enabled could go up to # synack validation as the conn limit can be enforced reliably only after # the subflow creation @@ -661,9 +687,10 @@ fi echo -n " - ack" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinAckRx | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$ack_nr" ]; then + count=$(get_counter ${ns1} "MPTcpExtMPJoinAckRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != "$ack_nr" ]; then echo "[fail] got $count JOIN[s] ack expected $ack_nr" ret=1 dump_stats=1 @@ -698,14 +725,13 @@ local recover_nr printf "%-39s %-18s" " " "stale" - stale_nr=`ip netns exec $ns nstat -as | grep MPTcpExtSubflowStale | awk '{print $2}'` - [ -z "$stale_nr" ] && stale_nr=0 - recover_nr=`ip netns exec $ns nstat -as | grep MPTcpExtSubflowRecover | awk '{print $2}'` - [ -z "$recover_nr" ] && recover_nr=0 - - if [ $stale_nr -lt $stale_min ] || - [ $stale_max -gt 0 -a $stale_nr -gt $stale_max ] || - [ $((stale_nr - $recover_nr)) -ne $stale_delta ]; then + stale_nr=$(get_counter ${ns} "MPTcpExtSubflowStale") + recover_nr=$(get_counter ${ns} "MPTcpExtSubflowRecover") + if [ -z "$stale_nr" ] || [ -z "$recover_nr" ]; then + echo "[skip]" + elif [ $stale_nr -lt $stale_min ] || + [ $stale_max -gt 0 -a $stale_nr -gt $stale_max ] || + [ $((stale_nr - $recover_nr)) -ne $stale_delta ]; then echo "[fail] got $stale_nr stale[s] $recover_nr recover[s], " \ " expected stale in range [$stale_min..$stale_max]," \ " stale-recover delta $stale_delta " @@ -736,9 +762,10 @@ local dump_stats printf "%-39s %s" " " "add" - count=`ip netns exec $ns2 nstat -as MPTcpExtAddAddr | grep MPTcpExtAddAddr | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$add_nr" ]; then + count=$(get_counter ${ns2} "MPTcpExtAddAddr") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$add_nr" ]; then echo "[fail] got $count ADD_ADDR[s] expected $add_nr" ret=1 dump_stats=1 @@ -747,9 +774,10 @@ fi echo -n " - echo " - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtEchoAdd | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$echo_nr" ]; then + count=$(get_counter ${ns1} "MPTcpExtEchoAdd") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$echo_nr" ]; then echo "[fail] got $count ADD_ADDR echo[s] expected $echo_nr" ret=1 dump_stats=1 @@ -759,9 +787,10 @@ if [ $port_nr -gt 0 ]; then echo -n " - pt " - count=`ip netns exec $ns2 nstat -as | grep MPTcpExtPortAdd | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$port_nr" ]; then + count=$(get_counter ${ns2} "MPTcpExtPortAdd") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != "$port_nr" ]; then echo "[fail] got $count ADD_ADDR[s] with a port-number expected $port_nr" ret=1 dump_stats=1 @@ -770,10 +799,10 @@ fi printf "%-39s %s" " " "syn" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinPortSynRx | - awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$syn_nr" ]; then + count=$(get_counter ${ns1} "MPTcpExtMPJoinPortSynRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$syn_nr" ]; then echo "[fail] got $count JOIN[s] syn with a different \ port-number expected $syn_nr" ret=1 @@ -783,10 +812,10 @@ fi echo -n " - synack" - count=`ip netns exec $ns2 nstat -as | grep MPTcpExtMPJoinPortSynAckRx | - awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$syn_ack_nr" ]; then + count=$(get_counter ${ns2} "MPTcpExtMPJoinPortSynAckRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$syn_ack_nr" ]; then echo "[fail] got $count JOIN[s] synack with a different \ port-number expected $syn_ack_nr" ret=1 @@ -796,10 +825,10 @@ fi echo -n " - ack" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPJoinPortAckRx | - awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$ack_nr" ]; then + count=$(get_counter ${ns1} "MPTcpExtMPJoinPortAckRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != "$ack_nr" ]; then echo "[fail] got $count JOIN[s] ack with a different \ port-number expected $ack_nr" ret=1 @@ -809,10 +838,10 @@ fi printf "%-39s %s" " " "syn" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMismatchPortSynRx | - awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$mis_syn_nr" ]; then + count=$(get_counter ${ns1} "MPTcpExtMismatchPortSynRx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$mis_syn_nr" ]; then echo "[fail] got $count JOIN[s] syn with a mismatched \ port-number expected $mis_syn_nr" ret=1 @@ -822,10 +851,10 @@ fi echo -n " - ack " - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMismatchPortAckRx | - awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$mis_ack_nr" ]; then + count=$(get_counter ${ns1} "MPTcpExtMismatchPortAckRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != "$mis_ack_nr" ]; then echo "[fail] got $count JOIN[s] ack with a mismatched \ port-number expected $mis_ack_nr" ret=1 @@ -864,9 +893,10 @@ fi printf "%-39s %s" " " "rm " - count=`ip netns exec $addr_ns nstat -as | grep MPTcpExtRmAddr | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$rm_addr_nr" ]; then + count=$(get_counter ${addr_ns} "MPTcpExtRmAddr") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$rm_addr_nr" ]; then echo "[fail] got $count RM_ADDR[s] expected $rm_addr_nr" ret=1 dump_stats=1 @@ -875,9 +905,10 @@ fi echo -n " - sf " - count=`ip netns exec $subflow_ns nstat -as | grep MPTcpExtRmSubflow | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$rm_subflow_nr" ]; then + count=$(get_counter ${subflow_ns} "MPTcpExtRmSubflow") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != "$rm_subflow_nr" ]; then echo "[fail] got $count RM_SUBFLOW[s] expected $rm_subflow_nr" ret=1 dump_stats=1 @@ -901,9 +932,10 @@ local dump_stats printf "%-39s %s" " " "ptx" - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioTx | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$mp_prio_nr_tx" ]; then + count=$(get_counter ${ns1} "MPTcpExtMPPrioTx") + if [ -z "$count" ]; then + echo -n "[skip]" + elif [ "$count" != "$mp_prio_nr_tx" ]; then echo "[fail] got $count MP_PRIO[s] TX expected $mp_prio_nr_tx" ret=1 dump_stats=1 @@ -912,9 +944,10 @@ fi echo -n " - prx " - count=`ip netns exec $ns1 nstat -as | grep MPTcpExtMPPrioRx | awk '{print $2}'` - [ -z "$count" ] && count=0 - if [ "$count" != "$mp_prio_nr_rx" ]; then + count=$(get_counter ${ns1} "MPTcpExtMPPrioRx") + if [ -z "$count" ]; then + echo "[skip]" + elif [ "$count" != "$mp_prio_nr_rx" ]; then echo "[fail] got $count MP_PRIO[s] RX expected $mp_prio_nr_rx" ret=1 dump_stats=1 diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_lib.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_lib.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -40,0 +41,64 @@ + +mptcp_lib_check_kallsyms() { + if ! mptcp_lib_has_file "/proc/kallsyms"; then + echo "SKIP: CONFIG_KALLSYMS is missing" + exit ${KSFT_SKIP} + fi +} + +# Internal: use mptcp_lib_kallsyms_has() instead +__mptcp_lib_kallsyms_has() { + local sym="${1}" + + mptcp_lib_check_kallsyms + + grep -q " ${sym}" /proc/kallsyms +} + +# $1: part of a symbol to look at, add '$' at the end for full name +mptcp_lib_kallsyms_has() { + local sym="${1}" + + if __mptcp_lib_kallsyms_has "${sym}"; then + return 0 + fi + + mptcp_lib_fail_if_expected_feature "${sym} symbol not found" +} + +# $1: part of a symbol to look at, add '$' at the end for full name +mptcp_lib_kallsyms_doesnt_have() { + local sym="${1}" + + if ! __mptcp_lib_kallsyms_has "${sym}"; then + return 0 + fi + + mptcp_lib_fail_if_expected_feature "${sym} symbol has been found" +} + +# !!!AVOID USING THIS!!! +# Features might not land in the expected version and features can be backported +# +# $1: kernel version, e.g. 6.3 +mptcp_lib_kversion_ge() { + local exp_maj="${1%.*}" + local exp_min="${1#*.}" + local v maj min + + # If the kernel has backported features, set this env var to 1: + if [ "${SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK:-}" = "1" ]; then + return 0 + fi + + v=$(uname -r | cut -d'.' -f1,2) + maj=${v%.*} + min=${v#*.} + + if [ "${maj}" -gt "${exp_maj}" ] || + { [ "${maj}" -eq "${exp_maj}" ] && [ "${min}" -ge "${exp_min}" ]; }; then + return 0 + fi + + mptcp_lib_fail_if_expected_feature "kernel version ${1} lower than ${v}" +} diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -119,6 +119,7 @@ for v in $values; do if [ $v -ne 0 ]; then echo "FAIL: got $tables $values in ns $ns , not 0 - not all expected packets marked" 1>&2 + ret=1 return 1 fi done @@ -213,11 +214,11 @@ fi if [ $local_addr = "::" ];then - check_mark $listener_ns 6 - check_mark $connector_ns 6 + check_mark $listener_ns 6 || retc=1 + check_mark $connector_ns 6 || retc=1 else - check_mark $listener_ns 4 - check_mark $connector_ns 4 + check_mark $listener_ns 4 || retc=1 + check_mark $connector_ns 4 || retc=1 fi check_transfer $cin $sout "file received by server" diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/pm_netlink.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/pm_netlink.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -73,8 +73,12 @@ } check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults addr list" -check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 + +default_limits="$(ip netns exec $ns1 ./pm_nl_ctl limits)" +if mptcp_lib_expect_all_features; then + check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 subflows 0" "defaults limits" +fi ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 flags subflow dev lo @@ -121,12 +125,10 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush addrs" ip netns exec $ns1 ./pm_nl_ctl limits 9 1 -check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 0" "rcv addrs above hard limit" +check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "rcv addrs above hard limit" ip netns exec $ns1 ./pm_nl_ctl limits 1 9 -check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 0" "subflows above hard limit" +check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "subflows above hard limit" ip netns exec $ns1 ./pm_nl_ctl limits 8 8 check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 8 diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/rtnetlink.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/rtnetlink.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/rtnetlink.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/rtnetlink.sh @@ -835,6 +835,7 @@ fi # clean up any leftovers + echo 0 > /sys/bus/netdevsim/del_device $probed && rmmod netdevsim if [ $ret -ne 0 ]; then diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/tls.c linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/tls.c --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/tls.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/tls.c @@ -25,6 +25,8 @@ #define TLS_PAYLOAD_MAX_LEN 16384 #define SOL_TLS 282 +static int fips_enabled; + struct tls_crypto_info_keys { union { struct tls12_crypto_info_aes_gcm_128 aes128; @@ -146,6 +148,7 @@ { uint16_t tls_version; uint16_t cipher_type; + bool fips_non_compliant; }; FIXTURE_VARIANT_ADD(tls, 12_gcm) @@ -164,12 +167,14 @@ { .tls_version = TLS_1_2_VERSION, .cipher_type = TLS_CIPHER_CHACHA20_POLY1305, + .fips_non_compliant = true, }; FIXTURE_VARIANT_ADD(tls, 13_chacha) { .tls_version = TLS_1_3_VERSION, .cipher_type = TLS_CIPHER_CHACHA20_POLY1305, + .fips_non_compliant = true, }; FIXTURE_SETUP(tls) @@ -182,6 +187,9 @@ self->notls = false; len = sizeof(addr); + if (fips_enabled && variant->fips_non_compliant) + SKIP(return, "Unsupported cipher in FIPS mode"); + tls_crypto_info_init(variant->tls_version, variant->cipher_type, &tls12); @@ -1338,2 +1346,15 @@ +static void __attribute__((constructor)) fips_check(void) { + int res; + FILE *f; + + f = fopen("/proc/sys/crypto/fips_enabled", "r"); + if (f) { + res = fscanf(f, "%d", &fips_enabled); + if (res != 1) + ksft_print_msg("ERROR: Couldn't read /proc/sys/crypto/fips_enabled\n"); + fclose(f); + } +} + TEST_HARNESS_MAIN diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/ptp/testptp.c linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/ptp/testptp.c --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/ptp/testptp.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/ptp/testptp.c @@ -671,11 +671,11 @@ interval = t2 - t1; offset = (t2 + t1) / 2 - tp; - printf("system time: %lld.%u\n", + printf("system time: %lld.%09u\n", (pct+2*i)->sec, (pct+2*i)->nsec); - printf("phc time: %lld.%u\n", + printf("phc time: %lld.%09u\n", (pct+2*i+1)->sec, (pct+2*i+1)->nsec); - printf("system time: %lld.%u\n", + printf("system time: %lld.%09u\n", (pct+2*i+2)->sec, (pct+2*i+2)->nsec); printf("system/phc clock time offset is %" PRId64 " ns\n" "system clock time delay is %" PRId64 " ns\n", diff -u linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/wireguard/netns.sh linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/wireguard/netns.sh --- linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/wireguard/netns.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/wireguard/netns.sh @@ -502,10 +502,32 @@ n1 ping -W 1 -c 1 192.168.241.2 [[ $(n2 wg show wg0 endpoints) == "$pub1 10.0.0.3:1" ]] -ip1 link del veth1 -ip1 link del veth3 -ip1 link del wg0 -ip2 link del wg0 +ip1 link del dev veth3 +ip1 link del dev wg0 +ip2 link del dev wg0 + +# Make sure persistent keep alives are sent when an adapter comes up +ip1 link add dev wg0 type wireguard +n1 wg set wg0 private-key <(echo "$key1") peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1 +read _ _ tx_bytes < <(n1 wg show wg0 transfer) +[[ $tx_bytes -eq 0 ]] +ip1 link set dev wg0 up +read _ _ tx_bytes < <(n1 wg show wg0 transfer) +[[ $tx_bytes -gt 0 ]] +ip1 link del dev wg0 +# This should also happen even if the private key is set later +ip1 link add dev wg0 type wireguard +n1 wg set wg0 peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1 +read _ _ tx_bytes < <(n1 wg show wg0 transfer) +[[ $tx_bytes -eq 0 ]] +ip1 link set dev wg0 up +read _ _ tx_bytes < <(n1 wg show wg0 transfer) +[[ $tx_bytes -eq 0 ]] +n1 wg set wg0 private-key <(echo "$key1") +read _ _ tx_bytes < <(n1 wg show wg0 transfer) +[[ $tx_bytes -gt 0 ]] +ip1 link del dev veth1 +ip1 link del dev wg0 # We test that Netlink/IPC is working properly by doing things that usually cause split responses ip0 link add dev wg0 type wireguard diff -u linux-intel-iotg-5.15-5.15.0/virt/kvm/kvm_main.c linux-intel-iotg-5.15-5.15.0/virt/kvm/kvm_main.c --- linux-intel-iotg-5.15-5.15.0/virt/kvm/kvm_main.c +++ linux-intel-iotg-5.15-5.15.0/virt/kvm/kvm_main.c @@ -636,6 +636,24 @@ return __kvm_handle_hva_range(kvm, &range); } + +static bool kvm_change_spte_gfn(struct kvm *kvm, struct kvm_gfn_range *range) +{ + /* + * Skipping invalid memslots is correct if and only change_pte() is + * surrounded by invalidate_range_{start,end}(), which is currently + * guaranteed by the primary MMU. If that ever changes, KVM needs to + * unmap the memslot instead of skipping the memslot to ensure that KVM + * doesn't hold references to the old PFN. + */ + WARN_ON_ONCE(!READ_ONCE(kvm->mn_active_invalidate_count)); + + if (range->slot->flags & KVM_MEMSLOT_INVALID) + return false; + + return kvm_set_spte_gfn(kvm, range); +} + static void kvm_mmu_notifier_change_pte(struct mmu_notifier *mn, struct mm_struct *mm, unsigned long address, @@ -656,7 +674,7 @@ if (!READ_ONCE(kvm->mmu_notifier_count)) return; - kvm_handle_hva_range(mn, address, address + 1, pte, kvm_set_spte_gfn); + kvm_handle_hva_range(mn, address, address + 1, pte, kvm_change_spte_gfn); } void kvm_inc_notifier_count(struct kvm *kvm, unsigned long start, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/admin-guide/device-mapper/dm-init.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/device-mapper/dm-init.rst @@ -123,3 +123,11 @@ 0 1638400 verity 1 8:1 8:2 4096 4096 204800 1 sha256 fb1a5a0f00deb908d8b53cb270858975e76cf64105d412ce764225d53b8f3cfd 51934789604d1b92399c52e7cb149d1b3a1b74bbbcb103b2a0aaacbed5c08584 + +For setups using device-mapper on top of asynchronously probed block +devices (MMC, USB, ..), it may be necessary to tell dm-init to +explicitly wait for them to become available before setting up the +device-mapper tables. This can be done with the "dm-mod.waitfor=" +module parameter, which takes a list of devices to wait for:: + + dm-mod.waitfor=[,..,] only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/admin-guide/hw-vuln/srso.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/admin-guide/hw-vuln/srso.rst @@ -0,0 +1,133 @@ +.. SPDX-License-Identifier: GPL-2.0 + +Speculative Return Stack Overflow (SRSO) +======================================== + +This is a mitigation for the speculative return stack overflow (SRSO) +vulnerability found on AMD processors. The mechanism is by now the well +known scenario of poisoning CPU functional units - the Branch Target +Buffer (BTB) and Return Address Predictor (RAP) in this case - and then +tricking the elevated privilege domain (the kernel) into leaking +sensitive data. + +AMD CPUs predict RET instructions using a Return Address Predictor (aka +Return Address Stack/Return Stack Buffer). In some cases, a non-architectural +CALL instruction (i.e., an instruction predicted to be a CALL but is +not actually a CALL) can create an entry in the RAP which may be used +to predict the target of a subsequent RET instruction. + +The specific circumstances that lead to this varies by microarchitecture +but the concern is that an attacker can mis-train the CPU BTB to predict +non-architectural CALL instructions in kernel space and use this to +control the speculative target of a subsequent kernel RET, potentially +leading to information disclosure via a speculative side-channel. + +The issue is tracked under CVE-2023-20569. + +Affected processors +------------------- + +AMD Zen, generations 1-4. That is, all families 0x17 and 0x19. Older +processors have not been investigated. + +System information and options +------------------------------ + +First of all, it is required that the latest microcode be loaded for +mitigations to be effective. + +The sysfs file showing SRSO mitigation status is: + + /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow + +The possible values in this file are: + + - 'Not affected' The processor is not vulnerable + + - 'Vulnerable: no microcode' The processor is vulnerable, no + microcode extending IBPB functionality + to address the vulnerability has been + applied. + + - 'Mitigation: microcode' Extended IBPB functionality microcode + patch has been applied. It does not + address User->Kernel and Guest->Host + transitions protection but it does + address User->User and VM->VM attack + vectors. + + (spec_rstack_overflow=microcode) + + - 'Mitigation: safe RET' Software-only mitigation. It complements + the extended IBPB microcode patch + functionality by addressing User->Kernel + and Guest->Host transitions protection. + + Selected by default or by + spec_rstack_overflow=safe-ret + + - 'Mitigation: IBPB' Similar protection as "safe RET" above + but employs an IBPB barrier on privilege + domain crossings (User->Kernel, + Guest->Host). + + (spec_rstack_overflow=ibpb) + + - 'Mitigation: IBPB on VMEXIT' Mitigation addressing the cloud provider + scenario - the Guest->Host transitions + only. + + (spec_rstack_overflow=ibpb-vmexit) + +In order to exploit vulnerability, an attacker needs to: + + - gain local access on the machine + + - break kASLR + + - find gadgets in the running kernel in order to use them in the exploit + + - potentially create and pin an additional workload on the sibling + thread, depending on the microarchitecture (not necessary on fam 0x19) + + - run the exploit + +Considering the performance implications of each mitigation type, the +default one is 'Mitigation: safe RET' which should take care of most +attack vectors, including the local User->Kernel one. + +As always, the user is advised to keep her/his system up-to-date by +applying software updates regularly. + +The default setting will be reevaluated when needed and especially when +new attack vectors appear. + +As one can surmise, 'Mitigation: safe RET' does come at the cost of some +performance depending on the workload. If one trusts her/his userspace +and does not want to suffer the performance impact, one can always +disable the mitigation with spec_rstack_overflow=off. + +Similarly, 'Mitigation: IBPB' is another full mitigation type employing +an indrect branch prediction barrier after having applied the required +microcode patch for one's system. This mitigation comes also at +a performance cost. + +Mitigation: safe RET +-------------------- + +The mitigation works by ensuring all RET instructions speculate to +a controlled location, similar to how speculation is controlled in the +retpoline sequence. To accomplish this, the __x86_return_thunk forces +the CPU to mispredict every function return using a 'safe return' +sequence. + +To ensure the safety of this mitigation, the kernel must ensure that the +safe return sequence is itself free from attacker interference. In Zen3 +and Zen4, this is accomplished by creating a BTB alias between the +untraining function srso_alias_untrain_ret() and the safe return +function srso_alias_safe_ret() which results in evicting a potentially +poisoned BTB entry and using that safe one for all function returns. + +In older Zen1 and Zen2, this is accomplished using a reinterpretation +technique similar to Retbleed one: srso_untrain_ret() and +srso_safe_ret(). only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/devicetree/overlay-notes.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/devicetree/overlay-notes.rst @@ -119,10 +119,32 @@ of_overlay_remove_all() which will remove every single one in the correct order. -In addition, there is the option to register notifiers that get called on +There is the option to register notifiers that get called on overlay operations. See of_overlay_notifier_register/unregister and enum of_overlay_notify_action for details. -Note that a notifier callback is not supposed to store pointers to a device -tree node or its content beyond OF_OVERLAY_POST_REMOVE corresponding to the -respective node it received. +A notifier callback for OF_OVERLAY_PRE_APPLY, OF_OVERLAY_POST_APPLY, or +OF_OVERLAY_PRE_REMOVE may store pointers to a device tree node in the overlay +or its content but these pointers must not persist past the notifier callback +for OF_OVERLAY_POST_REMOVE. The memory containing the overlay will be +kfree()ed after OF_OVERLAY_POST_REMOVE notifiers are called. Note that the +memory will be kfree()ed even if the notifier for OF_OVERLAY_POST_REMOVE +returns an error. + +The changeset notifiers in drivers/of/dynamic.c are a second type of notifier +that could be triggered by applying or removing an overlay. These notifiers +are not allowed to store pointers to a device tree node in the overlay +or its content. The overlay code does not protect against such pointers +remaining active when the memory containing the overlay is freed as a result +of removing the overlay. + +Any other code that retains a pointer to the overlay nodes or data is +considered to be a bug because after removing the overlay the pointer +will refer to freed memory. + +Users of overlays must be especially aware of the overall operations that +occur on the system to ensure that other kernel code does not retain any +pointers to the overlay nodes or data. Any example of an inadvertent use +of such pointers is if a driver or subsystem module is loaded after an +overlay has been applied, and the driver or subsystem scans the entire +devicetree or a large portion of it, including the overlay nodes. only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/filesystems/autofs-mount-control.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/filesystems/autofs-mount-control.rst @@ -196,7 +196,7 @@ struct args_ismountpoint ismountpoint; }; - char path[0]; + char path[]; }; The ioctlfd field is a mount point file descriptor of an autofs mount only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/filesystems/autofs.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/filesystems/autofs.rst @@ -467,7 +467,7 @@ struct args_ismountpoint ismountpoint; }; - char path[0]; + char path[]; }; For the **OPEN_MOUNT** and **IS_MOUNTPOINT** commands, the target only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/filesystems/directory-locking.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/filesystems/directory-locking.rst @@ -22,12 +22,11 @@ 3) object removal. Locking rules: caller locks parent, finds victim, locks victim and calls the method. Locks are exclusive. -4) rename() that is _not_ cross-directory. Locking rules: caller locks -the parent and finds source and target. In case of exchange (with -RENAME_EXCHANGE in flags argument) lock both. In any case, -if the target already exists, lock it. If the source is a non-directory, -lock it. If we need to lock both, lock them in inode pointer order. -Then call the method. All locks are exclusive. +4) rename() that is _not_ cross-directory. Locking rules: caller locks the +parent and finds source and target. We lock both (provided they exist). If we +need to lock two inodes of different type (dir vs non-dir), we lock directory +first. If we need to lock two inodes of the same type, lock them in inode +pointer order. Then call the method. All locks are exclusive. NB: we might get away with locking the source (and target in exchange case) shared. @@ -44,15 +43,17 @@ rules: * lock the filesystem - * lock parents in "ancestors first" order. + * lock parents in "ancestors first" order. If one is not ancestor of + the other, lock them in inode pointer order. * find source and target. * if old parent is equal to or is a descendent of target fail with -ENOTEMPTY * if new parent is equal to or is a descendent of source fail with -ELOOP - * If it's an exchange, lock both the source and the target. - * If the target exists, lock it. If the source is a non-directory, - lock it. If we need to lock both, do so in inode pointer order. + * Lock both the source and the target provided they exist. If we + need to lock two inodes of different type (dir vs non-dir), we lock + the directory first. If we need to lock two inodes of the same type, + lock them in inode pointer order. * call the method. All ->i_rwsem are taken exclusive. Again, we might get away with locking @@ -66,8 +67,9 @@ Proof: - First of all, at any moment we have a partial ordering of the - objects - A < B iff A is an ancestor of B. + First of all, at any moment we have a linear ordering of the + objects - A < B iff (A is an ancestor of B) or (B is not an ancestor + of A and ptr(A) < ptr(B)). That ordering can change. However, the following is true: only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/networking/af_xdp.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/networking/af_xdp.rst @@ -433,6 +433,15 @@ application to use. The final option is the flags field, but it will be dealt with in separate sections for each UMEM flag. +SO_BINDTODEVICE setsockopt +-------------------------- + +This is a generic SOL_SOCKET option that can be used to tie AF_XDP +socket to a particular network interface. It is useful when a socket +is created by a privileged process and passed to a non-privileged one. +Once the option is set, kernel will refuse attempts to bind that socket +to a different interface. Updating the value requires CAP_NET_RAW. + XDP_STATISTICS getsockopt ------------------------- only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/networking/index.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/networking/index.rst @@ -46,7 +46,6 @@ cdc_mbim dccp dctcp - decnet dns_resolver driver eql only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/Documentation/userspace-api/ioctl/ioctl-number.rst +++ linux-intel-iotg-5.15-5.15.0/Documentation/userspace-api/ioctl/ioctl-number.rst @@ -304,7 +304,6 @@ 0x89 00-06 arch/x86/include/asm/sockios.h 0x89 0B-DF linux/sockios.h 0x89 E0-EF linux/sockios.h SIOCPROTOPRIVATE range -0x89 E0-EF linux/dn.h PROTOPRIVATE range 0x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range 0x8B all linux/wireless.h 0x8C 00-3F WiNRADiO driver only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arc/include/asm/linkage.h +++ linux-intel-iotg-5.15-5.15.0/arch/arc/include/asm/linkage.h @@ -8,6 +8,10 @@ #include +#define ASM_NL ` /* use '`' to mark new line in macro */ +#define __ALIGN .align 4 +#define __ALIGN_STR __stringify(__ALIGN) + #ifdef __ASSEMBLY__ .macro ST2 e, o, off @@ -28,10 +32,6 @@ #endif .endm -#define ASM_NL ` /* use '`' to mark new line in macro */ -#define __ALIGN .align 4 -#define __ALIGN_STR __stringify(__ALIGN) - /* annotation for data we want in DCCM - if enabled in .config */ .macro ARCFP_DATA nm #ifdef CONFIG_ARC_HAS_DCCM only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -527,7 +527,7 @@ interrupt-parent = <&gpio1>; interrupts = <31 0>; - pendown-gpio = <&gpio1 31 0>; + pendown-gpio = <&gpio1 31 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <0x0>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/at91sam9261ek.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/at91sam9261ek.dts @@ -156,7 +156,7 @@ compatible = "ti,ads7843"; interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>; spi-max-frequency = <3000000>; - pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&pioC 2 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <150>; ti,x-max = /bits/ 16 <3830>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/iwg20d-q7-common.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/iwg20d-q7-common.dtsi @@ -49,7 +49,7 @@ lcd_backlight: backlight { compatible = "pwm-backlight"; - pwms = <&pwm3 0 5000000 0>; + pwms = <&pwm3 0 5000000>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; enable-gpios = <&gpio5 14 GPIO_ACTIVE_HIGH>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap3-cm-t3x.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap3-cm-t3x.dtsi @@ -227,7 +227,7 @@ interrupt-parent = <&gpio2>; interrupts = <25 0>; /* gpio_57 */ - pendown-gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio2 25 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <0x0>; ti,x-max = /bits/ 16 <0x0fff>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi @@ -54,7 +54,7 @@ interrupt-parent = <&gpio1>; interrupts = <27 0>; /* gpio_27 */ - pendown-gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio1 27 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <0x0>; ti,x-max = /bits/ 16 <0x0fff>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap3-gta04a5one.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap3-gta04a5one.dts @@ -5,9 +5,11 @@ #include "omap3-gta04a5.dts" -&omap3_pmx_core { +/ { model = "Goldelico GTA04A5/Letux 2804 with OneNAND"; +}; +&omap3_pmx_core { gpmc_pins: pinmux_gpmc_pins { pinctrl-single,pins = < only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap3-lilly-a83x.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap3-lilly-a83x.dtsi @@ -311,7 +311,7 @@ interrupt-parent = <&gpio1>; interrupts = <8 0>; /* boot6 / gpio_8 */ spi-max-frequency = <1000000>; - pendown-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>; vcc-supply = <®_vcc3>; pinctrl-names = "default"; pinctrl-0 = <&tsc2048_pins>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi @@ -149,7 +149,7 @@ interrupt-parent = <&gpio4>; interrupts = <18 0>; /* gpio_114 */ - pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <0x0>; ti,x-max = /bits/ 16 <0x0fff>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi @@ -160,7 +160,7 @@ interrupt-parent = <&gpio4>; interrupts = <18 0>; /* gpio_114 */ - pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <0x0>; ti,x-max = /bits/ 16 <0x0fff>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap3-pandora-common.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap3-pandora-common.dtsi @@ -651,7 +651,7 @@ pinctrl-0 = <&penirq_pins>; interrupt-parent = <&gpio3>; interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */ - pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio3 30 GPIO_ACTIVE_LOW>; vcc-supply = <&vaux4>; ti,x-min = /bits/ 16 <0>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/omap5-cm-t54.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/omap5-cm-t54.dts @@ -354,7 +354,7 @@ interrupt-parent = <&gpio1>; interrupts = <15 0>; /* gpio1_wk15 */ - pendown-gpio = <&gpio1 15 GPIO_ACTIVE_HIGH>; + pendown-gpio = <&gpio1 15 GPIO_ACTIVE_LOW>; ti,x-min = /bits/ 16 <0x0>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts @@ -11,9 +11,9 @@ dma@7984000 { status = "okay"; }; - - qpic-nand@79b0000 { - status = "okay"; - }; }; }; + +&nand { + status = "okay"; +}; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi @@ -102,10 +102,10 @@ status = "okay"; perst-gpio = <&tlmm 38 0x1>; }; - - qpic-nand@79b0000 { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - }; }; }; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; +}; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi @@ -65,11 +65,11 @@ dma@7984000 { status = "okay"; }; - - qpic-nand@79b0000 { - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - status = "okay"; - }; }; }; + +&nand { + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "okay"; +}; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi @@ -137,10 +137,13 @@ sound { compatible = "audio-graph-card"; - routing = - "MIC_IN", "Capture", - "Capture", "Mic Bias", - "Playback", "HP_OUT"; + widgets = "Headphone", "Headphone Jack", + "Line", "Line In Jack", + "Microphone", "Microphone Jack"; + routing = "Headphone Jack", "HP_OUT", + "LINE_IN", "Line In Jack", + "MIC_IN", "Microphone Jack", + "Microphone Jack", "Mic Bias"; dais = <&sai2a_port &sai2b_port>; status = "okay"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/boot/dts/vexpress-v2p-ca5s.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm/boot/dts/vexpress-v2p-ca5s.dts @@ -132,6 +132,7 @@ reg = <0x2c0f0000 0x1000>; interrupts = <0 84 4>; cache-level = <2>; + cache-unified; }; pmu { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/include/asm/sync_bitops.h +++ linux-intel-iotg-5.15-5.15.0/arch/arm/include/asm/sync_bitops.h @@ -14,14 +14,35 @@ * ops which are SMP safe even on a UP kernel. */ +/* + * Unordered + */ + #define sync_set_bit(nr, p) _set_bit(nr, p) #define sync_clear_bit(nr, p) _clear_bit(nr, p) #define sync_change_bit(nr, p) _change_bit(nr, p) -#define sync_test_and_set_bit(nr, p) _test_and_set_bit(nr, p) -#define sync_test_and_clear_bit(nr, p) _test_and_clear_bit(nr, p) -#define sync_test_and_change_bit(nr, p) _test_and_change_bit(nr, p) #define sync_test_bit(nr, addr) test_bit(nr, addr) -#define arch_sync_cmpxchg arch_cmpxchg +/* + * Fully ordered + */ + +int _sync_test_and_set_bit(int nr, volatile unsigned long * p); +#define sync_test_and_set_bit(nr, p) _sync_test_and_set_bit(nr, p) + +int _sync_test_and_clear_bit(int nr, volatile unsigned long * p); +#define sync_test_and_clear_bit(nr, p) _sync_test_and_clear_bit(nr, p) + +int _sync_test_and_change_bit(int nr, volatile unsigned long * p); +#define sync_test_and_change_bit(nr, p) _sync_test_and_change_bit(nr, p) + +#define arch_sync_cmpxchg(ptr, old, new) \ +({ \ + __typeof__(*(ptr)) __ret; \ + __smp_mb__before_atomic(); \ + __ret = arch_cmpxchg_relaxed((ptr), (old), (new)); \ + __smp_mb__after_atomic(); \ + __ret; \ +}) #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/lib/bitops.h +++ linux-intel-iotg-5.15-5.15.0/arch/arm/lib/bitops.h @@ -28,7 +28,7 @@ ENDPROC(\name ) .endm - .macro testop, name, instr, store + .macro __testop, name, instr, store, barrier ENTRY( \name ) UNWIND( .fnstart ) ands ip, r1, #3 @@ -38,7 +38,7 @@ mov r0, r0, lsr #5 add r1, r1, r0, lsl #2 @ Get word offset mov r3, r2, lsl r3 @ create mask - smp_dmb + \barrier #if __LINUX_ARM_ARCH__ >= 7 && defined(CONFIG_SMP) .arch_extension mp ALT_SMP(W(pldw) [r1]) @@ -50,13 +50,21 @@ strex ip, r2, [r1] cmp ip, #0 bne 1b - smp_dmb + \barrier cmp r0, #0 movne r0, #1 2: bx lr UNWIND( .fnend ) ENDPROC(\name ) .endm + + .macro testop, name, instr, store + __testop \name, \instr, \store, smp_dmb + .endm + + .macro sync_testop, name, instr, store + __testop \name, \instr, \store, __smp_dmb + .endm #else .macro bitop, name, instr ENTRY( \name ) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/lib/testchangebit.S +++ linux-intel-iotg-5.15-5.15.0/arch/arm/lib/testchangebit.S @@ -10,3 +10,7 @@ .text testop _test_and_change_bit, eor, str + +#if __LINUX_ARM_ARCH__ >= 6 +sync_testop _sync_test_and_change_bit, eor, str +#endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/lib/testclearbit.S +++ linux-intel-iotg-5.15-5.15.0/arch/arm/lib/testclearbit.S @@ -10,3 +10,7 @@ .text testop _test_and_clear_bit, bicne, strne + +#if __LINUX_ARM_ARCH__ >= 6 +sync_testop _sync_test_and_clear_bit, bicne, strne +#endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/lib/testsetbit.S +++ linux-intel-iotg-5.15-5.15.0/arch/arm/lib/testsetbit.S @@ -10,3 +10,7 @@ .text testop _test_and_set_bit, orreq, streq + +#if __LINUX_ARM_ARCH__ >= 6 +sync_testop _sync_test_and_set_bit, orreq, streq +#endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/mach-ep93xx/timer-ep93xx.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm/mach-ep93xx/timer-ep93xx.c @@ -9,6 +9,7 @@ #include #include #include "soc.h" +#include "platform.h" /************************************************************************* * Timer handling for EP93xx @@ -60,7 +61,7 @@ return ret; } -u64 ep93xx_clocksource_read(struct clocksource *c) +static u64 ep93xx_clocksource_read(struct clocksource *c) { u64 ret; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/mach-omap2/board-generic.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm/mach-omap2/board-generic.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/mach-orion5x/board-dt.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm/mach-orion5x/board-dt.c @@ -63,6 +63,9 @@ if (of_machine_is_compatible("maxtor,shared-storage-2")) mss2_init(); + if (of_machine_is_compatible("lacie,d2-network")) + d2net_init(); + of_platform_default_populate(NULL, orion5x_auxdata_lookup, NULL); } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/mach-orion5x/common.h +++ linux-intel-iotg-5.15-5.15.0/arch/arm/mach-orion5x/common.h @@ -75,6 +75,12 @@ static inline void mss2_init(void) {} #endif +#ifdef CONFIG_MACH_D2NET_DT +void d2net_init(void); +#else +static inline void d2net_init(void) {} +#endif + /***************************************************************************** * Helpers to access Orion registers ****************************************************************************/ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/probes/kprobes/checkers-common.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/checkers-common.c @@ -40,7 +40,7 @@ * Different from other insn uses imm8, the real addressing offset of * STRD in T32 encoding should be imm8 * 4. See ARMARM description. */ -enum probes_insn checker_stack_use_t32strd(probes_opcode_t insn, +static enum probes_insn checker_stack_use_t32strd(probes_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *h) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/probes/kprobes/opt-arm.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/opt-arm.c @@ -145,8 +145,6 @@ } } -extern void kprobe_handler(struct pt_regs *regs); - static void optimized_callback(struct optimized_kprobe *op, struct pt_regs *regs) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/probes/kprobes/test-core.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/test-core.c @@ -720,7 +720,7 @@ [REG_TYPE_NOSPPCX] = COVERAGE_ANY_REG | COVERAGE_SP, }; -unsigned coverage_start_registers(const struct decode_header *h) +static unsigned coverage_start_registers(const struct decode_header *h) { unsigned regs = 0; int i; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm/probes/kprobes/test-core.h +++ linux-intel-iotg-5.15-5.15.0/arch/arm/probes/kprobes/test-core.h @@ -454,3 +454,7 @@ #else void kprobe_arm_test_cases(void); #endif + +void __kprobes_test_case_start(void); +void __kprobes_test_case_end_16(void); +void __kprobes_test_case_end_32(void); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi @@ -26,6 +26,8 @@ clocks = <&uart0_lpcg IMX_LPCG_CLK_4>, <&uart0_lpcg IMX_LPCG_CLK_0>; clock-names = "ipg", "baud"; + assigned-clocks = <&clk IMX_SC_R_UART_0 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <80000000>; power-domains = <&pd IMX_SC_R_UART_0>; status = "disabled"; }; @@ -36,6 +38,8 @@ clocks = <&uart1_lpcg IMX_LPCG_CLK_4>, <&uart1_lpcg IMX_LPCG_CLK_0>; clock-names = "ipg", "baud"; + assigned-clocks = <&clk IMX_SC_R_UART_1 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <80000000>; power-domains = <&pd IMX_SC_R_UART_1>; status = "disabled"; }; @@ -46,6 +50,8 @@ clocks = <&uart2_lpcg IMX_LPCG_CLK_4>, <&uart2_lpcg IMX_LPCG_CLK_0>; clock-names = "ipg", "baud"; + assigned-clocks = <&clk IMX_SC_R_UART_2 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <80000000>; power-domains = <&pd IMX_SC_R_UART_2>; status = "disabled"; }; @@ -56,6 +62,8 @@ clocks = <&uart3_lpcg IMX_LPCG_CLK_4>, <&uart3_lpcg IMX_LPCG_CLK_0>; clock-names = "ipg", "baud"; + assigned-clocks = <&clk IMX_SC_R_UART_3 IMX_SC_PM_CLK_PER>; + assigned-clock-rates = <80000000>; power-domains = <&pd IMX_SC_R_UART_3>; status = "disabled"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/freescale/imx8qm-mek.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/freescale/imx8qm-mek.dts @@ -82,8 +82,8 @@ pinctrl-0 = <&pinctrl_usdhc2>; bus-width = <4>; vmmc-supply = <®_usdhc2_vmmc>; - cd-gpios = <&lsio_gpio4 22 GPIO_ACTIVE_LOW>; - wp-gpios = <&lsio_gpio4 21 GPIO_ACTIVE_HIGH>; + cd-gpios = <&lsio_gpio5 22 GPIO_ACTIVE_LOW>; + wp-gpios = <&lsio_gpio5 21 GPIO_ACTIVE_HIGH>; status = "okay"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi @@ -281,6 +281,10 @@ }; }; +&gic { + mediatek,broken-save-restore-fw; +}; + &gpu { mali-supply = <&mt6358_vgpu_reg>; sram-supply = <&mt6358_vsram_gpu_reg>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/microchip/sparx5.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/microchip/sparx5.dtsi @@ -61,7 +61,7 @@ interrupt-affinity = <&cpu0>, <&cpu1>; }; - psci { + psci: psci { compatible = "arm,psci-0.2"; method = "smc"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi @@ -6,6 +6,18 @@ /dts-v1/; #include "sparx5.dtsi" +&psci { + status = "disabled"; +}; + +&cpu0 { + enable-method = "spin-table"; +}; + +&cpu1 { + enable-method = "spin-table"; +}; + &uart0 { status = "okay"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/qcom/apq8016-sbc.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/apq8016-sbc.dts @@ -5,9 +5,847 @@ /dts-v1/; -#include "apq8016-sbc.dtsi" +#include "msm8916-pm8916.dtsi" +#include +#include +#include +#include +#include / { model = "Qualcomm Technologies, Inc. APQ 8016 SBC"; compatible = "qcom,apq8016-sbc", "qcom,apq8016"; + + aliases { + serial0 = &blsp1_uart2; + serial1 = &blsp1_uart1; + usid0 = &pm8916_0; + i2c0 = &blsp_i2c2; + i2c1 = &blsp_i2c6; + i2c3 = &blsp_i2c4; + spi0 = &blsp_spi5; + spi1 = &blsp_spi3; + }; + + chosen { + stdout-path = "serial0"; + }; + + camera_vdddo_1v8: camera-vdddo-1v8 { + compatible = "regulator-fixed"; + regulator-name = "camera_vdddo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + camera_vdda_2v8: camera-vdda-2v8 { + compatible = "regulator-fixed"; + regulator-name = "camera_vdda"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + }; + + camera_vddd_1v5: camera-vddd-1v5 { + compatible = "regulator-fixed"; + regulator-name = "camera_vddd"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + }; + + reserved-memory { + ramoops@bff00000 { + compatible = "ramoops"; + reg = <0x0 0xbff00000 0x0 0x100000>; + + record-size = <0x20000>; + console-size = <0x20000>; + ftrace-size = <0x20000>; + }; + }; + + usb2513 { + compatible = "smsc,usb3503"; + reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>; + initial-mode = <1>; + }; + + usb_id: usb-id { + compatible = "linux,extcon-usb-gpio"; + id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb_id_default>; + }; + + hdmi-out { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&adv7533_out>; + }; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + autorepeat; + + pinctrl-names = "default"; + pinctrl-0 = <&msm_key_volp_n_default>; + + button@0 { + label = "Volume Up"; + linux,code = ; + gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + pinctrl-names = "default"; + pinctrl-0 = <&msmgpio_leds>, + <&pm8916_gpios_leds>, + <&pm8916_mpps_leds>; + + compatible = "gpio-leds"; + + led@1 { + label = "apq8016-sbc:green:user1"; + gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + default-state = "off"; + }; + + led@2 { + label = "apq8016-sbc:green:user2"; + gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc0"; + default-state = "off"; + }; + + led@3 { + label = "apq8016-sbc:green:user3"; + gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc1"; + default-state = "off"; + }; + + led@4 { + label = "apq8016-sbc:green:user4"; + gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "none"; + panic-indicator; + default-state = "off"; + }; + + led@5 { + label = "apq8016-sbc:yellow:wlan"; + gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tx"; + default-state = "off"; + }; + + led@6 { + label = "apq8016-sbc:blue:bt"; + gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "bluetooth-power"; + default-state = "off"; + }; + }; +}; + +&blsp_dma { + status = "okay"; +}; + +&blsp_i2c2 { + /* On Low speed expansion */ + status = "okay"; + label = "LS-I2C0"; +}; + +&blsp_i2c4 { + /* On High speed expansion */ + status = "okay"; + label = "HS-I2C2"; + + adv_bridge: bridge@39 { + status = "okay"; + + compatible = "adi,adv7533"; + reg = <0x39>; + + interrupt-parent = <&msmgpio>; + interrupts = <31 IRQ_TYPE_EDGE_FALLING>; + + adi,dsi-lanes = <4>; + clocks = <&rpmcc RPM_SMD_BB_CLK2>; + clock-names = "cec"; + + pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>; + + avdd-supply = <&pm8916_l6>; + v1p2-supply = <&pm8916_l6>; + v3p3-supply = <&pm8916_l17>; + + pinctrl-names = "default","sleep"; + pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>; + pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>; + #sound-dai-cells = <1>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + adv7533_in: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + + port@1 { + reg = <1>; + adv7533_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + +&blsp_i2c6 { + /* On Low speed expansion */ + status = "okay"; + label = "LS-I2C1"; +}; + +&blsp_spi3 { + /* On High speed expansion */ + status = "okay"; + label = "HS-SPI1"; +}; + +&blsp_spi5 { + /* On Low speed expansion */ + status = "okay"; + label = "LS-SPI0"; +}; + +&blsp1_uart1 { + status = "okay"; + label = "LS-UART0"; +}; + +&blsp1_uart2 { + status = "okay"; + label = "LS-UART1"; +}; + +&camss { + status = "okay"; + ports { + port@0 { + reg = <0>; + csiphy0_ep: endpoint { + clock-lanes = <1>; + data-lanes = <0 2>; + remote-endpoint = <&ov5640_ep>; + status = "okay"; + }; + }; + }; +}; + +&cci { + status = "okay"; +}; + +&cci_i2c0 { + camera_rear@3b { + compatible = "ovti,ov5640"; + reg = <0x3b>; + + enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>; + reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&camera_rear_default>; + + clocks = <&gcc GCC_CAMSS_MCLK0_CLK>; + clock-names = "xclk"; + clock-frequency = <23880000>; + + vdddo-supply = <&camera_vdddo_1v8>; + vdda-supply = <&camera_vdda_2v8>; + vddd-supply = <&camera_vddd_1v5>; + + /* No camera mezzanine by default */ + status = "disabled"; + + port { + ov5640_ep: endpoint { + clock-lanes = <1>; + data-lanes = <0 2>; + remote-endpoint = <&csiphy0_ep>; + }; + }; + }; +}; + +&dsi0_out { + data-lanes = <0 1 2 3>; + remote-endpoint = <&adv7533_in>; +}; + +&lpass { + status = "okay"; +}; + +&mdss { + status = "okay"; +}; + +&mpss { + status = "okay"; + + firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn"; +}; + +&pm8916_resin { + status = "okay"; + linux,code = ; +}; + +&pronto { + status = "okay"; + + firmware-name = "qcom/apq8016/wcnss.mbn"; +}; + +&sdhc_1 { + status = "okay"; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; + pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; +}; + +&sdhc_2 { + status = "okay"; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; + pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; + + cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>; +}; + +&sound { + status = "okay"; + + pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>; + pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>; + pinctrl-names = "default", "sleep"; + qcom,model = "DB410c"; + qcom,audio-routing = + "AMIC2", "MIC BIAS Internal2", + "AMIC3", "MIC BIAS External1"; + + external-dai-link@0 { + link-name = "ADV7533"; + cpu { + sound-dai = <&lpass MI2S_QUATERNARY>; + }; + codec { + sound-dai = <&adv_bridge 0>; + }; + }; + + internal-codec-playback-dai-link@0 { + link-name = "WCD"; + cpu { + sound-dai = <&lpass MI2S_PRIMARY>; + }; + codec { + sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; + }; + }; + + internal-codec-capture-dai-link@0 { + link-name = "WCD-Capture"; + cpu { + sound-dai = <&lpass MI2S_TERTIARY>; + }; + codec { + sound-dai = <&lpass_codec 1>, <&wcd_codec 1>; + }; + }; +}; + +&usb { + status = "okay"; + extcon = <&usb_id>, <&usb_id>; + + pinctrl-names = "default", "device"; + pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>; + pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>; +}; + +&usb_hs_phy { + extcon = <&usb_id>; +}; + +&wcd_codec { + clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; + clock-names = "mclk"; + qcom,mbhc-vthreshold-low = <75 150 237 450 500>; + qcom,mbhc-vthreshold-high = <75 150 237 450 500>; +}; + +&wcnss_ctrl { + firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin"; +}; + +/* Enable CoreSight */ +&cti0 { status = "okay"; }; +&cti1 { status = "okay"; }; +&cti12 { status = "okay"; }; +&cti13 { status = "okay"; }; +&cti14 { status = "okay"; }; +&cti15 { status = "okay"; }; +&debug0 { status = "okay"; }; +&debug1 { status = "okay"; }; +&debug2 { status = "okay"; }; +&debug3 { status = "okay"; }; +&etf { status = "okay"; }; +&etm0 { status = "okay"; }; +&etm1 { status = "okay"; }; +&etm2 { status = "okay"; }; +&etm3 { status = "okay"; }; +&etr { status = "okay"; }; +&funnel0 { status = "okay"; }; +&funnel1 { status = "okay"; }; +&replicator { status = "okay"; }; +&stm { status = "okay"; }; +&tpiu { status = "okay"; }; + +&smd_rpm_regulators { + vdd_l1_l2_l3-supply = <&pm8916_s3>; + vdd_l4_l5_l6-supply = <&pm8916_s4>; + vdd_l7-supply = <&pm8916_s4>; + + s3 { + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <1350000>; + }; + + s4 { + regulator-min-microvolt = <1850000>; + regulator-max-microvolt = <2150000>; + + regulator-always-on; + regulator-boot-on; + }; + + l1 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + }; + + l2 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + l4 { + regulator-min-microvolt = <2050000>; + regulator-max-microvolt = <2050000>; + }; + + l5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l6 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l8 { + regulator-min-microvolt = <2900000>; + regulator-max-microvolt = <2900000>; + }; + + l9 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + l10 { + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + l11 { + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + regulator-system-load = <200000>; + }; + + l12 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + + l13 { + regulator-min-microvolt = <3075000>; + regulator-max-microvolt = <3075000>; + }; + + l14 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + /* + * The 96Boards specification expects a 1.8V power rail on the low-speed + * expansion connector that is able to provide at least 0.18W / 100 mA. + * L15/L16 are connected in parallel to provide 55 mA each. A minimum load + * must be specified to ensure the regulators are not put in LPM where they + * would only provide 5 mA. + */ + l15 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-system-load = <50000>; + regulator-allow-set-load; + regulator-always-on; + }; + + l16 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-system-load = <50000>; + regulator-allow-set-load; + regulator-always-on; + }; + + l17 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + l18 { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2700000>; + }; +}; + +/* + * 2mA drive strength is not enough when connecting multiple + * I2C devices with different pull up resistors. + */ +&i2c2_default { + drive-strength = <16>; +}; + +&i2c4_default { + drive-strength = <16>; +}; + +&i2c6_default { + drive-strength = <16>; +}; + +/* + * GPIO name legend: proper name = the GPIO line is used as GPIO + * NC = not connected (pin out but not routed from the chip to + * anything the board) + * "[PER]" = pin is muxed for [peripheral] (not GPIO) + * LSEC = Low Speed External Connector + * HSEC = High Speed External Connector + * + * Line names are taken from the schematic "DragonBoard410c" + * dated monday, august 31, 2015. Page 5 in particular. + * + * For the lines routed to the external connectors the + * lines are named after the 96Boards CE Specification 1.0, + * Appendix "Expansion Connector Signal Description". + * + * When the 96Board naming of a line and the schematic name of + * the same line are in conflict, the 96Board specification + * takes precedence, which means that the external UART on the + * LSEC is named UART0 while the schematic and SoC names this + * UART3. This is only for the informational lines i.e. "[FOO]", + * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only + * ones actually used for GPIO. + */ + +&msmgpio { + gpio-line-names = + "[UART0_TX]", /* GPIO_0, LSEC pin 5 */ + "[UART0_RX]", /* GPIO_1, LSEC pin 7 */ + "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */ + "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */ + "[UART1_TX]", /* GPIO_4, LSEC pin 11 */ + "[UART1_RX]", /* GPIO_5, LSEC pin 13 */ + "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */ + "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */ + "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */ + "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */ + "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */ + "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */ + "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */ + "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */ + "[I2C3_SDA]", /* HSEC pin 38 */ + "[I2C3_SCL]", /* HSEC pin 36 */ + "[SPI0_MOSI]", /* LSEC pin 14 */ + "[SPI0_MISO]", /* LSEC pin 10 */ + "[SPI0_CS_N]", /* LSEC pin 12 */ + "[SPI0_CLK]", /* LSEC pin 8 */ + "HDMI_HPD_N", /* GPIO 20 */ + "USR_LED_1_CTRL", + "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */ + "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */ + "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */ + "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */ + "[CSI0_MCLK]", /* HSEC pin 15 */ + "[CSI1_MCLK]", /* HSEC pin 17 */ + "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */ + "[I2C2_SDA]", /* HSEC pin 34 */ + "[I2C2_SCL]", /* HSEC pin 32 */ + "DSI2HDMI_INT_N", + "DSI_SW_SEL_APQ", + "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */ + "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */ + "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */ + "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */ + "FORCED_USB_BOOT", + "SD_CARD_DET_N", + "[WCSS_BT_SSBI]", + "[WCSS_WLAN_DATA_2]", /* GPIO 40 */ + "[WCSS_WLAN_DATA_1]", + "[WCSS_WLAN_DATA_0]", + "[WCSS_WLAN_SET]", + "[WCSS_WLAN_CLK]", + "[WCSS_FM_SSBI]", + "[WCSS_FM_SDI]", + "[WCSS_BT_DAT_CTL]", + "[WCSS_BT_DAT_STB]", + "NC", + "NC", /* GPIO 50 */ + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", /* GPIO 60 */ + "NC", + "NC", + "[CDC_PDM0_CLK]", + "[CDC_PDM0_SYNC]", + "[CDC_PDM0_TX0]", + "[CDC_PDM0_RX0]", + "[CDC_PDM0_RX1]", + "[CDC_PDM0_RX2]", + "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */ + "NC", /* GPIO 70 */ + "NC", + "NC", + "NC", + "NC", /* GPIO 74 */ + "NC", + "NC", + "NC", + "NC", + "NC", + "BOOT_CONFIG_0", /* GPIO 80 */ + "BOOT_CONFIG_1", + "BOOT_CONFIG_2", + "BOOT_CONFIG_3", + "NC", + "NC", + "BOOT_CONFIG_5", + "NC", + "NC", + "NC", + "NC", /* GPIO 90 */ + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", /* GPIO 100 */ + "NC", + "NC", + "NC", + "SSBI_GPS", + "NC", + "NC", + "KEY_VOLP_N", + "NC", + "NC", + "[LS_EXP_MI2S_WS]", /* GPIO 110 */ + "NC", + "NC", + "[LS_EXP_MI2S_SCK]", + "[LS_EXP_MI2S_DATA0]", + "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */ + "NC", + "[DSI2HDMI_MI2S_WS]", + "[DSI2HDMI_MI2S_SCK]", + "[DSI2HDMI_MI2S_DATA0]", + "USR_LED_2_CTRL", /* GPIO 120 */ + "SB_HS_ID"; + + msmgpio_leds: msmgpio-leds { + pins = "gpio21", "gpio120"; + function = "gpio"; + + output-low; + }; + + usb_id_default: usb-id-default { + pins = "gpio121"; + function = "gpio"; + + drive-strength = <8>; + input-enable; + bias-pull-up; + }; + + adv7533_int_active: adv533-int-active { + pins = "gpio31"; + function = "gpio"; + + drive-strength = <16>; + bias-disable; + }; + + adv7533_int_suspend: adv7533-int-suspend { + pins = "gpio31"; + function = "gpio"; + + drive-strength = <2>; + bias-disable; + }; + + adv7533_switch_active: adv7533-switch-active { + pins = "gpio32"; + function = "gpio"; + + drive-strength = <16>; + bias-disable; + }; + + adv7533_switch_suspend: adv7533-switch-suspend { + pins = "gpio32"; + function = "gpio"; + + drive-strength = <2>; + bias-disable; + }; + + msm_key_volp_n_default: msm-key-volp-n-default { + pins = "gpio107"; + function = "gpio"; + + drive-strength = <8>; + input-enable; + bias-pull-up; + }; +}; + +&pm8916_gpios { + gpio-line-names = + "USR_LED_3_CTRL", + "USR_LED_4_CTRL", + "USB_HUB_RESET_N_PM", + "USB_SW_SEL_PM"; + + usb_hub_reset_pm: usb-hub-reset-pm { + pins = "gpio3"; + function = PMIC_GPIO_FUNC_NORMAL; + + input-disable; + output-high; + }; + + usb_hub_reset_pm_device: usb-hub-reset-pm-device { + pins = "gpio3"; + function = PMIC_GPIO_FUNC_NORMAL; + + output-low; + }; + + usb_sw_sel_pm: usb-sw-sel-pm { + pins = "gpio4"; + function = PMIC_GPIO_FUNC_NORMAL; + + power-source = ; + input-disable; + output-high; + }; + + usb_sw_sel_pm_device: usb-sw-sel-pm-device { + pins = "gpio4"; + function = PMIC_GPIO_FUNC_NORMAL; + + power-source = ; + input-disable; + output-low; + }; + + pm8916_gpios_leds: pm8916-gpios-leds { + pins = "gpio1", "gpio2"; + function = PMIC_GPIO_FUNC_NORMAL; + + output-low; + }; +}; + +&pm8916_mpps { + gpio-line-names = + "VDD_PX_BIAS", + "WLAN_LED_CTRL", + "BT_LED_CTRL", + "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */ + + pinctrl-names = "default"; + pinctrl-0 = <&ls_exp_gpio_f>; + + ls_exp_gpio_f: pm8916-mpp4-state { + pins = "mpp4"; + function = "digital"; + + output-low; + power-source = ; // 1.8V + }; + + pm8916_mpps_leds: pm8916-mpps-state { + pins = "mpp2", "mpp3"; + function = "digital"; + + output-low; + }; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/qcom/apq8096-db820c.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/apq8096-db820c.dts @@ -5,9 +5,1077 @@ /dts-v1/; -#include "apq8096-db820c.dtsi" +#include "msm8996.dtsi" +#include "pm8994.dtsi" +#include "pmi8994.dtsi" +#include +#include +#include +#include +#include + +/* + * GPIO name legend: proper name = the GPIO line is used as GPIO + * NC = not connected (pin out but not routed from the chip to + * anything the board) + * "[PER]" = pin is muxed for [peripheral] (not GPIO) + * LSEC = Low Speed External Connector + * P HSEC = Primary High Speed External Connector + * S HSEC = Secondary High Speed External Connector + * J14 = Camera Connector + * TP = Test Points + * + * Line names are taken from the schematic "DragonBoard 820c", + * drawing no: LM25-P2751-1 + * + * For the lines routed to the external connectors the + * lines are named after the 96Boards CE Specification 1.0, + * Appendix "Expansion Connector Signal Description". + * + * When the 96Board naming of a line and the schematic name of + * the same line are in conflict, the 96Board specification + * takes precedence, which means that the external UART on the + * LSEC is named UART0 while the schematic and SoC names this + * UART3. This is only for the informational lines i.e. "[FOO]", + * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only + * ones actually used for GPIO. + */ / { model = "Qualcomm Technologies, Inc. DB820c"; compatible = "arrow,apq8096-db820c", "qcom,apq8096-sbc", "qcom,apq8096"; + + aliases { + serial0 = &blsp2_uart2; + serial1 = &blsp2_uart3; + serial2 = &blsp1_uart2; + i2c0 = &blsp1_i2c3; + i2c1 = &blsp2_i2c1; + i2c2 = &blsp2_i2c1; + spi0 = &blsp1_spi1; + spi1 = &blsp2_spi6; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + clocks { + compatible = "simple-bus"; + divclk4: divclk4 { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + clock-output-names = "divclk4"; + + pinctrl-names = "default"; + pinctrl-0 = <&divclk4_pin_a>; + }; + + div1_mclk: divclk1 { + compatible = "gpio-gate-clock"; + pinctrl-0 = <&audio_mclk>; + pinctrl-names = "default"; + clocks = <&rpmcc RPM_SMD_DIV_CLK1>; + #clock-cells = <0>; + enable-gpios = <&pm8994_gpios 15 0>; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + autorepeat; + + pinctrl-names = "default"; + pinctrl-0 = <&volume_up_gpio>; + + button@0 { + label = "Volume Up"; + linux,code = ; + gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>; + }; + }; + + usb2_id: usb2-id { + compatible = "linux,extcon-usb-gpio"; + id-gpio = <&pmi8994_gpios 6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb2_vbus_det_gpio>; + }; + + usb3_id: usb3-id { + compatible = "linux,extcon-usb-gpio"; + id-gpio = <&pm8994_gpios 22 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb3_vbus_det_gpio>; + }; + + vph_pwr: vph-pwr-regulator { + compatible = "regulator-fixed"; + regulator-name = "vph_pwr"; + regulator-always-on; + regulator-boot-on; + + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + }; + + wlan_en: wlan-en-1-8v { + pinctrl-names = "default"; + pinctrl-0 = <&wlan_en_gpios>; + compatible = "regulator-fixed"; + regulator-name = "wlan-en-regulator"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + gpio = <&pm8994_gpios 8 0>; + + /* WLAN card specific delay */ + startup-delay-us = <70000>; + enable-active-high; + }; +}; + +&blsp1_i2c3 { + /* On Low speed expansion */ + label = "LS-I2C0"; + status = "okay"; +}; + +&blsp1_spi1 { + /* On Low speed expansion */ + label = "LS-SPI0"; + status = "okay"; +}; + +&blsp1_uart2 { + label = "BT-UART"; + status = "okay"; + + bluetooth { + compatible = "qcom,qca6174-bt"; + + /* bt_disable_n gpio */ + enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>; + + clocks = <&divclk4>; + }; +}; + +&adsp_pil { + status = "okay"; +}; + +&blsp2_i2c1 { + /* On High speed expansion */ + label = "HS-I2C2"; + status = "okay"; +}; + +&blsp2_i2c1 { + /* On Low speed expansion */ + label = "LS-I2C1"; + status = "okay"; +}; + +&blsp2_spi6 { + /* On High speed expansion */ + label = "HS-SPI1"; + status = "okay"; +}; + +&blsp2_uart2 { + label = "LS-UART1"; + status = "okay"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&blsp2_uart2_2pins_default>; + pinctrl-1 = <&blsp2_uart2_2pins_sleep>; +}; + +&blsp2_uart3 { + label = "LS-UART0"; + status = "disabled"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&blsp2_uart3_4pins_default>; + pinctrl-1 = <&blsp2_uart3_4pins_sleep>; +}; + +&camss { + vdda-supply = <&vreg_l2a_1p25>; +}; + +&gpu { + status = "okay"; +}; + +&hdmi { + status = "okay"; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_active>; + pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc_suspend>; + + core-vdda-supply = <&vreg_l12a_1p8>; + core-vcc-supply = <&vreg_s4a_1p8>; +}; + +&hdmi_phy { + status = "okay"; + + vddio-supply = <&vreg_l12a_1p8>; + vcca-supply = <&vreg_l28a_0p925>; + #phy-cells = <0>; +}; + +&hsusb_phy1 { + status = "okay"; + + vdda-pll-supply = <&vreg_l12a_1p8>; + vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; +}; + +&hsusb_phy2 { + status = "okay"; + + vdda-pll-supply = <&vreg_l12a_1p8>; + vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; +}; + +&mdp { + status = "okay"; +}; + +&mdss { + status = "okay"; +}; + +&mmcc { + vdd-gfx-supply = <&vdd_gfx>; +}; + +&pm8994_resin { + status = "okay"; + linux,code = ; +}; + +&tlmm { + gpio-line-names = + "[SPI0_DOUT]", /* GPIO_0, BLSP1_SPI_MOSI, LSEC pin 14 */ + "[SPI0_DIN]", /* GPIO_1, BLSP1_SPI_MISO, LSEC pin 10 */ + "[SPI0_CS]", /* GPIO_2, BLSP1_SPI_CS_N, LSEC pin 12 */ + "[SPI0_SCLK]", /* GPIO_3, BLSP1_SPI_CLK, LSEC pin 8 */ + "[UART1_TxD]", /* GPIO_4, BLSP8_UART_TX, LSEC pin 11 */ + "[UART1_RxD]", /* GPIO_5, BLSP8_UART_RX, LSEC pin 13 */ + "[I2C1_SDA]", /* GPIO_6, BLSP8_I2C_SDA, LSEC pin 21 */ + "[I2C1_SCL]", /* GPIO_7, BLSP8_I2C_SCL, LSEC pin 19 */ + "GPIO-H", /* GPIO_8, LCD0_RESET_N, LSEC pin 30 */ + "TP93", /* GPIO_9 */ + "GPIO-G", /* GPIO_10, MDP_VSYNC_P, LSEC pin 29 */ + "[MDP_VSYNC_S]", /* GPIO_11, S HSEC pin 55 */ + "NC", /* GPIO_12 */ + "[CSI0_MCLK]", /* GPIO_13, CAM_MCLK0, P HSEC pin 15 */ + "[CAM_MCLK1]", /* GPIO_14, J14 pin 11 */ + "[CSI1_MCLK]", /* GPIO_15, CAM_MCLK2, P HSEC pin 17 */ + "TP99", /* GPIO_16 */ + "[I2C2_SDA]", /* GPIO_17, CCI_I2C_SDA0, P HSEC pin 34 */ + "[I2C2_SCL]", /* GPIO_18, CCI_I2C_SCL0, P HSEC pin 32 */ + "[CCI_I2C_SDA1]", /* GPIO_19, S HSEC pin 38 */ + "[CCI_I2C_SCL1]", /* GPIO_20, S HSEC pin 36 */ + "FLASH_STROBE_EN", /* GPIO_21, S HSEC pin 5 */ + "FLASH_STROBE_TRIG", /* GPIO_22, S HSEC pin 1 */ + "GPIO-K", /* GPIO_23, CAM2_RST_N, LSEC pin 33 */ + "GPIO-D", /* GPIO_24, LSEC pin 26 */ + "GPIO-I", /* GPIO_25, CAM0_RST_N, LSEC pin 31 */ + "GPIO-J", /* GPIO_26, CAM0_STANDBY_N, LSEC pin 32 */ + "BLSP6_I2C_SDA", /* GPIO_27 */ + "BLSP6_I2C_SCL", /* GPIO_28 */ + "GPIO-B", /* GPIO_29, TS0_RESET_N, LSEC pin 24 */ + "GPIO30", /* GPIO_30, S HSEC pin 4 */ + "HDMI_CEC", /* GPIO_31 */ + "HDMI_DDC_CLOCK", /* GPIO_32 */ + "HDMI_DDC_DATA", /* GPIO_33 */ + "HDMI_HOT_PLUG_DETECT", /* GPIO_34 */ + "PCIE0_RST_N", /* GPIO_35 */ + "PCIE0_CLKREQ_N", /* GPIO_36 */ + "PCIE0_WAKE", /* GPIO_37 */ + "SD_CARD_DET_N", /* GPIO_38 */ + "TSIF1_SYNC", /* GPIO_39, S HSEC pin 48 */ + "W_DISABLE_N", /* GPIO_40 */ + "[BLSP9_UART_TX]", /* GPIO_41 */ + "[BLSP9_UART_RX]", /* GPIO_42 */ + "[BLSP2_UART_CTS_N]", /* GPIO_43 */ + "[BLSP2_UART_RFR_N]", /* GPIO_44 */ + "[BLSP3_UART_TX]", /* GPIO_45 */ + "[BLSP3_UART_RX]", /* GPIO_46 */ + "[I2C0_SDA]", /* GPIO_47, LS_I2C0_SDA, LSEC pin 17 */ + "[I2C0_SCL]", /* GPIO_48, LS_I2C0_SCL, LSEC pin 15 */ + "[UART0_TxD]", /* GPIO_49, BLSP9_UART_TX, LSEC pin 5 */ + "[UART0_RxD]", /* GPIO_50, BLSP9_UART_RX, LSEC pin 7 */ + "[UART0_CTS]", /* GPIO_51, BLSP9_UART_CTS_N, LSEC pin 3 */ + "[UART0_RTS]", /* GPIO_52, BLSP9_UART_RFR_N, LSEC pin 9 */ + "[CODEC_INT1_N]", /* GPIO_53 */ + "[CODEC_INT2_N]", /* GPIO_54 */ + "[BLSP7_I2C_SDA]", /* GPIO_55 */ + "[BLSP7_I2C_SCL]", /* GPIO_56 */ + "MI2S_MCLK", /* GPIO_57, S HSEC pin 3 */ + "[PCM_CLK]", /* GPIO_58, QUA_MI2S_SCK, LSEC pin 18 */ + "[PCM_FS]", /* GPIO_59, QUA_MI2S_WS, LSEC pin 16 */ + "[PCM_DO]", /* GPIO_60, QUA_MI2S_DATA0, LSEC pin 20 */ + "[PCM_DI]", /* GPIO_61, QUA_MI2S_DATA1, LSEC pin 22 */ + "GPIO-E", /* GPIO_62, LSEC pin 27 */ + "TP87", /* GPIO_63 */ + "[CODEC_RST_N]", /* GPIO_64 */ + "[PCM1_CLK]", /* GPIO_65 */ + "[PCM1_SYNC]", /* GPIO_66 */ + "[PCM1_DIN]", /* GPIO_67 */ + "[PCM1_DOUT]", /* GPIO_68 */ + "AUDIO_REF_CLK", /* GPIO_69 */ + "SLIMBUS_CLK", /* GPIO_70 */ + "SLIMBUS_DATA0", /* GPIO_71 */ + "SLIMBUS_DATA1", /* GPIO_72 */ + "NC", /* GPIO_73 */ + "NC", /* GPIO_74 */ + "NC", /* GPIO_75 */ + "NC", /* GPIO_76 */ + "TP94", /* GPIO_77 */ + "NC", /* GPIO_78 */ + "TP95", /* GPIO_79 */ + "GPIO-A", /* GPIO_80, MEMS_RESET_N, LSEC pin 23 */ + "TP88", /* GPIO_81 */ + "TP89", /* GPIO_82 */ + "TP90", /* GPIO_83 */ + "TP91", /* GPIO_84 */ + "[SD_DAT0]", /* GPIO_85, BLSP12_SPI_MOSI, P HSEC pin 1 */ + "[SD_CMD]", /* GPIO_86, BLSP12_SPI_MISO, P HSEC pin 11 */ + "[SD_DAT3]", /* GPIO_87, BLSP12_SPI_CS_N, P HSEC pin 7 */ + "[SD_SCLK]", /* GPIO_88, BLSP12_SPI_CLK, P HSEC pin 9 */ + "TSIF1_CLK", /* GPIO_89, S HSEC pin 42 */ + "TSIF1_EN", /* GPIO_90, S HSEC pin 46 */ + "TSIF1_DATA", /* GPIO_91, S HSEC pin 44 */ + "NC", /* GPIO_92 */ + "TSIF2_CLK", /* GPIO_93, S HSEC pin 52 */ + "TSIF2_EN", /* GPIO_94, S HSEC pin 56 */ + "TSIF2_DATA", /* GPIO_95, S HSEC pin 54 */ + "TSIF2_SYNC", /* GPIO_96, S HSEC pin 58 */ + "NC", /* GPIO_97 */ + "CAM1_STANDBY_N", /* GPIO_98 */ + "NC", /* GPIO_99 */ + "NC", /* GPIO_100 */ + "[LCD1_RESET_N]", /* GPIO_101, S HSEC pin 51 */ + "BOOT_CONFIG1", /* GPIO_102 */ + "USB_HUB_RESET", /* GPIO_103 */ + "CAM1_RST_N", /* GPIO_104 */ + "NC", /* GPIO_105 */ + "NC", /* GPIO_106 */ + "NC", /* GPIO_107 */ + "NC", /* GPIO_108 */ + "NC", /* GPIO_109 */ + "NC", /* GPIO_110 */ + "NC", /* GPIO_111 */ + "NC", /* GPIO_112 */ + "PMI8994_BUA", /* GPIO_113 */ + "PCIE2_RST_N", /* GPIO_114 */ + "PCIE2_CLKREQ_N", /* GPIO_115 */ + "PCIE2_WAKE", /* GPIO_116 */ + "SSC_IRQ_0", /* GPIO_117 */ + "SSC_IRQ_1", /* GPIO_118 */ + "SSC_IRQ_2", /* GPIO_119 */ + "NC", /* GPIO_120 */ + "GPIO121", /* GPIO_121, S HSEC pin 2 */ + "NC", /* GPIO_122 */ + "SSC_IRQ_6", /* GPIO_123 */ + "SSC_IRQ_7", /* GPIO_124 */ + "GPIO-C", /* GPIO_125, TS_INT0, LSEC pin 25 */ + "BOOT_CONFIG5", /* GPIO_126 */ + "NC", /* GPIO_127 */ + "NC", /* GPIO_128 */ + "BOOT_CONFIG7", /* GPIO_129 */ + "PCIE1_RST_N", /* GPIO_130 */ + "PCIE1_CLKREQ_N", /* GPIO_131 */ + "PCIE1_WAKE", /* GPIO_132 */ + "GPIO-L", /* GPIO_133, CAM2_STANDBY_N, LSEC pin 34 */ + "NC", /* GPIO_134 */ + "NC", /* GPIO_135 */ + "BOOT_CONFIG8", /* GPIO_136 */ + "NC", /* GPIO_137 */ + "NC", /* GPIO_138 */ + "GPS_SSBI2", /* GPIO_139 */ + "GPS_SSBI1", /* GPIO_140 */ + "NC", /* GPIO_141 */ + "NC", /* GPIO_142 */ + "NC", /* GPIO_143 */ + "BOOT_CONFIG6", /* GPIO_144 */ + "NC", /* GPIO_145 */ + "NC", /* GPIO_146 */ + "NC", /* GPIO_147 */ + "NC", /* GPIO_148 */ + "NC"; /* GPIO_149 */ + + sdc2_cd_on: sdc2_cd_on { + mux { + pins = "gpio38"; + function = "gpio"; + }; + + config { + pins = "gpio38"; + bias-pull-up; /* pull up */ + drive-strength = <16>; /* 16 MA */ + }; + }; + + sdc2_cd_off: sdc2_cd_off { + mux { + pins = "gpio38"; + function = "gpio"; + }; + + config { + pins = "gpio38"; + bias-pull-up; /* pull up */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + hdmi_hpd_active: hdmi_hpd_active { + mux { + pins = "gpio34"; + function = "hdmi_hot"; + }; + + config { + pins = "gpio34"; + bias-pull-down; + drive-strength = <16>; + }; + }; + + hdmi_hpd_suspend: hdmi_hpd_suspend { + mux { + pins = "gpio34"; + function = "hdmi_hot"; + }; + + config { + pins = "gpio34"; + bias-pull-down; + drive-strength = <2>; + }; + }; + + hdmi_ddc_active: hdmi_ddc_active { + mux { + pins = "gpio32", "gpio33"; + function = "hdmi_ddc"; + }; + + config { + pins = "gpio32", "gpio33"; + drive-strength = <2>; + bias-pull-up; + }; + }; + + hdmi_ddc_suspend: hdmi_ddc_suspend { + mux { + pins = "gpio32", "gpio33"; + function = "hdmi_ddc"; + }; + + config { + pins = "gpio32", "gpio33"; + drive-strength = <2>; + bias-pull-down; + }; + }; +}; + +&pcie0 { + status = "okay"; + perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>; + vddpe-3v3-supply = <&wlan_en>; + vdda-supply = <&vreg_l28a_0p925>; +}; + +&pcie1 { + status = "okay"; + perst-gpio = <&tlmm 130 GPIO_ACTIVE_LOW>; + vdda-supply = <&vreg_l28a_0p925>; +}; + +&pcie2 { + status = "okay"; + perst-gpio = <&tlmm 114 GPIO_ACTIVE_LOW>; + vdda-supply = <&vreg_l28a_0p925>; +}; + +&pcie_phy { + status = "okay"; + + vdda-phy-supply = <&vreg_l28a_0p925>; + vdda-pll-supply = <&vreg_l12a_1p8>; +}; + +&pm8994_gpios { + gpio-line-names = + "NC", + "KEY_VOLP_N", + "NC", + "BL1_PWM", + "GPIO-F", /* BL0_PWM, LSEC pin 28 */ + "BL1_EN", + "NC", + "WLAN_EN", + "NC", + "NC", + "NC", + "NC", + "NC", + "NC", + "DIVCLK1", + "DIVCLK2", + "DIVCLK3", + "DIVCLK4", + "BT_EN", + "PMIC_SLB", + "PMIC_BUA", + "USB_VBUS_DET"; + + pinctrl-names = "default"; + pinctrl-0 = <&ls_exp_gpio_f &bt_en_gpios>; + + ls_exp_gpio_f: pm8994_gpio5 { + pinconf { + pins = "gpio5"; + output-low; + power-source = <2>; // PM8994_GPIO_S4, 1.8V + }; + }; + + bt_en_gpios: bt_en_gpios { + pinconf { + pins = "gpio19"; + function = PMIC_GPIO_FUNC_NORMAL; + output-low; + power-source = ; // 1.8V + qcom,drive-strength = ; + bias-pull-down; + }; + }; + + wlan_en_gpios: wlan_en_gpios { + pinconf { + pins = "gpio8"; + function = PMIC_GPIO_FUNC_NORMAL; + output-low; + power-source = ; // 1.8V + qcom,drive-strength = ; + bias-pull-down; + }; + }; + + audio_mclk: clk_div1 { + pinconf { + pins = "gpio15"; + function = "func1"; + power-source = ; // 1.8V + }; + }; + + volume_up_gpio: pm8996_gpio2 { + pinconf { + pins = "gpio2"; + function = "normal"; + input-enable; + drive-push-pull; + bias-pull-up; + qcom,drive-strength = ; + power-source = ; // 1.8V + }; + }; + + divclk4_pin_a: divclk4 { + pinconf { + pins = "gpio18"; + function = PMIC_GPIO_FUNC_FUNC2; + + bias-disable; + power-source = ; + }; + }; + + usb3_vbus_det_gpio: pm8996_gpio22 { + pinconf { + pins = "gpio22"; + function = PMIC_GPIO_FUNC_NORMAL; + input-enable; + bias-pull-down; + qcom,drive-strength = ; + power-source = ; // 1.8V + }; + }; +}; + +&pm8994_mpps { + gpio-line-names = + "VDDPX_BIAS", + "WIFI_LED", + "NC", + "BT_LED", + "PM_MPP05", + "PM_MPP06", + "PM_MPP07", + "NC"; +}; + +&pm8994_spmi_regulators { + qcom,saw-reg = <&saw3>; + s9 { + qcom,saw-slave; + }; + s10 { + qcom,saw-slave; + }; + s11 { + qcom,saw-leader; + regulator-always-on; + regulator-min-microvolt = <980000>; + regulator-max-microvolt = <980000>; + }; +}; + +&pmi8994_gpios { + gpio-line-names = + "NC", + "SPKR_AMP_EN1", + "SPKR_AMP_EN2", + "TP61", + "NC", + "USB2_VBUS_DET", + "NC", + "NC", + "NC", + "NC"; + + usb2_vbus_det_gpio: pmi8996_gpio6 { + pinconf { + pins = "gpio6"; + function = PMIC_GPIO_FUNC_NORMAL; + input-enable; + bias-pull-down; + qcom,drive-strength = ; + power-source = ; // 1.8V + }; + }; +}; + +&pmi8994_spmi_regulators { + vdd_gfx: s2@1700 { + reg = <0x1700 0x100>; + regulator-name = "VDD_GFX"; + regulator-min-microvolt = <980000>; + regulator-max-microvolt = <980000>; + }; +}; + +&rpm_requests { + pm8994-regulators { + compatible = "qcom,rpm-pm8994-regulators"; + + vdd_s1-supply = <&vph_pwr>; + vdd_s2-supply = <&vph_pwr>; + vdd_s3-supply = <&vph_pwr>; + vdd_s4-supply = <&vph_pwr>; + vdd_s5-supply = <&vph_pwr>; + vdd_s6-supply = <&vph_pwr>; + vdd_s7-supply = <&vph_pwr>; + vdd_s8-supply = <&vph_pwr>; + vdd_s9-supply = <&vph_pwr>; + vdd_s10-supply = <&vph_pwr>; + vdd_s11-supply = <&vph_pwr>; + vdd_s12-supply = <&vph_pwr>; + vdd_l1-supply = <&vreg_s1b_1p025>; + vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>; + vdd_l3_l11-supply = <&vreg_s3a_1p3>; + vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>; + vdd_l5_l7-supply = <&vreg_s5a_2p15>; + vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>; + vdd_l8_l16_l30-supply = <&vph_pwr>; + vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>; + vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>; + vdd_l14_l15-supply = <&vreg_s5a_2p15>; + vdd_l17_l29-supply = <&vph_pwr_bbyp>; + vdd_l20_l21-supply = <&vph_pwr_bbyp>; + vdd_l25-supply = <&vreg_s3a_1p3>; + vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>; + + vreg_s3a_1p3: s3 { + regulator-name = "vreg_s3a_1p3"; + regulator-min-microvolt = <1300000>; + regulator-max-microvolt = <1300000>; + }; + + /** + * 1.8v required on LS expansion + * for mezzanine boards + */ + vreg_s4a_1p8: s4 { + regulator-name = "vreg_s4a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + vreg_s5a_2p15: s5 { + regulator-name = "vreg_s5a_2p15"; + regulator-min-microvolt = <2150000>; + regulator-max-microvolt = <2150000>; + }; + vreg_s7a_1p0: s7 { + regulator-name = "vreg_s7a_1p0"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <800000>; + }; + + vreg_l1a_1p0: l1 { + regulator-name = "vreg_l1a_1p0"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + }; + vreg_l2a_1p25: l2 { + regulator-name = "vreg_l2a_1p25"; + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <1250000>; + }; + vreg_l3a_0p875: l3 { + regulator-name = "vreg_l3a_0p875"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <850000>; + }; + vreg_l4a_1p225: l4 { + regulator-name = "vreg_l4a_1p225"; + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + }; + vreg_l6a_1p2: l6 { + regulator-name = "vreg_l6a_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + vreg_l8a_1p8: l8 { + regulator-name = "vreg_l8a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vreg_l9a_1p8: l9 { + regulator-name = "vreg_l9a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vreg_l10a_1p8: l10 { + regulator-name = "vreg_l10a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vreg_l11a_1p15: l11 { + regulator-name = "vreg_l11a_1p15"; + regulator-min-microvolt = <1150000>; + regulator-max-microvolt = <1150000>; + }; + vreg_l12a_1p8: l12 { + regulator-name = "vreg_l12a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vreg_l13a_2p95: l13 { + regulator-name = "vreg_l13a_2p95"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + vreg_l14a_1p8: l14 { + regulator-name = "vreg_l14a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vreg_l15a_1p8: l15 { + regulator-name = "vreg_l15a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vreg_l16a_2p7: l16 { + regulator-name = "vreg_l16a_2p7"; + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2700000>; + }; + vreg_l17a_2p8: l17 { + regulator-name = "vreg_l17a_2p8"; + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <2500000>; + }; + vreg_l18a_2p85: l18 { + regulator-name = "vreg_l18a_2p85"; + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2900000>; + }; + vreg_l19a_2p8: l19 { + regulator-name = "vreg_l19a_2p8"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + vreg_l20a_2p95: l20 { + regulator-name = "vreg_l20a_2p95"; + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + }; + vreg_l21a_2p95: l21 { + regulator-name = "vreg_l21a_2p95"; + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + regulator-system-load = <200000>; + }; + vreg_l22a_3p0: l22 { + regulator-name = "vreg_l22a_3p0"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + vreg_l23a_2p8: l23 { + regulator-name = "vreg_l23a_2p8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + vreg_l24a_3p075: l24 { + regulator-name = "vreg_l24a_3p075"; + regulator-min-microvolt = <3075000>; + regulator-max-microvolt = <3075000>; + }; + vreg_l25a_1p2: l25 { + regulator-name = "vreg_l25a_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-allow-set-load; + }; + vreg_l26a_0p8: l27 { + regulator-name = "vreg_l26a_0p8"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + }; + vreg_l28a_0p925: l28 { + regulator-name = "vreg_l28a_0p925"; + regulator-min-microvolt = <925000>; + regulator-max-microvolt = <925000>; + regulator-allow-set-load; + }; + vreg_l29a_2p8: l29 { + regulator-name = "vreg_l29a_2p8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + vreg_l30a_1p8: l30 { + regulator-name = "vreg_l30a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + vreg_l32a_1p8: l32 { + regulator-name = "vreg_l32a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + vreg_lvs1a_1p8: lvs1 { + regulator-name = "vreg_lvs1a_1p8"; + }; + + vreg_lvs2a_1p8: lvs2 { + regulator-name = "vreg_lvs2a_1p8"; + }; + }; + + pmi8994-regulators { + compatible = "qcom,rpm-pmi8994-regulators"; + + vdd_s1-supply = <&vph_pwr>; + vdd_s2-supply = <&vph_pwr>; + vdd_s3-supply = <&vph_pwr>; + vdd_bst_byp-supply = <&vph_pwr>; + + vph_pwr_bbyp: boost-bypass { + regulator-name = "vph_pwr_bbyp"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + vreg_s1b_1p025: s1 { + regulator-name = "vreg_s1b_1p025"; + regulator-min-microvolt = <1025000>; + regulator-max-microvolt = <1025000>; + }; + }; +}; + +&sdhc2 { + /* External SD card */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_state_on &sdc2_cd_on>; + pinctrl-1 = <&sdc2_state_off &sdc2_cd_off>; + cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + vmmc-supply = <&vreg_l21a_2p95>; + vqmmc-supply = <&vreg_l13a_2p95>; + status = "okay"; +}; + +&q6asmdai { + dai@0 { + reg = <0>; + }; + + dai@1 { + reg = <1>; + }; + + dai@2 { + reg = <2>; + }; +}; + +&sound { + compatible = "qcom,apq8096-sndcard"; + model = "DB820c"; + audio-routing = "RX_BIAS", "MCLK", + "MM_DL1", "MultiMedia1 Playback", + "MM_DL2", "MultiMedia2 Playback", + "MultiMedia3 Capture", "MM_UL3"; + + mm1-dai-link { + link-name = "MultiMedia1"; + cpu { + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; + }; + }; + + mm2-dai-link { + link-name = "MultiMedia2"; + cpu { + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; + }; + }; + + mm3-dai-link { + link-name = "MultiMedia3"; + cpu { + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; + }; + }; + + hdmi-dai-link { + link-name = "HDMI"; + cpu { + sound-dai = <&q6afedai HDMI_RX>; + }; + + platform { + sound-dai = <&q6routing>; + }; + + codec { + sound-dai = <&hdmi 0>; + }; + }; + + slim-dai-link { + link-name = "SLIM Playback"; + cpu { + sound-dai = <&q6afedai SLIMBUS_6_RX>; + }; + + platform { + sound-dai = <&q6routing>; + }; + + codec { + sound-dai = <&wcd9335 6>; + }; + }; + + slimcap-dai-link { + link-name = "SLIM Capture"; + cpu { + sound-dai = <&q6afedai SLIMBUS_0_TX>; + }; + + platform { + sound-dai = <&q6routing>; + }; + + codec { + sound-dai = <&wcd9335 1>; + }; + }; +}; + +&ufsphy { + status = "okay"; + + vdda-phy-supply = <&vreg_l28a_0p925>; + vdda-pll-supply = <&vreg_l12a_1p8>; + vddp-ref-clk-supply = <&vreg_l25a_1p2>; +}; + +&ufshc { + status = "okay"; + + vcc-supply = <&vreg_l20a_2p95>; + vccq-supply = <&vreg_l25a_1p2>; + vccq2-supply = <&vreg_s4a_1p8>; + + vcc-max-microamp = <600000>; + vccq-max-microamp = <450000>; + vccq2-max-microamp = <450000>; +}; + +&usb2 { + status = "okay"; + extcon = <&usb2_id>; + + dwc3@7600000 { + extcon = <&usb2_id>; + dr_mode = "otg"; + maximum-speed = "high-speed"; + }; +}; + +&usb3 { + status = "okay"; + extcon = <&usb3_id>; + + dwc3@6a00000 { + extcon = <&usb3_id>; + dr_mode = "otg"; + }; +}; + +&usb3phy { + status = "okay"; + + vdda-phy-supply = <&vreg_l28a_0p925>; + vdda-pll-supply = <&vreg_l12a_1p8>; + +}; + +&venus { + status = "okay"; +}; + +&wcd9335 { + clock-names = "mclk", "slimbus"; + clocks = <&div1_mclk>, + <&rpmcc RPM_SMD_BB_CLK1>; + + vdd-buck-supply = <&vreg_s4a_1p8>; + vdd-buck-sido-supply = <&vreg_s4a_1p8>; + vdd-tx-supply = <&vreg_s4a_1p8>; + vdd-rx-supply = <&vreg_s4a_1p8>; + vdd-io-supply = <&vreg_s4a_1p8>; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/qcom/apq8096-ifc6640.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/apq8096-ifc6640.dts @@ -26,7 +26,7 @@ v1p05: v1p05-regulator { compatible = "regulator-fixed"; - reglator-name = "v1p05"; + regulator-name = "v1p05"; regulator-always-on; regulator-boot-on; @@ -38,7 +38,7 @@ v12_poe: v12-poe-regulator { compatible = "regulator-fixed"; - reglator-name = "v12_poe"; + regulator-name = "v12_poe"; regulator-always-on; regulator-boot-on; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/qcom/msm8916-mtp.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8916-mtp.dts @@ -5,9 +5,22 @@ /dts-v1/; -#include "msm8916-mtp.dtsi" +#include "msm8916-pm8916.dtsi" / { model = "Qualcomm Technologies, Inc. MSM 8916 MTP"; compatible = "qcom,msm8916-mtp", "qcom,msm8916-mtp/1", "qcom,msm8916"; + + aliases { + serial0 = &blsp1_uart2; + usid0 = &pm8916_0; + }; + + chosen { + stdout-path = "serial0"; + }; +}; + +&blsp1_uart2 { + status = "okay"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/qcom/msm8996-mtp.dts +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/msm8996-mtp.dts @@ -5,9 +5,31 @@ /dts-v1/; -#include "msm8996-mtp.dtsi" +#include "msm8996.dtsi" / { model = "Qualcomm Technologies, Inc. MSM 8996 MTP"; compatible = "qcom,msm8996-mtp"; + + aliases { + serial0 = &blsp2_uart2; + }; + + chosen { + stdout-path = "serial0"; + }; + + soc { + serial@75b0000 { + status = "okay"; + }; + }; +}; + +&hdmi { + status = "okay"; +}; + +&hdmi_phy { + status = "okay"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/qcom/sc7180-lite.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/qcom/sc7180-lite.dtsi @@ -16,3 +16,11 @@ &cpu6_opp12 { opp-peak-kBps = <8532000 23347200>; }; + +&cpu6_opp13 { + opp-peak-kBps = <8532000 23347200>; +}; + +&cpu6_opp14 { + opp-peak-kBps = <8532000 23347200>; +}; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi @@ -270,7 +270,7 @@ }; scif1_pins: scif1 { - groups = "scif1_data_b", "scif1_ctrl"; + groups = "scif1_data_b"; function = "scif1"; }; @@ -330,7 +330,6 @@ &scif1 { pinctrl-0 = <&scif1_pins>; pinctrl-names = "default"; - uart-has-rtscts; status = "okay"; }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/arm64/kernel/kexec_image.c +++ linux-intel-iotg-5.15-5.15.0/arch/arm64/kernel/kexec_image.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -130,18 +129,10 @@ return NULL; } -#ifdef CONFIG_KEXEC_IMAGE_VERIFY_SIG -static int image_verify_sig(const char *kernel, unsigned long kernel_len) -{ - return verify_pefile_signature(kernel, kernel_len, NULL, - VERIFYING_KEXEC_PE_SIGNATURE); -} -#endif - const struct kexec_file_ops kexec_image_ops = { .probe = image_probe, .load = image_load, #ifdef CONFIG_KEXEC_IMAGE_VERIFY_SIG - .verify_sig = image_verify_sig, + .verify_sig = kexec_kernel_verify_pe_sig, #endif }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/alchemy/common/dbdma.c +++ linux-intel-iotg-5.15-5.15.0/arch/mips/alchemy/common/dbdma.c @@ -30,6 +30,7 @@ * */ +#include /* for dma_default_coherent */ #include #include #include @@ -623,17 +624,18 @@ dp->dscr_cmd0 &= ~DSCR_CMD0_IE; /* - * There is an errata on the Au1200/Au1550 parts that could result - * in "stale" data being DMA'ed. It has to do with the snoop logic on - * the cache eviction buffer. DMA_NONCOHERENT is on by default for - * these parts. If it is fixed in the future, these dma_cache_inv will - * just be nothing more than empty macros. See io.h. + * There is an erratum on certain Au1200/Au1550 revisions that could + * result in "stale" data being DMA'ed. It has to do with the snoop + * logic on the cache eviction buffer. dma_default_coherent is set + * to false on these parts. */ - dma_cache_wback_inv((unsigned long)buf, nbytes); + if (!dma_default_coherent) + dma_cache_wback_inv(KSEG0ADDR(buf), nbytes); dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ wmb(); /* drain writebuffer */ dma_cache_wback_inv((unsigned long)dp, sizeof(*dp)); ctp->chan_ptr->ddma_dbell = 0; + wmb(); /* force doorbell write out to dma engine */ /* Get next descriptor pointer. */ ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr)); @@ -685,17 +687,18 @@ dp->dscr_source1, dp->dscr_dest0, dp->dscr_dest1); #endif /* - * There is an errata on the Au1200/Au1550 parts that could result in - * "stale" data being DMA'ed. It has to do with the snoop logic on the - * cache eviction buffer. DMA_NONCOHERENT is on by default for these - * parts. If it is fixed in the future, these dma_cache_inv will just - * be nothing more than empty macros. See io.h. + * There is an erratum on certain Au1200/Au1550 revisions that could + * result in "stale" data being DMA'ed. It has to do with the snoop + * logic on the cache eviction buffer. dma_default_coherent is set + * to false on these parts. */ - dma_cache_inv((unsigned long)buf, nbytes); + if (!dma_default_coherent) + dma_cache_inv(KSEG0ADDR(buf), nbytes); dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */ wmb(); /* drain writebuffer */ dma_cache_wback_inv((unsigned long)dp, sizeof(*dp)); ctp->chan_ptr->ddma_dbell = 0; + wmb(); /* force doorbell write out to dma engine */ /* Get next descriptor pointer. */ ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr)); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/decstation_64_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/decstation_64_defconfig @@ -53,8 +53,6 @@ CONFIG_NETWORK_SECMARK=y CONFIG_IP_SCTP=m CONFIG_VLAN_8021Q=m -CONFIG_DECNET=m -CONFIG_DECNET_ROUTER=y # CONFIG_WIRELESS is not set # CONFIG_UEVENT_HELPER is not set # CONFIG_FW_LOADER is not set only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/decstation_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/decstation_defconfig @@ -49,8 +49,6 @@ CONFIG_NETWORK_SECMARK=y CONFIG_IP_SCTP=m CONFIG_VLAN_8021Q=m -CONFIG_DECNET=m -CONFIG_DECNET_ROUTER=y # CONFIG_WIRELESS is not set # CONFIG_UEVENT_HELPER is not set # CONFIG_FW_LOADER is not set only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/decstation_r4k_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/decstation_r4k_defconfig @@ -48,8 +48,6 @@ CONFIG_NETWORK_SECMARK=y CONFIG_IP_SCTP=m CONFIG_VLAN_8021Q=m -CONFIG_DECNET=m -CONFIG_DECNET_ROUTER=y # CONFIG_WIRELESS is not set # CONFIG_UEVENT_HELPER is not set # CONFIG_FW_LOADER is not set only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/gpr_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/gpr_defconfig @@ -69,7 +69,6 @@ CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_DECNET_NF_GRABULATOR=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m @@ -99,7 +98,6 @@ CONFIG_ATM_BR2684=m CONFIG_BRIDGE=m CONFIG_VLAN_8021Q=m -CONFIG_DECNET=m CONFIG_LLC2=m CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/mtx1_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/mtx1_defconfig @@ -116,7 +116,6 @@ CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m -CONFIG_DECNET_NF_GRABULATOR=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m @@ -146,7 +145,6 @@ CONFIG_ATM_BR2684=m CONFIG_BRIDGE=m CONFIG_VLAN_8021Q=m -CONFIG_DECNET=m CONFIG_LLC2=m CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/nlm_xlp_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/nlm_xlp_defconfig @@ -200,7 +200,6 @@ CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m -CONFIG_DECNET_NF_GRABULATOR=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m @@ -234,7 +233,6 @@ CONFIG_BRIDGE=m CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y -CONFIG_DECNET=m CONFIG_LLC2=m CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/nlm_xlr_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/nlm_xlr_defconfig @@ -198,7 +198,6 @@ CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m -CONFIG_DECNET_NF_GRABULATOR=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m @@ -232,7 +231,6 @@ CONFIG_BRIDGE=m CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y -CONFIG_DECNET=m CONFIG_LLC2=m CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/configs/rm200_defconfig +++ linux-intel-iotg-5.15-5.15.0/arch/mips/configs/rm200_defconfig @@ -116,7 +116,6 @@ CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m -CONFIG_DECNET_NF_GRABULATOR=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m @@ -137,7 +136,6 @@ CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE=m -CONFIG_DECNET=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/include/asm/kvm_host.h +++ linux-intel-iotg-5.15-5.15.0/arch/mips/include/asm/kvm_host.h @@ -318,7 +318,7 @@ unsigned int aux_inuse; /* COP0 State */ - struct mips_coproc *cop0; + struct mips_coproc cop0; /* Resume PC after MMIO completion */ unsigned long io_pc; @@ -699,7 +699,7 @@ static inline bool kvm_mips_guest_has_fpu(struct kvm_vcpu_arch *vcpu) { return kvm_mips_guest_can_have_fpu(vcpu) && - kvm_read_c0_guest_config1(vcpu->cop0) & MIPS_CONF1_FP; + kvm_read_c0_guest_config1(&vcpu->cop0) & MIPS_CONF1_FP; } static inline bool kvm_mips_guest_can_have_msa(struct kvm_vcpu_arch *vcpu) @@ -711,7 +711,7 @@ static inline bool kvm_mips_guest_has_msa(struct kvm_vcpu_arch *vcpu) { return kvm_mips_guest_can_have_msa(vcpu) && - kvm_read_c0_guest_config3(vcpu->cop0) & MIPS_CONF3_MSA; + kvm_read_c0_guest_config3(&vcpu->cop0) & MIPS_CONF3_MSA; } struct kvm_mips_callbacks { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/kvm/emulate.c +++ linux-intel-iotg-5.15-5.15.0/arch/mips/kvm/emulate.c @@ -312,7 +312,7 @@ */ int kvm_mips_count_disabled(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; return (vcpu->arch.count_ctl & KVM_REG_MIPS_COUNT_CTL_DC) || (kvm_read_c0_guest_cause(cop0) & CAUSEF_DC); @@ -384,7 +384,7 @@ */ static u32 kvm_mips_read_count_running(struct kvm_vcpu *vcpu, ktime_t now) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; ktime_t expires, threshold; u32 count, compare; int running; @@ -444,7 +444,7 @@ */ u32 kvm_mips_read_count(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; /* If count disabled just read static copy of count */ if (kvm_mips_count_disabled(vcpu)) @@ -502,7 +502,7 @@ static void kvm_mips_resume_hrtimer(struct kvm_vcpu *vcpu, ktime_t now, u32 count) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; u32 compare; u64 delta; ktime_t expire; @@ -603,7 +603,7 @@ */ void kvm_mips_write_count(struct kvm_vcpu *vcpu, u32 count) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; ktime_t now; /* Calculate bias */ @@ -649,7 +649,7 @@ */ int kvm_mips_set_count_hz(struct kvm_vcpu *vcpu, s64 count_hz) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; int dc; ktime_t now; u32 count; @@ -696,7 +696,7 @@ */ void kvm_mips_write_compare(struct kvm_vcpu *vcpu, u32 compare, bool ack) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; int dc; u32 old_compare = kvm_read_c0_guest_compare(cop0); s32 delta = compare - old_compare; @@ -779,7 +779,7 @@ */ static ktime_t kvm_mips_count_disable(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; u32 count; ktime_t now; @@ -806,7 +806,7 @@ */ void kvm_mips_count_disable_cause(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; kvm_set_c0_guest_cause(cop0, CAUSEF_DC); if (!(vcpu->arch.count_ctl & KVM_REG_MIPS_COUNT_CTL_DC)) @@ -826,7 +826,7 @@ */ void kvm_mips_count_enable_cause(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; u32 count; kvm_clear_c0_guest_cause(cop0, CAUSEF_DC); @@ -852,7 +852,7 @@ */ int kvm_mips_set_count_ctl(struct kvm_vcpu *vcpu, s64 count_ctl) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; s64 changed = count_ctl ^ vcpu->arch.count_ctl; s64 delta; ktime_t expire, now; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/kvm/mips.c +++ linux-intel-iotg-5.15-5.15.0/arch/mips/kvm/mips.c @@ -652,7 +652,7 @@ static int kvm_mips_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; struct mips_fpu_struct *fpu = &vcpu->arch.fpu; int ret; s64 v; @@ -764,7 +764,7 @@ static int kvm_mips_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; struct mips_fpu_struct *fpu = &vcpu->arch.fpu; s64 v; s64 vs[2]; @@ -1104,7 +1104,7 @@ int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu) { return kvm_mips_pending_timer(vcpu) || - kvm_read_c0_guest_cause(vcpu->arch.cop0) & C_TI; + kvm_read_c0_guest_cause(&vcpu->arch.cop0) & C_TI; } int kvm_arch_vcpu_dump_regs(struct kvm_vcpu *vcpu) @@ -1128,7 +1128,7 @@ kvm_debug("\thi: 0x%08lx\n", vcpu->arch.hi); kvm_debug("\tlo: 0x%08lx\n", vcpu->arch.lo); - cop0 = vcpu->arch.cop0; + cop0 = &vcpu->arch.cop0; kvm_debug("\tStatus: 0x%08x, Cause: 0x%08x\n", kvm_read_c0_guest_status(cop0), kvm_read_c0_guest_cause(cop0)); @@ -1250,7 +1250,7 @@ case EXCCODE_TLBS: kvm_debug("TLB ST fault: cause %#x, status %#x, PC: %p, BadVaddr: %#lx\n", - cause, kvm_read_c0_guest_status(vcpu->arch.cop0), opc, + cause, kvm_read_c0_guest_status(&vcpu->arch.cop0), opc, badvaddr); ++vcpu->stat.tlbmiss_st_exits; @@ -1322,7 +1322,7 @@ kvm_get_badinstr(opc, vcpu, &inst); kvm_err("Exception Code: %d, not yet handled, @ PC: %p, inst: 0x%08x BadVaddr: %#lx Status: %#x\n", exccode, opc, inst, badvaddr, - kvm_read_c0_guest_status(vcpu->arch.cop0)); + kvm_read_c0_guest_status(&vcpu->arch.cop0)); kvm_arch_vcpu_dump_regs(vcpu); run->exit_reason = KVM_EXIT_INTERNAL_ERROR; ret = RESUME_HOST; @@ -1384,7 +1384,7 @@ /* Enable FPU for guest and restore context */ void kvm_own_fpu(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; unsigned int sr, cfg5; preempt_disable(); @@ -1428,7 +1428,7 @@ /* Enable MSA for guest and restore context */ void kvm_own_msa(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; unsigned int sr, cfg5; preempt_disable(); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/kvm/stats.c +++ linux-intel-iotg-5.15-5.15.0/arch/mips/kvm/stats.c @@ -54,9 +54,9 @@ kvm_info("\nKVM VCPU[%d] COP0 Access Profile:\n", vcpu->vcpu_id); for (i = 0; i < N_MIPS_COPROC_REGS; i++) { for (j = 0; j < N_MIPS_COPROC_SEL; j++) { - if (vcpu->arch.cop0->stat[i][j]) + if (vcpu->arch.cop0.stat[i][j]) kvm_info("%s[%d]: %lu\n", kvm_cop0_str[i], j, - vcpu->arch.cop0->stat[i][j]); + vcpu->arch.cop0.stat[i][j]); } } #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/kvm/trace.h +++ linux-intel-iotg-5.15-5.15.0/arch/mips/kvm/trace.h @@ -322,11 +322,11 @@ ), TP_fast_assign( - __entry->epc = kvm_read_c0_guest_epc(vcpu->arch.cop0); + __entry->epc = kvm_read_c0_guest_epc(&vcpu->arch.cop0); __entry->pc = vcpu->arch.pc; - __entry->badvaddr = kvm_read_c0_guest_badvaddr(vcpu->arch.cop0); - __entry->status = kvm_read_c0_guest_status(vcpu->arch.cop0); - __entry->cause = kvm_read_c0_guest_cause(vcpu->arch.cop0); + __entry->badvaddr = kvm_read_c0_guest_badvaddr(&vcpu->arch.cop0); + __entry->status = kvm_read_c0_guest_status(&vcpu->arch.cop0); + __entry->cause = kvm_read_c0_guest_cause(&vcpu->arch.cop0); ), TP_printk("EPC: 0x%08lx PC: 0x%08lx Status: 0x%08x Cause: 0x%08x BadVAddr: 0x%08lx", only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/mips/kvm/vz.c +++ linux-intel-iotg-5.15-5.15.0/arch/mips/kvm/vz.c @@ -422,7 +422,7 @@ */ static void kvm_vz_restore_timer(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; u32 cause, compare; compare = kvm_read_sw_gc0_compare(cop0); @@ -517,7 +517,7 @@ */ static void kvm_vz_save_timer(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; u32 gctl0, compare, cause; gctl0 = read_c0_guestctl0(); @@ -863,7 +863,7 @@ static void kvm_write_maari(struct kvm_vcpu *vcpu, unsigned long val) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; val &= MIPS_MAARI_INDEX; if (val == MIPS_MAARI_INDEX) @@ -876,7 +876,7 @@ u32 *opc, u32 cause, struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; enum emulation_result er = EMULATE_DONE; u32 rt, rd, sel; unsigned long curr_pc; @@ -1905,7 +1905,7 @@ const struct kvm_one_reg *reg, s64 *v) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; unsigned int idx; switch (reg->id) { @@ -2075,7 +2075,7 @@ case KVM_REG_MIPS_CP0_MAARI: if (!cpu_guest_has_maar || cpu_guest_has_dyn_maar) return -EINVAL; - *v = kvm_read_sw_gc0_maari(vcpu->arch.cop0); + *v = kvm_read_sw_gc0_maari(&vcpu->arch.cop0); break; #ifdef CONFIG_64BIT case KVM_REG_MIPS_CP0_XCONTEXT: @@ -2129,7 +2129,7 @@ const struct kvm_one_reg *reg, s64 v) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; unsigned int idx; int ret = 0; unsigned int cur, change; @@ -2556,7 +2556,7 @@ static int kvm_vz_vcpu_load(struct kvm_vcpu *vcpu, int cpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; bool migrated, all; /* @@ -2698,7 +2698,7 @@ static int kvm_vz_vcpu_put(struct kvm_vcpu *vcpu, int cpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; if (current->flags & PF_VCPU) kvm_vz_vcpu_save_wired(vcpu); @@ -3070,7 +3070,7 @@ static int kvm_vz_vcpu_setup(struct kvm_vcpu *vcpu) { - struct mips_coproc *cop0 = vcpu->arch.cop0; + struct mips_coproc *cop0 = &vcpu->arch.cop0; unsigned long count_hz = 100*1000*1000; /* default to 100 MHz */ /* only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/nios2/boot/dts/10m50_devboard.dts +++ linux-intel-iotg-5.15-5.15.0/arch/nios2/boot/dts/10m50_devboard.dts @@ -97,7 +97,7 @@ rx-fifo-depth = <8192>; tx-fifo-depth = <8192>; address-bits = <48>; - max-frame-size = <1518>; + max-frame-size = <1500>; local-mac-address = [00 00 00 00 00 00]; altr,has-supplementary-unicast; altr,enable-sup-addr = <1>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/nios2/boot/dts/3c120_devboard.dts +++ linux-intel-iotg-5.15-5.15.0/arch/nios2/boot/dts/3c120_devboard.dts @@ -106,7 +106,7 @@ interrupt-names = "rx_irq", "tx_irq"; rx-fifo-depth = <8192>; tx-fifo-depth = <8192>; - max-frame-size = <1518>; + max-frame-size = <1500>; local-mac-address = [ 00 00 00 00 00 00 ]; phy-mode = "rgmii-id"; phy-handle = <&phy0>; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/parisc/include/asm/assembly.h +++ linux-intel-iotg-5.15-5.15.0/arch/parisc/include/asm/assembly.h @@ -72,10 +72,6 @@ #include - sp = 30 - gp = 27 - ipsw = 22 - /* * We provide two versions of each macro to convert from physical * to virtual and vice versa. The "_r1" versions take one argument only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/parisc/kernel/pci-dma.c +++ linux-intel-iotg-5.15-5.15.0/arch/parisc/kernel/pci-dma.c @@ -446,11 +446,27 @@ void arch_sync_dma_for_device(phys_addr_t paddr, size_t size, enum dma_data_direction dir) { + /* + * fdc: The data cache line is written back to memory, if and only if + * it is dirty, and then invalidated from the data cache. + */ flush_kernel_dcache_range((unsigned long)phys_to_virt(paddr), size); } void arch_sync_dma_for_cpu(phys_addr_t paddr, size_t size, enum dma_data_direction dir) { - flush_kernel_dcache_range((unsigned long)phys_to_virt(paddr), size); + unsigned long addr = (unsigned long) phys_to_virt(paddr); + + switch (dir) { + case DMA_TO_DEVICE: + case DMA_BIDIRECTIONAL: + flush_kernel_dcache_range(addr, size); + return; + case DMA_FROM_DEVICE: + purge_kernel_dcache_range_asm(addr, addr + size); + return; + default: + BUG(); + } } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/powerpc/Kconfig.debug +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/Kconfig.debug @@ -240,7 +240,7 @@ config PPC_EARLY_DEBUG_CPM bool "Early serial debugging for Freescale CPM-based serial ports" - depends on SERIAL_CPM + depends on SERIAL_CPM=y help Select this to enable early debugging for Freescale chips using a CPM-based serial port. This assumes that the bootwrapper only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/powerpc/kernel/ppc_save_regs.S +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/ppc_save_regs.S @@ -21,60 +21,33 @@ * different ABIs, though). */ _GLOBAL(ppc_save_regs) - PPC_STL r0,0*SZL(r3) + /* This allows stack frame accessor macros and offsets to be used */ + subi r3,r3,STACK_FRAME_OVERHEAD + PPC_STL r0,GPR0(r3) #ifdef CONFIG_PPC32 - stmw r2, 2*SZL(r3) + stmw r2,GPR2(r3) #else - PPC_STL r2,2*SZL(r3) - PPC_STL r3,3*SZL(r3) - PPC_STL r4,4*SZL(r3) - PPC_STL r5,5*SZL(r3) - PPC_STL r6,6*SZL(r3) - PPC_STL r7,7*SZL(r3) - PPC_STL r8,8*SZL(r3) - PPC_STL r9,9*SZL(r3) - PPC_STL r10,10*SZL(r3) - PPC_STL r11,11*SZL(r3) - PPC_STL r12,12*SZL(r3) - PPC_STL r13,13*SZL(r3) - PPC_STL r14,14*SZL(r3) - PPC_STL r15,15*SZL(r3) - PPC_STL r16,16*SZL(r3) - PPC_STL r17,17*SZL(r3) - PPC_STL r18,18*SZL(r3) - PPC_STL r19,19*SZL(r3) - PPC_STL r20,20*SZL(r3) - PPC_STL r21,21*SZL(r3) - PPC_STL r22,22*SZL(r3) - PPC_STL r23,23*SZL(r3) - PPC_STL r24,24*SZL(r3) - PPC_STL r25,25*SZL(r3) - PPC_STL r26,26*SZL(r3) - PPC_STL r27,27*SZL(r3) - PPC_STL r28,28*SZL(r3) - PPC_STL r29,29*SZL(r3) - PPC_STL r30,30*SZL(r3) - PPC_STL r31,31*SZL(r3) + SAVE_GPRS(2, 31, r3) lbz r0,PACAIRQSOFTMASK(r13) - PPC_STL r0,SOFTE-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,SOFTE(r3) #endif - /* go up one stack frame for SP */ - PPC_LL r4,0(r1) - PPC_STL r4,1*SZL(r3) + /* store current SP */ + PPC_STL r1,GPR1(r3) /* get caller's LR */ + PPC_LL r4,0(r1) PPC_LL r0,LRSAVE(r4) - PPC_STL r0,_LINK-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,_LINK(r3) mflr r0 - PPC_STL r0,_NIP-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,_NIP(r3) mfmsr r0 - PPC_STL r0,_MSR-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,_MSR(r3) mfctr r0 - PPC_STL r0,_CTR-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,_CTR(r3) mfxer r0 - PPC_STL r0,_XER-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,_XER(r3) mfcr r0 - PPC_STL r0,_CCR-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,_CCR(r3) li r0,0 - PPC_STL r0,_TRAP-STACK_FRAME_OVERHEAD(r3) - PPC_STL r0,ORIG_GPR3-STACK_FRAME_OVERHEAD(r3) + PPC_STL r0,_TRAP(r3) + PPC_STL r0,ORIG_GPR3(r3) blr only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/powerpc/kernel/security.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/kernel/security.c @@ -363,26 +363,27 @@ static int ssb_prctl_get(struct task_struct *task) { + /* + * The STF_BARRIER feature is on by default, so if it's off that means + * firmware has explicitly said the CPU is not vulnerable via either + * the hypercall or device tree. + */ + if (!security_ftr_enabled(SEC_FTR_STF_BARRIER)) + return PR_SPEC_NOT_AFFECTED; + + /* + * If the system's CPU has no known barrier (see setup_stf_barrier()) + * then assume that the CPU is not vulnerable. + */ if (stf_enabled_flush_types == STF_BARRIER_NONE) - /* - * We don't have an explicit signal from firmware that we're - * vulnerable or not, we only have certain CPU revisions that - * are known to be vulnerable. - * - * We assume that if we're on another CPU, where the barrier is - * NONE, then we are not vulnerable. - */ return PR_SPEC_NOT_AFFECTED; - else - /* - * If we do have a barrier type then we are vulnerable. The - * barrier is not a global or per-process mitigation, so the - * only value we can report here is PR_SPEC_ENABLE, which - * appears as "vulnerable" in /proc. - */ - return PR_SPEC_ENABLE; - return -EINVAL; + /* + * Otherwise the CPU is vulnerable. The barrier is not a global or + * per-process mitigation, so the only value that can be reported here + * is PR_SPEC_ENABLE, which appears as "vulnerable" in /proc. + */ + return PR_SPEC_ENABLE; } int arch_prctl_spec_ctrl_get(struct task_struct *task, unsigned long which) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/powerpc/mm/init_64.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/mm/init_64.c @@ -188,7 +188,7 @@ unsigned long nr_pfn = page_size / sizeof(struct page); unsigned long start_pfn = page_to_pfn((struct page *)start); - if ((start_pfn + nr_pfn) > altmap->end_pfn) + if ((start_pfn + nr_pfn - 1) > altmap->end_pfn) return true; if (start_pfn < altmap->base_pfn) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/powerpc/platforms/powernv/pci-sriov.c +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/platforms/powernv/pci-sriov.c @@ -600,12 +600,12 @@ struct pnv_iov_data *iov; iov = pnv_iov_get(pdev); - num_vfs = iov->num_vfs; - base_pe = iov->vf_pe_arr[0].pe_number; - if (WARN_ON(!iov)) return; + num_vfs = iov->num_vfs; + base_pe = iov->vf_pe_arr[0].pe_number; + /* Release VF PEs */ pnv_ioda_release_vf_PE(pdev); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/powerpc/purgatory/Makefile +++ linux-intel-iotg-5.15-5.15.0/arch/powerpc/purgatory/Makefile @@ -4,6 +4,11 @@ targets += trampoline_$(BITS).o purgatory.ro kexec-purgatory.c +# When profile-guided optimization is enabled, llvm emits two different +# overlapping text sections, which is not supported by kexec. Remove profile +# optimization flags. +KBUILD_CFLAGS := $(filter-out -fprofile-sample-use=% -fprofile-use=%,$(KBUILD_CFLAGS)) + LDFLAGS_purgatory.ro := -e purgatory_start -r --no-undefined $(obj)/purgatory.ro: $(obj)/trampoline_$(BITS).o FORCE only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/riscv/net/bpf_jit.h +++ linux-intel-iotg-5.15-5.15.0/arch/riscv/net/bpf_jit.h @@ -69,6 +69,7 @@ struct bpf_prog *prog; u16 *insns; /* RV insns */ int ninsns; + int prologue_len; int epilogue_offset; int *offset; /* BPF to RV */ unsigned long flags; @@ -214,8 +215,8 @@ int from, to; off++; /* BPF branch is from PC+1, RV is from PC */ - from = (insn > 0) ? ctx->offset[insn - 1] : 0; - to = (insn + off > 0) ? ctx->offset[insn + off - 1] : 0; + from = (insn > 0) ? ctx->offset[insn - 1] : ctx->prologue_len; + to = (insn + off > 0) ? ctx->offset[insn + off - 1] : ctx->prologue_len; return ninsns_rvoff(to - from); } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/riscv/net/bpf_jit_core.c +++ linux-intel-iotg-5.15-5.15.0/arch/riscv/net/bpf_jit_core.c @@ -83,6 +83,12 @@ prog = orig_prog; goto out_offset; } + + if (build_body(ctx, extra_pass, NULL)) { + prog = orig_prog; + goto out_offset; + } + for (i = 0; i < prog->len; i++) { prev_ninsns += 32; ctx->offset[i] = prev_ninsns; @@ -91,11 +97,15 @@ for (i = 0; i < NR_JIT_ITERATIONS; i++) { pass++; ctx->ninsns = 0; + + bpf_jit_build_prologue(ctx); + ctx->prologue_len = ctx->ninsns; + if (build_body(ctx, extra_pass, ctx->offset)) { prog = orig_prog; goto out_offset; } - bpf_jit_build_prologue(ctx); + ctx->epilogue_offset = ctx->ninsns; bpf_jit_build_epilogue(ctx); @@ -154,6 +164,9 @@ if (!prog->is_func || extra_pass) { bpf_jit_binary_lock_ro(jit_data->header); + for (i = 0; i < prog->len; i++) + ctx->offset[i] = ninsns_rvoff(ctx->offset[i]); + bpf_prog_fill_jited_linfo(prog, ctx->offset); out_offset: kfree(ctx->offset); kfree(jit_data); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/s390/kvm/diag.c +++ linux-intel-iotg-5.15-5.15.0/arch/s390/kvm/diag.c @@ -166,6 +166,7 @@ static int __diag_time_slice_end_directed(struct kvm_vcpu *vcpu) { struct kvm_vcpu *tcpu; + int tcpu_cpu; int tid; tid = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; @@ -181,14 +182,15 @@ goto no_yield; /* target guest VCPU already running */ - if (READ_ONCE(tcpu->cpu) >= 0) { + tcpu_cpu = READ_ONCE(tcpu->cpu); + if (tcpu_cpu >= 0) { if (!diag9c_forwarding_hz || diag9c_forwarding_overrun()) goto no_yield; /* target host CPU already running */ - if (!vcpu_is_preempted(tcpu->cpu)) + if (!vcpu_is_preempted(tcpu_cpu)) goto no_yield; - smp_yield_cpu(tcpu->cpu); + smp_yield_cpu(tcpu_cpu); VCPU_EVENT(vcpu, 5, "diag time slice end directed to %d: yield forwarded", tid); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/s390/purgatory/Makefile +++ linux-intel-iotg-5.15-5.15.0/arch/s390/purgatory/Makefile @@ -26,6 +26,7 @@ KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common KBUILD_CFLAGS += -fno-stack-protector +KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING KBUILD_CFLAGS += $(CLANG_FLAGS) KBUILD_CFLAGS += $(call cc-option,-fno-PIE) KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS)) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/sh/drivers/dma/dma-sh.c +++ linux-intel-iotg-5.15-5.15.0/arch/sh/drivers/dma/dma-sh.c @@ -19,6 +19,18 @@ #include /* + * Some of the SoCs feature two DMAC modules. In such a case, the channels are + * distributed equally among them. + */ +#ifdef SH_DMAC_BASE1 +#define SH_DMAC_NR_MD_CH (CONFIG_NR_ONCHIP_DMA_CHANNELS / 2) +#else +#define SH_DMAC_NR_MD_CH CONFIG_NR_ONCHIP_DMA_CHANNELS +#endif + +#define SH_DMAC_CH_SZ 0x10 + +/* * Define the default configuration for dual address memory-memory transfer. * The 0x400 value represents auto-request, external->external. */ @@ -29,7 +41,7 @@ unsigned long base = SH_DMAC_BASE0; #ifdef SH_DMAC_BASE1 - if (chan >= 6) + if (chan >= SH_DMAC_NR_MD_CH) base = SH_DMAC_BASE1; #endif @@ -40,13 +52,13 @@ { unsigned long base = dma_find_base(chan); - /* Normalize offset calculation */ - if (chan >= 9) - chan -= 6; - if (chan >= 4) - base += 0x10; + chan = (chan % SH_DMAC_NR_MD_CH) * SH_DMAC_CH_SZ; + + /* DMAOR is placed inside the channel register space. Step over it. */ + if (chan >= DMAOR) + base += SH_DMAC_CH_SZ; - return base + (chan * 0x10); + return base + chan; } #ifdef CONFIG_SH_DMA_IRQ_MULTI @@ -250,12 +262,11 @@ #define NR_DMAOR 1 #endif -/* - * DMAOR bases are broken out amongst channel groups. DMAOR0 manages - * channels 0 - 5, DMAOR1 6 - 11 (optional). - */ -#define dmaor_read_reg(n) __raw_readw(dma_find_base((n)*6)) -#define dmaor_write_reg(n, data) __raw_writew(data, dma_find_base(n)*6) +#define dmaor_read_reg(n) __raw_readw(dma_find_base((n) * \ + SH_DMAC_NR_MD_CH) + DMAOR) +#define dmaor_write_reg(n, data) __raw_writew(data, \ + dma_find_base((n) * \ + SH_DMAC_NR_MD_CH) + DMAOR) static inline int dmaor_reset(int no) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/sh/kernel/cpu/sh2/probe.c +++ linux-intel-iotg-5.15-5.15.0/arch/sh/kernel/cpu/sh2/probe.c @@ -21,7 +21,7 @@ if (!of_flat_dt_is_compatible(node, "jcore,cache")) return 0; - j2_ccr_base = (u32 __iomem *)of_flat_dt_translate_address(node); + j2_ccr_base = ioremap(of_flat_dt_translate_address(node), 4); return 1; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/include/asm/entry-common.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/entry-common.h @@ -92,6 +92,7 @@ static __always_inline void arch_exit_to_user_mode(void) { mds_user_clear_cpu_buffers(); + amd_clear_divider(); } #define arch_exit_to_user_mode arch_exit_to_user_mode only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/include/asm/pgtable_64.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/pgtable_64.h @@ -235,8 +235,8 @@ #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val((pte)) }) #define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val((pmd)) }) -#define __swp_entry_to_pte(x) ((pte_t) { .pte = (x).val }) -#define __swp_entry_to_pmd(x) ((pmd_t) { .pmd = (x).val }) +#define __swp_entry_to_pte(x) (__pte((x).val)) +#define __swp_entry_to_pmd(x) (__pmd((x).val)) extern int kern_addr_valid(unsigned long addr); extern void cleanup_highmap(void); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/include/asm/required-features.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/required-features.h @@ -102,6 +102,7 @@ #define REQUIRED_MASK17 0 #define REQUIRED_MASK18 0 #define REQUIRED_MASK19 0 -#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 20) +#define REQUIRED_MASK20 0 +#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21) #endif /* _ASM_X86_REQUIRED_FEATURES_H */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/include/asm/sev-common.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/include/asm/sev-common.h @@ -73,4 +73,15 @@ #define GHCB_RESP_CODE(v) ((v) & GHCB_MSR_INFO_MASK) +/* + * Error codes related to GHCB input that can be communicated back to the guest + * by setting the lower 32-bits of the GHCB SW_EXITINFO1 field to 2. + */ +#define GHCB_ERR_NOT_REGISTERED 1 +#define GHCB_ERR_INVALID_USAGE 2 +#define GHCB_ERR_INVALID_SCRATCH_AREA 3 +#define GHCB_ERR_MISSING_INPUT 4 +#define GHCB_ERR_INVALID_INPUT 5 +#define GHCB_ERR_INVALID_EVENT 6 + #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/kernel/apic/x2apic_phys.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/apic/x2apic_phys.c @@ -97,7 +97,10 @@ static int x2apic_phys_probe(void) { - if (x2apic_mode && (x2apic_phys || x2apic_fadt_phys())) + if (!x2apic_mode) + return 0; + + if (x2apic_phys || x2apic_fadt_phys()) return 1; return apic == &apic_x2apic_phys; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/kernel/kexec-bzimage64.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kernel/kexec-bzimage64.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include @@ -528,28 +527,11 @@ return 0; } -#ifdef CONFIG_KEXEC_BZIMAGE_VERIFY_SIG -static int bzImage64_verify_sig(const char *kernel, unsigned long kernel_len) -{ - int ret; - - ret = verify_pefile_signature(kernel, kernel_len, - VERIFY_USE_SECONDARY_KEYRING, - VERIFYING_KEXEC_PE_SIGNATURE); - if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) { - ret = verify_pefile_signature(kernel, kernel_len, - VERIFY_USE_PLATFORM_KEYRING, - VERIFYING_KEXEC_PE_SIGNATURE); - } - return ret; -} -#endif - const struct kexec_file_ops kexec_bzImage64_ops = { .probe = bzImage64_probe, .load = bzImage64_load, .cleanup = bzImage64_cleanup, #ifdef CONFIG_KEXEC_BZIMAGE_VERIFY_SIG - .verify_sig = bzImage64_verify_sig, + .verify_sig = kexec_kernel_verify_pe_sig, #endif }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/kvm/reverse_cpuid.h +++ linux-intel-iotg-5.15-5.15.0/arch/x86/kvm/reverse_cpuid.h @@ -48,6 +48,7 @@ [CPUID_7_1_EAX] = { 7, 1, CPUID_EAX}, [CPUID_12_EAX] = {0x00000012, 0, CPUID_EAX}, [CPUID_8000_001F_EAX] = {0x8000001f, 0, CPUID_EAX}, + [CPUID_8000_0021_EAX] = {0x80000021, 0, CPUID_EAX}, }; /* only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/arch/x86/mm/kaslr.c +++ linux-intel-iotg-5.15-5.15.0/arch/x86/mm/kaslr.c @@ -172,10 +172,10 @@ set_p4d(p4d_tramp, __p4d(_KERNPG_TABLE | __pa(pud_page_tramp))); - set_pgd(&trampoline_pgd_entry, - __pgd(_KERNPG_TABLE | __pa(p4d_page_tramp))); + trampoline_pgd_entry = + __pgd(_KERNPG_TABLE | __pa(p4d_page_tramp)); } else { - set_pgd(&trampoline_pgd_entry, - __pgd(_KERNPG_TABLE | __pa(pud_page_tramp))); + trampoline_pgd_entry = + __pgd(_KERNPG_TABLE | __pa(pud_page_tramp)); } } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/block/disk-events.c +++ linux-intel-iotg-5.15-5.15.0/block/disk-events.c @@ -307,6 +307,7 @@ if (!(events & DISK_EVENT_MEDIA_CHANGE)) return false; + inc_diskseq(disk); if (__invalidate_device(disk->part0, true)) pr_warn("VFS: busy inodes on changed media %s\n", disk->disk_name); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/block/partitions/amiga.c +++ linux-intel-iotg-5.15-5.15.0/block/partitions/amiga.c @@ -11,10 +11,18 @@ #define pr_fmt(fmt) fmt #include +#include +#include #include #include "check.h" +/* magic offsets in partition DosEnvVec */ +#define NR_HD 3 +#define NR_SECT 5 +#define LO_CYL 9 +#define HI_CYL 10 + static __inline__ u32 checksum_block(__be32 *m, int size) { @@ -31,8 +39,12 @@ unsigned char *data; struct RigidDiskBlock *rdb; struct PartitionBlock *pb; - int start_sect, nr_sects, blk, part, res = 0; - int blksize = 1; /* Multiplier for disk block size */ + u64 start_sect, nr_sects; + sector_t blk, end_sect; + u32 cylblk; /* rdb_CylBlocks = nr_heads*sect_per_track */ + u32 nr_hd, nr_sect, lo_cyl, hi_cyl; + int part, res = 0; + unsigned int blksize = 1; /* Multiplier for disk block size */ int slot = 1; for (blk = 0; ; blk++, put_dev_sector(sect)) { @@ -40,7 +52,7 @@ goto rdb_done; data = read_part_sector(state, blk, §); if (!data) { - pr_err("Dev %s: unable to read RDB block %d\n", + pr_err("Dev %s: unable to read RDB block %llu\n", state->disk->disk_name, blk); res = -1; goto rdb_done; @@ -57,12 +69,12 @@ *(__be32 *)(data+0xdc) = 0; if (checksum_block((__be32 *)data, be32_to_cpu(rdb->rdb_SummedLongs) & 0x7F)==0) { - pr_err("Trashed word at 0xd0 in block %d ignored in checksum calculation\n", + pr_err("Trashed word at 0xd0 in block %llu ignored in checksum calculation\n", blk); break; } - pr_err("Dev %s: RDB in block %d has bad checksum\n", + pr_err("Dev %s: RDB in block %llu has bad checksum\n", state->disk->disk_name, blk); } @@ -78,11 +90,16 @@ } blk = be32_to_cpu(rdb->rdb_PartitionList); put_dev_sector(sect); - for (part = 1; blk>0 && part<=16; part++, put_dev_sector(sect)) { - blk *= blksize; /* Read in terms partition table understands */ + for (part = 1; (s32) blk>0 && part<=16; part++, put_dev_sector(sect)) { + /* Read in terms partition table understands */ + if (check_mul_overflow(blk, (sector_t) blksize, &blk)) { + pr_err("Dev %s: overflow calculating partition block %llu! Skipping partitions %u and beyond\n", + state->disk->disk_name, blk, part); + break; + } data = read_part_sector(state, blk, §); if (!data) { - pr_err("Dev %s: unable to read partition block %d\n", + pr_err("Dev %s: unable to read partition block %llu\n", state->disk->disk_name, blk); res = -1; goto rdb_done; @@ -94,19 +111,70 @@ if (checksum_block((__be32 *)pb, be32_to_cpu(pb->pb_SummedLongs) & 0x7F) != 0 ) continue; - /* Tell Kernel about it */ + /* RDB gives us more than enough rope to hang ourselves with, + * many times over (2^128 bytes if all fields max out). + * Some careful checks are in order, so check for potential + * overflows. + * We are multiplying four 32 bit numbers to one sector_t! + */ + + nr_hd = be32_to_cpu(pb->pb_Environment[NR_HD]); + nr_sect = be32_to_cpu(pb->pb_Environment[NR_SECT]); + + /* CylBlocks is total number of blocks per cylinder */ + if (check_mul_overflow(nr_hd, nr_sect, &cylblk)) { + pr_err("Dev %s: heads*sects %u overflows u32, skipping partition!\n", + state->disk->disk_name, cylblk); + continue; + } + + /* check for consistency with RDB defined CylBlocks */ + if (cylblk > be32_to_cpu(rdb->rdb_CylBlocks)) { + pr_warn("Dev %s: cylblk %u > rdb_CylBlocks %u!\n", + state->disk->disk_name, cylblk, + be32_to_cpu(rdb->rdb_CylBlocks)); + } + + /* RDB allows for variable logical block size - + * normalize to 512 byte blocks and check result. + */ + + if (check_mul_overflow(cylblk, blksize, &cylblk)) { + pr_err("Dev %s: partition %u bytes per cyl. overflows u32, skipping partition!\n", + state->disk->disk_name, part); + continue; + } + + /* Calculate partition start and end. Limit of 32 bit on cylblk + * guarantees no overflow occurs if LBD support is enabled. + */ + + lo_cyl = be32_to_cpu(pb->pb_Environment[LO_CYL]); + start_sect = ((u64) lo_cyl * cylblk); + + hi_cyl = be32_to_cpu(pb->pb_Environment[HI_CYL]); + nr_sects = (((u64) hi_cyl - lo_cyl + 1) * cylblk); - nr_sects = (be32_to_cpu(pb->pb_Environment[10]) + 1 - - be32_to_cpu(pb->pb_Environment[9])) * - be32_to_cpu(pb->pb_Environment[3]) * - be32_to_cpu(pb->pb_Environment[5]) * - blksize; if (!nr_sects) continue; - start_sect = be32_to_cpu(pb->pb_Environment[9]) * - be32_to_cpu(pb->pb_Environment[3]) * - be32_to_cpu(pb->pb_Environment[5]) * - blksize; + + /* Warn user if partition end overflows u32 (AmigaDOS limit) */ + + if ((start_sect + nr_sects) > UINT_MAX) { + pr_warn("Dev %s: partition %u (%llu-%llu) needs 64 bit device support!\n", + state->disk->disk_name, part, + start_sect, start_sect + nr_sects); + } + + if (check_add_overflow(start_sect, nr_sects, &end_sect)) { + pr_err("Dev %s: partition %u (%llu-%llu) needs LBD device support, skipping partition!\n", + state->disk->disk_name, part, + start_sect, end_sect); + continue; + } + + /* Tell Kernel about it */ + put_partition(state,slot++,start_sect,nr_sects); { /* Be even more informative to aid mounting */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/acpi/Makefile +++ linux-intel-iotg-5.15-5.15.0/drivers/acpi/Makefile @@ -80,6 +80,9 @@ obj-$(CONFIG_ACPI_BUTTON) += button.o obj-$(CONFIG_ACPI_TINY_POWER_BUTTON) += tiny-power-button.o obj-$(CONFIG_ACPI_FAN) += fan.o +fan-objs := fan_core.o +fan-objs += fan_attr.o + obj-$(CONFIG_ACPI_VIDEO) += video.o obj-$(CONFIG_ACPI_TAD) += acpi_tad.o obj-$(CONFIG_ACPI_PCI_SLOT) += pci_slot.o only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/acpi/acpica/achware.h +++ linux-intel-iotg-5.15-5.15.0/drivers/acpi/acpica/achware.h @@ -101,8 +101,6 @@ acpi_hw_get_gpe_status(struct acpi_gpe_event_info *gpe_event_info, acpi_event_status *event_status); -acpi_status acpi_hw_disable_all_gpes(void); - acpi_status acpi_hw_enable_all_runtime_gpes(void); acpi_status acpi_hw_enable_all_wakeup_gpes(void); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/acpi/fan.h +++ linux-intel-iotg-5.15-5.15.0/drivers/acpi/fan.h @@ -6,8 +6,52 @@ * * Add new device IDs before the generic ACPI fan one. */ + +#ifndef _ACPI_FAN_H_ +#define _ACPI_FAN_H_ + #define ACPI_FAN_DEVICE_IDS \ {"INT3404", }, /* Fan */ \ {"INTC1044", }, /* Fan for Tiger Lake generation */ \ {"INTC1048", }, /* Fan for Alder Lake generation */ \ {"PNP0C0B", } /* Generic ACPI fan */ + +#define ACPI_FPS_NAME_LEN 20 + +struct acpi_fan_fps { + u64 control; + u64 trip_point; + u64 speed; + u64 noise_level; + u64 power; + char name[ACPI_FPS_NAME_LEN]; + struct device_attribute dev_attr; +}; + +struct acpi_fan_fif { + u8 revision; + u8 fine_grain_ctrl; + u8 step_size; + u8 low_speed_notification; +}; + +struct acpi_fan_fst { + u64 revision; + u64 control; + u64 speed; +}; + +struct acpi_fan { + bool acpi4; + struct acpi_fan_fif fif; + struct acpi_fan_fps *fps; + int fps_count; + struct thermal_cooling_device *cdev; + struct device_attribute fst_speed; + struct device_attribute fine_grain_control; +}; + +int acpi_fan_get_fst(struct acpi_device *device, struct acpi_fan_fst *fst); +int acpi_fan_create_attributes(struct acpi_device *device); +void acpi_fan_delete_attributes(struct acpi_device *device); +#endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/acpi/fan_attr.c +++ linux-intel-iotg-5.15-5.15.0/drivers/acpi/fan_attr.c @@ -0,0 +1,137 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * fan_attr.c - Create extra attributes for ACPI Fan driver + * + * Copyright (C) 2001, 2002 Andy Grover + * Copyright (C) 2001, 2002 Paul Diefenbaugh + * Copyright (C) 2022 Intel Corporation. All rights reserved. + */ + +#include +#include +#include +#include + +#include "fan.h" + +MODULE_LICENSE("GPL"); + +static ssize_t show_state(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct acpi_fan_fps *fps = container_of(attr, struct acpi_fan_fps, dev_attr); + int count; + + if (fps->control == 0xFFFFFFFF || fps->control > 100) + count = scnprintf(buf, PAGE_SIZE, "not-defined:"); + else + count = scnprintf(buf, PAGE_SIZE, "%lld:", fps->control); + + if (fps->trip_point == 0xFFFFFFFF || fps->trip_point > 9) + count += scnprintf(&buf[count], PAGE_SIZE - count, "not-defined:"); + else + count += scnprintf(&buf[count], PAGE_SIZE - count, "%lld:", fps->trip_point); + + if (fps->speed == 0xFFFFFFFF) + count += scnprintf(&buf[count], PAGE_SIZE - count, "not-defined:"); + else + count += scnprintf(&buf[count], PAGE_SIZE - count, "%lld:", fps->speed); + + if (fps->noise_level == 0xFFFFFFFF) + count += scnprintf(&buf[count], PAGE_SIZE - count, "not-defined:"); + else + count += scnprintf(&buf[count], PAGE_SIZE - count, "%lld:", fps->noise_level * 100); + + if (fps->power == 0xFFFFFFFF) + count += scnprintf(&buf[count], PAGE_SIZE - count, "not-defined\n"); + else + count += scnprintf(&buf[count], PAGE_SIZE - count, "%lld\n", fps->power); + + return count; +} + +static ssize_t show_fan_speed(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct acpi_device *acpi_dev = container_of(dev, struct acpi_device, dev); + struct acpi_fan_fst fst; + int status; + + status = acpi_fan_get_fst(acpi_dev, &fst); + if (status) + return status; + + return sprintf(buf, "%lld\n", fst.speed); +} + +static ssize_t show_fine_grain_control(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct acpi_device *acpi_dev = container_of(dev, struct acpi_device, dev); + struct acpi_fan *fan = acpi_driver_data(acpi_dev); + + return sprintf(buf, "%d\n", fan->fif.fine_grain_ctrl); +} + +int acpi_fan_create_attributes(struct acpi_device *device) +{ + struct acpi_fan *fan = acpi_driver_data(device); + int i, status; + + sysfs_attr_init(&fan->fine_grain_control.attr); + fan->fine_grain_control.show = show_fine_grain_control; + fan->fine_grain_control.store = NULL; + fan->fine_grain_control.attr.name = "fine_grain_control"; + fan->fine_grain_control.attr.mode = 0444; + status = sysfs_create_file(&device->dev.kobj, &fan->fine_grain_control.attr); + if (status) + return status; + + /* _FST is present if we are here */ + sysfs_attr_init(&fan->fst_speed.attr); + fan->fst_speed.show = show_fan_speed; + fan->fst_speed.store = NULL; + fan->fst_speed.attr.name = "fan_speed_rpm"; + fan->fst_speed.attr.mode = 0444; + status = sysfs_create_file(&device->dev.kobj, &fan->fst_speed.attr); + if (status) + goto rem_fine_grain_attr; + + for (i = 0; i < fan->fps_count; ++i) { + struct acpi_fan_fps *fps = &fan->fps[i]; + + snprintf(fps->name, ACPI_FPS_NAME_LEN, "state%d", i); + sysfs_attr_init(&fps->dev_attr.attr); + fps->dev_attr.show = show_state; + fps->dev_attr.store = NULL; + fps->dev_attr.attr.name = fps->name; + fps->dev_attr.attr.mode = 0444; + status = sysfs_create_file(&device->dev.kobj, &fps->dev_attr.attr); + if (status) { + int j; + + for (j = 0; j < i; ++j) + sysfs_remove_file(&device->dev.kobj, &fan->fps[j].dev_attr.attr); + goto rem_fst_attr; + } + } + + return 0; + +rem_fst_attr: + sysfs_remove_file(&device->dev.kobj, &fan->fst_speed.attr); + +rem_fine_grain_attr: + sysfs_remove_file(&device->dev.kobj, &fan->fine_grain_control.attr); + + return status; +} + +void acpi_fan_delete_attributes(struct acpi_device *device) +{ + struct acpi_fan *fan = acpi_driver_data(device); + int i; + + for (i = 0; i < fan->fps_count; ++i) + sysfs_remove_file(&device->dev.kobj, &fan->fps[i].dev_attr.attr); + + sysfs_remove_file(&device->dev.kobj, &fan->fst_speed.attr); + sysfs_remove_file(&device->dev.kobj, &fan->fine_grain_control.attr); +} only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/acpi/fan_core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/acpi/fan_core.c @@ -0,0 +1,464 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * fan_core.c - ACPI Fan core Driver + * + * Copyright (C) 2001, 2002 Andy Grover + * Copyright (C) 2001, 2002 Paul Diefenbaugh + * Copyright (C) 2022 Intel Corporation. All rights reserved. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "fan.h" + +MODULE_AUTHOR("Paul Diefenbaugh"); +MODULE_DESCRIPTION("ACPI Fan Driver"); +MODULE_LICENSE("GPL"); + +static int acpi_fan_probe(struct platform_device *pdev); +static int acpi_fan_remove(struct platform_device *pdev); + +static const struct acpi_device_id fan_device_ids[] = { + ACPI_FAN_DEVICE_IDS, + {"", 0}, +}; +MODULE_DEVICE_TABLE(acpi, fan_device_ids); + +#ifdef CONFIG_PM_SLEEP +static int acpi_fan_suspend(struct device *dev); +static int acpi_fan_resume(struct device *dev); +static const struct dev_pm_ops acpi_fan_pm = { + .resume = acpi_fan_resume, + .freeze = acpi_fan_suspend, + .thaw = acpi_fan_resume, + .restore = acpi_fan_resume, +}; +#define FAN_PM_OPS_PTR (&acpi_fan_pm) +#else +#define FAN_PM_OPS_PTR NULL +#endif + +static struct platform_driver acpi_fan_driver = { + .probe = acpi_fan_probe, + .remove = acpi_fan_remove, + .driver = { + .name = "acpi-fan", + .acpi_match_table = fan_device_ids, + .pm = FAN_PM_OPS_PTR, + }, +}; + +/* thermal cooling device callbacks */ +static int fan_get_max_state(struct thermal_cooling_device *cdev, unsigned long + *state) +{ + struct acpi_device *device = cdev->devdata; + struct acpi_fan *fan = acpi_driver_data(device); + + if (fan->acpi4) { + if (fan->fif.fine_grain_ctrl) + *state = 100 / fan->fif.step_size; + else + *state = fan->fps_count - 1; + } else { + *state = 1; + } + + return 0; +} + +int acpi_fan_get_fst(struct acpi_device *device, struct acpi_fan_fst *fst) +{ + struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; + union acpi_object *obj; + acpi_status status; + int ret = 0; + + status = acpi_evaluate_object(device->handle, "_FST", NULL, &buffer); + if (ACPI_FAILURE(status)) { + dev_err(&device->dev, "Get fan state failed\n"); + return status; + } + + obj = buffer.pointer; + if (!obj || obj->type != ACPI_TYPE_PACKAGE || + obj->package.count != 3 || + obj->package.elements[1].type != ACPI_TYPE_INTEGER) { + dev_err(&device->dev, "Invalid _FST data\n"); + ret = -EINVAL; + goto err; + } + + fst->revision = obj->package.elements[0].integer.value; + fst->control = obj->package.elements[1].integer.value; + fst->speed = obj->package.elements[2].integer.value; + +err: + kfree(obj); + return ret; +} + +static int fan_get_state_acpi4(struct acpi_device *device, unsigned long *state) +{ + struct acpi_fan *fan = acpi_driver_data(device); + struct acpi_fan_fst fst; + int status, i; + + status = acpi_fan_get_fst(device, &fst); + if (status) + return status; + + if (fan->fif.fine_grain_ctrl) { + /* This control should be same what we set using _FSL by spec */ + if (fst.control > 100) { + dev_dbg(&device->dev, "Invalid control value returned\n"); + goto match_fps; + } + + *state = (int) fst.control / fan->fif.step_size; + return 0; + } + +match_fps: + for (i = 0; i < fan->fps_count; i++) { + if (fst.control == fan->fps[i].control) + break; + } + if (i == fan->fps_count) { + dev_dbg(&device->dev, "Invalid control value returned\n"); + return -EINVAL; + } + + *state = i; + + return status; +} + +static int fan_get_state(struct acpi_device *device, unsigned long *state) +{ + int result; + int acpi_state = ACPI_STATE_D0; + + result = acpi_device_update_power(device, &acpi_state); + if (result) + return result; + + *state = acpi_state == ACPI_STATE_D3_COLD + || acpi_state == ACPI_STATE_D3_HOT ? + 0 : (acpi_state == ACPI_STATE_D0 ? 1 : -1); + return 0; +} + +static int fan_get_cur_state(struct thermal_cooling_device *cdev, unsigned long + *state) +{ + struct acpi_device *device = cdev->devdata; + struct acpi_fan *fan = acpi_driver_data(device); + + if (fan->acpi4) + return fan_get_state_acpi4(device, state); + else + return fan_get_state(device, state); +} + +static int fan_set_state(struct acpi_device *device, unsigned long state) +{ + if (state != 0 && state != 1) + return -EINVAL; + + return acpi_device_set_power(device, + state ? ACPI_STATE_D0 : ACPI_STATE_D3_COLD); +} + +static int fan_set_state_acpi4(struct acpi_device *device, unsigned long state) +{ + struct acpi_fan *fan = acpi_driver_data(device); + acpi_status status; + u64 value = state; + int max_state; + + if (fan->fif.fine_grain_ctrl) + max_state = 100 / fan->fif.step_size; + else + max_state = fan->fps_count - 1; + + if (state > max_state) + return -EINVAL; + + if (fan->fif.fine_grain_ctrl) { + value *= fan->fif.step_size; + /* Spec allows compensate the last step only */ + if (value + fan->fif.step_size > 100) + value = 100; + } else { + value = fan->fps[state].control; + } + + status = acpi_execute_simple_method(device->handle, "_FSL", value); + if (ACPI_FAILURE(status)) { + dev_dbg(&device->dev, "Failed to set state by _FSL\n"); + return status; + } + + return 0; +} + +static int +fan_set_cur_state(struct thermal_cooling_device *cdev, unsigned long state) +{ + struct acpi_device *device = cdev->devdata; + struct acpi_fan *fan = acpi_driver_data(device); + + if (fan->acpi4) + return fan_set_state_acpi4(device, state); + else + return fan_set_state(device, state); +} + +static const struct thermal_cooling_device_ops fan_cooling_ops = { + .get_max_state = fan_get_max_state, + .get_cur_state = fan_get_cur_state, + .set_cur_state = fan_set_cur_state, +}; + +/* -------------------------------------------------------------------------- + * Driver Interface + * -------------------------------------------------------------------------- +*/ + +static bool acpi_fan_is_acpi4(struct acpi_device *device) +{ + return acpi_has_method(device->handle, "_FIF") && + acpi_has_method(device->handle, "_FPS") && + acpi_has_method(device->handle, "_FSL") && + acpi_has_method(device->handle, "_FST"); +} + +static int acpi_fan_get_fif(struct acpi_device *device) +{ + struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; + struct acpi_fan *fan = acpi_driver_data(device); + struct acpi_buffer format = { sizeof("NNNN"), "NNNN" }; + u64 fields[4]; + struct acpi_buffer fif = { sizeof(fields), fields }; + union acpi_object *obj; + acpi_status status; + + status = acpi_evaluate_object(device->handle, "_FIF", NULL, &buffer); + if (ACPI_FAILURE(status)) + return status; + + obj = buffer.pointer; + if (!obj || obj->type != ACPI_TYPE_PACKAGE) { + dev_err(&device->dev, "Invalid _FIF data\n"); + status = -EINVAL; + goto err; + } + + status = acpi_extract_package(obj, &format, &fif); + if (ACPI_FAILURE(status)) { + dev_err(&device->dev, "Invalid _FIF element\n"); + status = -EINVAL; + } + + fan->fif.revision = fields[0]; + fan->fif.fine_grain_ctrl = fields[1]; + fan->fif.step_size = fields[2]; + fan->fif.low_speed_notification = fields[3]; + + /* If there is a bug in step size and set as 0, change to 1 */ + if (!fan->fif.step_size) + fan->fif.step_size = 1; + /* If step size > 9, change to 9 (by spec valid values 1-9) */ + else if (fan->fif.step_size > 9) + fan->fif.step_size = 9; +err: + kfree(obj); + return status; +} + +static int acpi_fan_speed_cmp(const void *a, const void *b) +{ + const struct acpi_fan_fps *fps1 = a; + const struct acpi_fan_fps *fps2 = b; + return fps1->speed - fps2->speed; +} + +static int acpi_fan_get_fps(struct acpi_device *device) +{ + struct acpi_fan *fan = acpi_driver_data(device); + struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; + union acpi_object *obj; + acpi_status status; + int i; + + status = acpi_evaluate_object(device->handle, "_FPS", NULL, &buffer); + if (ACPI_FAILURE(status)) + return status; + + obj = buffer.pointer; + if (!obj || obj->type != ACPI_TYPE_PACKAGE || obj->package.count < 2) { + dev_err(&device->dev, "Invalid _FPS data\n"); + status = -EINVAL; + goto err; + } + + fan->fps_count = obj->package.count - 1; /* minus revision field */ + fan->fps = devm_kcalloc(&device->dev, + fan->fps_count, sizeof(struct acpi_fan_fps), + GFP_KERNEL); + if (!fan->fps) { + dev_err(&device->dev, "Not enough memory\n"); + status = -ENOMEM; + goto err; + } + for (i = 0; i < fan->fps_count; i++) { + struct acpi_buffer format = { sizeof("NNNNN"), "NNNNN" }; + struct acpi_buffer fps = { offsetof(struct acpi_fan_fps, name), + &fan->fps[i] }; + status = acpi_extract_package(&obj->package.elements[i + 1], + &format, &fps); + if (ACPI_FAILURE(status)) { + dev_err(&device->dev, "Invalid _FPS element\n"); + goto err; + } + } + + /* sort the state array according to fan speed in increase order */ + sort(fan->fps, fan->fps_count, sizeof(*fan->fps), + acpi_fan_speed_cmp, NULL); + +err: + kfree(obj); + return status; +} + +static int acpi_fan_probe(struct platform_device *pdev) +{ + int result = 0; + struct thermal_cooling_device *cdev; + struct acpi_fan *fan; + struct acpi_device *device = ACPI_COMPANION(&pdev->dev); + char *name; + + fan = devm_kzalloc(&pdev->dev, sizeof(*fan), GFP_KERNEL); + if (!fan) { + dev_err(&device->dev, "No memory for fan\n"); + return -ENOMEM; + } + device->driver_data = fan; + platform_set_drvdata(pdev, fan); + + if (acpi_fan_is_acpi4(device)) { + result = acpi_fan_get_fif(device); + if (result) + return result; + + result = acpi_fan_get_fps(device); + if (result) + return result; + + result = acpi_fan_create_attributes(device); + if (result) + return result; + + fan->acpi4 = true; + } else { + result = acpi_device_update_power(device, NULL); + if (result) { + dev_err(&device->dev, "Failed to set initial power state\n"); + goto err_end; + } + } + + if (!strncmp(pdev->name, "PNP0C0B", strlen("PNP0C0B"))) + name = "Fan"; + else + name = acpi_device_bid(device); + + cdev = thermal_cooling_device_register(name, device, + &fan_cooling_ops); + if (IS_ERR(cdev)) { + result = PTR_ERR(cdev); + goto err_end; + } + + dev_dbg(&pdev->dev, "registered as cooling_device%d\n", cdev->id); + + fan->cdev = cdev; + result = sysfs_create_link(&pdev->dev.kobj, + &cdev->device.kobj, + "thermal_cooling"); + if (result) + dev_err(&pdev->dev, "Failed to create sysfs link 'thermal_cooling'\n"); + + result = sysfs_create_link(&cdev->device.kobj, + &pdev->dev.kobj, + "device"); + if (result) { + dev_err(&pdev->dev, "Failed to create sysfs link 'device'\n"); + goto err_end; + } + + return 0; + +err_end: + if (fan->acpi4) + acpi_fan_delete_attributes(device); + + return result; +} + +static int acpi_fan_remove(struct platform_device *pdev) +{ + struct acpi_fan *fan = platform_get_drvdata(pdev); + + if (fan->acpi4) { + struct acpi_device *device = ACPI_COMPANION(&pdev->dev); + + acpi_fan_delete_attributes(device); + } + sysfs_remove_link(&pdev->dev.kobj, "thermal_cooling"); + sysfs_remove_link(&fan->cdev->device.kobj, "device"); + thermal_cooling_device_unregister(fan->cdev); + + return 0; +} + +#ifdef CONFIG_PM_SLEEP +static int acpi_fan_suspend(struct device *dev) +{ + struct acpi_fan *fan = dev_get_drvdata(dev); + if (fan->acpi4) + return 0; + + acpi_device_set_power(ACPI_COMPANION(dev), ACPI_STATE_D0); + + return AE_OK; +} + +static int acpi_fan_resume(struct device *dev) +{ + int result; + struct acpi_fan *fan = dev_get_drvdata(dev); + + if (fan->acpi4) + return 0; + + result = acpi_device_update_power(ACPI_COMPANION(dev), NULL); + if (result) + dev_err(dev, "Error updating fan power state\n"); + + return result; +} +#endif + +module_platform_driver(acpi_fan_driver); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/base/regmap/regmap-spi-avmm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/base/regmap/regmap-spi-avmm.c @@ -666,7 +666,7 @@ .reg_format_endian_default = REGMAP_ENDIAN_NATIVE, .val_format_endian_default = REGMAP_ENDIAN_NATIVE, .max_raw_read = SPI_AVMM_VAL_SIZE * MAX_READ_CNT, - .max_raw_write = SPI_AVMM_VAL_SIZE * MAX_WRITE_CNT, + .max_raw_write = SPI_AVMM_REG_SIZE + SPI_AVMM_VAL_SIZE * MAX_WRITE_CNT, .free_context = spi_avmm_bridge_ctx_free, }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/block/Makefile +++ linux-intel-iotg-5.15-5.15.0/drivers/block/Makefile @@ -27,8 +27,6 @@ obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryptoloop.o obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o -obj-$(CONFIG_BLK_DEV_SX8) += sx8.o - obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/ obj-$(CONFIG_BLK_DEV_DRBD) += drbd/ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/char/hw_random/st-rng.c +++ linux-intel-iotg-5.15-5.15.0/drivers/char/hw_random/st-rng.c @@ -42,7 +42,6 @@ struct st_rng_data { void __iomem *base; - struct clk *clk; struct hwrng ops; }; @@ -85,26 +84,18 @@ if (IS_ERR(base)) return PTR_ERR(base); - clk = devm_clk_get(&pdev->dev, NULL); + clk = devm_clk_get_enabled(&pdev->dev, NULL); if (IS_ERR(clk)) return PTR_ERR(clk); - ret = clk_prepare_enable(clk); - if (ret) - return ret; - ddata->ops.priv = (unsigned long)ddata; ddata->ops.read = st_rng_read; ddata->ops.name = pdev->name; ddata->base = base; - ddata->clk = clk; - - dev_set_drvdata(&pdev->dev, ddata); ret = devm_hwrng_register(&pdev->dev, &ddata->ops); if (ret) { dev_err(&pdev->dev, "Failed to register HW RNG\n"); - clk_disable_unprepare(clk); return ret; } @@ -113,15 +104,6 @@ return 0; } -static int st_rng_remove(struct platform_device *pdev) -{ - struct st_rng_data *ddata = dev_get_drvdata(&pdev->dev); - - clk_disable_unprepare(ddata->clk); - - return 0; -} - static const struct of_device_id st_rng_match[] __maybe_unused = { { .compatible = "st,rng" }, {}, @@ -134,7 +116,6 @@ .of_match_table = of_match_ptr(st_rng_match), }, .probe = st_rng_probe, - .remove = st_rng_remove }; module_platform_driver(st_rng_driver); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/char/hw_random/virtio-rng.c +++ linux-intel-iotg-5.15-5.15.0/drivers/char/hw_random/virtio-rng.c @@ -4,6 +4,7 @@ * Copyright (C) 2007, 2008 Rusty Russell IBM Corporation */ +#include #include #include #include @@ -18,71 +19,111 @@ struct virtrng_info { struct hwrng hwrng; struct virtqueue *vq; - struct completion have_data; char name[25]; - unsigned int data_avail; int index; - bool busy; bool hwrng_register_done; bool hwrng_removed; + /* data transfer */ + struct completion have_data; + unsigned int data_avail; + unsigned int data_idx; + /* minimal size returned by rng_buffer_size() */ +#if SMP_CACHE_BYTES < 32 + u8 data[32]; +#else + u8 data[SMP_CACHE_BYTES]; +#endif }; static void random_recv_done(struct virtqueue *vq) { struct virtrng_info *vi = vq->vdev->priv; + unsigned int len; /* We can get spurious callbacks, e.g. shared IRQs + virtio_pci. */ - if (!virtqueue_get_buf(vi->vq, &vi->data_avail)) + if (!virtqueue_get_buf(vi->vq, &len)) return; + smp_store_release(&vi->data_avail, len); complete(&vi->have_data); } -/* The host will fill any buffer we give it with sweet, sweet randomness. */ -static void register_buffer(struct virtrng_info *vi, u8 *buf, size_t size) +static void request_entropy(struct virtrng_info *vi) { struct scatterlist sg; - sg_init_one(&sg, buf, size); + reinit_completion(&vi->have_data); + vi->data_idx = 0; + + sg_init_one(&sg, vi->data, sizeof(vi->data)); /* There should always be room for one buffer. */ - virtqueue_add_inbuf(vi->vq, &sg, 1, buf, GFP_KERNEL); + virtqueue_add_inbuf(vi->vq, &sg, 1, vi->data, GFP_KERNEL); virtqueue_kick(vi->vq); } +static unsigned int copy_data(struct virtrng_info *vi, void *buf, + unsigned int size) +{ + size = min_t(unsigned int, size, vi->data_avail); + memcpy(buf, vi->data + vi->data_idx, size); + vi->data_idx += size; + vi->data_avail -= size; + if (vi->data_avail == 0) + request_entropy(vi); + return size; +} + static int virtio_read(struct hwrng *rng, void *buf, size_t size, bool wait) { int ret; struct virtrng_info *vi = (struct virtrng_info *)rng->priv; + unsigned int chunk; + size_t read; if (vi->hwrng_removed) return -ENODEV; - if (!vi->busy) { - vi->busy = true; - reinit_completion(&vi->have_data); - register_buffer(vi, buf, size); + read = 0; + + /* copy available data */ + if (smp_load_acquire(&vi->data_avail)) { + chunk = copy_data(vi, buf, size); + size -= chunk; + read += chunk; } if (!wait) - return 0; - - ret = wait_for_completion_killable(&vi->have_data); - if (ret < 0) - return ret; + return read; - vi->busy = false; + /* We have already copied available entropy, + * so either size is 0 or data_avail is 0 + */ + while (size != 0) { + /* data_avail is 0 but a request is pending */ + ret = wait_for_completion_killable(&vi->have_data); + if (ret < 0) + return ret; + /* if vi->data_avail is 0, we have been interrupted + * by a cleanup, but buffer stays in the queue + */ + if (vi->data_avail == 0) + return read; + + chunk = copy_data(vi, buf + read, size); + size -= chunk; + read += chunk; + } - return vi->data_avail; + return read; } static void virtio_cleanup(struct hwrng *rng) { struct virtrng_info *vi = (struct virtrng_info *)rng->priv; - if (vi->busy) - wait_for_completion(&vi->have_data); + complete(&vi->have_data); } static int probe_common(struct virtio_device *vdev) @@ -118,6 +159,9 @@ goto err_find; } + /* we always have a pending entropy request */ + request_entropy(vi); + return 0; err_find: @@ -133,9 +177,9 @@ vi->hwrng_removed = true; vi->data_avail = 0; + vi->data_idx = 0; complete(&vi->have_data); vdev->config->reset(vdev); - vi->busy = false; if (vi->hwrng_register_done) hwrng_unregister(&vi->hwrng); vdev->config->del_vqs(vdev); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/char/tpm/tpm_vtpm_proxy.c +++ linux-intel-iotg-5.15-5.15.0/drivers/char/tpm/tpm_vtpm_proxy.c @@ -683,37 +683,21 @@ .fops = &vtpmx_fops, }; -static int vtpmx_init(void) -{ - return misc_register(&vtpmx_miscdev); -} - -static void vtpmx_cleanup(void) -{ - misc_deregister(&vtpmx_miscdev); -} - static int __init vtpm_module_init(void) { int rc; - rc = vtpmx_init(); - if (rc) { - pr_err("couldn't create vtpmx device\n"); - return rc; - } - workqueue = create_workqueue("tpm-vtpm"); if (!workqueue) { pr_err("couldn't create workqueue\n"); - rc = -ENOMEM; - goto err_vtpmx_cleanup; + return -ENOMEM; } - return 0; - -err_vtpmx_cleanup: - vtpmx_cleanup(); + rc = misc_register(&vtpmx_miscdev); + if (rc) { + pr_err("couldn't create vtpmx device\n"); + destroy_workqueue(workqueue); + } return rc; } @@ -721,7 +705,7 @@ static void __exit vtpm_module_exit(void) { destroy_workqueue(workqueue); - vtpmx_cleanup(); + misc_deregister(&vtpmx_miscdev); } module_init(vtpm_module_init); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clk/clk-cdce925.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/clk-cdce925.c @@ -705,6 +705,10 @@ for (i = 0; i < data->chip_info->num_plls; ++i) { pll_clk_name[i] = kasprintf(GFP_KERNEL, "%pOFn.pll%d", client->dev.of_node, i); + if (!pll_clk_name[i]) { + err = -ENOMEM; + goto error; + } init.name = pll_clk_name[i]; data->pll[i].chip = data; data->pll[i].hw.init = &init; @@ -746,6 +750,10 @@ init.num_parents = 1; init.parent_names = &parent_name; /* Mux Y1 to input */ init.name = kasprintf(GFP_KERNEL, "%pOFn.Y1", client->dev.of_node); + if (!init.name) { + err = -ENOMEM; + goto error; + } data->clk[0].chip = data; data->clk[0].hw.init = &init; data->clk[0].index = 0; @@ -764,6 +772,10 @@ for (i = 1; i < data->chip_info->num_outputs; ++i) { init.name = kasprintf(GFP_KERNEL, "%pOFn.Y%d", client->dev.of_node, i+1); + if (!init.name) { + err = -ENOMEM; + goto error; + } data->clk[i].chip = data; data->clk[i].hw.init = &init; data->clk[i].index = i; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clk/keystone/sci-clk.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/keystone/sci-clk.c @@ -302,6 +302,8 @@ name = kasprintf(GFP_KERNEL, "clk:%d:%d", sci_clk->dev_id, sci_clk->clk_id); + if (!name) + return -ENOMEM; init.name = name; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clk/qcom/camcc-sc7180.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/qcom/camcc-sc7180.c @@ -1493,12 +1493,21 @@ }, }; +static struct gdsc titan_top_gdsc = { + .gdscr = 0xb134, + .pd = { + .name = "titan_top_gdsc", + }, + .pwrsts = PWRSTS_OFF_ON, +}; + static struct gdsc bps_gdsc = { .gdscr = 0x6004, .pd = { .name = "bps_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .parent = &titan_top_gdsc.pd, .flags = HW_CTRL, }; @@ -1508,6 +1517,7 @@ .name = "ife_0_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .parent = &titan_top_gdsc.pd, }; static struct gdsc ife_1_gdsc = { @@ -1516,6 +1526,7 @@ .name = "ife_1_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .parent = &titan_top_gdsc.pd, }; static struct gdsc ipe_0_gdsc = { @@ -1525,15 +1536,9 @@ }, .pwrsts = PWRSTS_OFF_ON, .flags = HW_CTRL, + .parent = &titan_top_gdsc.pd, }; -static struct gdsc titan_top_gdsc = { - .gdscr = 0xb134, - .pd = { - .name = "titan_top_gdsc", - }, - .pwrsts = PWRSTS_OFF_ON, -}; static struct clk_hw *cam_cc_sc7180_hws[] = { [CAM_CC_PLL2_OUT_EARLY] = &cam_cc_pll2_out_early.hw, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clk/qcom/gcc-ipq6018.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/qcom/gcc-ipq6018.c @@ -1654,7 +1654,7 @@ .name = "sdcc1_apps_clk_src", .parent_data = gcc_xo_gpll0_gpll2_gpll0_out_main_div2, .num_parents = 4, - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; @@ -4517,24 +4517,24 @@ [GCC_PCIE0_AHB_ARES] = { 0x75040, 5 }, [GCC_PCIE0_AXI_MASTER_STICKY_ARES] = { 0x75040, 6 }, [GCC_PCIE0_AXI_SLAVE_STICKY_ARES] = { 0x75040, 7 }, - [GCC_PPE_FULL_RESET] = { 0x68014, 0 }, - [GCC_UNIPHY0_SOFT_RESET] = { 0x56004, 0 }, + [GCC_PPE_FULL_RESET] = { .reg = 0x68014, .bitmask = 0xf0000 }, + [GCC_UNIPHY0_SOFT_RESET] = { .reg = 0x56004, .bitmask = 0x3ff2 }, [GCC_UNIPHY0_XPCS_RESET] = { 0x56004, 2 }, - [GCC_UNIPHY1_SOFT_RESET] = { 0x56104, 0 }, + [GCC_UNIPHY1_SOFT_RESET] = { .reg = 0x56104, .bitmask = 0x32 }, [GCC_UNIPHY1_XPCS_RESET] = { 0x56104, 2 }, - [GCC_EDMA_HW_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT1_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT2_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT3_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT4_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT5_RESET] = { 0x68014, 0 }, - [GCC_UNIPHY0_PORT1_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT2_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT3_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT4_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT5_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT_4_5_RESET] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT_4_RESET] = { 0x56004, 0 }, + [GCC_EDMA_HW_RESET] = { .reg = 0x68014, .bitmask = 0x300000 }, + [GCC_NSSPORT1_RESET] = { .reg = 0x68014, .bitmask = 0x1000003 }, + [GCC_NSSPORT2_RESET] = { .reg = 0x68014, .bitmask = 0x200000c }, + [GCC_NSSPORT3_RESET] = { .reg = 0x68014, .bitmask = 0x4000030 }, + [GCC_NSSPORT4_RESET] = { .reg = 0x68014, .bitmask = 0x8000300 }, + [GCC_NSSPORT5_RESET] = { .reg = 0x68014, .bitmask = 0x10000c00 }, + [GCC_UNIPHY0_PORT1_ARES] = { .reg = 0x56004, .bitmask = 0x30 }, + [GCC_UNIPHY0_PORT2_ARES] = { .reg = 0x56004, .bitmask = 0xc0 }, + [GCC_UNIPHY0_PORT3_ARES] = { .reg = 0x56004, .bitmask = 0x300 }, + [GCC_UNIPHY0_PORT4_ARES] = { .reg = 0x56004, .bitmask = 0xc00 }, + [GCC_UNIPHY0_PORT5_ARES] = { .reg = 0x56004, .bitmask = 0x3000 }, + [GCC_UNIPHY0_PORT_4_5_RESET] = { .reg = 0x56004, .bitmask = 0x3c02 }, + [GCC_UNIPHY0_PORT_4_RESET] = { .reg = 0x56004, .bitmask = 0xc02 }, [GCC_LPASS_BCR] = {0x1F000, 0}, [GCC_UBI32_TBU_BCR] = {0x65000, 0}, [GCC_LPASS_TBU_BCR] = {0x6C000, 0}, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clk/qcom/reset.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/qcom/reset.c @@ -13,8 +13,10 @@ static int qcom_reset(struct reset_controller_dev *rcdev, unsigned long id) { + struct qcom_reset_controller *rst = to_qcom_reset_controller(rcdev); + rcdev->ops->assert(rcdev, id); - udelay(1); + udelay(rst->reset_map[id].udelay ?: 1); /* use 1 us as default */ rcdev->ops->deassert(rcdev, id); return 0; } @@ -28,7 +30,7 @@ rst = to_qcom_reset_controller(rcdev); map = &rst->reset_map[id]; - mask = BIT(map->bit); + mask = map->bitmask ? map->bitmask : BIT(map->bit); return regmap_update_bits(rst->regmap, map->reg, mask, mask); } @@ -42,7 +44,7 @@ rst = to_qcom_reset_controller(rcdev); map = &rst->reset_map[id]; - mask = BIT(map->bit); + mask = map->bitmask ? map->bitmask : BIT(map->bit); return regmap_update_bits(rst->regmap, map->reg, mask, 0); } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clk/qcom/reset.h +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/qcom/reset.h @@ -11,6 +11,8 @@ struct qcom_reset_map { unsigned int reg; u8 bit; + u8 udelay; + u32 bitmask; }; struct regmap; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clk/ti/clkctrl.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clk/ti/clkctrl.c @@ -267,6 +267,9 @@ if (clkctrl_name && !legacy_naming) { clock_name = kasprintf(GFP_KERNEL, "%s-clkctrl:%04x:%d", clkctrl_name, offset, index); + if (!clock_name) + return NULL; + strreplace(clock_name, '_', '-'); return clock_name; @@ -598,6 +601,10 @@ if (clkctrl_name) { provider->clkdm_name = kasprintf(GFP_KERNEL, "%s_clkdm", clkctrl_name); + if (!provider->clkdm_name) { + kfree(provider); + return; + } goto clkdm_found; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/clocksource/timer-cadence-ttc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/clocksource/timer-cadence-ttc.c @@ -486,10 +486,10 @@ * and use it. Note that the event timer uses the interrupt and it's the * 2nd TTC hence the irq_of_parse_and_map(,1) */ - timer_baseaddr = of_iomap(timer, 0); - if (!timer_baseaddr) { + timer_baseaddr = devm_of_iomap(&pdev->dev, timer, 0, NULL); + if (IS_ERR(timer_baseaddr)) { pr_err("ERROR: invalid timer base address\n"); - return -ENXIO; + return PTR_ERR(timer_baseaddr); } irq = irq_of_parse_and_map(timer, 1); @@ -513,20 +513,27 @@ clk_ce = of_clk_get(timer, clksel); if (IS_ERR(clk_ce)) { pr_err("ERROR: timer input clock not found\n"); - return PTR_ERR(clk_ce); + ret = PTR_ERR(clk_ce); + goto put_clk_cs; } ret = ttc_setup_clocksource(clk_cs, timer_baseaddr, timer_width); if (ret) - return ret; + goto put_clk_ce; ret = ttc_setup_clockevent(clk_ce, timer_baseaddr + 4, irq); if (ret) - return ret; + goto put_clk_ce; pr_info("%pOFn #0 at %p, irq=%d\n", timer, timer_baseaddr, irq); return 0; + +put_clk_ce: + clk_put(clk_ce); +put_clk_cs: + clk_put(clk_cs); + return ret; } static const struct of_device_id ttc_timer_of_match[] = { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/crypto/nx/Makefile +++ linux-intel-iotg-5.15-5.15.0/drivers/crypto/nx/Makefile @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_NX_ENCRYPT) += nx-crypto.o nx-crypto-objs := nx.o \ - nx_debugfs.o \ nx-aes-cbc.o \ nx-aes-ecb.o \ nx-aes-gcm.o \ @@ -11,6 +10,7 @@ nx-sha256.o \ nx-sha512.o +nx-crypto-$(CONFIG_DEBUG_FS) += nx_debugfs.o obj-$(CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES) += nx-compress-pseries.o nx-compress.o obj-$(CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV) += nx-compress-powernv.o nx-compress.o nx-compress-objs := nx-842.o only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/crypto/nx/nx.h +++ linux-intel-iotg-5.15-5.15.0/drivers/crypto/nx/nx.h @@ -170,8 +170,8 @@ void nx_debugfs_init(struct nx_crypto_driver *); void nx_debugfs_fini(struct nx_crypto_driver *); #else -#define NX_DEBUGFS_INIT(drv) (0) -#define NX_DEBUGFS_FINI(drv) (0) +#define NX_DEBUGFS_INIT(drv) do {} while (0) +#define NX_DEBUGFS_FINI(drv) do {} while (0) #endif #define NX_PAGE_NUM(x) ((u64)(x) & 0xfffffffffffff000ULL) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/crypto/qat/qat_common/adf_common_drv.h +++ linux-intel-iotg-5.15-5.15.0/drivers/crypto/qat/qat_common/adf_common_drv.h @@ -49,11 +49,6 @@ struct list_head list; }; -static inline int get_current_node(void) -{ - return topology_physical_package_id(raw_smp_processor_id()); -} - int adf_service_register(struct service_hndl *service); int adf_service_unregister(struct service_hndl *service); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/dax/dax-private.h +++ linux-intel-iotg-5.15-5.15.0/drivers/dax/dax-private.h @@ -52,7 +52,8 @@ * @region - parent region * @dax_dev - core dax functionality * @target_node: effective numa node if dev_dax memory range is onlined - * @id: ida allocated id + * @dyn_id: is this a dynamic or statically created instance + * @id: ida allocated id when the dax_region is not static * @ida: mapping id allocator * @dev - device core * @pgmap - pgmap for memmap setup / lifetime (driver owned) @@ -64,6 +65,7 @@ struct dax_device *dax_dev; unsigned int align; int target_node; + bool dyn_id; int id; struct ida ida; struct device dev; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/firmware/efi/libstub/efi-stub-helper.c +++ linux-intel-iotg-5.15-5.15.0/drivers/firmware/efi/libstub/efi-stub-helper.c @@ -439,8 +439,10 @@ { efi_status_t status; - status = efi_get_memory_map(map); + if (efi_disable_pci_dma) + efi_pci_disable_bridge_busmaster(); + status = efi_get_memory_map(map); if (status != EFI_SUCCESS) goto fail; @@ -448,9 +450,6 @@ if (status != EFI_SUCCESS) goto free_map; - if (efi_disable_pci_dma) - efi_pci_disable_bridge_busmaster(); - status = efi_bs_call(exit_boot_services, handle, *map->key_ptr); if (status == EFI_INVALID_PARAMETER) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c @@ -113,18 +113,19 @@ &(mqd_mem_obj->gtt_mem), &(mqd_mem_obj->gpu_addr), (void *)&(mqd_mem_obj->cpu_ptr), true); + + if (retval) { + kfree(mqd_mem_obj); + return NULL; + } } else { retval = kfd_gtt_sa_allocate(kfd, sizeof(struct v9_mqd), &mqd_mem_obj); - } - - if (retval) { - kfree(mqd_mem_obj); - return NULL; + if (retval) + return NULL; } return mqd_mem_obj; - } static void init_mqd(struct mqd_manager *mm, void **mqd, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c @@ -302,6 +302,9 @@ /* bits 8:7 for cache timer scale, bits 6:1 for cache timer delay, bit 0 = 1 for enable, = 0 for disable */ uint32_t param = (cache_timer_scale << 7) | (cache_timer_delay << 1) | (enable ? 1 : 0); + smu_print("SMU Set display refresh from mall: enable = %d, cache_timer_delay = %d, cache_timer_scale = %d\n", + enable, cache_timer_delay, cache_timer_scale); + dcn30_smu_send_msg_with_param(clk_mgr, DALSMC_MSG_SetDisplayRefreshFromMall, param, NULL); } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/bridge/tc358768.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/bridge/tc358768.c @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include #include #include @@ -147,6 +149,7 @@ u32 pd_lines; /* number of Parallel Port Input Data Lines */ u32 dsi_lanes; /* number of DSI Lanes */ + u32 dsi_bpp; /* number of Bits Per Pixel over DSI */ /* Parameters for PLL programming */ u32 fbd; /* PLL feedback divider */ @@ -279,12 +282,12 @@ static u32 tc358768_pll_to_pclk(struct tc358768_priv *priv, u32 pll_clk) { - return (u32)div_u64((u64)pll_clk * priv->dsi_lanes, priv->pd_lines); + return (u32)div_u64((u64)pll_clk * priv->dsi_lanes, priv->dsi_bpp); } static u32 tc358768_pclk_to_pll(struct tc358768_priv *priv, u32 pclk) { - return (u32)div_u64((u64)pclk * priv->pd_lines, priv->dsi_lanes); + return (u32)div_u64((u64)pclk * priv->dsi_bpp, priv->dsi_lanes); } static int tc358768_calc_pll(struct tc358768_priv *priv, @@ -329,13 +332,17 @@ u32 fbd; for (fbd = 0; fbd < 512; ++fbd) { - u32 pll, diff; + u32 pll, diff, pll_in; pll = (u32)div_u64((u64)refclk * (fbd + 1), divisor); if (pll >= max_pll || pll < min_pll) continue; + pll_in = (u32)div_u64((u64)refclk, prd + 1); + if (pll_in < 4000000) + continue; + diff = max(pll, target_pll) - min(pll, target_pll); if (diff < best_diff) { @@ -417,6 +424,7 @@ priv->output.panel = panel; priv->dsi_lanes = dev->lanes; + priv->dsi_bpp = mipi_dsi_pixel_format_to_bpp(dev->format); /* get input ep (port0/endpoint0) */ ret = -EINVAL; @@ -428,7 +436,7 @@ } if (ret) - priv->pd_lines = mipi_dsi_pixel_format_to_bpp(dev->format); + priv->pd_lines = priv->dsi_bpp; drm_bridge_add(&priv->bridge); @@ -626,6 +634,7 @@ struct tc358768_priv *priv = bridge_to_tc358768(bridge); struct mipi_dsi_device *dsi_dev = priv->output.dev; u32 val, val2, lptxcnt, hact, data_type; + s32 raw_val; const struct drm_display_mode *mode; u32 dsibclk_nsk, dsiclk_nsk, ui_nsk, phy_delay_nsk; u32 dsiclk, dsibclk; @@ -719,25 +728,26 @@ /* 38ns < TCLK_PREPARE < 95ns */ val = tc358768_ns_to_cnt(65, dsibclk_nsk) - 1; - /* TCLK_PREPARE > 300ns */ - val2 = tc358768_ns_to_cnt(300 + tc358768_to_ns(3 * ui_nsk), - dsibclk_nsk); - val |= (val2 - tc358768_to_ns(phy_delay_nsk - dsibclk_nsk)) << 8; + /* TCLK_PREPARE + TCLK_ZERO > 300ns */ + val2 = tc358768_ns_to_cnt(300 - tc358768_to_ns(2 * ui_nsk), + dsibclk_nsk) - 2; + val |= val2 << 8; dev_dbg(priv->dev, "TCLK_HEADERCNT: 0x%x\n", val); tc358768_write(priv, TC358768_TCLK_HEADERCNT, val); - /* TCLK_TRAIL > 60ns + 3*UI */ - val = 60 + tc358768_to_ns(3 * ui_nsk); - val = tc358768_ns_to_cnt(val, dsibclk_nsk) - 5; + /* TCLK_TRAIL > 60ns AND TEOT <= 105 ns + 12*UI */ + raw_val = tc358768_ns_to_cnt(60 + tc358768_to_ns(2 * ui_nsk), dsibclk_nsk) - 5; + val = clamp(raw_val, 0, 127); dev_dbg(priv->dev, "TCLK_TRAILCNT: 0x%x\n", val); tc358768_write(priv, TC358768_TCLK_TRAILCNT, val); /* 40ns + 4*UI < THS_PREPARE < 85ns + 6*UI */ val = 50 + tc358768_to_ns(4 * ui_nsk); val = tc358768_ns_to_cnt(val, dsibclk_nsk) - 1; - /* THS_ZERO > 145ns + 10*UI */ - val2 = tc358768_ns_to_cnt(145 - tc358768_to_ns(ui_nsk), dsibclk_nsk); - val |= (val2 - tc358768_to_ns(phy_delay_nsk)) << 8; + /* THS_PREPARE + THS_ZERO > 145ns + 10*UI */ + raw_val = tc358768_ns_to_cnt(145 - tc358768_to_ns(3 * ui_nsk), dsibclk_nsk) - 10; + val2 = clamp(raw_val, 0, 127); + val |= val2 << 8; dev_dbg(priv->dev, "THS_HEADERCNT: 0x%x\n", val); tc358768_write(priv, TC358768_THS_HEADERCNT, val); @@ -753,9 +763,10 @@ dev_dbg(priv->dev, "TCLK_POSTCNT: 0x%x\n", val); tc358768_write(priv, TC358768_TCLK_POSTCNT, val); - /* 60ns + 4*UI < THS_PREPARE < 105ns + 12*UI */ - val = tc358768_ns_to_cnt(60 + tc358768_to_ns(15 * ui_nsk), - dsibclk_nsk) - 5; + /* max(60ns + 4*UI, 8*UI) < THS_TRAILCNT < 105ns + 12*UI */ + raw_val = tc358768_ns_to_cnt(60 + tc358768_to_ns(18 * ui_nsk), + dsibclk_nsk) - 4; + val = clamp(raw_val, 0, 15); dev_dbg(priv->dev, "THS_TRAILCNT: 0x%x\n", val); tc358768_write(priv, TC358768_THS_TRAILCNT, val); @@ -769,7 +780,7 @@ /* TXTAGOCNT[26:16] RXTASURECNT[10:0] */ val = tc358768_to_ns((lptxcnt + 1) * dsibclk_nsk * 4); - val = tc358768_ns_to_cnt(val, dsibclk_nsk) - 1; + val = tc358768_ns_to_cnt(val, dsibclk_nsk) / 4 - 1; val2 = tc358768_ns_to_cnt(tc358768_to_ns((lptxcnt + 1) * dsibclk_nsk), dsibclk_nsk) - 2; val |= val2 << 16; @@ -819,8 +830,7 @@ val = TC358768_DSI_CONFW_MODE_SET | TC358768_DSI_CONFW_ADDR_DSI_CONTROL; val |= (dsi_dev->lanes - 1) << 1; - if (!(dsi_dev->mode_flags & MIPI_DSI_MODE_LPM)) - val |= TC358768_DSI_CONTROL_TXMD; + val |= TC358768_DSI_CONTROL_TXMD; if (!(dsi_dev->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) val |= TC358768_DSI_CONTROL_HSCKMD; @@ -866,6 +876,44 @@ } } +#define MAX_INPUT_SEL_FORMATS 1 + +static u32 * +tc358768_atomic_get_input_bus_fmts(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state, + u32 output_fmt, + unsigned int *num_input_fmts) +{ + struct tc358768_priv *priv = bridge_to_tc358768(bridge); + u32 *input_fmts; + + *num_input_fmts = 0; + + input_fmts = kcalloc(MAX_INPUT_SEL_FORMATS, sizeof(*input_fmts), + GFP_KERNEL); + if (!input_fmts) + return NULL; + + switch (priv->pd_lines) { + case 16: + input_fmts[0] = MEDIA_BUS_FMT_RGB565_1X16; + break; + case 18: + input_fmts[0] = MEDIA_BUS_FMT_RGB666_1X18; + break; + default: + case 24: + input_fmts[0] = MEDIA_BUS_FMT_RGB888_1X24; + break; + }; + + *num_input_fmts = MAX_INPUT_SEL_FORMATS; + + return input_fmts; +} + static const struct drm_bridge_funcs tc358768_bridge_funcs = { .attach = tc358768_bridge_attach, .mode_valid = tc358768_bridge_mode_valid, @@ -873,6 +921,11 @@ .enable = tc358768_bridge_enable, .disable = tc358768_bridge_disable, .post_disable = tc358768_bridge_post_disable, + + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, + .atomic_reset = drm_atomic_helper_bridge_reset, + .atomic_get_input_bus_fmts = tc358768_atomic_get_input_bus_fmts, }; static const struct drm_bridge_timings default_tc358768_timings = { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/drm_gem_vram_helper.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/drm_gem_vram_helper.c @@ -43,7 +43,7 @@ * the frame's scanout buffer or the cursor image. If there's no more space * left in VRAM, inactive GEM objects can be moved to system memory. * - * To initialize the VRAM helper library call drmm_vram_helper_alloc_mm(). + * To initialize the VRAM helper library call drmm_vram_helper_init(). * The function allocates and initializes an instance of &struct drm_vram_mm * in &struct drm_device.vram_mm . Use &DRM_GEM_VRAM_DRIVER to initialize * &struct drm_driver and &DRM_VRAM_MM_FILE_OPERATIONS to initialize @@ -71,7 +71,7 @@ * // setup device, vram base and size * // ... * - * ret = drmm_vram_helper_alloc_mm(dev, vram_base, vram_size); + * ret = drmm_vram_helper_init(dev, vram_base, vram_size); * if (ret) * return ret; * return 0; @@ -84,7 +84,7 @@ * to userspace. * * You don't have to clean up the instance of VRAM MM. - * drmm_vram_helper_alloc_mm() is a managed interface that installs a + * drmm_vram_helper_init() is a managed interface that installs a * clean-up handler to run during the DRM device's release. * * For drawing or scanout operations, rsp. buffer objects have to be pinned only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/exynos/exynos_drm_g2d.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/exynos/exynos_drm_g2d.c @@ -1335,7 +1335,7 @@ /* Let the runqueue know that there is work to do. */ queue_work(g2d->g2d_workq, &g2d->runqueue_work); - if (runqueue_node->async) + if (req->async) goto out; wait_for_completion(&runqueue_node->complete); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/exynos/exynos_drm_vidi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/exynos/exynos_drm_vidi.c @@ -468,8 +468,6 @@ if (ctx->raw_edid != (struct edid *)fake_edid_info) { kfree(ctx->raw_edid); ctx->raw_edid = NULL; - - return -EINVAL; } component_del(&pdev->dev, &vidi_component_ops); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c @@ -182,97 +182,108 @@ } struct parallel_switch { - struct task_struct *tsk; + struct kthread_worker *worker; + struct kthread_work work; struct intel_context *ce[2]; + int result; }; -static int __live_parallel_switch1(void *data) +static void __live_parallel_switch1(struct kthread_work *work) { - struct parallel_switch *arg = data; + struct parallel_switch *arg = + container_of(work, typeof(*arg), work); IGT_TIMEOUT(end_time); unsigned long count; count = 0; + arg->result = 0; do { struct i915_request *rq = NULL; - int err, n; + int n; - err = 0; - for (n = 0; !err && n < ARRAY_SIZE(arg->ce); n++) { + for (n = 0; !arg->result && n < ARRAY_SIZE(arg->ce); n++) { struct i915_request *prev = rq; rq = i915_request_create(arg->ce[n]); if (IS_ERR(rq)) { i915_request_put(prev); - return PTR_ERR(rq); + arg->result = PTR_ERR(rq); + break; } i915_request_get(rq); if (prev) { - err = i915_request_await_dma_fence(rq, &prev->fence); + arg->result = + i915_request_await_dma_fence(rq, + &prev->fence); i915_request_put(prev); } i915_request_add(rq); } - if (i915_request_wait(rq, 0, HZ / 5) < 0) - err = -ETIME; + + if (IS_ERR_OR_NULL(rq)) + break; + + if (i915_request_wait(rq, 0, HZ) < 0) + arg->result = -ETIME; + i915_request_put(rq); - if (err) - return err; count++; - } while (!__igt_timeout(end_time, NULL)); + } while (!arg->result && !__igt_timeout(end_time, NULL)); - pr_info("%s: %lu switches (sync)\n", arg->ce[0]->engine->name, count); - return 0; + pr_info("%s: %lu switches (sync) <%d>\n", + arg->ce[0]->engine->name, count, arg->result); } -static int __live_parallel_switchN(void *data) +static void __live_parallel_switchN(struct kthread_work *work) { - struct parallel_switch *arg = data; + struct parallel_switch *arg = + container_of(work, typeof(*arg), work); struct i915_request *rq = NULL; IGT_TIMEOUT(end_time); unsigned long count; int n; count = 0; + arg->result = 0; do { - for (n = 0; n < ARRAY_SIZE(arg->ce); n++) { + for (n = 0; !arg->result && n < ARRAY_SIZE(arg->ce); n++) { struct i915_request *prev = rq; - int err = 0; rq = i915_request_create(arg->ce[n]); if (IS_ERR(rq)) { i915_request_put(prev); - return PTR_ERR(rq); + arg->result = PTR_ERR(rq); + break; } i915_request_get(rq); if (prev) { - err = i915_request_await_dma_fence(rq, &prev->fence); + arg->result = + i915_request_await_dma_fence(rq, + &prev->fence); i915_request_put(prev); } i915_request_add(rq); - if (err) { - i915_request_put(rq); - return err; - } } count++; - } while (!__igt_timeout(end_time, NULL)); - i915_request_put(rq); + } while (!arg->result && !__igt_timeout(end_time, NULL)); + + if (!IS_ERR_OR_NULL(rq)) + i915_request_put(rq); - pr_info("%s: %lu switches (many)\n", arg->ce[0]->engine->name, count); - return 0; + pr_info("%s: %lu switches (many) <%d>\n", + arg->ce[0]->engine->name, count, arg->result); } static int live_parallel_switch(void *arg) { struct drm_i915_private *i915 = arg; - static int (* const func[])(void *arg) = { + static void (* const func[])(struct kthread_work *) = { __live_parallel_switch1, __live_parallel_switchN, NULL, @@ -280,7 +291,7 @@ struct parallel_switch *data = NULL; struct i915_gem_engines *engines; struct i915_gem_engines_iter it; - int (* const *fn)(void *arg); + void (* const *fn)(struct kthread_work *); struct i915_gem_context *ctx; struct intel_context *ce; struct file *file; @@ -338,8 +349,10 @@ continue; ce = intel_context_create(data[m].ce[0]->engine); - if (IS_ERR(ce)) + if (IS_ERR(ce)) { + err = PTR_ERR(ce); goto out; + } err = intel_context_pin(ce); if (err) { @@ -351,9 +364,24 @@ } } + for (n = 0; n < count; n++) { + struct kthread_worker *worker; + + if (!data[n].ce[0]) + continue; + + worker = kthread_create_worker(0, "igt/parallel:%s", + data[n].ce[0]->engine->name); + if (IS_ERR(worker)) { + err = PTR_ERR(worker); + goto out; + } + + data[n].worker = worker; + } + for (fn = func; !err && *fn; fn++) { struct igt_live_test t; - int n; err = igt_live_test_begin(&t, i915, __func__, ""); if (err) @@ -363,34 +391,23 @@ if (!data[n].ce[0]) continue; - data[n].tsk = kthread_run(*fn, &data[n], - "igt/parallel:%s", - data[n].ce[0]->engine->name); - if (IS_ERR(data[n].tsk)) { - err = PTR_ERR(data[n].tsk); - break; - } - get_task_struct(data[n].tsk); + data[n].result = 0; + kthread_init_work(&data[n].work, *fn); + kthread_queue_work(data[n].worker, &data[n].work); } - yield(); /* start all threads before we kthread_stop() */ - for (n = 0; n < count; n++) { - int status; - - if (IS_ERR_OR_NULL(data[n].tsk)) - continue; - - status = kthread_stop(data[n].tsk); - if (status && !err) - err = status; - - put_task_struct(data[n].tsk); - data[n].tsk = NULL; + if (data[n].ce[0]) { + kthread_flush_work(&data[n].work); + if (data[n].result && !err) + err = data[n].result; + } } - if (igt_live_test_end(&t)) - err = -EIO; + if (igt_live_test_end(&t)) { + err = err ?: -EIO; + break; + } } out: @@ -402,6 +419,9 @@ intel_context_unpin(data[n].ce[m]); intel_context_put(data[n].ce[m]); } + + if (data[n].worker) + kthread_destroy_worker(data[n].worker); } kfree(data); out_file: only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/i915/gt/selftest_execlists.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/gt/selftest_execlists.c @@ -1531,8 +1531,8 @@ struct drm_i915_gem_object *obj; struct i915_vma *vma; enum intel_engine_id id; - int err = -ENOMEM; u32 *map; + int err; /* * Verify that even without HAS_LOGICAL_RING_PREEMPTION, we can @@ -1540,13 +1540,17 @@ */ ctx_hi = kernel_context(gt->i915, NULL); - if (!ctx_hi) - return -ENOMEM; + if (IS_ERR(ctx_hi)) + return PTR_ERR(ctx_hi); + ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY; ctx_lo = kernel_context(gt->i915, NULL); - if (!ctx_lo) + if (IS_ERR(ctx_lo)) { + err = PTR_ERR(ctx_lo); goto err_ctx_hi; + } + ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY; obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE); @@ -3468,12 +3472,14 @@ struct preempt_smoke { struct intel_gt *gt; + struct kthread_work work; struct i915_gem_context **contexts; struct intel_engine_cs *engine; struct drm_i915_gem_object *batch; unsigned int ncontext; struct rnd_state prng; unsigned long count; + int result; }; static struct i915_gem_context *smoke_context(struct preempt_smoke *smoke) @@ -3533,34 +3539,31 @@ return err; } -static int smoke_crescendo_thread(void *arg) +static void smoke_crescendo_work(struct kthread_work *work) { - struct preempt_smoke *smoke = arg; + struct preempt_smoke *smoke = container_of(work, typeof(*smoke), work); IGT_TIMEOUT(end_time); unsigned long count; count = 0; do { struct i915_gem_context *ctx = smoke_context(smoke); - int err; - err = smoke_submit(smoke, - ctx, count % I915_PRIORITY_MAX, - smoke->batch); - if (err) - return err; + smoke->result = smoke_submit(smoke, ctx, + count % I915_PRIORITY_MAX, + smoke->batch); count++; - } while (count < smoke->ncontext && !__igt_timeout(end_time, NULL)); + } while (!smoke->result && count < smoke->ncontext && + !__igt_timeout(end_time, NULL)); smoke->count = count; - return 0; } static int smoke_crescendo(struct preempt_smoke *smoke, unsigned int flags) #define BATCH BIT(0) { - struct task_struct *tsk[I915_NUM_ENGINES] = {}; + struct kthread_worker *worker[I915_NUM_ENGINES] = {}; struct preempt_smoke *arg; struct intel_engine_cs *engine; enum intel_engine_id id; @@ -3571,6 +3574,8 @@ if (!arg) return -ENOMEM; + memset(arg, 0, I915_NUM_ENGINES * sizeof(*arg)); + for_each_engine(engine, smoke->gt, id) { arg[id] = *smoke; arg[id].engine = engine; @@ -3578,31 +3583,28 @@ arg[id].batch = NULL; arg[id].count = 0; - tsk[id] = kthread_run(smoke_crescendo_thread, arg, - "igt/smoke:%d", id); - if (IS_ERR(tsk[id])) { - err = PTR_ERR(tsk[id]); + worker[id] = kthread_create_worker(0, "igt/smoke:%d", id); + if (IS_ERR(worker[id])) { + err = PTR_ERR(worker[id]); break; } - get_task_struct(tsk[id]); - } - yield(); /* start all threads before we kthread_stop() */ + kthread_init_work(&arg[id].work, smoke_crescendo_work); + kthread_queue_work(worker[id], &arg[id].work); + } count = 0; for_each_engine(engine, smoke->gt, id) { - int status; - - if (IS_ERR_OR_NULL(tsk[id])) + if (IS_ERR_OR_NULL(worker[id])) continue; - status = kthread_stop(tsk[id]); - if (status && !err) - err = status; + kthread_flush_work(&arg[id].work); + if (arg[id].result && !err) + err = arg[id].result; count += arg[id].count; - put_task_struct(tsk[id]); + kthread_destroy_worker(worker[id]); } pr_info("Submitted %lu crescendo:%x requests across %d engines and %d contexts\n", only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/i915/gt/selftest_hangcheck.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/gt/selftest_hangcheck.c @@ -861,10 +861,13 @@ } struct active_engine { - struct task_struct *task; + struct kthread_worker *worker; + struct kthread_work work; struct intel_engine_cs *engine; unsigned long resets; unsigned int flags; + bool stop; + int result; }; #define TEST_ACTIVE BIT(0) @@ -895,10 +898,10 @@ return err; } -static int active_engine(void *data) +static void active_engine(struct kthread_work *work) { I915_RND_STATE(prng); - struct active_engine *arg = data; + struct active_engine *arg = container_of(work, typeof(*arg), work); struct intel_engine_cs *engine = arg->engine; struct i915_request *rq[8] = {}; struct intel_context *ce[ARRAY_SIZE(rq)]; @@ -908,16 +911,17 @@ for (count = 0; count < ARRAY_SIZE(ce); count++) { ce[count] = intel_context_create(engine); if (IS_ERR(ce[count])) { - err = PTR_ERR(ce[count]); - pr_err("[%s] Create context #%ld failed: %d!\n", engine->name, count, err); + arg->result = PTR_ERR(ce[count]); + pr_err("[%s] Create context #%ld failed: %d!\n", + engine->name, count, arg->result); while (--count) intel_context_put(ce[count]); - return err; + return; } } count = 0; - while (!kthread_should_stop()) { + while (!READ_ONCE(arg->stop)) { unsigned int idx = count++ & (ARRAY_SIZE(rq) - 1); struct i915_request *old = rq[idx]; struct i915_request *new; @@ -962,7 +966,7 @@ intel_context_put(ce[count]); } - return err; + arg->result = err; } static int __igt_reset_engines(struct intel_gt *gt, @@ -1013,7 +1017,7 @@ memset(threads, 0, sizeof(threads)); for_each_engine(other, gt, tmp) { - struct task_struct *tsk; + struct kthread_worker *worker; threads[tmp].resets = i915_reset_engine_count(global, other); @@ -1027,19 +1031,21 @@ threads[tmp].engine = other; threads[tmp].flags = flags; - tsk = kthread_run(active_engine, &threads[tmp], - "igt/%s", other->name); - if (IS_ERR(tsk)) { - err = PTR_ERR(tsk); - pr_err("[%s] Thread spawn failed: %d!\n", engine->name, err); + worker = kthread_create_worker(0, "igt/%s", + other->name); + if (IS_ERR(worker)) { + err = PTR_ERR(worker); + pr_err("[%s] Worker create failed: %d!\n", + engine->name, err); goto unwind; } - threads[tmp].task = tsk; - get_task_struct(tsk); - } + threads[tmp].worker = worker; - yield(); /* start all threads before we begin */ + kthread_init_work(&threads[tmp].work, active_engine); + kthread_queue_work(threads[tmp].worker, + &threads[tmp].work); + } st_engine_heartbeat_disable_no_pm(engine); set_bit(I915_RESET_ENGINE + id, >->reset.flags); @@ -1187,17 +1193,20 @@ for_each_engine(other, gt, tmp) { int ret; - if (!threads[tmp].task) + if (!threads[tmp].worker) continue; - ret = kthread_stop(threads[tmp].task); + WRITE_ONCE(threads[tmp].stop, true); + kthread_flush_work(&threads[tmp].work); + ret = READ_ONCE(threads[tmp].result); if (ret) { pr_err("kthread for other engine %s failed, err=%d\n", other->name, ret); if (!err) err = ret; } - put_task_struct(threads[tmp].task); + + kthread_destroy_worker(threads[tmp].worker); /* GuC based resets are not logged per engine */ if (!using_guc) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/i915/selftests/i915_request.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/i915/selftests/i915_request.c @@ -288,9 +288,18 @@ return intel_context_create_request(ce); } -static int __igt_breadcrumbs_smoketest(void *arg) +struct smoke_thread { + struct kthread_worker *worker; + struct kthread_work work; + struct smoketest *t; + bool stop; + int result; +}; + +static void __igt_breadcrumbs_smoketest(struct kthread_work *work) { - struct smoketest *t = arg; + struct smoke_thread *thread = container_of(work, typeof(*thread), work); + struct smoketest *t = thread->t; const unsigned int max_batch = min(t->ncontexts, t->max_batch) - 1; const unsigned int total = 4 * t->ncontexts + 1; unsigned int num_waits = 0, num_fences = 0; @@ -309,8 +318,10 @@ */ requests = kcalloc(total, sizeof(*requests), GFP_KERNEL); - if (!requests) - return -ENOMEM; + if (!requests) { + thread->result = -ENOMEM; + return; + } order = i915_random_order(total, &prng); if (!order) { @@ -318,7 +329,7 @@ goto out_requests; } - while (!kthread_should_stop()) { + while (!READ_ONCE(thread->stop)) { struct i915_sw_fence *submit, *wait; unsigned int n, count; @@ -426,7 +437,7 @@ kfree(order); out_requests: kfree(requests); - return err; + thread->result = err; } static int mock_breadcrumbs_smoketest(void *arg) @@ -439,7 +450,7 @@ .request_alloc = __mock_request_alloc }; unsigned int ncpus = num_online_cpus(); - struct task_struct **threads; + struct smoke_thread *threads; unsigned int n; int ret = 0; @@ -468,28 +479,37 @@ } for (n = 0; n < ncpus; n++) { - threads[n] = kthread_run(__igt_breadcrumbs_smoketest, - &t, "igt/%d", n); - if (IS_ERR(threads[n])) { - ret = PTR_ERR(threads[n]); + struct kthread_worker *worker; + + worker = kthread_create_worker(0, "igt/%d", n); + if (IS_ERR(worker)) { + ret = PTR_ERR(worker); ncpus = n; break; } - get_task_struct(threads[n]); + threads[n].worker = worker; + threads[n].t = &t; + threads[n].stop = false; + threads[n].result = 0; + + kthread_init_work(&threads[n].work, + __igt_breadcrumbs_smoketest); + kthread_queue_work(worker, &threads[n].work); } - yield(); /* start all threads before we begin */ msleep(jiffies_to_msecs(i915_selftest.timeout_jiffies)); for (n = 0; n < ncpus; n++) { int err; - err = kthread_stop(threads[n]); + WRITE_ONCE(threads[n].stop, true); + kthread_flush_work(&threads[n].work); + err = READ_ONCE(threads[n].result); if (err < 0 && !ret) ret = err; - put_task_struct(threads[n]); + kthread_destroy_worker(threads[n].worker); } pr_info("Completed %lu waits for %lu fence across %d cpus\n", atomic_long_read(&t.num_waits), @@ -1291,9 +1311,18 @@ return err; } -static int __live_parallel_engine1(void *arg) +struct parallel_thread { + struct kthread_worker *worker; + struct kthread_work work; + struct intel_engine_cs *engine; + int result; +}; + +static void __live_parallel_engine1(struct kthread_work *work) { - struct intel_engine_cs *engine = arg; + struct parallel_thread *thread = + container_of(work, typeof(*thread), work); + struct intel_engine_cs *engine = thread->engine; IGT_TIMEOUT(end_time); unsigned long count; int err = 0; @@ -1324,12 +1353,14 @@ intel_engine_pm_put(engine); pr_info("%s: %lu request + sync\n", engine->name, count); - return err; + thread->result = err; } -static int __live_parallel_engineN(void *arg) +static void __live_parallel_engineN(struct kthread_work *work) { - struct intel_engine_cs *engine = arg; + struct parallel_thread *thread = + container_of(work, typeof(*thread), work); + struct intel_engine_cs *engine = thread->engine; IGT_TIMEOUT(end_time); unsigned long count; int err = 0; @@ -1351,7 +1382,7 @@ intel_engine_pm_put(engine); pr_info("%s: %lu requests\n", engine->name, count); - return err; + thread->result = err; } static bool wake_all(struct drm_i915_private *i915) @@ -1377,9 +1408,11 @@ return -ETIME; } -static int __live_parallel_spin(void *arg) +static void __live_parallel_spin(struct kthread_work *work) { - struct intel_engine_cs *engine = arg; + struct parallel_thread *thread = + container_of(work, typeof(*thread), work); + struct intel_engine_cs *engine = thread->engine; struct igt_spinner spin; struct i915_request *rq; int err = 0; @@ -1392,7 +1425,8 @@ if (igt_spinner_init(&spin, engine->gt)) { wake_all(engine->i915); - return -ENOMEM; + thread->result = -ENOMEM; + return; } intel_engine_pm_get(engine); @@ -1425,22 +1459,22 @@ out_spin: igt_spinner_fini(&spin); - return err; + thread->result = err; } static int live_parallel_engines(void *arg) { struct drm_i915_private *i915 = arg; - static int (* const func[])(void *arg) = { + static void (* const func[])(struct kthread_work *) = { __live_parallel_engine1, __live_parallel_engineN, __live_parallel_spin, NULL, }; const unsigned int nengines = num_uabi_engines(i915); + struct parallel_thread *threads; struct intel_engine_cs *engine; - int (* const *fn)(void *arg); - struct task_struct **tsk; + void (* const *fn)(struct kthread_work *); int err = 0; /* @@ -1448,8 +1482,8 @@ * tests that we load up the system maximally. */ - tsk = kcalloc(nengines, sizeof(*tsk), GFP_KERNEL); - if (!tsk) + threads = kcalloc(nengines, sizeof(*threads), GFP_KERNEL); + if (!threads) return -ENOMEM; for (fn = func; !err && *fn; fn++) { @@ -1466,37 +1500,44 @@ idx = 0; for_each_uabi_engine(engine, i915) { - tsk[idx] = kthread_run(*fn, engine, - "igt/parallel:%s", - engine->name); - if (IS_ERR(tsk[idx])) { - err = PTR_ERR(tsk[idx]); + struct kthread_worker *worker; + + worker = kthread_create_worker(0, "igt/parallel:%s", + engine->name); + if (IS_ERR(worker)) { + err = PTR_ERR(worker); break; } - get_task_struct(tsk[idx++]); - } - yield(); /* start all threads before we kthread_stop() */ + threads[idx].worker = worker; + threads[idx].result = 0; + threads[idx].engine = engine; + + kthread_init_work(&threads[idx].work, *fn); + kthread_queue_work(worker, &threads[idx].work); + idx++; + } idx = 0; for_each_uabi_engine(engine, i915) { int status; - if (IS_ERR(tsk[idx])) + if (!threads[idx].worker) break; - status = kthread_stop(tsk[idx]); + kthread_flush_work(&threads[idx].work); + status = READ_ONCE(threads[idx].result); if (status && !err) err = status; - put_task_struct(tsk[idx++]); + kthread_destroy_worker(threads[idx++].worker); } if (igt_live_test_end(&t)) err = -EIO; } - kfree(tsk); + kfree(threads); return err; } @@ -1544,7 +1585,7 @@ const unsigned int ncpus = num_online_cpus(); unsigned long num_waits, num_fences; struct intel_engine_cs *engine; - struct task_struct **threads; + struct smoke_thread *threads; struct igt_live_test live; intel_wakeref_t wakeref; struct smoketest *smoke; @@ -1618,23 +1659,26 @@ smoke[idx].max_batch, engine->name); for (n = 0; n < ncpus; n++) { - struct task_struct *tsk; + unsigned int i = idx * ncpus + n; + struct kthread_worker *worker; - tsk = kthread_run(__igt_breadcrumbs_smoketest, - &smoke[idx], "igt/%d.%d", idx, n); - if (IS_ERR(tsk)) { - ret = PTR_ERR(tsk); + worker = kthread_create_worker(0, "igt/%d.%d", idx, n); + if (IS_ERR(worker)) { + ret = PTR_ERR(worker); goto out_flush; } - get_task_struct(tsk); - threads[idx * ncpus + n] = tsk; + threads[i].worker = worker; + threads[i].t = &smoke[idx]; + + kthread_init_work(&threads[i].work, + __igt_breadcrumbs_smoketest); + kthread_queue_work(worker, &threads[i].work); } idx++; } - yield(); /* start all threads before we begin */ msleep(jiffies_to_msecs(i915_selftest.timeout_jiffies)); out_flush: @@ -1643,17 +1687,19 @@ num_fences = 0; for_each_uabi_engine(engine, i915) { for (n = 0; n < ncpus; n++) { - struct task_struct *tsk = threads[idx * ncpus + n]; + unsigned int i = idx * ncpus + n; int err; - if (!tsk) + if (!threads[i].worker) continue; - err = kthread_stop(tsk); + WRITE_ONCE(threads[i].stop, true); + kthread_flush_work(&threads[i].work); + err = READ_ONCE(threads[i].result); if (err < 0 && !ret) ret = err; - put_task_struct(tsk); + kthread_destroy_worker(threads[i].worker); } num_waits += atomic_long_read(&smoke[idx].num_waits); @@ -2763,9 +2809,18 @@ return err; } -static int p_sync0(void *arg) +struct p_thread { + struct perf_stats p; + struct kthread_worker *worker; + struct kthread_work work; + struct intel_engine_cs *engine; + int result; +}; + +static void p_sync0(struct kthread_work *work) { - struct perf_stats *p = arg; + struct p_thread *thread = container_of(work, typeof(*thread), work); + struct perf_stats *p = &thread->p; struct intel_engine_cs *engine = p->engine; struct intel_context *ce; IGT_TIMEOUT(end_time); @@ -2774,13 +2829,16 @@ int err = 0; ce = intel_context_create(engine); - if (IS_ERR(ce)) - return PTR_ERR(ce); + if (IS_ERR(ce)) { + thread->result = PTR_ERR(ce); + return; + } err = intel_context_pin(ce); if (err) { intel_context_put(ce); - return err; + thread->result = err; + return; } if (intel_engine_supports_stats(engine)) { @@ -2830,12 +2888,13 @@ intel_context_unpin(ce); intel_context_put(ce); - return err; + thread->result = err; } -static int p_sync1(void *arg) +static void p_sync1(struct kthread_work *work) { - struct perf_stats *p = arg; + struct p_thread *thread = container_of(work, typeof(*thread), work); + struct perf_stats *p = &thread->p; struct intel_engine_cs *engine = p->engine; struct i915_request *prev = NULL; struct intel_context *ce; @@ -2845,13 +2904,16 @@ int err = 0; ce = intel_context_create(engine); - if (IS_ERR(ce)) - return PTR_ERR(ce); + if (IS_ERR(ce)) { + thread->result = PTR_ERR(ce); + return; + } err = intel_context_pin(ce); if (err) { intel_context_put(ce); - return err; + thread->result = err; + return; } if (intel_engine_supports_stats(engine)) { @@ -2903,12 +2965,13 @@ intel_context_unpin(ce); intel_context_put(ce); - return err; + thread->result = err; } -static int p_many(void *arg) +static void p_many(struct kthread_work *work) { - struct perf_stats *p = arg; + struct p_thread *thread = container_of(work, typeof(*thread), work); + struct perf_stats *p = &thread->p; struct intel_engine_cs *engine = p->engine; struct intel_context *ce; IGT_TIMEOUT(end_time); @@ -2917,13 +2980,16 @@ bool busy; ce = intel_context_create(engine); - if (IS_ERR(ce)) - return PTR_ERR(ce); + if (IS_ERR(ce)) { + thread->result = PTR_ERR(ce); + return; + } err = intel_context_pin(ce); if (err) { intel_context_put(ce); - return err; + thread->result = err; + return; } if (intel_engine_supports_stats(engine)) { @@ -2964,26 +3030,23 @@ intel_context_unpin(ce); intel_context_put(ce); - return err; + thread->result = err; } static int perf_parallel_engines(void *arg) { struct drm_i915_private *i915 = arg; - static int (* const func[])(void *arg) = { + static void (* const func[])(struct kthread_work *) = { p_sync0, p_sync1, p_many, NULL, }; const unsigned int nengines = num_uabi_engines(i915); + void (* const *fn)(struct kthread_work *); struct intel_engine_cs *engine; - int (* const *fn)(void *arg); struct pm_qos_request qos; - struct { - struct perf_stats p; - struct task_struct *tsk; - } *engines; + struct p_thread *engines; int err = 0; engines = kcalloc(nengines, sizeof(*engines), GFP_KERNEL); @@ -3006,36 +3069,45 @@ idx = 0; for_each_uabi_engine(engine, i915) { + struct kthread_worker *worker; + intel_engine_pm_get(engine); memset(&engines[idx].p, 0, sizeof(engines[idx].p)); - engines[idx].p.engine = engine; - engines[idx].tsk = kthread_run(*fn, &engines[idx].p, - "igt:%s", engine->name); - if (IS_ERR(engines[idx].tsk)) { - err = PTR_ERR(engines[idx].tsk); + worker = kthread_create_worker(0, "igt:%s", + engine->name); + if (IS_ERR(worker)) { + err = PTR_ERR(worker); intel_engine_pm_put(engine); break; } - get_task_struct(engines[idx++].tsk); - } + engines[idx].worker = worker; + engines[idx].result = 0; + engines[idx].p.engine = engine; + engines[idx].engine = engine; - yield(); /* start all threads before we kthread_stop() */ + kthread_init_work(&engines[idx].work, *fn); + kthread_queue_work(worker, &engines[idx].work); + idx++; + } idx = 0; for_each_uabi_engine(engine, i915) { int status; - if (IS_ERR(engines[idx].tsk)) + if (!engines[idx].worker) break; - status = kthread_stop(engines[idx].tsk); + kthread_flush_work(&engines[idx].work); + status = READ_ONCE(engines[idx].result); if (status && !err) err = status; intel_engine_pm_put(engine); - put_task_struct(engines[idx++].tsk); + + kthread_destroy_worker(engines[idx].worker); + idx++; } if (igt_live_test_end(&t)) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h @@ -191,17 +191,19 @@ /** * INTF sub-blocks - * @DPU_INTF_INPUT_CTRL Supports the setting of pp block from which - * pixel data arrives to this INTF - * @DPU_INTF_TE INTF block has TE configuration support - * @DPU_DATA_HCTL_EN Allows data to be transferred at different rate - than video timing + * @DPU_INTF_INPUT_CTRL Supports the setting of pp block from which + * pixel data arrives to this INTF + * @DPU_INTF_TE INTF block has TE configuration support + * @DPU_DATA_HCTL_EN Allows data to be transferred at different rate + * than video timing + * @DPU_INTF_STATUS_SUPPORTED INTF block has INTF_STATUS register * @DPU_INTF_MAX */ enum { DPU_INTF_INPUT_CTRL = 0x1, DPU_INTF_TE, DPU_DATA_HCTL_EN, + DPU_INTF_STATUS_SUPPORTED, DPU_INTF_MAX }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/nouveau/nouveau_acpi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/nouveau/nouveau_acpi.c @@ -220,6 +220,9 @@ int optimus_funcs; struct pci_dev *parent_pdev; + if (pdev->vendor != PCI_VENDOR_ID_NVIDIA) + return; + *has_pr3 = false; parent_pdev = pci_upstream_bridge(pdev); if (parent_pdev) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/radeon/ci_dpm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/ci_dpm.c @@ -5520,6 +5520,7 @@ u8 frev, crev; u8 *power_state_offset; struct ci_ps *ps; + int ret; if (!atom_parse_data_header(mode_info->atom_context, index, NULL, &frev, &crev, &data_offset)) @@ -5549,11 +5550,15 @@ non_clock_array_index = power_state->v2.nonClockInfoIndex; non_clock_info = (struct _ATOM_PPLIB_NONCLOCK_INFO *) &non_clock_info_array->nonClockInfo[non_clock_array_index]; - if (!rdev->pm.power_state[i].clock_info) - return -EINVAL; + if (!rdev->pm.power_state[i].clock_info) { + ret = -EINVAL; + goto err_free_ps; + } ps = kzalloc(sizeof(struct ci_ps), GFP_KERNEL); - if (ps == NULL) - return -ENOMEM; + if (ps == NULL) { + ret = -ENOMEM; + goto err_free_ps; + } rdev->pm.dpm.ps[i].ps_priv = ps; ci_parse_pplib_non_clock_info(rdev, &rdev->pm.dpm.ps[i], non_clock_info, @@ -5593,6 +5598,12 @@ } return 0; + +err_free_ps: + for (i = 0; i < rdev->pm.dpm.num_ps; i++) + kfree(rdev->pm.dpm.ps[i].ps_priv); + kfree(rdev->pm.dpm.ps); + return ret; } static int ci_get_vbios_boot_values(struct radeon_device *rdev, @@ -5681,25 +5692,26 @@ ret = ci_get_vbios_boot_values(rdev, &pi->vbios_boot_state); if (ret) { - ci_dpm_fini(rdev); + kfree(rdev->pm.dpm.priv); return ret; } ret = r600_get_platform_caps(rdev); if (ret) { - ci_dpm_fini(rdev); + kfree(rdev->pm.dpm.priv); return ret; } ret = r600_parse_extended_power_table(rdev); if (ret) { - ci_dpm_fini(rdev); + kfree(rdev->pm.dpm.priv); return ret; } ret = ci_parse_power_table(rdev); if (ret) { - ci_dpm_fini(rdev); + kfree(rdev->pm.dpm.priv); + r600_free_extended_power_table(rdev); return ret; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/radeon/cypress_dpm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/cypress_dpm.c @@ -557,8 +557,12 @@ ASIC_INTERNAL_MEMORY_SS, vco_freq)) { u32 reference_clock = rdev->clock.mpll.reference_freq; u32 decoded_ref = rv740_get_decoded_reference_divider(dividers.ref_div); - u32 clk_s = reference_clock * 5 / (decoded_ref * ss.rate); - u32 clk_v = ss.percentage * + u32 clk_s, clk_v; + + if (!decoded_ref) + return -EINVAL; + clk_s = reference_clock * 5 / (decoded_ref * ss.rate); + clk_v = ss.percentage * (0x4000 * dividers.whole_fb_div + 0x800 * dividers.frac_fb_div) / (clk_s * 625); mpll_ss1 &= ~CLKV_MASK; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/radeon/rv740_dpm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/radeon/rv740_dpm.c @@ -249,8 +249,12 @@ ASIC_INTERNAL_MEMORY_SS, vco_freq)) { u32 reference_clock = rdev->clock.mpll.reference_freq; u32 decoded_ref = rv740_get_decoded_reference_divider(dividers.ref_div); - u32 clk_s = reference_clock * 5 / (decoded_ref * ss.rate); - u32 clk_v = 0x40000 * ss.percentage * + u32 clk_s, clk_v; + + if (!decoded_ref) + return -EINVAL; + clk_s = reference_clock * 5 / (decoded_ref * ss.rate); + clk_v = 0x40000 * ss.percentage * (dividers.whole_fb_div + (dividers.frac_fb_div / 8)) / (clk_s * 10000); mpll_ss1 &= ~CLKV_MASK; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ linux-intel-iotg-5.15-5.15.0/drivers/gpu/drm/sun4i/sun4i_tcon.c @@ -777,21 +777,19 @@ static int sun4i_tcon_init_clocks(struct device *dev, struct sun4i_tcon *tcon) { - tcon->clk = devm_clk_get(dev, "ahb"); + tcon->clk = devm_clk_get_enabled(dev, "ahb"); if (IS_ERR(tcon->clk)) { dev_err(dev, "Couldn't get the TCON bus clock\n"); return PTR_ERR(tcon->clk); } - clk_prepare_enable(tcon->clk); if (tcon->quirks->has_channel_0) { - tcon->sclk0 = devm_clk_get(dev, "tcon-ch0"); + tcon->sclk0 = devm_clk_get_enabled(dev, "tcon-ch0"); if (IS_ERR(tcon->sclk0)) { dev_err(dev, "Couldn't get the TCON channel 0 clock\n"); return PTR_ERR(tcon->sclk0); } } - clk_prepare_enable(tcon->sclk0); if (tcon->quirks->has_channel_1) { tcon->sclk1 = devm_clk_get(dev, "tcon-ch1"); @@ -804,12 +802,6 @@ return 0; } -static void sun4i_tcon_free_clocks(struct sun4i_tcon *tcon) -{ - clk_disable_unprepare(tcon->sclk0); - clk_disable_unprepare(tcon->clk); -} - static int sun4i_tcon_init_irq(struct device *dev, struct sun4i_tcon *tcon) { @@ -1224,14 +1216,14 @@ ret = sun4i_tcon_init_regmap(dev, tcon); if (ret) { dev_err(dev, "Couldn't init our TCON regmap\n"); - goto err_free_clocks; + goto err_assert_reset; } if (tcon->quirks->has_channel_0) { ret = sun4i_dclk_create(dev, tcon); if (ret) { dev_err(dev, "Couldn't create our TCON dot clock\n"); - goto err_free_clocks; + goto err_assert_reset; } } @@ -1294,8 +1286,6 @@ err_free_dotclock: if (tcon->quirks->has_channel_0) sun4i_dclk_free(tcon); -err_free_clocks: - sun4i_tcon_free_clocks(tcon); err_assert_reset: reset_control_assert(tcon->lcd_rst); return ret; @@ -1309,7 +1299,6 @@ list_del(&tcon->list); if (tcon->quirks->has_channel_0) sun4i_dclk_free(tcon); - sun4i_tcon_free_clocks(tcon); } static const struct component_ops sun4i_tcon_ops = { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/hwmon/pmbus/adm1275.c +++ linux-intel-iotg-5.15-5.15.0/drivers/hwmon/pmbus/adm1275.c @@ -37,10 +37,13 @@ #define ADM1272_IRANGE BIT(0) +#define ADM1278_TSFILT BIT(15) #define ADM1278_TEMP1_EN BIT(3) #define ADM1278_VIN_EN BIT(2) #define ADM1278_VOUT_EN BIT(1) +#define ADM1278_PMON_DEFCONFIG (ADM1278_VOUT_EN | ADM1278_TEMP1_EN | ADM1278_TSFILT) + #define ADM1293_IRANGE_25 0 #define ADM1293_IRANGE_50 BIT(6) #define ADM1293_IRANGE_100 BIT(7) @@ -462,6 +465,22 @@ }; MODULE_DEVICE_TABLE(i2c, adm1275_id); +/* Enable VOUT & TEMP1 if not enabled (disabled by default) */ +static int adm1275_enable_vout_temp(struct i2c_client *client, int config) +{ + int ret; + + if ((config & ADM1278_PMON_DEFCONFIG) != ADM1278_PMON_DEFCONFIG) { + config |= ADM1278_PMON_DEFCONFIG; + ret = i2c_smbus_write_word_data(client, ADM1275_PMON_CONFIG, config); + if (ret < 0) { + dev_err(&client->dev, "Failed to enable VOUT/TEMP1 monitoring\n"); + return ret; + } + } + return 0; +} + static int adm1275_probe(struct i2c_client *client) { s32 (*config_read_fn)(const struct i2c_client *client, u8 reg); @@ -475,6 +494,7 @@ int vindex = -1, voindex = -1, cindex = -1, pindex = -1; int tindex = -1; u32 shunt; + u32 avg; if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_BYTE_DATA @@ -614,19 +634,10 @@ PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; - /* Enable VOUT & TEMP1 if not enabled (disabled by default) */ - if ((config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN)) != - (ADM1278_VOUT_EN | ADM1278_TEMP1_EN)) { - config |= ADM1278_VOUT_EN | ADM1278_TEMP1_EN; - ret = i2c_smbus_write_byte_data(client, - ADM1275_PMON_CONFIG, - config); - if (ret < 0) { - dev_err(&client->dev, - "Failed to enable VOUT monitoring\n"); - return -ENODEV; - } - } + ret = adm1275_enable_vout_temp(client, config); + if (ret) + return ret; + if (config & ADM1278_VIN_EN) info->func[0] |= PMBUS_HAVE_VIN; break; @@ -683,19 +694,9 @@ PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; - /* Enable VOUT & TEMP1 if not enabled (disabled by default) */ - if ((config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN)) != - (ADM1278_VOUT_EN | ADM1278_TEMP1_EN)) { - config |= ADM1278_VOUT_EN | ADM1278_TEMP1_EN; - ret = i2c_smbus_write_byte_data(client, - ADM1275_PMON_CONFIG, - config); - if (ret < 0) { - dev_err(&client->dev, - "Failed to enable VOUT monitoring\n"); - return -ENODEV; - } - } + ret = adm1275_enable_vout_temp(client, config); + if (ret) + return ret; if (config & ADM1278_VIN_EN) info->func[0] |= PMBUS_HAVE_VIN; @@ -756,6 +757,43 @@ return -ENODEV; } + if (data->have_power_sampling && + of_property_read_u32(client->dev.of_node, + "adi,power-sample-average", &avg) == 0) { + if (!avg || avg > ADM1275_SAMPLES_AVG_MAX || + BIT(__fls(avg)) != avg) { + dev_err(&client->dev, + "Invalid number of power samples"); + return -EINVAL; + } + ret = adm1275_write_pmon_config(data, client, true, + ilog2(avg)); + if (ret < 0) { + dev_err(&client->dev, + "Setting power sample averaging failed with error %d", + ret); + return ret; + } + } + + if (of_property_read_u32(client->dev.of_node, + "adi,volt-curr-sample-average", &avg) == 0) { + if (!avg || avg > ADM1275_SAMPLES_AVG_MAX || + BIT(__fls(avg)) != avg) { + dev_err(&client->dev, + "Invalid number of voltage/current samples"); + return -EINVAL; + } + ret = adm1275_write_pmon_config(data, client, false, + ilog2(avg)); + if (ret < 0) { + dev_err(&client->dev, + "Setting voltage and current sample averaging failed with error %d", + ret); + return ret; + } + } + if (voindex < 0) voindex = vindex; if (vindex >= 0) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/i2c/busses/i2c-qup.c +++ linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-qup.c @@ -1752,16 +1752,21 @@ if (!clk_freq || clk_freq > I2C_MAX_FAST_MODE_PLUS_FREQ) { dev_err(qup->dev, "clock frequency not supported %d\n", clk_freq); - return -EINVAL; + ret = -EINVAL; + goto fail_dma; } qup->base = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(qup->base)) - return PTR_ERR(qup->base); + if (IS_ERR(qup->base)) { + ret = PTR_ERR(qup->base); + goto fail_dma; + } qup->irq = platform_get_irq(pdev, 0); - if (qup->irq < 0) - return qup->irq; + if (qup->irq < 0) { + ret = qup->irq; + goto fail_dma; + } if (has_acpi_companion(qup->dev)) { ret = device_property_read_u32(qup->dev, @@ -1775,13 +1780,15 @@ qup->clk = devm_clk_get(qup->dev, "core"); if (IS_ERR(qup->clk)) { dev_err(qup->dev, "Could not get core clock\n"); - return PTR_ERR(qup->clk); + ret = PTR_ERR(qup->clk); + goto fail_dma; } qup->pclk = devm_clk_get(qup->dev, "iface"); if (IS_ERR(qup->pclk)) { dev_err(qup->dev, "Could not get iface clock\n"); - return PTR_ERR(qup->pclk); + ret = PTR_ERR(qup->pclk); + goto fail_dma; } qup_i2c_enable_clocks(qup); src_clk_freq = clk_get_rate(qup->clk); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/i2c/busses/i2c-sprd.c +++ linux-intel-iotg-5.15-5.15.0/drivers/i2c/busses/i2c-sprd.c @@ -576,12 +576,14 @@ struct sprd_i2c *i2c_dev = platform_get_drvdata(pdev); int ret; - ret = pm_runtime_resume_and_get(i2c_dev->dev); + ret = pm_runtime_get_sync(i2c_dev->dev); if (ret < 0) - return ret; + dev_err(&pdev->dev, "Failed to resume device (%pe)\n", ERR_PTR(ret)); i2c_del_adapter(&i2c_dev->adap); - clk_disable_unprepare(i2c_dev->clk); + + if (ret >= 0) + clk_disable_unprepare(i2c_dev->clk); pm_runtime_put_noidle(i2c_dev->dev); pm_runtime_disable(i2c_dev->dev); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/iio/adc/meson_saradc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/iio/adc/meson_saradc.c @@ -71,7 +71,7 @@ #define MESON_SAR_ADC_REG3_PANEL_DETECT_COUNT_MASK GENMASK(20, 18) #define MESON_SAR_ADC_REG3_PANEL_DETECT_FILTER_TB_MASK GENMASK(17, 16) #define MESON_SAR_ADC_REG3_ADC_CLK_DIV_SHIFT 10 - #define MESON_SAR_ADC_REG3_ADC_CLK_DIV_WIDTH 5 + #define MESON_SAR_ADC_REG3_ADC_CLK_DIV_WIDTH 6 #define MESON_SAR_ADC_REG3_BLOCK_DLY_SEL_MASK GENMASK(9, 8) #define MESON_SAR_ADC_REG3_BLOCK_DLY_MASK GENMASK(7, 0) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/infiniband/core/uverbs_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/core/uverbs_main.c @@ -222,8 +222,12 @@ spin_lock_irq(&ev_queue->lock); while (list_empty(&ev_queue->event_list)) { - spin_unlock_irq(&ev_queue->lock); + if (ev_queue->is_closed) { + spin_unlock_irq(&ev_queue->lock); + return -EIO; + } + spin_unlock_irq(&ev_queue->lock); if (filp->f_flags & O_NONBLOCK) return -EAGAIN; @@ -233,12 +237,6 @@ return -ERESTARTSYS; spin_lock_irq(&ev_queue->lock); - - /* If device was disassociated and no event exists set an error */ - if (list_empty(&ev_queue->event_list) && ev_queue->is_closed) { - spin_unlock_irq(&ev_queue->lock); - return -EIO; - } } event = list_entry(ev_queue->event_list.next, struct ib_uverbs_event, list); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/infiniband/hw/bnxt_re/main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/main.c @@ -331,15 +331,21 @@ for (indx = 0; indx < rdev->num_msix; indx++) rdev->msix_entries[indx].vector = ent[indx].vector; - bnxt_qplib_rcfw_start_irq(rcfw, msix_ent[BNXT_RE_AEQ_IDX].vector, - false); + rc = bnxt_qplib_rcfw_start_irq(rcfw, msix_ent[BNXT_RE_AEQ_IDX].vector, + false); + if (rc) { + ibdev_warn(&rdev->ibdev, "Failed to reinit CREQ\n"); + return; + } for (indx = BNXT_RE_NQ_IDX ; indx < rdev->num_msix; indx++) { nq = &rdev->nq[indx - 1]; rc = bnxt_qplib_nq_start_irq(nq, indx - 1, msix_ent[indx].vector, false); - if (rc) + if (rc) { ibdev_warn(&rdev->ibdev, "Failed to reinit NQ index %d\n", indx - 1); + return; + } } } @@ -1173,12 +1179,6 @@ if (!ib_device_try_get(&rdev->ibdev)) return 0; - if (!sgid_tbl) { - ibdev_err(&rdev->ibdev, "QPLIB: SGID table not allocated"); - rc = -EINVAL; - goto out; - } - for (index = 0; index < sgid_tbl->active; index++) { gid_idx = sgid_tbl->hw_id[index]; @@ -1196,7 +1196,7 @@ rc = bnxt_qplib_update_sgid(sgid_tbl, &gid, gid_idx, rdev->qplib_res.netdev->dev_addr); } -out: + ib_device_put(&rdev->ibdev); return rc; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/infiniband/hw/bnxt_re/qplib_fp.h +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/bnxt_re/qplib_fp.h @@ -471,7 +471,7 @@ struct bnxt_qplib_nq { struct pci_dev *pdev; struct bnxt_qplib_res *res; - char name[32]; + char *name; struct bnxt_qplib_hwq hwq; struct bnxt_qplib_nq_db nq_db; u16 ring_id; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/infiniband/hw/hns/hns_roce_hem.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/hw/hns/hns_roce_hem.c @@ -597,11 +597,12 @@ } /* Set HEM base address(128K/page, pa) to Hardware */ - if (hr_dev->hw->set_hem(hr_dev, table, obj, HEM_HOP_STEP_DIRECT)) { + ret = hr_dev->hw->set_hem(hr_dev, table, obj, HEM_HOP_STEP_DIRECT); + if (ret) { hns_roce_free_hem(hr_dev, table->hem[i]); table->hem[i] = NULL; - ret = -ENODEV; - dev_err(dev, "set HEM base address to HW failed.\n"); + dev_err(dev, "set HEM base address to HW failed, ret = %d.\n", + ret); goto out; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/infiniband/sw/rxe/rxe_net.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_net.c @@ -179,6 +179,9 @@ pkt->mask = RXE_GRH_MASK; pkt->paylen = be16_to_cpu(udph->len) - sizeof(*udph); + /* remove udp header */ + skb_pull(skb, sizeof(struct udphdr)); + rxe_rcv(skb); return 0; @@ -419,6 +422,9 @@ return -EIO; } + /* remove udp header */ + skb_pull(skb, sizeof(struct udphdr)); + rxe_rcv(skb); return 0; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/infiniband/sw/rxe/rxe_task.h +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/sw/rxe/rxe_task.h @@ -19,14 +19,12 @@ * called again. */ struct rxe_task { - void *obj; struct tasklet_struct tasklet; int state; spinlock_t state_lock; /* spinlock for task state */ void *arg; int (*func)(void *arg); int ret; - char name[16]; bool destroyed; }; @@ -35,8 +33,7 @@ * arg => parameter to pass to fcn * func => function to call until it returns != 0 */ -int rxe_init_task(void *obj, struct rxe_task *task, - void *arg, int (*func)(void *), char *name); +int rxe_init_task(struct rxe_task *task, void *arg, int (*func)(void *)); /* cleanup task */ void rxe_cleanup_task(struct rxe_task *task); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/infiniband/ulp/isert/ib_isert.c +++ linux-intel-iotg-5.15-5.15.0/drivers/infiniband/ulp/isert/ib_isert.c @@ -656,9 +656,13 @@ isert_connect_error(struct rdma_cm_id *cma_id) { struct isert_conn *isert_conn = cma_id->qp->qp_context; + struct isert_np *isert_np = cma_id->context; ib_drain_qp(isert_conn->qp); + + mutex_lock(&isert_np->mutex); list_del_init(&isert_conn->node); + mutex_unlock(&isert_np->mutex); isert_conn->cm_id = NULL; isert_put_conn(isert_conn); @@ -2431,6 +2435,7 @@ { struct isert_np *isert_np = np->np_context; struct isert_conn *isert_conn, *n; + LIST_HEAD(drop_conn_list); if (isert_np->cm_id) rdma_destroy_id(isert_np->cm_id); @@ -2450,7 +2455,7 @@ node) { isert_info("cleaning isert_conn %p state (%d)\n", isert_conn, isert_conn->state); - isert_connect_release(isert_conn); + list_move_tail(&isert_conn->node, &drop_conn_list); } } @@ -2461,11 +2466,16 @@ node) { isert_info("cleaning isert_conn %p state (%d)\n", isert_conn, isert_conn->state); - isert_connect_release(isert_conn); + list_move_tail(&isert_conn->node, &drop_conn_list); } } mutex_unlock(&isert_np->mutex); + list_for_each_entry_safe(isert_conn, n, &drop_conn_list, node) { + list_del_init(&isert_conn->node); + isert_connect_release(isert_conn); + } + np->np_context = NULL; kfree(isert_np); } @@ -2560,8 +2570,6 @@ isert_put_unsol_pending_cmds(conn); isert_wait4cmds(conn); isert_wait4logout(isert_conn); - - queue_work(isert_release_wq, &isert_conn->release_work); } static void isert_free_conn(struct iscsi_conn *conn) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/input/misc/adxl34x.c +++ linux-intel-iotg-5.15-5.15.0/drivers/input/misc/adxl34x.c @@ -811,8 +811,7 @@ AC_WRITE(ac, POWER_CTL, 0); err = request_threaded_irq(ac->irq, NULL, adxl34x_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, - dev_name(dev), ac); + IRQF_ONESHOT, dev_name(dev), ac); if (err) { dev_err(dev, "irq %d busy?\n", ac->irq); goto err_free_mem; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/input/misc/drv260x.c +++ linux-intel-iotg-5.15-5.15.0/drivers/input/misc/drv260x.c @@ -435,6 +435,7 @@ } do { + usleep_range(15000, 15500); error = regmap_read(haptics->regmap, DRV260X_GO, &cal_buf); if (error) { dev_err(&haptics->client->dev, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/irqchip/irq-gic-common.c +++ linux-intel-iotg-5.15-5.15.0/drivers/irqchip/irq-gic-common.c @@ -16,7 +16,13 @@ const struct gic_quirk *quirks, void *data) { for (; quirks->desc; quirks++) { - if (!of_device_is_compatible(np, quirks->compatible)) + if (!quirks->compatible && !quirks->property) + continue; + if (quirks->compatible && + !of_device_is_compatible(np, quirks->compatible)) + continue; + if (quirks->property && + !of_property_read_bool(np, quirks->property)) continue; if (quirks->init(data)) pr_info("GIC: enabling workaround for %s\n", @@ -28,7 +34,7 @@ void *data) { for (; quirks->desc; quirks++) { - if (quirks->compatible) + if (quirks->compatible || quirks->property) continue; if (quirks->iidr != (quirks->mask & iidr)) continue; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/irqchip/irq-gic-common.h +++ linux-intel-iotg-5.15-5.15.0/drivers/irqchip/irq-gic-common.h @@ -13,6 +13,7 @@ struct gic_quirk { const char *desc; const char *compatible; + const char *property; bool (*init)(void *data); u32 iidr; u32 mask; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/irqchip/irq-jcore-aic.c +++ linux-intel-iotg-5.15-5.15.0/drivers/irqchip/irq-jcore-aic.c @@ -68,6 +68,7 @@ unsigned min_irq = JCORE_AIC2_MIN_HWIRQ; unsigned dom_sz = JCORE_AIC_MAX_HWIRQ+1; struct irq_domain *domain; + int ret; pr_info("Initializing J-Core AIC\n"); @@ -100,6 +101,12 @@ jcore_aic.irq_unmask = noop; jcore_aic.name = "AIC"; + ret = irq_alloc_descs(-1, min_irq, dom_sz - min_irq, + of_node_to_nid(node)); + + if (ret < 0) + return ret; + domain = irq_domain_add_legacy(node, dom_sz - min_irq, min_irq, min_irq, &jcore_aic_irqdomain_ops, &jcore_aic); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/leds/trigger/ledtrig-netdev.c +++ linux-intel-iotg-5.15-5.15.0/drivers/leds/trigger/ledtrig-netdev.c @@ -318,6 +318,9 @@ clear_bit(NETDEV_LED_MODE_LINKUP, &trigger_data->mode); switch (evt) { case NETDEV_CHANGENAME: + if (netif_carrier_ok(dev)) + set_bit(NETDEV_LED_MODE_LINKUP, &trigger_data->mode); + fallthrough; case NETDEV_REGISTER: if (trigger_data->net_dev) dev_put(trigger_data->net_dev); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mailbox/ti-msgmgr.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mailbox/ti-msgmgr.c @@ -385,14 +385,20 @@ /* Ensure all unused data is 0 */ data_trail &= 0xFFFFFFFF >> (8 * (sizeof(u32) - trail_bytes)); writel(data_trail, data_reg); - data_reg++; + data_reg += sizeof(u32); } + /* * 'data_reg' indicates next register to write. If we did not already * write on tx complete reg(last reg), we must do so for transmit + * In addition, we also need to make sure all intermediate data + * registers(if any required), are reset to 0 for TISCI backward + * compatibility to be maintained. */ - if (data_reg <= qinst->queue_buff_end) - writel(0, qinst->queue_buff_end); + while (data_reg <= qinst->queue_buff_end) { + writel(0, data_reg); + data_reg += sizeof(u32); + } return 0; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/md/dm-init.c +++ linux-intel-iotg-5.15-5.15.0/drivers/md/dm-init.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include @@ -18,12 +19,17 @@ #define DM_MAX_DEVICES 256 #define DM_MAX_TARGETS 256 #define DM_MAX_STR_SIZE 4096 +#define DM_MAX_WAITFOR 256 static char *create; +static char *waitfor[DM_MAX_WAITFOR]; + /* * Format: dm-mod.create=,,,,[,
+][;,,,,
[,
+]+] * Table format: + * Block devices to wait for to become available before setting up tables: + * dm-mod.waitfor=[,..,] * * See Documentation/admin-guide/device-mapper/dm-init.rst for dm-mod.create="..." format * details. @@ -266,7 +272,7 @@ struct dm_device *dev; LIST_HEAD(devices); char *str; - int r; + int i, r; if (!create) return 0; @@ -286,6 +292,17 @@ DMINFO("waiting for all devices to be available before creating mapped devices"); wait_for_device_probe(); + for (i = 0; i < ARRAY_SIZE(waitfor); i++) { + if (waitfor[i]) { + DMINFO("waiting for device %s ...", waitfor[i]); + while (!dm_get_dev_t(waitfor[i])) + msleep(5); + } + } + + if (waitfor[0]) + DMINFO("all devices available"); + list_for_each_entry(dev, &devices, list) { if (dm_early_create(&dev->dmi, dev->table, dev->target_args_array)) @@ -301,3 +318,6 @@ module_param(create, charp, 0); MODULE_PARM_DESC(create, "Create a mapped device in early boot"); + +module_param_array(waitfor, charp, NULL, 0); +MODULE_PARM_DESC(waitfor, "Devices to wait for before setting up tables"); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/md/raid0.h +++ linux-intel-iotg-5.15-5.15.0/drivers/md/raid0.h @@ -6,6 +6,7 @@ sector_t zone_end; /* Start of the next zone (in sectors) */ sector_t dev_start; /* Zone offset in real dev (in sectors) */ int nb_dev; /* # of devices attached to the zone */ + int disk_shift; /* start disk for the original layout */ }; /* Linux 3.14 (20d0189b101) made an unintended change to only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/media/cec/i2c/Kconfig +++ linux-intel-iotg-5.15-5.15.0/drivers/media/cec/i2c/Kconfig @@ -5,6 +5,7 @@ config CEC_CH7322 tristate "Chrontel CH7322 CEC controller" depends on I2C + select REGMAP select REGMAP_I2C select CEC_CORE help only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/media/i2c/st-mipid02.c +++ linux-intel-iotg-5.15-5.15.0/drivers/media/i2c/st-mipid02.c @@ -710,8 +710,13 @@ { struct mipid02_dev *bridge = to_mipid02_dev(sd); - /* source pad mirror active sink pad */ - format->format = bridge->fmt; + /* source pad mirror sink pad */ + if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) + format->format = bridge->fmt; + else + format->format = *v4l2_subdev_get_try_format(sd, sd_state, + MIPID02_SINK_0); + /* but code may need to be converted */ format->format.code = serial_to_parallel_code(format->format.code); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/media/platform/qcom/venus/helpers.c +++ linux-intel-iotg-5.15-5.15.0/drivers/media/platform/qcom/venus/helpers.c @@ -981,8 +981,8 @@ u32 extradata = SZ_16K; u32 size; - y_stride = ALIGN(ALIGN(width, 192) * 4 / 3, 256); - uv_stride = ALIGN(ALIGN(width, 192) * 4 / 3, 256); + y_stride = ALIGN(width * 4 / 3, 256); + uv_stride = ALIGN(width * 4 / 3, 256); y_sclines = ALIGN(height, 16); uv_sclines = ALIGN((height + 1) >> 1, 16); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/media/usb/dvb-usb-v2/az6007.c +++ linux-intel-iotg-5.15-5.15.0/drivers/media/usb/dvb-usb-v2/az6007.c @@ -202,7 +202,8 @@ unsigned code; enum rc_proto proto; - az6007_read(d, AZ6007_READ_IR, 0, 0, st->data, 10); + if (az6007_read(d, AZ6007_READ_IR, 0, 0, st->data, 10) < 0) + return -EIO; if (st->data[1] == 0x44) return 0; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/memory/brcmstb_dpfe.c +++ linux-intel-iotg-5.15-5.15.0/drivers/memory/brcmstb_dpfe.c @@ -434,15 +434,17 @@ static int __send_command(struct brcmstb_dpfe_priv *priv, unsigned int cmd, u32 result[]) { - const u32 *msg = priv->dpfe_api->command[cmd]; void __iomem *regs = priv->regs; unsigned int i, chksum, chksum_idx; + const u32 *msg; int ret = 0; u32 resp; if (cmd >= DPFE_CMD_MAX) return -1; + msg = priv->dpfe_api->command[cmd]; + mutex_lock(&priv->lock); /* Wait for DCPU to become ready */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mfd/rt5033.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mfd/rt5033.c @@ -42,9 +42,6 @@ .name = "rt5033-charger", .of_compatible = "richtek,rt5033-charger", }, { - .name = "rt5033-battery", - .of_compatible = "richtek,rt5033-battery", - }, { .name = "rt5033-led", .of_compatible = "richtek,rt5033-led", }, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mfd/stmfx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mfd/stmfx.c @@ -330,9 +330,8 @@ stmfx->vdd = devm_regulator_get_optional(&client->dev, "vdd"); ret = PTR_ERR_OR_ZERO(stmfx->vdd); if (ret) { - if (ret == -ENODEV) - stmfx->vdd = NULL; - else + stmfx->vdd = NULL; + if (ret != -ENODEV) return dev_err_probe(&client->dev, ret, "Failed to get VDD regulator\n"); } @@ -387,7 +386,7 @@ err: if (stmfx->vdd) - return regulator_disable(stmfx->vdd); + regulator_disable(stmfx->vdd); return ret; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mfd/stmpe.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mfd/stmpe.c @@ -1498,9 +1498,9 @@ int stmpe_remove(struct stmpe *stmpe) { - if (!IS_ERR(stmpe->vio)) + if (!IS_ERR(stmpe->vio) && regulator_is_enabled(stmpe->vio)) regulator_disable(stmpe->vio); - if (!IS_ERR(stmpe->vcc)) + if (!IS_ERR(stmpe->vcc) && regulator_is_enabled(stmpe->vcc)) regulator_disable(stmpe->vcc); __stmpe_disable(stmpe, STMPE_BLOCK_ADC); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/misc/eeprom/Kconfig +++ linux-intel-iotg-5.15-5.15.0/drivers/misc/eeprom/Kconfig @@ -6,6 +6,7 @@ depends on I2C && SYSFS select NVMEM select NVMEM_SYSFS + select REGMAP select REGMAP_I2C help Enable this driver to get read/write support to most I2C EEPROMs only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mmc/host/mvsdio.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/mvsdio.c @@ -704,7 +704,7 @@ } irq = platform_get_irq(pdev, 0); if (irq < 0) - return -ENXIO; + return irq; mmc = mmc_alloc_host(sizeof(struct mvsd_host), &pdev->dev); if (!mmc) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mmc/host/omap.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/omap.c @@ -1343,7 +1343,7 @@ irq = platform_get_irq(pdev, 0); if (irq < 0) - return -ENXIO; + return irq; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); host->virt_base = devm_ioremap_resource(&pdev->dev, res); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mmc/host/owl-mmc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/owl-mmc.c @@ -638,7 +638,7 @@ owl_host->irq = platform_get_irq(pdev, 0); if (owl_host->irq < 0) { - ret = -EINVAL; + ret = owl_host->irq; goto err_release_channel; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mmc/host/sdhci-acpi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sdhci-acpi.c @@ -910,7 +910,7 @@ host->ops = &sdhci_acpi_ops_dflt; host->irq = platform_get_irq(pdev, 0); if (host->irq < 0) { - err = -EINVAL; + err = host->irq; goto err_free; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mmc/host/sh_mmcif.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/sh_mmcif.c @@ -1398,7 +1398,7 @@ irq[0] = platform_get_irq(pdev, 0); irq[1] = platform_get_irq_optional(pdev, 1); if (irq[0] < 0) - return -ENXIO; + return irq[0]; reg = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(reg)) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/mmc/host/usdhi6rol0.c +++ linux-intel-iotg-5.15-5.15.0/drivers/mmc/host/usdhi6rol0.c @@ -1757,8 +1757,10 @@ irq_cd = platform_get_irq_byname(pdev, "card detect"); irq_sd = platform_get_irq_byname(pdev, "data"); irq_sdio = platform_get_irq_byname(pdev, "SDIO"); - if (irq_sd < 0 || irq_sdio < 0) - return -ENODEV; + if (irq_sd < 0) + return irq_sd; + if (irq_sdio < 0) + return irq_sdio; mmc = mmc_alloc_host(sizeof(struct usdhi6_host), dev); if (!mmc) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/dsa/vitesse-vsc73xx-core.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/dsa/vitesse-vsc73xx-core.c @@ -1025,17 +1025,17 @@ struct vsc73xx *vsc = ds->priv; return vsc73xx_write(vsc, VSC73XX_BLOCK_MAC, port, - VSC73XX_MAXLEN, new_mtu); + VSC73XX_MAXLEN, new_mtu + ETH_HLEN + ETH_FCS_LEN); } /* According to application not "VSC7398 Jumbo Frames" setting - * up the MTU to 9.6 KB does not affect the performance on standard + * up the frame size to 9.6 KB does not affect the performance on standard * frames. It is clear from the application note that * "9.6 kilobytes" == 9600 bytes. */ static int vsc73xx_get_max_mtu(struct dsa_switch *ds, int port) { - return 9600; + return 9600 - ETH_HLEN - ETH_FCS_LEN; } static const struct dsa_switch_ops vsc73xx_ds_ops = { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/emulex/benet/be_main.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/emulex/benet/be_main.c @@ -1136,8 +1136,8 @@ eth_hdr_len = ntohs(skb->protocol) == ETH_P_8021Q ? VLAN_ETH_HLEN : ETH_HLEN; if (skb->len <= 60 && - (lancer_chip(adapter) || skb_vlan_tag_present(skb)) && - is_ipv4_pkt(skb)) { + (lancer_chip(adapter) || BE3_chip(adapter) || + skb_vlan_tag_present(skb)) && is_ipv4_pkt(skb)) { ip = (struct iphdr *)ip_hdr(skb); pskb_trim(skb, eth_hdr_len + ntohs(ip->tot_len)); } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_adminq.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_adminq.c @@ -47,9 +47,9 @@ * i40e_alloc_adminq_asq_ring - Allocate Admin Queue send rings * @hw: pointer to the hardware structure **/ -static i40e_status i40e_alloc_adminq_asq_ring(struct i40e_hw *hw) +static int i40e_alloc_adminq_asq_ring(struct i40e_hw *hw) { - i40e_status ret_code; + int ret_code; ret_code = i40e_allocate_dma_mem(hw, &hw->aq.asq.desc_buf, i40e_mem_atq_ring, @@ -74,9 +74,9 @@ * i40e_alloc_adminq_arq_ring - Allocate Admin Queue receive rings * @hw: pointer to the hardware structure **/ -static i40e_status i40e_alloc_adminq_arq_ring(struct i40e_hw *hw) +static int i40e_alloc_adminq_arq_ring(struct i40e_hw *hw) { - i40e_status ret_code; + int ret_code; ret_code = i40e_allocate_dma_mem(hw, &hw->aq.arq.desc_buf, i40e_mem_arq_ring, @@ -115,11 +115,11 @@ * i40e_alloc_arq_bufs - Allocate pre-posted buffers for the receive queue * @hw: pointer to the hardware structure **/ -static i40e_status i40e_alloc_arq_bufs(struct i40e_hw *hw) +static int i40e_alloc_arq_bufs(struct i40e_hw *hw) { - i40e_status ret_code; struct i40e_aq_desc *desc; struct i40e_dma_mem *bi; + int ret_code; int i; /* We'll be allocating the buffer info memory first, then we can @@ -182,10 +182,10 @@ * i40e_alloc_asq_bufs - Allocate empty buffer structs for the send queue * @hw: pointer to the hardware structure **/ -static i40e_status i40e_alloc_asq_bufs(struct i40e_hw *hw) +static int i40e_alloc_asq_bufs(struct i40e_hw *hw) { - i40e_status ret_code; struct i40e_dma_mem *bi; + int ret_code; int i; /* No mapped memory needed yet, just the buffer info structures */ @@ -266,9 +266,9 @@ * * Configure base address and length registers for the transmit queue **/ -static i40e_status i40e_config_asq_regs(struct i40e_hw *hw) +static int i40e_config_asq_regs(struct i40e_hw *hw) { - i40e_status ret_code = 0; + int ret_code = 0; u32 reg = 0; /* Clear Head and Tail */ @@ -295,9 +295,9 @@ * * Configure base address and length registers for the receive (event queue) **/ -static i40e_status i40e_config_arq_regs(struct i40e_hw *hw) +static int i40e_config_arq_regs(struct i40e_hw *hw) { - i40e_status ret_code = 0; + int ret_code = 0; u32 reg = 0; /* Clear Head and Tail */ @@ -334,9 +334,9 @@ * Do *NOT* hold the lock when calling this as the memory allocation routines * called are not going to be atomic context safe **/ -static i40e_status i40e_init_asq(struct i40e_hw *hw) +static int i40e_init_asq(struct i40e_hw *hw) { - i40e_status ret_code = 0; + int ret_code = 0; if (hw->aq.asq.count > 0) { /* queue already initialized */ @@ -393,9 +393,9 @@ * Do *NOT* hold the lock when calling this as the memory allocation routines * called are not going to be atomic context safe **/ -static i40e_status i40e_init_arq(struct i40e_hw *hw) +static int i40e_init_arq(struct i40e_hw *hw) { - i40e_status ret_code = 0; + int ret_code = 0; if (hw->aq.arq.count > 0) { /* queue already initialized */ @@ -445,9 +445,9 @@ * * The main shutdown routine for the Admin Send Queue **/ -static i40e_status i40e_shutdown_asq(struct i40e_hw *hw) +static int i40e_shutdown_asq(struct i40e_hw *hw) { - i40e_status ret_code = 0; + int ret_code = 0; mutex_lock(&hw->aq.asq_mutex); @@ -479,9 +479,9 @@ * * The main shutdown routine for the Admin Receive Queue **/ -static i40e_status i40e_shutdown_arq(struct i40e_hw *hw) +static int i40e_shutdown_arq(struct i40e_hw *hw) { - i40e_status ret_code = 0; + int ret_code = 0; mutex_lock(&hw->aq.arq_mutex); @@ -582,12 +582,12 @@ * - hw->aq.arq_buf_size * - hw->aq.asq_buf_size **/ -i40e_status i40e_init_adminq(struct i40e_hw *hw) +int i40e_init_adminq(struct i40e_hw *hw) { u16 cfg_ptr, oem_hi, oem_lo; u16 eetrack_lo, eetrack_hi; - i40e_status ret_code; int retry = 0; + int ret_code; /* verify input for valid configuration */ if ((hw->aq.num_arq_entries == 0) || @@ -779,18 +779,18 @@ * This is the main send command driver routine for the Admin Queue send * queue. It runs the queue, cleans the queue, etc **/ -i40e_status i40e_asq_send_command(struct i40e_hw *hw, - struct i40e_aq_desc *desc, - void *buff, /* can be NULL */ - u16 buff_size, - struct i40e_asq_cmd_details *cmd_details) +int i40e_asq_send_command(struct i40e_hw *hw, + struct i40e_aq_desc *desc, + void *buff, /* can be NULL */ + u16 buff_size, + struct i40e_asq_cmd_details *cmd_details) { - i40e_status status = 0; struct i40e_dma_mem *dma_buff = NULL; struct i40e_asq_cmd_details *details; struct i40e_aq_desc *desc_on_ring; bool cmd_completed = false; u16 retval = 0; + int status = 0; u32 val = 0; mutex_lock(&hw->aq.asq_mutex); @@ -993,14 +993,14 @@ * the contents through e. It can also return how many events are * left to process through 'pending' **/ -i40e_status i40e_clean_arq_element(struct i40e_hw *hw, - struct i40e_arq_event_info *e, - u16 *pending) +int i40e_clean_arq_element(struct i40e_hw *hw, + struct i40e_arq_event_info *e, + u16 *pending) { - i40e_status ret_code = 0; u16 ntc = hw->aq.arq.next_to_clean; struct i40e_aq_desc *desc; struct i40e_dma_mem *bi; + int ret_code = 0; u16 desc_idx; u16 datalen; u16 flags; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_alloc.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_alloc.h @@ -20,16 +20,16 @@ }; /* prototype for functions used for dynamic memory allocation */ -i40e_status i40e_allocate_dma_mem(struct i40e_hw *hw, - struct i40e_dma_mem *mem, - enum i40e_memory_type type, - u64 size, u32 alignment); -i40e_status i40e_free_dma_mem(struct i40e_hw *hw, - struct i40e_dma_mem *mem); -i40e_status i40e_allocate_virt_mem(struct i40e_hw *hw, - struct i40e_virt_mem *mem, - u32 size); -i40e_status i40e_free_virt_mem(struct i40e_hw *hw, - struct i40e_virt_mem *mem); +int i40e_allocate_dma_mem(struct i40e_hw *hw, + struct i40e_dma_mem *mem, + enum i40e_memory_type type, + u64 size, u32 alignment); +int i40e_free_dma_mem(struct i40e_hw *hw, + struct i40e_dma_mem *mem); +int i40e_allocate_virt_mem(struct i40e_hw *hw, + struct i40e_virt_mem *mem, + u32 size); +int i40e_free_virt_mem(struct i40e_hw *hw, + struct i40e_virt_mem *mem); #endif /* _I40E_ALLOC_H_ */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_common.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_common.c @@ -14,9 +14,9 @@ * This function sets the mac type of the adapter based on the * vendor ID and device ID stored in the hw structure. **/ -i40e_status i40e_set_mac_type(struct i40e_hw *hw) +int i40e_set_mac_type(struct i40e_hw *hw) { - i40e_status status = 0; + int status = 0; if (hw->vendor_id == PCI_VENDOR_ID_INTEL) { switch (hw->device_id) { @@ -123,154 +123,6 @@ } /** - * i40e_stat_str - convert status err code to a string - * @hw: pointer to the HW structure - * @stat_err: the status error code to convert - **/ -const char *i40e_stat_str(struct i40e_hw *hw, i40e_status stat_err) -{ - switch (stat_err) { - case 0: - return "OK"; - case I40E_ERR_NVM: - return "I40E_ERR_NVM"; - case I40E_ERR_NVM_CHECKSUM: - return "I40E_ERR_NVM_CHECKSUM"; - case I40E_ERR_PHY: - return "I40E_ERR_PHY"; - case I40E_ERR_CONFIG: - return "I40E_ERR_CONFIG"; - case I40E_ERR_PARAM: - return "I40E_ERR_PARAM"; - case I40E_ERR_MAC_TYPE: - return "I40E_ERR_MAC_TYPE"; - case I40E_ERR_UNKNOWN_PHY: - return "I40E_ERR_UNKNOWN_PHY"; - case I40E_ERR_LINK_SETUP: - return "I40E_ERR_LINK_SETUP"; - case I40E_ERR_ADAPTER_STOPPED: - return "I40E_ERR_ADAPTER_STOPPED"; - case I40E_ERR_INVALID_MAC_ADDR: - return "I40E_ERR_INVALID_MAC_ADDR"; - case I40E_ERR_DEVICE_NOT_SUPPORTED: - return "I40E_ERR_DEVICE_NOT_SUPPORTED"; - case I40E_ERR_MASTER_REQUESTS_PENDING: - return "I40E_ERR_MASTER_REQUESTS_PENDING"; - case I40E_ERR_INVALID_LINK_SETTINGS: - return "I40E_ERR_INVALID_LINK_SETTINGS"; - case I40E_ERR_AUTONEG_NOT_COMPLETE: - return "I40E_ERR_AUTONEG_NOT_COMPLETE"; - case I40E_ERR_RESET_FAILED: - return "I40E_ERR_RESET_FAILED"; - case I40E_ERR_SWFW_SYNC: - return "I40E_ERR_SWFW_SYNC"; - case I40E_ERR_NO_AVAILABLE_VSI: - return "I40E_ERR_NO_AVAILABLE_VSI"; - case I40E_ERR_NO_MEMORY: - return "I40E_ERR_NO_MEMORY"; - case I40E_ERR_BAD_PTR: - return "I40E_ERR_BAD_PTR"; - case I40E_ERR_RING_FULL: - return "I40E_ERR_RING_FULL"; - case I40E_ERR_INVALID_PD_ID: - return "I40E_ERR_INVALID_PD_ID"; - case I40E_ERR_INVALID_QP_ID: - return "I40E_ERR_INVALID_QP_ID"; - case I40E_ERR_INVALID_CQ_ID: - return "I40E_ERR_INVALID_CQ_ID"; - case I40E_ERR_INVALID_CEQ_ID: - return "I40E_ERR_INVALID_CEQ_ID"; - case I40E_ERR_INVALID_AEQ_ID: - return "I40E_ERR_INVALID_AEQ_ID"; - case I40E_ERR_INVALID_SIZE: - return "I40E_ERR_INVALID_SIZE"; - case I40E_ERR_INVALID_ARP_INDEX: - return "I40E_ERR_INVALID_ARP_INDEX"; - case I40E_ERR_INVALID_FPM_FUNC_ID: - return "I40E_ERR_INVALID_FPM_FUNC_ID"; - case I40E_ERR_QP_INVALID_MSG_SIZE: - return "I40E_ERR_QP_INVALID_MSG_SIZE"; - case I40E_ERR_QP_TOOMANY_WRS_POSTED: - return "I40E_ERR_QP_TOOMANY_WRS_POSTED"; - case I40E_ERR_INVALID_FRAG_COUNT: - return "I40E_ERR_INVALID_FRAG_COUNT"; - case I40E_ERR_QUEUE_EMPTY: - return "I40E_ERR_QUEUE_EMPTY"; - case I40E_ERR_INVALID_ALIGNMENT: - return "I40E_ERR_INVALID_ALIGNMENT"; - case I40E_ERR_FLUSHED_QUEUE: - return "I40E_ERR_FLUSHED_QUEUE"; - case I40E_ERR_INVALID_PUSH_PAGE_INDEX: - return "I40E_ERR_INVALID_PUSH_PAGE_INDEX"; - case I40E_ERR_INVALID_IMM_DATA_SIZE: - return "I40E_ERR_INVALID_IMM_DATA_SIZE"; - case I40E_ERR_TIMEOUT: - return "I40E_ERR_TIMEOUT"; - case I40E_ERR_OPCODE_MISMATCH: - return "I40E_ERR_OPCODE_MISMATCH"; - case I40E_ERR_CQP_COMPL_ERROR: - return "I40E_ERR_CQP_COMPL_ERROR"; - case I40E_ERR_INVALID_VF_ID: - return "I40E_ERR_INVALID_VF_ID"; - case I40E_ERR_INVALID_HMCFN_ID: - return "I40E_ERR_INVALID_HMCFN_ID"; - case I40E_ERR_BACKING_PAGE_ERROR: - return "I40E_ERR_BACKING_PAGE_ERROR"; - case I40E_ERR_NO_PBLCHUNKS_AVAILABLE: - return "I40E_ERR_NO_PBLCHUNKS_AVAILABLE"; - case I40E_ERR_INVALID_PBLE_INDEX: - return "I40E_ERR_INVALID_PBLE_INDEX"; - case I40E_ERR_INVALID_SD_INDEX: - return "I40E_ERR_INVALID_SD_INDEX"; - case I40E_ERR_INVALID_PAGE_DESC_INDEX: - return "I40E_ERR_INVALID_PAGE_DESC_INDEX"; - case I40E_ERR_INVALID_SD_TYPE: - return "I40E_ERR_INVALID_SD_TYPE"; - case I40E_ERR_MEMCPY_FAILED: - return "I40E_ERR_MEMCPY_FAILED"; - case I40E_ERR_INVALID_HMC_OBJ_INDEX: - return "I40E_ERR_INVALID_HMC_OBJ_INDEX"; - case I40E_ERR_INVALID_HMC_OBJ_COUNT: - return "I40E_ERR_INVALID_HMC_OBJ_COUNT"; - case I40E_ERR_INVALID_SRQ_ARM_LIMIT: - return "I40E_ERR_INVALID_SRQ_ARM_LIMIT"; - case I40E_ERR_SRQ_ENABLED: - return "I40E_ERR_SRQ_ENABLED"; - case I40E_ERR_ADMIN_QUEUE_ERROR: - return "I40E_ERR_ADMIN_QUEUE_ERROR"; - case I40E_ERR_ADMIN_QUEUE_TIMEOUT: - return "I40E_ERR_ADMIN_QUEUE_TIMEOUT"; - case I40E_ERR_BUF_TOO_SHORT: - return "I40E_ERR_BUF_TOO_SHORT"; - case I40E_ERR_ADMIN_QUEUE_FULL: - return "I40E_ERR_ADMIN_QUEUE_FULL"; - case I40E_ERR_ADMIN_QUEUE_NO_WORK: - return "I40E_ERR_ADMIN_QUEUE_NO_WORK"; - case I40E_ERR_BAD_IWARP_CQE: - return "I40E_ERR_BAD_IWARP_CQE"; - case I40E_ERR_NVM_BLANK_MODE: - return "I40E_ERR_NVM_BLANK_MODE"; - case I40E_ERR_NOT_IMPLEMENTED: - return "I40E_ERR_NOT_IMPLEMENTED"; - case I40E_ERR_PE_DOORBELL_NOT_ENABLED: - return "I40E_ERR_PE_DOORBELL_NOT_ENABLED"; - case I40E_ERR_DIAG_TEST_FAILED: - return "I40E_ERR_DIAG_TEST_FAILED"; - case I40E_ERR_NOT_READY: - return "I40E_ERR_NOT_READY"; - case I40E_NOT_SUPPORTED: - return "I40E_NOT_SUPPORTED"; - case I40E_ERR_FIRMWARE_API_VERSION: - return "I40E_ERR_FIRMWARE_API_VERSION"; - case I40E_ERR_ADMIN_QUEUE_CRITICAL_ERROR: - return "I40E_ERR_ADMIN_QUEUE_CRITICAL_ERROR"; - } - - snprintf(hw->err_str, sizeof(hw->err_str), "%d", stat_err); - return hw->err_str; -} - -/** * i40e_debug_aq * @hw: debug mask related to admin queue * @mask: debug mask @@ -353,13 +205,13 @@ * Tell the Firmware that we're shutting down the AdminQ and whether * or not the driver is unloading as well. **/ -i40e_status i40e_aq_queue_shutdown(struct i40e_hw *hw, - bool unloading) +int i40e_aq_queue_shutdown(struct i40e_hw *hw, + bool unloading) { struct i40e_aq_desc desc; struct i40e_aqc_queue_shutdown *cmd = (struct i40e_aqc_queue_shutdown *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_queue_shutdown); @@ -382,15 +234,15 @@ * * Internal function to get or set RSS look up table **/ -static i40e_status i40e_aq_get_set_rss_lut(struct i40e_hw *hw, - u16 vsi_id, bool pf_lut, - u8 *lut, u16 lut_size, - bool set) +static int i40e_aq_get_set_rss_lut(struct i40e_hw *hw, + u16 vsi_id, bool pf_lut, + u8 *lut, u16 lut_size, + bool set) { - i40e_status status; struct i40e_aq_desc desc; struct i40e_aqc_get_set_rss_lut *cmd_resp = (struct i40e_aqc_get_set_rss_lut *)&desc.params.raw; + int status; if (set) i40e_fill_default_direct_cmd_desc(&desc, @@ -435,8 +287,8 @@ * * get the RSS lookup table, PF or VSI type **/ -i40e_status i40e_aq_get_rss_lut(struct i40e_hw *hw, u16 vsi_id, - bool pf_lut, u8 *lut, u16 lut_size) +int i40e_aq_get_rss_lut(struct i40e_hw *hw, u16 vsi_id, + bool pf_lut, u8 *lut, u16 lut_size) { return i40e_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size, false); @@ -452,8 +304,8 @@ * * set the RSS lookup table, PF or VSI type **/ -i40e_status i40e_aq_set_rss_lut(struct i40e_hw *hw, u16 vsi_id, - bool pf_lut, u8 *lut, u16 lut_size) +int i40e_aq_set_rss_lut(struct i40e_hw *hw, u16 vsi_id, + bool pf_lut, u8 *lut, u16 lut_size) { return i40e_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size, true); } @@ -467,16 +319,16 @@ * * get the RSS key per VSI **/ -static i40e_status i40e_aq_get_set_rss_key(struct i40e_hw *hw, - u16 vsi_id, - struct i40e_aqc_get_set_rss_key_data *key, - bool set) +static int i40e_aq_get_set_rss_key(struct i40e_hw *hw, + u16 vsi_id, + struct i40e_aqc_get_set_rss_key_data *key, + bool set) { - i40e_status status; struct i40e_aq_desc desc; struct i40e_aqc_get_set_rss_key *cmd_resp = (struct i40e_aqc_get_set_rss_key *)&desc.params.raw; u16 key_size = sizeof(struct i40e_aqc_get_set_rss_key_data); + int status; if (set) i40e_fill_default_direct_cmd_desc(&desc, @@ -507,9 +359,9 @@ * @key: pointer to key info struct * **/ -i40e_status i40e_aq_get_rss_key(struct i40e_hw *hw, - u16 vsi_id, - struct i40e_aqc_get_set_rss_key_data *key) +int i40e_aq_get_rss_key(struct i40e_hw *hw, + u16 vsi_id, + struct i40e_aqc_get_set_rss_key_data *key) { return i40e_aq_get_set_rss_key(hw, vsi_id, key, false); } @@ -522,9 +374,9 @@ * * set the RSS key per VSI **/ -i40e_status i40e_aq_set_rss_key(struct i40e_hw *hw, - u16 vsi_id, - struct i40e_aqc_get_set_rss_key_data *key) +int i40e_aq_set_rss_key(struct i40e_hw *hw, + u16 vsi_id, + struct i40e_aqc_get_set_rss_key_data *key) { return i40e_aq_get_set_rss_key(hw, vsi_id, key, true); } @@ -794,10 +646,10 @@ * hw_addr, back, device_id, vendor_id, subsystem_device_id, * subsystem_vendor_id, and revision_id **/ -i40e_status i40e_init_shared_code(struct i40e_hw *hw) +int i40e_init_shared_code(struct i40e_hw *hw) { - i40e_status status = 0; u32 port, ari, func_rid; + int status = 0; i40e_set_mac_type(hw); @@ -834,15 +686,16 @@ * @addrs: the requestor's mac addr store * @cmd_details: pointer to command details structure or NULL **/ -static i40e_status i40e_aq_mac_address_read(struct i40e_hw *hw, - u16 *flags, - struct i40e_aqc_mac_address_read_data *addrs, - struct i40e_asq_cmd_details *cmd_details) +static int +i40e_aq_mac_address_read(struct i40e_hw *hw, + u16 *flags, + struct i40e_aqc_mac_address_read_data *addrs, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_mac_address_read *cmd_data = (struct i40e_aqc_mac_address_read *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_mac_address_read); desc.flags |= cpu_to_le16(I40E_AQ_FLAG_BUF); @@ -861,14 +714,14 @@ * @mac_addr: address to write * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_mac_address_write(struct i40e_hw *hw, - u16 flags, u8 *mac_addr, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_mac_address_write(struct i40e_hw *hw, + u16 flags, u8 *mac_addr, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_mac_address_write *cmd_data = (struct i40e_aqc_mac_address_write *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_mac_address_write); @@ -891,11 +744,11 @@ * * Reads the adapter's MAC address from register **/ -i40e_status i40e_get_mac_addr(struct i40e_hw *hw, u8 *mac_addr) +int i40e_get_mac_addr(struct i40e_hw *hw, u8 *mac_addr) { struct i40e_aqc_mac_address_read_data addrs; - i40e_status status; u16 flags = 0; + int status; status = i40e_aq_mac_address_read(hw, &flags, &addrs, NULL); @@ -912,11 +765,11 @@ * * Reads the adapter's Port MAC address **/ -i40e_status i40e_get_port_mac_addr(struct i40e_hw *hw, u8 *mac_addr) +int i40e_get_port_mac_addr(struct i40e_hw *hw, u8 *mac_addr) { struct i40e_aqc_mac_address_read_data addrs; - i40e_status status; u16 flags = 0; + int status; status = i40e_aq_mac_address_read(hw, &flags, &addrs, NULL); if (status) @@ -970,13 +823,13 @@ * * Reads the part number string from the EEPROM. **/ -i40e_status i40e_read_pba_string(struct i40e_hw *hw, u8 *pba_num, - u32 pba_num_size) +int i40e_read_pba_string(struct i40e_hw *hw, u8 *pba_num, + u32 pba_num_size) { - i40e_status status = 0; u16 pba_word = 0; u16 pba_size = 0; u16 pba_ptr = 0; + int status = 0; u16 i = 0; status = i40e_read_nvm_word(hw, I40E_SR_PBA_FLAGS, &pba_word); @@ -1085,8 +938,8 @@ * @hw: pointer to the hardware structure * @retry_limit: how many times to retry before failure **/ -static i40e_status i40e_poll_globr(struct i40e_hw *hw, - u32 retry_limit) +static int i40e_poll_globr(struct i40e_hw *hw, + u32 retry_limit) { u32 cnt, reg = 0; @@ -1112,7 +965,7 @@ * Assuming someone else has triggered a global reset, * assure the global reset is complete and then reset the PF **/ -i40e_status i40e_pf_reset(struct i40e_hw *hw) +int i40e_pf_reset(struct i40e_hw *hw) { u32 cnt = 0; u32 cnt1 = 0; @@ -1451,15 +1304,16 @@ * * Returns the various PHY abilities supported on the Port. **/ -i40e_status i40e_aq_get_phy_capabilities(struct i40e_hw *hw, - bool qualified_modules, bool report_init, - struct i40e_aq_get_phy_abilities_resp *abilities, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_get_phy_capabilities(struct i40e_hw *hw, + bool qualified_modules, bool report_init, + struct i40e_aq_get_phy_abilities_resp *abilities, + struct i40e_asq_cmd_details *cmd_details) { - struct i40e_aq_desc desc; - i40e_status status; u16 abilities_size = sizeof(struct i40e_aq_get_phy_abilities_resp); u16 max_delay = I40E_MAX_PHY_TIMEOUT, total_delay = 0; + struct i40e_aq_desc desc; + int status; if (!abilities) return I40E_ERR_PARAM; @@ -1530,14 +1384,14 @@ * of the PHY Config parameters. This status will be indicated by the * command response. **/ -enum i40e_status_code i40e_aq_set_phy_config(struct i40e_hw *hw, - struct i40e_aq_set_phy_config *config, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_phy_config(struct i40e_hw *hw, + struct i40e_aq_set_phy_config *config, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aq_set_phy_config *cmd = (struct i40e_aq_set_phy_config *)&desc.params.raw; - enum i40e_status_code status; + int status; if (!config) return I40E_ERR_PARAM; @@ -1552,7 +1406,7 @@ return status; } -static noinline_for_stack enum i40e_status_code +static noinline_for_stack int i40e_set_fc_status(struct i40e_hw *hw, struct i40e_aq_get_phy_abilities_resp *abilities, bool atomic_restart) @@ -1610,11 +1464,11 @@ * * Set the requested flow control mode using set_phy_config. **/ -enum i40e_status_code i40e_set_fc(struct i40e_hw *hw, u8 *aq_failures, - bool atomic_restart) +int i40e_set_fc(struct i40e_hw *hw, u8 *aq_failures, + bool atomic_restart) { struct i40e_aq_get_phy_abilities_resp abilities; - enum i40e_status_code status; + int status; *aq_failures = 0x0; @@ -1653,13 +1507,13 @@ * * Tell the firmware that the driver is taking over from PXE **/ -i40e_status i40e_aq_clear_pxe_mode(struct i40e_hw *hw, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_clear_pxe_mode(struct i40e_hw *hw, + struct i40e_asq_cmd_details *cmd_details) { - i40e_status status; struct i40e_aq_desc desc; struct i40e_aqc_clear_pxe *cmd = (struct i40e_aqc_clear_pxe *)&desc.params.raw; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_clear_pxe_mode); @@ -1681,14 +1535,14 @@ * * Sets up the link and restarts the Auto-Negotiation over the link. **/ -i40e_status i40e_aq_set_link_restart_an(struct i40e_hw *hw, - bool enable_link, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_link_restart_an(struct i40e_hw *hw, + bool enable_link, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_link_restart_an *cmd = (struct i40e_aqc_set_link_restart_an *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_link_restart_an); @@ -1713,17 +1567,17 @@ * * Returns the link status of the adapter. **/ -i40e_status i40e_aq_get_link_info(struct i40e_hw *hw, - bool enable_lse, struct i40e_link_status *link, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_link_info(struct i40e_hw *hw, + bool enable_lse, struct i40e_link_status *link, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_get_link_status *resp = (struct i40e_aqc_get_link_status *)&desc.params.raw; struct i40e_link_status *hw_link_info = &hw->phy.link_info; - i40e_status status; bool tx_pause, rx_pause; u16 command_flags; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_get_link_status); @@ -1809,14 +1663,14 @@ * * Set link interrupt mask. **/ -i40e_status i40e_aq_set_phy_int_mask(struct i40e_hw *hw, - u16 mask, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_phy_int_mask(struct i40e_hw *hw, + u16 mask, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_phy_int_mask *cmd = (struct i40e_aqc_set_phy_int_mask *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_phy_int_mask); @@ -1836,13 +1690,13 @@ * * Reset the external PHY. **/ -i40e_status i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_phy_debug *cmd = (struct i40e_aqc_set_phy_debug *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_phy_debug); @@ -1877,9 +1731,9 @@ * * Add a VSI context to the hardware. **/ -i40e_status i40e_aq_add_vsi(struct i40e_hw *hw, - struct i40e_vsi_context *vsi_ctx, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_add_vsi(struct i40e_hw *hw, + struct i40e_vsi_context *vsi_ctx, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_add_get_update_vsi *cmd = @@ -1887,7 +1741,7 @@ struct i40e_aqc_add_get_update_vsi_completion *resp = (struct i40e_aqc_add_get_update_vsi_completion *) &desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_add_vsi); @@ -1920,15 +1774,15 @@ * @seid: vsi number * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_set_default_vsi(struct i40e_hw *hw, - u16 seid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_default_vsi(struct i40e_hw *hw, + u16 seid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *) &desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -1948,15 +1802,15 @@ * @seid: vsi number * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_clear_default_vsi(struct i40e_hw *hw, - u16 seid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_clear_default_vsi(struct i40e_hw *hw, + u16 seid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *) &desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -1978,16 +1832,16 @@ * @cmd_details: pointer to command details structure or NULL * @rx_only_promisc: flag to decide if egress traffic gets mirrored in promisc **/ -i40e_status i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw, - u16 seid, bool set, - struct i40e_asq_cmd_details *cmd_details, - bool rx_only_promisc) +int i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw, + u16 seid, bool set, + struct i40e_asq_cmd_details *cmd_details, + bool rx_only_promisc) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw; - i40e_status status; u16 flags = 0; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -2018,14 +1872,15 @@ * @set: set multicast promiscuous enable/disable * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw, - u16 seid, bool set, struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw, + u16 seid, bool set, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw; - i40e_status status; u16 flags = 0; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -2051,16 +1906,16 @@ * @vid: The VLAN tag filter - capture any multicast packet with this VLAN tag * @cmd_details: pointer to command details structure or NULL **/ -enum i40e_status_code i40e_aq_set_vsi_mc_promisc_on_vlan(struct i40e_hw *hw, - u16 seid, bool enable, - u16 vid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_vsi_mc_promisc_on_vlan(struct i40e_hw *hw, + u16 seid, bool enable, + u16 vid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw; - enum i40e_status_code status; u16 flags = 0; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -2086,16 +1941,16 @@ * @vid: The VLAN tag filter - capture any unicast packet with this VLAN tag * @cmd_details: pointer to command details structure or NULL **/ -enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw, - u16 seid, bool enable, - u16 vid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw, + u16 seid, bool enable, + u16 vid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw; - enum i40e_status_code status; u16 flags = 0; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -2127,15 +1982,15 @@ * @vid: The VLAN tag filter - capture any broadcast packet with this VLAN tag * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_set_vsi_bc_promisc_on_vlan(struct i40e_hw *hw, - u16 seid, bool enable, u16 vid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_vsi_bc_promisc_on_vlan(struct i40e_hw *hw, + u16 seid, bool enable, u16 vid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw; - i40e_status status; u16 flags = 0; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -2162,14 +2017,14 @@ * * Set or clear the broadcast promiscuous flag (filter) for a given VSI. **/ -i40e_status i40e_aq_set_vsi_broadcast(struct i40e_hw *hw, - u16 seid, bool set_filter, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_vsi_broadcast(struct i40e_hw *hw, + u16 seid, bool set_filter, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -2195,15 +2050,15 @@ * @enable: set MAC L2 layer unicast promiscuous enable/disable for a given VLAN * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw, - u16 seid, bool enable, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw, + u16 seid, bool enable, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_vsi_promiscuous_modes *cmd = (struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw; - i40e_status status; u16 flags = 0; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); @@ -2225,9 +2080,9 @@ * @vsi_ctx: pointer to a vsi context struct * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_get_vsi_params(struct i40e_hw *hw, - struct i40e_vsi_context *vsi_ctx, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_vsi_params(struct i40e_hw *hw, + struct i40e_vsi_context *vsi_ctx, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_add_get_update_vsi *cmd = @@ -2235,7 +2090,7 @@ struct i40e_aqc_add_get_update_vsi_completion *resp = (struct i40e_aqc_add_get_update_vsi_completion *) &desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_get_vsi_parameters); @@ -2267,9 +2122,9 @@ * * Update a VSI context. **/ -i40e_status i40e_aq_update_vsi_params(struct i40e_hw *hw, - struct i40e_vsi_context *vsi_ctx, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_update_vsi_params(struct i40e_hw *hw, + struct i40e_vsi_context *vsi_ctx, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_add_get_update_vsi *cmd = @@ -2277,7 +2132,7 @@ struct i40e_aqc_add_get_update_vsi_completion *resp = (struct i40e_aqc_add_get_update_vsi_completion *) &desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_update_vsi_parameters); @@ -2304,15 +2159,15 @@ * * Fill the buf with switch configuration returned from AdminQ command **/ -i40e_status i40e_aq_get_switch_config(struct i40e_hw *hw, - struct i40e_aqc_get_switch_config_resp *buf, - u16 buf_size, u16 *start_seid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_switch_config(struct i40e_hw *hw, + struct i40e_aqc_get_switch_config_resp *buf, + u16 buf_size, u16 *start_seid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_switch_seid *scfg = (struct i40e_aqc_switch_seid *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_get_switch_config); @@ -2338,15 +2193,15 @@ * * Set switch configuration bits **/ -enum i40e_status_code i40e_aq_set_switch_config(struct i40e_hw *hw, - u16 flags, - u16 valid_flags, u8 mode, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_switch_config(struct i40e_hw *hw, + u16 flags, + u16 valid_flags, u8 mode, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_switch_config *scfg = (struct i40e_aqc_set_switch_config *)&desc.params.raw; - enum i40e_status_code status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_switch_config); @@ -2375,16 +2230,16 @@ * * Get the firmware version from the admin queue commands **/ -i40e_status i40e_aq_get_firmware_version(struct i40e_hw *hw, - u16 *fw_major_version, u16 *fw_minor_version, - u32 *fw_build, - u16 *api_major_version, u16 *api_minor_version, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_firmware_version(struct i40e_hw *hw, + u16 *fw_major_version, u16 *fw_minor_version, + u32 *fw_build, + u16 *api_major_version, u16 *api_minor_version, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_get_version *resp = (struct i40e_aqc_get_version *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_get_version); @@ -2414,14 +2269,14 @@ * * Send the driver version to the firmware **/ -i40e_status i40e_aq_send_driver_version(struct i40e_hw *hw, +int i40e_aq_send_driver_version(struct i40e_hw *hw, struct i40e_driver_version *dv, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_driver_version *cmd = (struct i40e_aqc_driver_version *)&desc.params.raw; - i40e_status status; + int status; u16 len; if (dv == NULL) @@ -2456,9 +2311,9 @@ * * Side effect: LinkStatusEvent reporting becomes enabled **/ -i40e_status i40e_get_link_status(struct i40e_hw *hw, bool *link_up) +int i40e_get_link_status(struct i40e_hw *hw, bool *link_up) { - i40e_status status = 0; + int status = 0; if (hw->phy.get_link_info) { status = i40e_update_link_info(hw); @@ -2477,10 +2332,10 @@ * i40e_update_link_info - update status of the HW network link * @hw: pointer to the hw struct **/ -noinline_for_stack i40e_status i40e_update_link_info(struct i40e_hw *hw) +noinline_for_stack int i40e_update_link_info(struct i40e_hw *hw) { struct i40e_aq_get_phy_abilities_resp abilities; - i40e_status status = 0; + int status = 0; status = i40e_aq_get_link_info(hw, true, NULL, NULL); if (status) @@ -2527,19 +2382,19 @@ * This asks the FW to add a VEB between the uplink and downlink * elements. If the uplink SEID is 0, this will be a floating VEB. **/ -i40e_status i40e_aq_add_veb(struct i40e_hw *hw, u16 uplink_seid, - u16 downlink_seid, u8 enabled_tc, - bool default_port, u16 *veb_seid, - bool enable_stats, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_add_veb(struct i40e_hw *hw, u16 uplink_seid, + u16 downlink_seid, u8 enabled_tc, + bool default_port, u16 *veb_seid, + bool enable_stats, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_add_veb *cmd = (struct i40e_aqc_add_veb *)&desc.params.raw; struct i40e_aqc_add_veb_completion *resp = (struct i40e_aqc_add_veb_completion *)&desc.params.raw; - i40e_status status; u16 veb_flags = 0; + int status; /* SEIDs need to either both be set or both be 0 for floating VEB */ if (!!uplink_seid != !!downlink_seid) @@ -2585,17 +2440,17 @@ * This retrieves the parameters for a particular VEB, specified by * uplink_seid, and returns them to the caller. **/ -i40e_status i40e_aq_get_veb_parameters(struct i40e_hw *hw, - u16 veb_seid, u16 *switch_id, - bool *floating, u16 *statistic_index, - u16 *vebs_used, u16 *vebs_free, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_veb_parameters(struct i40e_hw *hw, + u16 veb_seid, u16 *switch_id, + bool *floating, u16 *statistic_index, + u16 *vebs_used, u16 *vebs_free, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_get_veb_parameters_completion *cmd_resp = (struct i40e_aqc_get_veb_parameters_completion *) &desc.params.raw; - i40e_status status; + int status; if (veb_seid == 0) return I40E_ERR_PARAM; @@ -2639,14 +2494,14 @@ * * Add MAC/VLAN addresses to the HW filtering **/ -i40e_status i40e_aq_add_macvlan(struct i40e_hw *hw, u16 seid, +int i40e_aq_add_macvlan(struct i40e_hw *hw, u16 seid, struct i40e_aqc_add_macvlan_element_data *mv_list, u16 count, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_macvlan *cmd = (struct i40e_aqc_macvlan *)&desc.params.raw; - i40e_status status; + int status; u16 buf_size; int i; @@ -2687,15 +2542,16 @@ * * Remove MAC/VLAN addresses from the HW filtering **/ -i40e_status i40e_aq_remove_macvlan(struct i40e_hw *hw, u16 seid, - struct i40e_aqc_remove_macvlan_element_data *mv_list, - u16 count, struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_remove_macvlan(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_remove_macvlan_element_data *mv_list, + u16 count, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_macvlan *cmd = (struct i40e_aqc_macvlan *)&desc.params.raw; - i40e_status status; u16 buf_size; + int status; if (count == 0 || !mv_list || !hw) return I40E_ERR_PARAM; @@ -2736,19 +2592,19 @@ * Add/Delete a mirror rule to a specific switch. Mirror rules are supported for * VEBs/VEPA elements only **/ -static i40e_status i40e_mirrorrule_op(struct i40e_hw *hw, - u16 opcode, u16 sw_seid, u16 rule_type, u16 id, - u16 count, __le16 *mr_list, - struct i40e_asq_cmd_details *cmd_details, - u16 *rule_id, u16 *rules_used, u16 *rules_free) +static int i40e_mirrorrule_op(struct i40e_hw *hw, + u16 opcode, u16 sw_seid, u16 rule_type, u16 id, + u16 count, __le16 *mr_list, + struct i40e_asq_cmd_details *cmd_details, + u16 *rule_id, u16 *rules_used, u16 *rules_free) { struct i40e_aq_desc desc; struct i40e_aqc_add_delete_mirror_rule *cmd = (struct i40e_aqc_add_delete_mirror_rule *)&desc.params.raw; struct i40e_aqc_add_delete_mirror_rule_completion *resp = (struct i40e_aqc_add_delete_mirror_rule_completion *)&desc.params.raw; - i40e_status status; u16 buf_size; + int status; buf_size = count * sizeof(*mr_list); @@ -2796,10 +2652,11 @@ * * Add mirror rule. Mirror rules are supported for VEBs or VEPA elements only **/ -i40e_status i40e_aq_add_mirrorrule(struct i40e_hw *hw, u16 sw_seid, - u16 rule_type, u16 dest_vsi, u16 count, __le16 *mr_list, - struct i40e_asq_cmd_details *cmd_details, - u16 *rule_id, u16 *rules_used, u16 *rules_free) +int i40e_aq_add_mirrorrule(struct i40e_hw *hw, u16 sw_seid, + u16 rule_type, u16 dest_vsi, u16 count, + __le16 *mr_list, + struct i40e_asq_cmd_details *cmd_details, + u16 *rule_id, u16 *rules_used, u16 *rules_free) { if (!(rule_type == I40E_AQC_MIRROR_RULE_TYPE_ALL_INGRESS || rule_type == I40E_AQC_MIRROR_RULE_TYPE_ALL_EGRESS)) { @@ -2827,10 +2684,11 @@ * * Delete a mirror rule. Mirror rules are supported for VEBs/VEPA elements only **/ -i40e_status i40e_aq_delete_mirrorrule(struct i40e_hw *hw, u16 sw_seid, - u16 rule_type, u16 rule_id, u16 count, __le16 *mr_list, - struct i40e_asq_cmd_details *cmd_details, - u16 *rules_used, u16 *rules_free) +int i40e_aq_delete_mirrorrule(struct i40e_hw *hw, u16 sw_seid, + u16 rule_type, u16 rule_id, u16 count, + __le16 *mr_list, + struct i40e_asq_cmd_details *cmd_details, + u16 *rules_used, u16 *rules_free) { /* Rule ID has to be valid except rule_type: INGRESS VLAN mirroring */ if (rule_type == I40E_AQC_MIRROR_RULE_TYPE_VLAN) { @@ -2859,14 +2717,14 @@ * * send msg to vf **/ -i40e_status i40e_aq_send_msg_to_vf(struct i40e_hw *hw, u16 vfid, - u32 v_opcode, u32 v_retval, u8 *msg, u16 msglen, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_send_msg_to_vf(struct i40e_hw *hw, u16 vfid, + u32 v_opcode, u32 v_retval, u8 *msg, u16 msglen, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_pf_vf_message *cmd = (struct i40e_aqc_pf_vf_message *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_send_msg_to_vf); cmd->id = cpu_to_le32(vfid); @@ -2894,14 +2752,14 @@ * * Read the register using the admin queue commands **/ -i40e_status i40e_aq_debug_read_register(struct i40e_hw *hw, +int i40e_aq_debug_read_register(struct i40e_hw *hw, u32 reg_addr, u64 *reg_val, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_debug_reg_read_write *cmd_resp = (struct i40e_aqc_debug_reg_read_write *)&desc.params.raw; - i40e_status status; + int status; if (reg_val == NULL) return I40E_ERR_PARAM; @@ -2929,14 +2787,14 @@ * * Write to a register using the admin queue commands **/ -i40e_status i40e_aq_debug_write_register(struct i40e_hw *hw, - u32 reg_addr, u64 reg_val, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_debug_write_register(struct i40e_hw *hw, + u32 reg_addr, u64 reg_val, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_debug_reg_read_write *cmd = (struct i40e_aqc_debug_reg_read_write *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_debug_write_reg); @@ -2960,16 +2818,16 @@ * * requests common resource using the admin queue commands **/ -i40e_status i40e_aq_request_resource(struct i40e_hw *hw, - enum i40e_aq_resources_ids resource, - enum i40e_aq_resource_access_type access, - u8 sdp_number, u64 *timeout, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_request_resource(struct i40e_hw *hw, + enum i40e_aq_resources_ids resource, + enum i40e_aq_resource_access_type access, + u8 sdp_number, u64 *timeout, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_request_resource *cmd_resp = (struct i40e_aqc_request_resource *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_request_resource); @@ -2999,15 +2857,15 @@ * * release common resource using the admin queue commands **/ -i40e_status i40e_aq_release_resource(struct i40e_hw *hw, - enum i40e_aq_resources_ids resource, - u8 sdp_number, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_release_resource(struct i40e_hw *hw, + enum i40e_aq_resources_ids resource, + u8 sdp_number, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_request_resource *cmd = (struct i40e_aqc_request_resource *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_release_resource); @@ -3031,15 +2889,15 @@ * * Read the NVM using the admin queue commands **/ -i40e_status i40e_aq_read_nvm(struct i40e_hw *hw, u8 module_pointer, - u32 offset, u16 length, void *data, - bool last_command, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_read_nvm(struct i40e_hw *hw, u8 module_pointer, + u32 offset, u16 length, void *data, + bool last_command, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_nvm_update *cmd = (struct i40e_aqc_nvm_update *)&desc.params.raw; - i40e_status status; + int status; /* In offset the highest byte must be zeroed. */ if (offset & 0xFF000000) { @@ -3077,14 +2935,14 @@ * * Erase the NVM sector using the admin queue commands **/ -i40e_status i40e_aq_erase_nvm(struct i40e_hw *hw, u8 module_pointer, - u32 offset, u16 length, bool last_command, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_erase_nvm(struct i40e_hw *hw, u8 module_pointer, + u32 offset, u16 length, bool last_command, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_nvm_update *cmd = (struct i40e_aqc_nvm_update *)&desc.params.raw; - i40e_status status; + int status; /* In offset the highest byte must be zeroed. */ if (offset & 0xFF000000) { @@ -3125,8 +2983,8 @@ u32 number, logical_id, phys_id; struct i40e_hw_capabilities *p; u16 id, ocp_cfg_word0; - i40e_status status; u8 major_rev; + int status; u32 i = 0; cap = (struct i40e_aqc_list_capabilities_element_resp *) buff; @@ -3367,14 +3225,14 @@ * * Get the device capabilities descriptions from the firmware **/ -i40e_status i40e_aq_discover_capabilities(struct i40e_hw *hw, - void *buff, u16 buff_size, u16 *data_size, - enum i40e_admin_queue_opc list_type_opc, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_discover_capabilities(struct i40e_hw *hw, + void *buff, u16 buff_size, u16 *data_size, + enum i40e_admin_queue_opc list_type_opc, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aqc_list_capabilites *cmd; struct i40e_aq_desc desc; - i40e_status status = 0; + int status = 0; cmd = (struct i40e_aqc_list_capabilites *)&desc.params.raw; @@ -3416,15 +3274,15 @@ * * Update the NVM using the admin queue commands **/ -i40e_status i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, - u32 offset, u16 length, void *data, - bool last_command, u8 preservation_flags, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, + u32 offset, u16 length, void *data, + bool last_command, u8 preservation_flags, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_nvm_update *cmd = (struct i40e_aqc_nvm_update *)&desc.params.raw; - i40e_status status; + int status; /* In offset the highest byte must be zeroed. */ if (offset & 0xFF000000) { @@ -3469,13 +3327,13 @@ * * Rearrange NVM structure, available only for transition FW **/ -i40e_status i40e_aq_rearrange_nvm(struct i40e_hw *hw, - u8 rearrange_nvm, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_rearrange_nvm(struct i40e_hw *hw, + u8 rearrange_nvm, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aqc_nvm_update *cmd; - i40e_status status; struct i40e_aq_desc desc; + int status; cmd = (struct i40e_aqc_nvm_update *)&desc.params.raw; @@ -3509,17 +3367,17 @@ * * Requests the complete LLDP MIB (entire packet). **/ -i40e_status i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, - u8 mib_type, void *buff, u16 buff_size, - u16 *local_len, u16 *remote_len, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, + u8 mib_type, void *buff, u16 buff_size, + u16 *local_len, u16 *remote_len, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_lldp_get_mib *cmd = (struct i40e_aqc_lldp_get_mib *)&desc.params.raw; struct i40e_aqc_lldp_get_mib *resp = (struct i40e_aqc_lldp_get_mib *)&desc.params.raw; - i40e_status status; + int status; if (buff_size == 0 || !buff) return I40E_ERR_PARAM; @@ -3559,14 +3417,14 @@ * * Set the LLDP MIB. **/ -enum i40e_status_code +int i40e_aq_set_lldp_mib(struct i40e_hw *hw, u8 mib_type, void *buff, u16 buff_size, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aqc_lldp_set_local_mib *cmd; - enum i40e_status_code status; struct i40e_aq_desc desc; + int status; cmd = (struct i40e_aqc_lldp_set_local_mib *)&desc.params.raw; if (buff_size == 0 || !buff) @@ -3598,14 +3456,14 @@ * Enable or Disable posting of an event on ARQ when LLDP MIB * associated with the interface changes **/ -i40e_status i40e_aq_cfg_lldp_mib_change_event(struct i40e_hw *hw, - bool enable_update, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_cfg_lldp_mib_change_event(struct i40e_hw *hw, + bool enable_update, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_lldp_update_mib *cmd = (struct i40e_aqc_lldp_update_mib *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_lldp_update_mib); @@ -3627,14 +3485,14 @@ * Restore LLDP Agent factory settings if @restore set to True. In other case * only returns factory setting in AQ response. **/ -enum i40e_status_code +int i40e_aq_restore_lldp(struct i40e_hw *hw, u8 *setting, bool restore, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_lldp_restore *cmd = (struct i40e_aqc_lldp_restore *)&desc.params.raw; - i40e_status status; + int status; if (!(hw->flags & I40E_HW_FLAG_FW_LLDP_PERSISTENT)) { i40e_debug(hw, I40E_DEBUG_ALL, @@ -3664,14 +3522,14 @@ * * Stop or Shutdown the embedded LLDP Agent **/ -i40e_status i40e_aq_stop_lldp(struct i40e_hw *hw, bool shutdown_agent, - bool persist, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_stop_lldp(struct i40e_hw *hw, bool shutdown_agent, + bool persist, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_lldp_stop *cmd = (struct i40e_aqc_lldp_stop *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_lldp_stop); @@ -3699,13 +3557,13 @@ * * Start the embedded LLDP Agent on all ports. **/ -i40e_status i40e_aq_start_lldp(struct i40e_hw *hw, bool persist, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_start_lldp(struct i40e_hw *hw, bool persist, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_lldp_start *cmd = (struct i40e_aqc_lldp_start *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_lldp_start); @@ -3731,14 +3589,14 @@ * @dcb_enable: True if DCB configuration needs to be applied * **/ -enum i40e_status_code +int i40e_aq_set_dcb_parameters(struct i40e_hw *hw, bool dcb_enable, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_set_dcb_parameters *cmd = (struct i40e_aqc_set_dcb_parameters *)&desc.params.raw; - i40e_status status; + int status; if (!(hw->flags & I40E_HW_FLAG_FW_LLDP_STOPPABLE)) return I40E_ERR_DEVICE_NOT_SUPPORTED; @@ -3764,12 +3622,12 @@ * * Get CEE DCBX mode operational configuration from firmware **/ -i40e_status i40e_aq_get_cee_dcb_config(struct i40e_hw *hw, - void *buff, u16 buff_size, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_cee_dcb_config(struct i40e_hw *hw, + void *buff, u16 buff_size, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; - i40e_status status; + int status; if (buff_size == 0 || !buff) return I40E_ERR_PARAM; @@ -3795,17 +3653,17 @@ * and this function will call cpu_to_le16 to convert from Host byte order to * Little Endian order. **/ -i40e_status i40e_aq_add_udp_tunnel(struct i40e_hw *hw, - u16 udp_port, u8 protocol_index, - u8 *filter_index, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_add_udp_tunnel(struct i40e_hw *hw, + u16 udp_port, u8 protocol_index, + u8 *filter_index, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_add_udp_tunnel *cmd = (struct i40e_aqc_add_udp_tunnel *)&desc.params.raw; struct i40e_aqc_del_udp_tunnel_completion *resp = (struct i40e_aqc_del_udp_tunnel_completion *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_add_udp_tunnel); @@ -3826,13 +3684,13 @@ * @index: filter index * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_del_udp_tunnel(struct i40e_hw *hw, u8 index, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_del_udp_tunnel(struct i40e_hw *hw, u8 index, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_remove_udp_tunnel *cmd = (struct i40e_aqc_remove_udp_tunnel *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_del_udp_tunnel); @@ -3851,13 +3709,13 @@ * * This deletes a switch element from the switch. **/ -i40e_status i40e_aq_delete_element(struct i40e_hw *hw, u16 seid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_delete_element(struct i40e_hw *hw, u16 seid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_switch_seid *cmd = (struct i40e_aqc_switch_seid *)&desc.params.raw; - i40e_status status; + int status; if (seid == 0) return I40E_ERR_PARAM; @@ -3880,11 +3738,11 @@ * recomputed and modified. The retval field in the descriptor * will be set to 0 when RPB is modified. **/ -i40e_status i40e_aq_dcb_updated(struct i40e_hw *hw, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_dcb_updated(struct i40e_hw *hw, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_dcb_updated); @@ -3904,15 +3762,15 @@ * * Generic command handler for Tx scheduler AQ commands **/ -static i40e_status i40e_aq_tx_sched_cmd(struct i40e_hw *hw, u16 seid, +static int i40e_aq_tx_sched_cmd(struct i40e_hw *hw, u16 seid, void *buff, u16 buff_size, - enum i40e_admin_queue_opc opcode, + enum i40e_admin_queue_opc opcode, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_tx_sched_ind *cmd = (struct i40e_aqc_tx_sched_ind *)&desc.params.raw; - i40e_status status; + int status; bool cmd_param_flag = false; switch (opcode) { @@ -3962,14 +3820,14 @@ * @max_credit: Max BW limit credits * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_config_vsi_bw_limit(struct i40e_hw *hw, +int i40e_aq_config_vsi_bw_limit(struct i40e_hw *hw, u16 seid, u16 credit, u8 max_credit, struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_configure_vsi_bw_limit *cmd = (struct i40e_aqc_configure_vsi_bw_limit *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_configure_vsi_bw_limit); @@ -3990,10 +3848,10 @@ * @bw_data: Buffer holding enabled TCs, relative TC BW limit/credits * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_config_vsi_tc_bw(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_configure_vsi_tc_bw_data *bw_data, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_config_vsi_tc_bw(struct i40e_hw *hw, + u16 seid, + struct i40e_aqc_configure_vsi_tc_bw_data *bw_data, + struct i40e_asq_cmd_details *cmd_details) { return i40e_aq_tx_sched_cmd(hw, seid, (void *)bw_data, sizeof(*bw_data), i40e_aqc_opc_configure_vsi_tc_bw, @@ -4008,11 +3866,12 @@ * @opcode: Tx scheduler AQ command opcode * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_config_switch_comp_ets(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_configure_switching_comp_ets_data *ets_data, - enum i40e_admin_queue_opc opcode, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_config_switch_comp_ets(struct i40e_hw *hw, + u16 seid, + struct i40e_aqc_configure_switching_comp_ets_data *ets_data, + enum i40e_admin_queue_opc opcode, + struct i40e_asq_cmd_details *cmd_details) { return i40e_aq_tx_sched_cmd(hw, seid, (void *)ets_data, sizeof(*ets_data), opcode, cmd_details); @@ -4025,7 +3884,8 @@ * @bw_data: Buffer holding enabled TCs, relative/absolute TC BW limit/credits * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_config_switch_comp_bw_config(struct i40e_hw *hw, +int +i40e_aq_config_switch_comp_bw_config(struct i40e_hw *hw, u16 seid, struct i40e_aqc_configure_switching_comp_bw_config_data *bw_data, struct i40e_asq_cmd_details *cmd_details) @@ -4042,10 +3902,11 @@ * @bw_data: Buffer to hold VSI BW configuration * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_query_vsi_bw_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_vsi_bw_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_query_vsi_bw_config(struct i40e_hw *hw, + u16 seid, + struct i40e_aqc_query_vsi_bw_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details) { return i40e_aq_tx_sched_cmd(hw, seid, (void *)bw_data, sizeof(*bw_data), i40e_aqc_opc_query_vsi_bw_config, @@ -4059,10 +3920,11 @@ * @bw_data: Buffer to hold VSI BW configuration per TC * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_query_vsi_ets_sla_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_vsi_ets_sla_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_query_vsi_ets_sla_config(struct i40e_hw *hw, + u16 seid, + struct i40e_aqc_query_vsi_ets_sla_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details) { return i40e_aq_tx_sched_cmd(hw, seid, (void *)bw_data, sizeof(*bw_data), i40e_aqc_opc_query_vsi_ets_sla_config, @@ -4076,10 +3938,11 @@ * @bw_data: Buffer to hold switching component's per TC BW config * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_query_switch_comp_ets_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_switching_comp_ets_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_query_switch_comp_ets_config(struct i40e_hw *hw, + u16 seid, + struct i40e_aqc_query_switching_comp_ets_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details) { return i40e_aq_tx_sched_cmd(hw, seid, (void *)bw_data, sizeof(*bw_data), i40e_aqc_opc_query_switching_comp_ets_config, @@ -4093,10 +3956,11 @@ * @bw_data: Buffer to hold current ETS configuration for the Physical Port * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_query_port_ets_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_port_ets_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_query_port_ets_config(struct i40e_hw *hw, + u16 seid, + struct i40e_aqc_query_port_ets_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details) { return i40e_aq_tx_sched_cmd(hw, seid, (void *)bw_data, sizeof(*bw_data), i40e_aqc_opc_query_port_ets_config, @@ -4110,10 +3974,11 @@ * @bw_data: Buffer to hold switching component's BW configuration * @cmd_details: pointer to command details structure or NULL **/ -i40e_status i40e_aq_query_switch_comp_bw_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_switching_comp_bw_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_query_switch_comp_bw_config(struct i40e_hw *hw, + u16 seid, + struct i40e_aqc_query_switching_comp_bw_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details) { return i40e_aq_tx_sched_cmd(hw, seid, (void *)bw_data, sizeof(*bw_data), i40e_aqc_opc_query_switching_comp_bw_config, @@ -4132,8 +3997,9 @@ * Returns 0 if the values passed are valid and within * range else returns an error. **/ -static i40e_status i40e_validate_filter_settings(struct i40e_hw *hw, - struct i40e_filter_control_settings *settings) +static int +i40e_validate_filter_settings(struct i40e_hw *hw, + struct i40e_filter_control_settings *settings) { u32 fcoe_cntx_size, fcoe_filt_size; u32 pe_cntx_size, pe_filt_size; @@ -4224,11 +4090,11 @@ * for a single PF. It is expected that these settings are programmed * at the driver initialization time. **/ -i40e_status i40e_set_filter_control(struct i40e_hw *hw, - struct i40e_filter_control_settings *settings) +int i40e_set_filter_control(struct i40e_hw *hw, + struct i40e_filter_control_settings *settings) { - i40e_status ret = 0; u32 hash_lut_size = 0; + int ret = 0; u32 val; if (!settings) @@ -4298,11 +4164,11 @@ * In return it will update the total number of perfect filter count in * the stats member. **/ -i40e_status i40e_aq_add_rem_control_packet_filter(struct i40e_hw *hw, - u8 *mac_addr, u16 ethtype, u16 flags, - u16 vsi_seid, u16 queue, bool is_add, - struct i40e_control_filter_stats *stats, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_add_rem_control_packet_filter(struct i40e_hw *hw, + u8 *mac_addr, u16 ethtype, u16 flags, + u16 vsi_seid, u16 queue, bool is_add, + struct i40e_control_filter_stats *stats, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_add_remove_control_packet_filter *cmd = @@ -4311,7 +4177,7 @@ struct i40e_aqc_add_remove_control_packet_filter_completion *resp = (struct i40e_aqc_add_remove_control_packet_filter_completion *) &desc.params.raw; - i40e_status status; + int status; if (vsi_seid == 0) return I40E_ERR_PARAM; @@ -4357,7 +4223,7 @@ I40E_AQC_ADD_CONTROL_PACKET_FLAGS_DROP | I40E_AQC_ADD_CONTROL_PACKET_FLAGS_TX; u16 ethtype = I40E_FLOW_CONTROL_ETHTYPE; - i40e_status status; + int status; status = i40e_aq_add_rem_control_packet_filter(hw, NULL, ethtype, flag, seid, 0, true, NULL, @@ -4379,14 +4245,14 @@ * is not passed then only register at 'reg_addr0' is read. * **/ -static i40e_status i40e_aq_alternate_read(struct i40e_hw *hw, - u32 reg_addr0, u32 *reg_val0, - u32 reg_addr1, u32 *reg_val1) +static int i40e_aq_alternate_read(struct i40e_hw *hw, + u32 reg_addr0, u32 *reg_val0, + u32 reg_addr1, u32 *reg_val1) { struct i40e_aq_desc desc; struct i40e_aqc_alternate_write *cmd_resp = (struct i40e_aqc_alternate_write *)&desc.params.raw; - i40e_status status; + int status; if (!reg_val0) return I40E_ERR_PARAM; @@ -4415,12 +4281,12 @@ * * Suspend port's Tx traffic **/ -i40e_status i40e_aq_suspend_port_tx(struct i40e_hw *hw, u16 seid, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_suspend_port_tx(struct i40e_hw *hw, u16 seid, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aqc_tx_sched_ind *cmd; struct i40e_aq_desc desc; - i40e_status status; + int status; cmd = (struct i40e_aqc_tx_sched_ind *)&desc.params.raw; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_suspend_port_tx); @@ -4437,11 +4303,11 @@ * * Resume port's Tx traffic **/ -i40e_status i40e_aq_resume_port_tx(struct i40e_hw *hw, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_resume_port_tx(struct i40e_hw *hw, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_resume_port_tx); @@ -4511,18 +4377,18 @@ * Dump internal FW/HW data for debug purposes. * **/ -i40e_status i40e_aq_debug_dump(struct i40e_hw *hw, u8 cluster_id, - u8 table_id, u32 start_index, u16 buff_size, - void *buff, u16 *ret_buff_size, - u8 *ret_next_table, u32 *ret_next_index, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_debug_dump(struct i40e_hw *hw, u8 cluster_id, + u8 table_id, u32 start_index, u16 buff_size, + void *buff, u16 *ret_buff_size, + u8 *ret_next_table, u32 *ret_next_index, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_debug_dump_internals *cmd = (struct i40e_aqc_debug_dump_internals *)&desc.params.raw; struct i40e_aqc_debug_dump_internals *resp = (struct i40e_aqc_debug_dump_internals *)&desc.params.raw; - i40e_status status; + int status; if (buff_size == 0 || !buff) return I40E_ERR_PARAM; @@ -4563,12 +4429,12 @@ * * Read bw from the alternate ram for the given pf **/ -i40e_status i40e_read_bw_from_alt_ram(struct i40e_hw *hw, - u32 *max_bw, u32 *min_bw, - bool *min_valid, bool *max_valid) +int i40e_read_bw_from_alt_ram(struct i40e_hw *hw, + u32 *max_bw, u32 *min_bw, + bool *min_valid, bool *max_valid) { - i40e_status status; u32 max_bw_addr, min_bw_addr; + int status; /* Calculate the address of the min/max bw registers */ max_bw_addr = I40E_ALT_STRUCT_FIRST_PF_OFFSET + @@ -4603,13 +4469,14 @@ * * Configure partitions guaranteed/max bw **/ -i40e_status i40e_aq_configure_partition_bw(struct i40e_hw *hw, - struct i40e_aqc_configure_partition_bw_data *bw_data, - struct i40e_asq_cmd_details *cmd_details) +int +i40e_aq_configure_partition_bw(struct i40e_hw *hw, + struct i40e_aqc_configure_partition_bw_data *bw_data, + struct i40e_asq_cmd_details *cmd_details) { - i40e_status status; - struct i40e_aq_desc desc; u16 bwd_size = sizeof(*bw_data); + struct i40e_aq_desc desc; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_configure_partition_bw); @@ -4638,11 +4505,11 @@ * * Reads specified PHY register value **/ -i40e_status i40e_read_phy_register_clause22(struct i40e_hw *hw, - u16 reg, u8 phy_addr, u16 *value) +int i40e_read_phy_register_clause22(struct i40e_hw *hw, + u16 reg, u8 phy_addr, u16 *value) { - i40e_status status = I40E_ERR_TIMEOUT; u8 port_num = (u8)hw->func_caps.mdio_port_num; + int status = I40E_ERR_TIMEOUT; u32 command = 0; u16 retry = 1000; @@ -4683,11 +4550,11 @@ * * Writes specified PHY register value **/ -i40e_status i40e_write_phy_register_clause22(struct i40e_hw *hw, - u16 reg, u8 phy_addr, u16 value) +int i40e_write_phy_register_clause22(struct i40e_hw *hw, + u16 reg, u8 phy_addr, u16 value) { - i40e_status status = I40E_ERR_TIMEOUT; u8 port_num = (u8)hw->func_caps.mdio_port_num; + int status = I40E_ERR_TIMEOUT; u32 command = 0; u16 retry = 1000; @@ -4724,13 +4591,13 @@ * * Reads specified PHY register value **/ -i40e_status i40e_read_phy_register_clause45(struct i40e_hw *hw, - u8 page, u16 reg, u8 phy_addr, u16 *value) +int i40e_read_phy_register_clause45(struct i40e_hw *hw, + u8 page, u16 reg, u8 phy_addr, u16 *value) { - i40e_status status = I40E_ERR_TIMEOUT; + u8 port_num = hw->func_caps.mdio_port_num; + int status = I40E_ERR_TIMEOUT; u32 command = 0; u16 retry = 1000; - u8 port_num = hw->func_caps.mdio_port_num; command = (reg << I40E_GLGEN_MSCA_MDIADD_SHIFT) | (page << I40E_GLGEN_MSCA_DEVADD_SHIFT) | @@ -4798,13 +4665,13 @@ * * Writes value to specified PHY register **/ -i40e_status i40e_write_phy_register_clause45(struct i40e_hw *hw, - u8 page, u16 reg, u8 phy_addr, u16 value) +int i40e_write_phy_register_clause45(struct i40e_hw *hw, + u8 page, u16 reg, u8 phy_addr, u16 value) { - i40e_status status = I40E_ERR_TIMEOUT; - u32 command = 0; - u16 retry = 1000; u8 port_num = hw->func_caps.mdio_port_num; + int status = I40E_ERR_TIMEOUT; + u16 retry = 1000; + u32 command = 0; command = (reg << I40E_GLGEN_MSCA_MDIADD_SHIFT) | (page << I40E_GLGEN_MSCA_DEVADD_SHIFT) | @@ -4865,10 +4732,10 @@ * * Writes value to specified PHY register **/ -i40e_status i40e_write_phy_register(struct i40e_hw *hw, - u8 page, u16 reg, u8 phy_addr, u16 value) +int i40e_write_phy_register(struct i40e_hw *hw, + u8 page, u16 reg, u8 phy_addr, u16 value) { - i40e_status status; + int status; switch (hw->device_id) { case I40E_DEV_ID_1G_BASE_T_X722: @@ -4903,10 +4770,10 @@ * * Reads specified PHY register value **/ -i40e_status i40e_read_phy_register(struct i40e_hw *hw, - u8 page, u16 reg, u8 phy_addr, u16 *value) +int i40e_read_phy_register(struct i40e_hw *hw, + u8 page, u16 reg, u8 phy_addr, u16 *value) { - i40e_status status; + int status; switch (hw->device_id) { case I40E_DEV_ID_1G_BASE_T_X722: @@ -4954,17 +4821,17 @@ * * Blinks PHY link LED **/ -i40e_status i40e_blink_phy_link_led(struct i40e_hw *hw, - u32 time, u32 interval) +int i40e_blink_phy_link_led(struct i40e_hw *hw, + u32 time, u32 interval) { - i40e_status status = 0; - u32 i; - u16 led_ctl; - u16 gpio_led_port; - u16 led_reg; u16 led_addr = I40E_PHY_LED_PROV_REG_1; + u16 gpio_led_port; u8 phy_addr = 0; + int status = 0; + u16 led_ctl; u8 port_num; + u16 led_reg; + u32 i; i = rd32(hw, I40E_PFGEN_PORTNUM); port_num = (u8)(i & I40E_PFGEN_PORTNUM_PORT_NUM_MASK); @@ -5026,12 +4893,12 @@ * @led_addr: LED register address * @reg_val: read register value **/ -static enum i40e_status_code i40e_led_get_reg(struct i40e_hw *hw, u16 led_addr, - u32 *reg_val) +static int i40e_led_get_reg(struct i40e_hw *hw, u16 led_addr, + u32 *reg_val) { - enum i40e_status_code status; u8 phy_addr = 0; u8 port_num; + int status; u32 i; *reg_val = 0; @@ -5060,12 +4927,12 @@ * @led_addr: LED register address * @reg_val: register value to write **/ -static enum i40e_status_code i40e_led_set_reg(struct i40e_hw *hw, u16 led_addr, - u32 reg_val) +static int i40e_led_set_reg(struct i40e_hw *hw, u16 led_addr, + u32 reg_val) { - enum i40e_status_code status; u8 phy_addr = 0; u8 port_num; + int status; u32 i; if (hw->flags & I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE) { @@ -5095,17 +4962,17 @@ * @val: original value of register to use * **/ -i40e_status i40e_led_get_phy(struct i40e_hw *hw, u16 *led_addr, - u16 *val) +int i40e_led_get_phy(struct i40e_hw *hw, u16 *led_addr, + u16 *val) { - i40e_status status = 0; u16 gpio_led_port; u8 phy_addr = 0; - u16 reg_val; + u32 reg_val_aq; + int status = 0; u16 temp_addr; + u16 reg_val; u8 port_num; u32 i; - u32 reg_val_aq; if (hw->flags & I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE) { status = @@ -5150,12 +5017,12 @@ * Set led's on or off when controlled by the PHY * **/ -i40e_status i40e_led_set_phy(struct i40e_hw *hw, bool on, - u16 led_addr, u32 mode) +int i40e_led_set_phy(struct i40e_hw *hw, bool on, + u16 led_addr, u32 mode) { - i40e_status status = 0; u32 led_ctl = 0; u32 led_reg = 0; + int status = 0; status = i40e_led_get_reg(hw, led_addr, &led_reg); if (status) @@ -5199,14 +5066,14 @@ * Use the firmware to read the Rx control register, * especially useful if the Rx unit is under heavy pressure **/ -i40e_status i40e_aq_rx_ctl_read_register(struct i40e_hw *hw, - u32 reg_addr, u32 *reg_val, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_rx_ctl_read_register(struct i40e_hw *hw, + u32 reg_addr, u32 *reg_val, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_rx_ctl_reg_read_write *cmd_resp = (struct i40e_aqc_rx_ctl_reg_read_write *)&desc.params.raw; - i40e_status status; + int status; if (!reg_val) return I40E_ERR_PARAM; @@ -5230,8 +5097,8 @@ **/ u32 i40e_read_rx_ctl(struct i40e_hw *hw, u32 reg_addr) { - i40e_status status = 0; bool use_register; + int status = 0; int retry = 5; u32 val = 0; @@ -5265,14 +5132,14 @@ * Use the firmware to write to an Rx control register, * especially useful if the Rx unit is under heavy pressure **/ -i40e_status i40e_aq_rx_ctl_write_register(struct i40e_hw *hw, - u32 reg_addr, u32 reg_val, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_rx_ctl_write_register(struct i40e_hw *hw, + u32 reg_addr, u32 reg_val, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_rx_ctl_reg_read_write *cmd = (struct i40e_aqc_rx_ctl_reg_read_write *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_rx_ctl_reg_write); @@ -5292,8 +5159,8 @@ **/ void i40e_write_rx_ctl(struct i40e_hw *hw, u32 reg_addr, u32 reg_val) { - i40e_status status = 0; bool use_register; + int status = 0; int retry = 5; use_register = (((hw->aq.api_maj_ver == 1) && @@ -5355,16 +5222,16 @@ * NOTE: In common cases MDIO I/F number should not be changed, thats why you * may use simple wrapper i40e_aq_set_phy_register. **/ -enum i40e_status_code i40e_aq_set_phy_register_ext(struct i40e_hw *hw, - u8 phy_select, u8 dev_addr, bool page_change, - bool set_mdio, u8 mdio_num, - u32 reg_addr, u32 reg_val, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_set_phy_register_ext(struct i40e_hw *hw, + u8 phy_select, u8 dev_addr, bool page_change, + bool set_mdio, u8 mdio_num, + u32 reg_addr, u32 reg_val, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_phy_register_access *cmd = (struct i40e_aqc_phy_register_access *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_phy_register); @@ -5400,16 +5267,16 @@ * NOTE: In common cases MDIO I/F number should not be changed, thats why you * may use simple wrapper i40e_aq_get_phy_register. **/ -enum i40e_status_code i40e_aq_get_phy_register_ext(struct i40e_hw *hw, - u8 phy_select, u8 dev_addr, bool page_change, - bool set_mdio, u8 mdio_num, - u32 reg_addr, u32 *reg_val, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_phy_register_ext(struct i40e_hw *hw, + u8 phy_select, u8 dev_addr, bool page_change, + bool set_mdio, u8 mdio_num, + u32 reg_addr, u32 *reg_val, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_phy_register_access *cmd = (struct i40e_aqc_phy_register_access *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_get_phy_register); @@ -5440,18 +5307,17 @@ * @error_info: returns error information * @cmd_details: pointer to command details structure or NULL **/ -enum -i40e_status_code i40e_aq_write_ddp(struct i40e_hw *hw, void *buff, - u16 buff_size, u32 track_id, - u32 *error_offset, u32 *error_info, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_write_ddp(struct i40e_hw *hw, void *buff, + u16 buff_size, u32 track_id, + u32 *error_offset, u32 *error_info, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_write_personalization_profile *cmd = (struct i40e_aqc_write_personalization_profile *) &desc.params.raw; struct i40e_aqc_write_ddp_resp *resp; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_write_personalization_profile); @@ -5484,15 +5350,14 @@ * @flags: AdminQ command flags * @cmd_details: pointer to command details structure or NULL **/ -enum -i40e_status_code i40e_aq_get_ddp_list(struct i40e_hw *hw, void *buff, - u16 buff_size, u8 flags, - struct i40e_asq_cmd_details *cmd_details) +int i40e_aq_get_ddp_list(struct i40e_hw *hw, void *buff, + u16 buff_size, u8 flags, + struct i40e_asq_cmd_details *cmd_details) { struct i40e_aq_desc desc; struct i40e_aqc_get_applied_profiles *cmd = (struct i40e_aqc_get_applied_profiles *)&desc.params.raw; - i40e_status status; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_get_personalization_profile_list); @@ -5591,14 +5456,13 @@ * @hw: pointer to the hw struct * @aq: command buffer containing all data to execute AQ **/ -static enum -i40e_status_code i40e_ddp_exec_aq_section(struct i40e_hw *hw, - struct i40e_profile_aq_section *aq) +static int i40e_ddp_exec_aq_section(struct i40e_hw *hw, + struct i40e_profile_aq_section *aq) { - i40e_status status; struct i40e_aq_desc desc; u8 *msg = NULL; u16 msglen; + int status; i40e_fill_default_direct_cmd_desc(&desc, aq->opcode); desc.flags |= cpu_to_le16(aq->flags); @@ -5638,14 +5502,14 @@ * * Validates supported devices and profile's sections. */ -static enum i40e_status_code +static int i40e_validate_profile(struct i40e_hw *hw, struct i40e_profile_segment *profile, u32 track_id, bool rollback) { struct i40e_profile_section_header *sec = NULL; - i40e_status status = 0; struct i40e_section_table *sec_tbl; u32 vendor_dev_id; + int status = 0; u32 dev_cnt; u32 sec_off; u32 i; @@ -5703,16 +5567,16 @@ * * Handles the download of a complete package. */ -enum i40e_status_code +int i40e_write_profile(struct i40e_hw *hw, struct i40e_profile_segment *profile, u32 track_id) { - i40e_status status = 0; - struct i40e_section_table *sec_tbl; struct i40e_profile_section_header *sec = NULL; struct i40e_profile_aq_section *ddp_aq; - u32 section_size = 0; + struct i40e_section_table *sec_tbl; u32 offset = 0, info = 0; + u32 section_size = 0; + int status = 0; u32 sec_off; u32 i; @@ -5766,15 +5630,15 @@ * * Rolls back previously loaded package. */ -enum i40e_status_code +int i40e_rollback_profile(struct i40e_hw *hw, struct i40e_profile_segment *profile, u32 track_id) { struct i40e_profile_section_header *sec = NULL; - i40e_status status = 0; struct i40e_section_table *sec_tbl; u32 offset = 0, info = 0; u32 section_size = 0; + int status = 0; u32 sec_off; int i; @@ -5818,15 +5682,15 @@ * * Register a profile to the list of loaded profiles. */ -enum i40e_status_code +int i40e_add_pinfo_to_list(struct i40e_hw *hw, struct i40e_profile_segment *profile, u8 *profile_info_sec, u32 track_id) { - i40e_status status = 0; struct i40e_profile_section_header *sec = NULL; struct i40e_profile_info *pinfo; u32 offset = 0, info = 0; + int status = 0; sec = (struct i40e_profile_section_header *)profile_info_sec; sec->tbl_size = 1; @@ -5860,7 +5724,7 @@ * of the function. * **/ -enum i40e_status_code +int i40e_aq_add_cloud_filters(struct i40e_hw *hw, u16 seid, struct i40e_aqc_cloud_filters_element_data *filters, u8 filter_count) @@ -5868,8 +5732,8 @@ struct i40e_aq_desc desc; struct i40e_aqc_add_remove_cloud_filters *cmd = (struct i40e_aqc_add_remove_cloud_filters *)&desc.params.raw; - enum i40e_status_code status; u16 buff_len; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_add_cloud_filters); @@ -5897,7 +5761,7 @@ * function. * **/ -enum i40e_status_code +int i40e_aq_add_cloud_filters_bb(struct i40e_hw *hw, u16 seid, struct i40e_aqc_cloud_filters_element_bb *filters, u8 filter_count) @@ -5905,8 +5769,8 @@ struct i40e_aq_desc desc; struct i40e_aqc_add_remove_cloud_filters *cmd = (struct i40e_aqc_add_remove_cloud_filters *)&desc.params.raw; - i40e_status status; u16 buff_len; + int status; int i; i40e_fill_default_direct_cmd_desc(&desc, @@ -5954,7 +5818,7 @@ * of the function. * **/ -enum i40e_status_code +int i40e_aq_rem_cloud_filters(struct i40e_hw *hw, u16 seid, struct i40e_aqc_cloud_filters_element_data *filters, u8 filter_count) @@ -5962,8 +5826,8 @@ struct i40e_aq_desc desc; struct i40e_aqc_add_remove_cloud_filters *cmd = (struct i40e_aqc_add_remove_cloud_filters *)&desc.params.raw; - enum i40e_status_code status; u16 buff_len; + int status; i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_remove_cloud_filters); @@ -5991,7 +5855,7 @@ * function. * **/ -enum i40e_status_code +int i40e_aq_rem_cloud_filters_bb(struct i40e_hw *hw, u16 seid, struct i40e_aqc_cloud_filters_element_bb *filters, u8 filter_count) @@ -5999,8 +5863,8 @@ struct i40e_aq_desc desc; struct i40e_aqc_add_remove_cloud_filters *cmd = (struct i40e_aqc_add_remove_cloud_filters *)&desc.params.raw; - i40e_status status; u16 buff_len; + int status; int i; i40e_fill_default_direct_cmd_desc(&desc, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_dcb.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_dcb.c @@ -12,7 +12,7 @@ * * Get the DCBX status from the Firmware **/ -i40e_status i40e_get_dcbx_status(struct i40e_hw *hw, u16 *status) +int i40e_get_dcbx_status(struct i40e_hw *hw, u16 *status) { u32 reg; @@ -497,15 +497,15 @@ * * Parse DCB configuration from the LLDPDU **/ -i40e_status i40e_lldp_to_dcb_config(u8 *lldpmib, - struct i40e_dcbx_config *dcbcfg) +int i40e_lldp_to_dcb_config(u8 *lldpmib, + struct i40e_dcbx_config *dcbcfg) { - i40e_status ret = 0; struct i40e_lldp_org_tlv *tlv; - u16 type; - u16 length; u16 typelength; u16 offset = 0; + int ret = 0; + u16 length; + u16 type; if (!lldpmib || !dcbcfg) return I40E_ERR_PARAM; @@ -551,12 +551,12 @@ * * Query DCB configuration from the Firmware **/ -i40e_status i40e_aq_get_dcb_config(struct i40e_hw *hw, u8 mib_type, - u8 bridgetype, - struct i40e_dcbx_config *dcbcfg) +int i40e_aq_get_dcb_config(struct i40e_hw *hw, u8 mib_type, + u8 bridgetype, + struct i40e_dcbx_config *dcbcfg) { - i40e_status ret = 0; struct i40e_virt_mem mem; + int ret = 0; u8 *lldpmib; /* Allocate the LLDPDU */ @@ -767,9 +767,9 @@ * * Get IEEE mode DCB configuration from the Firmware **/ -static i40e_status i40e_get_ieee_dcb_config(struct i40e_hw *hw) +static int i40e_get_ieee_dcb_config(struct i40e_hw *hw) { - i40e_status ret = 0; + int ret = 0; /* IEEE mode */ hw->local_dcbx_config.dcbx_mode = I40E_DCBX_MODE_IEEE; @@ -797,11 +797,11 @@ * * Get DCB configuration from the Firmware **/ -i40e_status i40e_get_dcb_config(struct i40e_hw *hw) +int i40e_get_dcb_config(struct i40e_hw *hw) { - i40e_status ret = 0; - struct i40e_aqc_get_cee_dcb_cfg_resp cee_cfg; struct i40e_aqc_get_cee_dcb_cfg_v1_resp cee_v1_cfg; + struct i40e_aqc_get_cee_dcb_cfg_resp cee_cfg; + int ret = 0; /* If Firmware version < v4.33 on X710/XL710, IEEE only */ if ((hw->mac.type == I40E_MAC_XL710) && @@ -867,11 +867,11 @@ * * Update DCB configuration from the Firmware **/ -i40e_status i40e_init_dcb(struct i40e_hw *hw, bool enable_mib_change) +int i40e_init_dcb(struct i40e_hw *hw, bool enable_mib_change) { - i40e_status ret = 0; struct i40e_lldp_variables lldp_cfg; u8 adminstatus = 0; + int ret = 0; if (!hw->func_caps.dcb) return I40E_NOT_SUPPORTED; @@ -940,13 +940,13 @@ * Get status of FW Link Layer Discovery Protocol (LLDP) Agent. * Status of agent is reported via @lldp_status parameter. **/ -enum i40e_status_code +int i40e_get_fw_lldp_status(struct i40e_hw *hw, enum i40e_get_fw_lldp_status_resp *lldp_status) { struct i40e_virt_mem mem; - i40e_status ret; u8 *lldpmib; + int ret; if (!lldp_status) return I40E_ERR_PARAM; @@ -1238,13 +1238,13 @@ * * Set DCB configuration to the Firmware **/ -i40e_status i40e_set_dcb_config(struct i40e_hw *hw) +int i40e_set_dcb_config(struct i40e_hw *hw) { struct i40e_dcbx_config *dcbcfg; struct i40e_virt_mem mem; u8 mib_type, *lldpmib; - i40e_status ret; u16 miblen; + int ret; /* update the hw local config */ dcbcfg = &hw->local_dcbx_config; @@ -1274,8 +1274,8 @@ * * send DCB configuration to FW **/ -i40e_status i40e_dcb_config_to_lldp(u8 *lldpmib, u16 *miblen, - struct i40e_dcbx_config *dcbcfg) +int i40e_dcb_config_to_lldp(u8 *lldpmib, u16 *miblen, + struct i40e_dcbx_config *dcbcfg) { u16 length, offset = 0, tlvid, typelength; struct i40e_lldp_org_tlv *tlv; @@ -1888,13 +1888,13 @@ * * Reads the LLDP configuration data from NVM using passed addresses **/ -static i40e_status _i40e_read_lldp_cfg(struct i40e_hw *hw, - struct i40e_lldp_variables *lldp_cfg, - u8 module, u32 word_offset) +static int _i40e_read_lldp_cfg(struct i40e_hw *hw, + struct i40e_lldp_variables *lldp_cfg, + u8 module, u32 word_offset) { u32 address, offset = (2 * word_offset); - i40e_status ret; __le16 raw_mem; + int ret; u16 mem; ret = i40e_acquire_nvm(hw, I40E_RESOURCE_READ); @@ -1950,10 +1950,10 @@ * * Reads the LLDP configuration data from NVM **/ -i40e_status i40e_read_lldp_cfg(struct i40e_hw *hw, - struct i40e_lldp_variables *lldp_cfg) +int i40e_read_lldp_cfg(struct i40e_hw *hw, + struct i40e_lldp_variables *lldp_cfg) { - i40e_status ret = 0; + int ret = 0; u32 mem; if (!lldp_cfg) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_dcb.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_dcb.h @@ -264,20 +264,20 @@ void i40e_dcb_hw_rx_pb_config(struct i40e_hw *hw, struct i40e_rx_pb_config *old_pb_cfg, struct i40e_rx_pb_config *new_pb_cfg); -i40e_status i40e_get_dcbx_status(struct i40e_hw *hw, - u16 *status); -i40e_status i40e_lldp_to_dcb_config(u8 *lldpmib, - struct i40e_dcbx_config *dcbcfg); -i40e_status i40e_aq_get_dcb_config(struct i40e_hw *hw, u8 mib_type, - u8 bridgetype, - struct i40e_dcbx_config *dcbcfg); -i40e_status i40e_get_dcb_config(struct i40e_hw *hw); -i40e_status i40e_init_dcb(struct i40e_hw *hw, - bool enable_mib_change); -enum i40e_status_code +int i40e_get_dcbx_status(struct i40e_hw *hw, + u16 *status); +int i40e_lldp_to_dcb_config(u8 *lldpmib, + struct i40e_dcbx_config *dcbcfg); +int i40e_aq_get_dcb_config(struct i40e_hw *hw, u8 mib_type, + u8 bridgetype, + struct i40e_dcbx_config *dcbcfg); +int i40e_get_dcb_config(struct i40e_hw *hw); +int i40e_init_dcb(struct i40e_hw *hw, + bool enable_mib_change); +int i40e_get_fw_lldp_status(struct i40e_hw *hw, enum i40e_get_fw_lldp_status_resp *lldp_status); -i40e_status i40e_set_dcb_config(struct i40e_hw *hw); -i40e_status i40e_dcb_config_to_lldp(u8 *lldpmib, u16 *miblen, - struct i40e_dcbx_config *dcbcfg); +int i40e_set_dcb_config(struct i40e_hw *hw); +int i40e_dcb_config_to_lldp(u8 *lldpmib, u16 *miblen, + struct i40e_dcbx_config *dcbcfg); #endif /* _I40E_DCB_H_ */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c @@ -135,8 +135,8 @@ ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); if (ret) { dev_info(&pf->pdev->dev, - "Failed setting DCB ETS configuration err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed setting DCB ETS configuration err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EINVAL; } @@ -174,8 +174,8 @@ ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); if (ret) { dev_info(&pf->pdev->dev, - "Failed setting DCB PFC configuration err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed setting DCB PFC configuration err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EINVAL; } @@ -225,8 +225,8 @@ ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); if (ret) { dev_info(&pf->pdev->dev, - "Failed setting DCB configuration err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed setting DCB configuration err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EINVAL; } @@ -290,8 +290,8 @@ ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); if (ret) { dev_info(&pf->pdev->dev, - "Failed setting DCB configuration err %s aq_err %s\n", - i40e_stat_str(&pf->hw, ret), + "Failed setting DCB configuration err %d aq_err %s\n", + ret, i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); return -EINVAL; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_ddp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_ddp.c @@ -36,7 +36,7 @@ { struct i40e_ddp_profile_list *profile_list; u8 buff[I40E_PROFILE_LIST_SIZE]; - i40e_status status; + int status; int i; status = i40e_aq_get_ddp_list(hw, buff, I40E_PROFILE_LIST_SIZE, 0, @@ -91,7 +91,7 @@ { struct i40e_ddp_profile_list *profile_list; u8 buff[I40E_PROFILE_LIST_SIZE]; - i40e_status status; + int status; int i; status = i40e_aq_get_ddp_list(hw, buff, I40E_PROFILE_LIST_SIZE, 0, @@ -117,14 +117,14 @@ * * Register a profile to the list of loaded profiles. */ -static enum i40e_status_code +static int i40e_add_pinfo(struct i40e_hw *hw, struct i40e_profile_segment *profile, u8 *profile_info_sec, u32 track_id) { struct i40e_profile_section_header *sec; struct i40e_profile_info *pinfo; - i40e_status status; u32 offset = 0, info = 0; + int status; sec = (struct i40e_profile_section_header *)profile_info_sec; sec->tbl_size = 1; @@ -157,14 +157,14 @@ * * Removes DDP profile from the NIC. **/ -static enum i40e_status_code +static int i40e_del_pinfo(struct i40e_hw *hw, struct i40e_profile_segment *profile, u8 *profile_info_sec, u32 track_id) { struct i40e_profile_section_header *sec; struct i40e_profile_info *pinfo; - i40e_status status; u32 offset = 0, info = 0; + int status; sec = (struct i40e_profile_section_header *)profile_info_sec; sec->tbl_size = 1; @@ -270,12 +270,12 @@ struct i40e_profile_segment *profile_hdr; struct i40e_profile_info pinfo; struct i40e_package_header *pkg_hdr; - i40e_status status; struct i40e_netdev_priv *np = netdev_priv(netdev); struct i40e_vsi *vsi = np->vsi; struct i40e_pf *pf = vsi->back; u32 track_id; int istatus; + int status; pkg_hdr = (struct i40e_package_header *)data; if (!i40e_ddp_is_pkg_hdr_valid(netdev, pkg_hdr, size)) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_hmc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_hmc.c @@ -17,17 +17,17 @@ * @type: what type of segment descriptor we're manipulating * @direct_mode_sz: size to alloc in direct mode **/ -i40e_status i40e_add_sd_table_entry(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 sd_index, - enum i40e_sd_entry_type type, - u64 direct_mode_sz) +int i40e_add_sd_table_entry(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 sd_index, + enum i40e_sd_entry_type type, + u64 direct_mode_sz) { enum i40e_memory_type mem_type __attribute__((unused)); struct i40e_hmc_sd_entry *sd_entry; bool dma_mem_alloc_done = false; + int ret_code = I40E_SUCCESS; struct i40e_dma_mem mem; - i40e_status ret_code = I40E_SUCCESS; u64 alloc_len; if (NULL == hmc_info->sd_table.sd_entry) { @@ -106,19 +106,19 @@ * aligned on 4K boundary and zeroed memory. * 2. It should be 4K in size. **/ -i40e_status i40e_add_pd_table_entry(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 pd_index, - struct i40e_dma_mem *rsrc_pg) +int i40e_add_pd_table_entry(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 pd_index, + struct i40e_dma_mem *rsrc_pg) { - i40e_status ret_code = 0; struct i40e_hmc_pd_table *pd_table; struct i40e_hmc_pd_entry *pd_entry; struct i40e_dma_mem mem; struct i40e_dma_mem *page = &mem; u32 sd_idx, rel_pd_idx; - u64 *pd_addr; + int ret_code = 0; u64 page_desc; + u64 *pd_addr; if (pd_index / I40E_HMC_PD_CNT_IN_SD >= hmc_info->sd_table.sd_cnt) { ret_code = I40E_ERR_INVALID_PAGE_DESC_INDEX; @@ -185,15 +185,15 @@ * 1. Caller can deallocate the memory used by backing storage after this * function returns. **/ -i40e_status i40e_remove_pd_bp(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx) +int i40e_remove_pd_bp(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx) { - i40e_status ret_code = 0; struct i40e_hmc_pd_entry *pd_entry; struct i40e_hmc_pd_table *pd_table; struct i40e_hmc_sd_entry *sd_entry; u32 sd_idx, rel_pd_idx; + int ret_code = 0; u64 *pd_addr; /* calculate index */ @@ -241,11 +241,11 @@ * @hmc_info: pointer to the HMC configuration information structure * @idx: the page index **/ -i40e_status i40e_prep_remove_sd_bp(struct i40e_hmc_info *hmc_info, - u32 idx) +int i40e_prep_remove_sd_bp(struct i40e_hmc_info *hmc_info, + u32 idx) { - i40e_status ret_code = 0; struct i40e_hmc_sd_entry *sd_entry; + int ret_code = 0; /* get the entry and decrease its ref counter */ sd_entry = &hmc_info->sd_table.sd_entry[idx]; @@ -269,9 +269,9 @@ * @idx: the page index * @is_pf: used to distinguish between VF and PF **/ -i40e_status i40e_remove_sd_bp_new(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx, bool is_pf) +int i40e_remove_sd_bp_new(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx, bool is_pf) { struct i40e_hmc_sd_entry *sd_entry; @@ -290,11 +290,11 @@ * @hmc_info: pointer to the HMC configuration information structure * @idx: segment descriptor index to find the relevant page descriptor **/ -i40e_status i40e_prep_remove_pd_page(struct i40e_hmc_info *hmc_info, - u32 idx) +int i40e_prep_remove_pd_page(struct i40e_hmc_info *hmc_info, + u32 idx) { - i40e_status ret_code = 0; struct i40e_hmc_sd_entry *sd_entry; + int ret_code = 0; sd_entry = &hmc_info->sd_table.sd_entry[idx]; @@ -318,9 +318,9 @@ * @idx: segment descriptor index to find the relevant page descriptor * @is_pf: used to distinguish between VF and PF **/ -i40e_status i40e_remove_pd_page_new(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx, bool is_pf) +int i40e_remove_pd_page_new(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx, bool is_pf) { struct i40e_hmc_sd_entry *sd_entry; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_hmc.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_hmc.h @@ -187,28 +187,28 @@ /* add one more to the limit to correct our range */ \ *(pd_limit) += 1; \ } -i40e_status i40e_add_sd_table_entry(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 sd_index, - enum i40e_sd_entry_type type, - u64 direct_mode_sz); -i40e_status i40e_add_pd_table_entry(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 pd_index, - struct i40e_dma_mem *rsrc_pg); -i40e_status i40e_remove_pd_bp(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx); -i40e_status i40e_prep_remove_sd_bp(struct i40e_hmc_info *hmc_info, - u32 idx); -i40e_status i40e_remove_sd_bp_new(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx, bool is_pf); -i40e_status i40e_prep_remove_pd_page(struct i40e_hmc_info *hmc_info, - u32 idx); -i40e_status i40e_remove_pd_page_new(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx, bool is_pf); +int i40e_add_sd_table_entry(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 sd_index, + enum i40e_sd_entry_type type, + u64 direct_mode_sz); +int i40e_add_pd_table_entry(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 pd_index, + struct i40e_dma_mem *rsrc_pg); +int i40e_remove_pd_bp(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx); +int i40e_prep_remove_sd_bp(struct i40e_hmc_info *hmc_info, + u32 idx); +int i40e_remove_sd_bp_new(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx, bool is_pf); +int i40e_prep_remove_pd_page(struct i40e_hmc_info *hmc_info, + u32 idx); +int i40e_remove_pd_page_new(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx, bool is_pf); #endif /* _I40E_HMC_H_ */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c @@ -74,12 +74,12 @@ * Assumptions: * - HMC Resource Profile has been selected before calling this function. **/ -i40e_status i40e_init_lan_hmc(struct i40e_hw *hw, u32 txq_num, - u32 rxq_num, u32 fcoe_cntx_num, - u32 fcoe_filt_num) +int i40e_init_lan_hmc(struct i40e_hw *hw, u32 txq_num, + u32 rxq_num, u32 fcoe_cntx_num, + u32 fcoe_filt_num) { struct i40e_hmc_obj_info *obj, *full_obj; - i40e_status ret_code = 0; + int ret_code = 0; u64 l2fpm_size; u32 size_exp; @@ -229,11 +229,11 @@ * 1. caller can deallocate the memory used by pd after this function * returns. **/ -static i40e_status i40e_remove_pd_page(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx) +static int i40e_remove_pd_page(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx) { - i40e_status ret_code = 0; + int ret_code = 0; if (!i40e_prep_remove_pd_page(hmc_info, idx)) ret_code = i40e_remove_pd_page_new(hw, hmc_info, idx, true); @@ -256,11 +256,11 @@ * 1. caller can deallocate the memory used by backing storage after this * function returns. **/ -static i40e_status i40e_remove_sd_bp(struct i40e_hw *hw, - struct i40e_hmc_info *hmc_info, - u32 idx) +static int i40e_remove_sd_bp(struct i40e_hw *hw, + struct i40e_hmc_info *hmc_info, + u32 idx) { - i40e_status ret_code = 0; + int ret_code = 0; if (!i40e_prep_remove_sd_bp(hmc_info, idx)) ret_code = i40e_remove_sd_bp_new(hw, hmc_info, idx, true); @@ -276,15 +276,15 @@ * This will allocate memory for PDs and backing pages and populate * the sd and pd entries. **/ -static i40e_status i40e_create_lan_hmc_object(struct i40e_hw *hw, - struct i40e_hmc_lan_create_obj_info *info) +static int i40e_create_lan_hmc_object(struct i40e_hw *hw, + struct i40e_hmc_lan_create_obj_info *info) { - i40e_status ret_code = 0; struct i40e_hmc_sd_entry *sd_entry; u32 pd_idx1 = 0, pd_lmt1 = 0; u32 pd_idx = 0, pd_lmt = 0; bool pd_error = false; u32 sd_idx, sd_lmt; + int ret_code = 0; u64 sd_size; u32 i, j; @@ -435,13 +435,13 @@ * - This function will be called after i40e_init_lan_hmc() and before * any LAN/FCoE HMC objects can be created. **/ -i40e_status i40e_configure_lan_hmc(struct i40e_hw *hw, - enum i40e_hmc_model model) +int i40e_configure_lan_hmc(struct i40e_hw *hw, + enum i40e_hmc_model model) { struct i40e_hmc_lan_create_obj_info info; - i40e_status ret_code = 0; u8 hmc_fn_id = hw->hmc.hmc_fn_id; struct i40e_hmc_obj_info *obj; + int ret_code = 0; /* Initialize part of the create object info struct */ info.hmc_info = &hw->hmc; @@ -520,13 +520,13 @@ * caller should deallocate memory allocated previously for * book-keeping information about PDs and backing storage. **/ -static i40e_status i40e_delete_lan_hmc_object(struct i40e_hw *hw, - struct i40e_hmc_lan_delete_obj_info *info) +static int i40e_delete_lan_hmc_object(struct i40e_hw *hw, + struct i40e_hmc_lan_delete_obj_info *info) { - i40e_status ret_code = 0; struct i40e_hmc_pd_table *pd_table; u32 pd_idx, pd_lmt, rel_pd_idx; u32 sd_idx, sd_lmt; + int ret_code = 0; u32 i, j; if (NULL == info) { @@ -632,10 +632,10 @@ * This must be called by drivers as they are shutting down and being * removed from the OS. **/ -i40e_status i40e_shutdown_lan_hmc(struct i40e_hw *hw) +int i40e_shutdown_lan_hmc(struct i40e_hw *hw) { struct i40e_hmc_lan_delete_obj_info info; - i40e_status ret_code; + int ret_code; info.hmc_info = &hw->hmc; info.rsrc_type = I40E_HMC_LAN_FULL; @@ -915,9 +915,9 @@ * @context_bytes: pointer to the context bit array (DMA memory) * @hmc_type: the type of HMC resource **/ -static i40e_status i40e_clear_hmc_context(struct i40e_hw *hw, - u8 *context_bytes, - enum i40e_hmc_lan_rsrc_type hmc_type) +static int i40e_clear_hmc_context(struct i40e_hw *hw, + u8 *context_bytes, + enum i40e_hmc_lan_rsrc_type hmc_type) { /* clean the bit array */ memset(context_bytes, 0, (u32)hw->hmc.hmc_obj[hmc_type].size); @@ -931,9 +931,9 @@ * @ce_info: a description of the struct to be filled * @dest: the struct to be filled **/ -static i40e_status i40e_set_hmc_context(u8 *context_bytes, - struct i40e_context_ele *ce_info, - u8 *dest) +static int i40e_set_hmc_context(u8 *context_bytes, + struct i40e_context_ele *ce_info, + u8 *dest) { int f; @@ -973,18 +973,18 @@ * base pointer. This function is used for LAN Queue contexts. **/ static -i40e_status i40e_hmc_get_object_va(struct i40e_hw *hw, u8 **object_base, - enum i40e_hmc_lan_rsrc_type rsrc_type, - u32 obj_idx) +int i40e_hmc_get_object_va(struct i40e_hw *hw, u8 **object_base, + enum i40e_hmc_lan_rsrc_type rsrc_type, + u32 obj_idx) { struct i40e_hmc_info *hmc_info = &hw->hmc; u32 obj_offset_in_sd, obj_offset_in_pd; struct i40e_hmc_sd_entry *sd_entry; struct i40e_hmc_pd_entry *pd_entry; u32 pd_idx, pd_lmt, rel_pd_idx; - i40e_status ret_code = 0; u64 obj_offset_in_fpm; u32 sd_idx, sd_lmt; + int ret_code = 0; if (NULL == hmc_info) { ret_code = I40E_ERR_BAD_PTR; @@ -1042,11 +1042,11 @@ * @hw: the hardware struct * @queue: the queue we care about **/ -i40e_status i40e_clear_lan_tx_queue_context(struct i40e_hw *hw, - u16 queue) +int i40e_clear_lan_tx_queue_context(struct i40e_hw *hw, + u16 queue) { - i40e_status err; u8 *context_bytes; + int err; err = i40e_hmc_get_object_va(hw, &context_bytes, I40E_HMC_LAN_TX, queue); @@ -1062,12 +1062,12 @@ * @queue: the queue we care about * @s: the struct to be filled **/ -i40e_status i40e_set_lan_tx_queue_context(struct i40e_hw *hw, - u16 queue, - struct i40e_hmc_obj_txq *s) +int i40e_set_lan_tx_queue_context(struct i40e_hw *hw, + u16 queue, + struct i40e_hmc_obj_txq *s) { - i40e_status err; u8 *context_bytes; + int err; err = i40e_hmc_get_object_va(hw, &context_bytes, I40E_HMC_LAN_TX, queue); @@ -1083,11 +1083,11 @@ * @hw: the hardware struct * @queue: the queue we care about **/ -i40e_status i40e_clear_lan_rx_queue_context(struct i40e_hw *hw, - u16 queue) +int i40e_clear_lan_rx_queue_context(struct i40e_hw *hw, + u16 queue) { - i40e_status err; u8 *context_bytes; + int err; err = i40e_hmc_get_object_va(hw, &context_bytes, I40E_HMC_LAN_RX, queue); @@ -1103,12 +1103,12 @@ * @queue: the queue we care about * @s: the struct to be filled **/ -i40e_status i40e_set_lan_rx_queue_context(struct i40e_hw *hw, - u16 queue, - struct i40e_hmc_obj_rxq *s) +int i40e_set_lan_rx_queue_context(struct i40e_hw *hw, + u16 queue, + struct i40e_hmc_obj_rxq *s) { - i40e_status err; u8 *context_bytes; + int err; err = i40e_hmc_get_object_va(hw, &context_bytes, I40E_HMC_LAN_RX, queue); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h @@ -137,22 +137,22 @@ u32 count; }; -i40e_status i40e_init_lan_hmc(struct i40e_hw *hw, u32 txq_num, - u32 rxq_num, u32 fcoe_cntx_num, - u32 fcoe_filt_num); -i40e_status i40e_configure_lan_hmc(struct i40e_hw *hw, - enum i40e_hmc_model model); -i40e_status i40e_shutdown_lan_hmc(struct i40e_hw *hw); +int i40e_init_lan_hmc(struct i40e_hw *hw, u32 txq_num, + u32 rxq_num, u32 fcoe_cntx_num, + u32 fcoe_filt_num); +int i40e_configure_lan_hmc(struct i40e_hw *hw, + enum i40e_hmc_model model); +int i40e_shutdown_lan_hmc(struct i40e_hw *hw); -i40e_status i40e_clear_lan_tx_queue_context(struct i40e_hw *hw, - u16 queue); -i40e_status i40e_set_lan_tx_queue_context(struct i40e_hw *hw, - u16 queue, - struct i40e_hmc_obj_txq *s); -i40e_status i40e_clear_lan_rx_queue_context(struct i40e_hw *hw, - u16 queue); -i40e_status i40e_set_lan_rx_queue_context(struct i40e_hw *hw, - u16 queue, - struct i40e_hmc_obj_rxq *s); +int i40e_clear_lan_tx_queue_context(struct i40e_hw *hw, + u16 queue); +int i40e_set_lan_tx_queue_context(struct i40e_hw *hw, + u16 queue, + struct i40e_hmc_obj_txq *s); +int i40e_clear_lan_rx_queue_context(struct i40e_hw *hw, + u16 queue); +int i40e_set_lan_rx_queue_context(struct i40e_hw *hw, + u16 queue, + struct i40e_hmc_obj_rxq *s); #endif /* _I40E_LAN_HMC_H_ */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_nvm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_nvm.c @@ -13,10 +13,10 @@ * in this file) as an equivalent of the FLASH part mapped into the SR. * We are accessing FLASH always thru the Shadow RAM. **/ -i40e_status i40e_init_nvm(struct i40e_hw *hw) +int i40e_init_nvm(struct i40e_hw *hw) { struct i40e_nvm_info *nvm = &hw->nvm; - i40e_status ret_code = 0; + int ret_code = 0; u32 fla, gens; u8 sr_size; @@ -52,12 +52,12 @@ * This function will request NVM ownership for reading * via the proper Admin Command. **/ -i40e_status i40e_acquire_nvm(struct i40e_hw *hw, - enum i40e_aq_resource_access_type access) +int i40e_acquire_nvm(struct i40e_hw *hw, + enum i40e_aq_resource_access_type access) { - i40e_status ret_code = 0; u64 gtime, timeout; u64 time_left = 0; + int ret_code = 0; if (hw->nvm.blank_nvm_mode) goto i40e_i40e_acquire_nvm_exit; @@ -111,7 +111,7 @@ **/ void i40e_release_nvm(struct i40e_hw *hw) { - i40e_status ret_code = I40E_SUCCESS; + int ret_code = I40E_SUCCESS; u32 total_delay = 0; if (hw->nvm.blank_nvm_mode) @@ -138,9 +138,9 @@ * * Polls the SRCTL Shadow RAM register done bit. **/ -static i40e_status i40e_poll_sr_srctl_done_bit(struct i40e_hw *hw) +static int i40e_poll_sr_srctl_done_bit(struct i40e_hw *hw) { - i40e_status ret_code = I40E_ERR_TIMEOUT; + int ret_code = I40E_ERR_TIMEOUT; u32 srctl, wait_cnt; /* Poll the I40E_GLNVM_SRCTL until the done bit is set */ @@ -165,10 +165,10 @@ * * Reads one 16 bit word from the Shadow RAM using the GLNVM_SRCTL register. **/ -static i40e_status i40e_read_nvm_word_srctl(struct i40e_hw *hw, u16 offset, - u16 *data) +static int i40e_read_nvm_word_srctl(struct i40e_hw *hw, u16 offset, + u16 *data) { - i40e_status ret_code = I40E_ERR_TIMEOUT; + int ret_code = I40E_ERR_TIMEOUT; u32 sr_reg; if (offset >= hw->nvm.sr_size) { @@ -216,13 +216,13 @@ * * Writes a 16 bit words buffer to the Shadow RAM using the admin command. **/ -static i40e_status i40e_read_nvm_aq(struct i40e_hw *hw, - u8 module_pointer, u32 offset, - u16 words, void *data, - bool last_command) +static int i40e_read_nvm_aq(struct i40e_hw *hw, + u8 module_pointer, u32 offset, + u16 words, void *data, + bool last_command) { - i40e_status ret_code = I40E_ERR_NVM; struct i40e_asq_cmd_details cmd_details; + int ret_code = I40E_ERR_NVM; memset(&cmd_details, 0, sizeof(cmd_details)); cmd_details.wb_desc = &hw->nvm_wb_desc; @@ -264,10 +264,10 @@ * * Reads one 16 bit word from the Shadow RAM using the AdminQ **/ -static i40e_status i40e_read_nvm_word_aq(struct i40e_hw *hw, u16 offset, - u16 *data) +static int i40e_read_nvm_word_aq(struct i40e_hw *hw, u16 offset, + u16 *data) { - i40e_status ret_code = I40E_ERR_TIMEOUT; + int ret_code = I40E_ERR_TIMEOUT; ret_code = i40e_read_nvm_aq(hw, 0x0, offset, 1, data, true); *data = le16_to_cpu(*(__le16 *)data); @@ -286,8 +286,8 @@ * Do not use this function except in cases where the nvm lock is already * taken via i40e_acquire_nvm(). **/ -static i40e_status __i40e_read_nvm_word(struct i40e_hw *hw, - u16 offset, u16 *data) +static int __i40e_read_nvm_word(struct i40e_hw *hw, + u16 offset, u16 *data) { if (hw->flags & I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE) return i40e_read_nvm_word_aq(hw, offset, data); @@ -303,10 +303,10 @@ * * Reads one 16 bit word from the Shadow RAM. **/ -i40e_status i40e_read_nvm_word(struct i40e_hw *hw, u16 offset, - u16 *data) +int i40e_read_nvm_word(struct i40e_hw *hw, u16 offset, + u16 *data) { - i40e_status ret_code = 0; + int ret_code = 0; if (hw->flags & I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK) ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ); @@ -330,17 +330,17 @@ * @words_data_size: Words to read from NVM * @data_ptr: Pointer to memory location where resulting buffer will be stored **/ -enum i40e_status_code i40e_read_nvm_module_data(struct i40e_hw *hw, - u8 module_ptr, - u16 module_offset, - u16 data_offset, - u16 words_data_size, - u16 *data_ptr) +int i40e_read_nvm_module_data(struct i40e_hw *hw, + u8 module_ptr, + u16 module_offset, + u16 data_offset, + u16 words_data_size, + u16 *data_ptr) { - i40e_status status; u16 specific_ptr = 0; u16 ptr_value = 0; u32 offset = 0; + int status; if (module_ptr != 0) { status = i40e_read_nvm_word(hw, module_ptr, &ptr_value); @@ -406,10 +406,10 @@ * method. The buffer read is preceded by the NVM ownership take * and followed by the release. **/ -static i40e_status i40e_read_nvm_buffer_srctl(struct i40e_hw *hw, u16 offset, - u16 *words, u16 *data) +static int i40e_read_nvm_buffer_srctl(struct i40e_hw *hw, u16 offset, + u16 *words, u16 *data) { - i40e_status ret_code = 0; + int ret_code = 0; u16 index, word; /* Loop thru the selected region */ @@ -437,13 +437,13 @@ * method. The buffer read is preceded by the NVM ownership take * and followed by the release. **/ -static i40e_status i40e_read_nvm_buffer_aq(struct i40e_hw *hw, u16 offset, - u16 *words, u16 *data) +static int i40e_read_nvm_buffer_aq(struct i40e_hw *hw, u16 offset, + u16 *words, u16 *data) { - i40e_status ret_code; - u16 read_size; bool last_cmd = false; u16 words_read = 0; + u16 read_size; + int ret_code; u16 i = 0; do { @@ -493,9 +493,9 @@ * Reads 16 bit words (data buffer) from the SR using the i40e_read_nvm_srrd() * method. **/ -static i40e_status __i40e_read_nvm_buffer(struct i40e_hw *hw, - u16 offset, u16 *words, - u16 *data) +static int __i40e_read_nvm_buffer(struct i40e_hw *hw, + u16 offset, u16 *words, + u16 *data) { if (hw->flags & I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE) return i40e_read_nvm_buffer_aq(hw, offset, words, data); @@ -514,10 +514,10 @@ * method. The buffer read is preceded by the NVM ownership take * and followed by the release. **/ -i40e_status i40e_read_nvm_buffer(struct i40e_hw *hw, u16 offset, - u16 *words, u16 *data) +int i40e_read_nvm_buffer(struct i40e_hw *hw, u16 offset, + u16 *words, u16 *data) { - i40e_status ret_code = 0; + int ret_code = 0; if (hw->flags & I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE) { ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ); @@ -544,12 +544,12 @@ * * Writes a 16 bit words buffer to the Shadow RAM using the admin command. **/ -static i40e_status i40e_write_nvm_aq(struct i40e_hw *hw, u8 module_pointer, - u32 offset, u16 words, void *data, - bool last_command) +static int i40e_write_nvm_aq(struct i40e_hw *hw, u8 module_pointer, + u32 offset, u16 words, void *data, + bool last_command) { - i40e_status ret_code = I40E_ERR_NVM; struct i40e_asq_cmd_details cmd_details; + int ret_code = I40E_ERR_NVM; memset(&cmd_details, 0, sizeof(cmd_details)); cmd_details.wb_desc = &hw->nvm_wb_desc; @@ -594,14 +594,14 @@ * is customer specific and unknown. Therefore, this function skips all maximum * possible size of VPD (1kB). **/ -static i40e_status i40e_calc_nvm_checksum(struct i40e_hw *hw, - u16 *checksum) +static int i40e_calc_nvm_checksum(struct i40e_hw *hw, + u16 *checksum) { - i40e_status ret_code; struct i40e_virt_mem vmem; u16 pcie_alt_module = 0; u16 checksum_local = 0; u16 vpd_module = 0; + int ret_code; u16 *data; u16 i = 0; @@ -675,11 +675,11 @@ * on ARQ completion event reception by caller. * This function will commit SR to NVM. **/ -i40e_status i40e_update_nvm_checksum(struct i40e_hw *hw) +int i40e_update_nvm_checksum(struct i40e_hw *hw) { - i40e_status ret_code; - u16 checksum; __le16 le_sum; + int ret_code; + u16 checksum; ret_code = i40e_calc_nvm_checksum(hw, &checksum); le_sum = cpu_to_le16(checksum); @@ -698,12 +698,12 @@ * Performs checksum calculation and validates the NVM SW checksum. If the * caller does not need checksum, the value can be NULL. **/ -i40e_status i40e_validate_nvm_checksum(struct i40e_hw *hw, - u16 *checksum) +int i40e_validate_nvm_checksum(struct i40e_hw *hw, + u16 *checksum) { - i40e_status ret_code = 0; - u16 checksum_sr = 0; u16 checksum_local = 0; + u16 checksum_sr = 0; + int ret_code = 0; /* We must acquire the NVM lock in order to correctly synchronize the * NVM accesses across multiple PFs. Without doing so it is possible @@ -732,36 +732,36 @@ return ret_code; } -static i40e_status i40e_nvmupd_state_init(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno); -static i40e_status i40e_nvmupd_state_reading(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno); -static i40e_status i40e_nvmupd_state_writing(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *errno); +static int i40e_nvmupd_state_init(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno); +static int i40e_nvmupd_state_reading(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno); +static int i40e_nvmupd_state_writing(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *errno); static enum i40e_nvmupd_cmd i40e_nvmupd_validate_command(struct i40e_hw *hw, struct i40e_nvm_access *cmd, int *perrno); -static i40e_status i40e_nvmupd_nvm_erase(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - int *perrno); -static i40e_status i40e_nvmupd_nvm_write(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno); -static i40e_status i40e_nvmupd_nvm_read(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno); -static i40e_status i40e_nvmupd_exec_aq(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno); -static i40e_status i40e_nvmupd_get_aq_result(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno); -static i40e_status i40e_nvmupd_get_aq_event(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno); +static int i40e_nvmupd_nvm_erase(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + int *perrno); +static int i40e_nvmupd_nvm_write(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno); +static int i40e_nvmupd_nvm_read(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno); +static int i40e_nvmupd_exec_aq(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno); +static int i40e_nvmupd_get_aq_result(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno); +static int i40e_nvmupd_get_aq_event(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno); static inline u8 i40e_nvmupd_get_module(u32 val) { return (u8)(val & I40E_NVM_MOD_PNT_MASK); @@ -806,12 +806,12 @@ * * Dispatches command depending on what update state is current **/ -i40e_status i40e_nvmupd_command(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +int i40e_nvmupd_command(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { - i40e_status status; enum i40e_nvmupd_cmd upd_cmd; + int status; /* assume success */ *perrno = 0; @@ -922,12 +922,12 @@ * Process legitimate commands of the Init state and conditionally set next * state. Reject all other commands. **/ -static i40e_status i40e_nvmupd_state_init(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_state_init(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { - i40e_status status = 0; enum i40e_nvmupd_cmd upd_cmd; + int status = 0; upd_cmd = i40e_nvmupd_validate_command(hw, cmd, perrno); @@ -1061,12 +1061,12 @@ * NVM ownership is already held. Process legitimate commands and set any * change in state; reject all other commands. **/ -static i40e_status i40e_nvmupd_state_reading(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_state_reading(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { - i40e_status status = 0; enum i40e_nvmupd_cmd upd_cmd; + int status = 0; upd_cmd = i40e_nvmupd_validate_command(hw, cmd, perrno); @@ -1103,13 +1103,13 @@ * NVM ownership is already held. Process legitimate commands and set any * change in state; reject all other commands **/ -static i40e_status i40e_nvmupd_state_writing(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_state_writing(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { - i40e_status status = 0; enum i40e_nvmupd_cmd upd_cmd; bool retry_attempt = false; + int status = 0; upd_cmd = i40e_nvmupd_validate_command(hw, cmd, perrno); @@ -1186,8 +1186,8 @@ */ if (status && (hw->aq.asq_last_status == I40E_AQ_RC_EBUSY) && !retry_attempt) { - i40e_status old_status = status; u32 old_asq_status = hw->aq.asq_last_status; + int old_status = status; u32 gtime; gtime = rd32(hw, I40E_GLVFGEN_TIMER); @@ -1369,17 +1369,17 @@ * * cmd structure contains identifiers and data buffer **/ -static i40e_status i40e_nvmupd_exec_aq(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_exec_aq(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { struct i40e_asq_cmd_details cmd_details; - i40e_status status; struct i40e_aq_desc *aq_desc; u32 buff_size = 0; u8 *buff = NULL; u32 aq_desc_len; u32 aq_data_len; + int status; i40e_debug(hw, I40E_DEBUG_NVM, "NVMUPD: %s\n", __func__); if (cmd->offset == 0xffff) @@ -1428,8 +1428,8 @@ buff_size, &cmd_details); if (status) { i40e_debug(hw, I40E_DEBUG_NVM, - "i40e_nvmupd_exec_aq err %s aq_err %s\n", - i40e_stat_str(hw, status), + "%s err %d aq_err %s\n", + __func__, status, i40e_aq_str(hw, hw->aq.asq_last_status)); *perrno = i40e_aq_rc_to_posix(status, hw->aq.asq_last_status); return status; @@ -1453,9 +1453,9 @@ * * cmd structure contains identifiers and data buffer **/ -static i40e_status i40e_nvmupd_get_aq_result(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_get_aq_result(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { u32 aq_total_len; u32 aq_desc_len; @@ -1522,9 +1522,9 @@ * * cmd structure contains identifiers and data buffer **/ -static i40e_status i40e_nvmupd_get_aq_event(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_get_aq_event(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { u32 aq_total_len; u32 aq_desc_len; @@ -1556,13 +1556,13 @@ * * cmd structure contains identifiers and data buffer **/ -static i40e_status i40e_nvmupd_nvm_read(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_nvm_read(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { struct i40e_asq_cmd_details cmd_details; - i40e_status status; u8 module, transaction; + int status; bool last; transaction = i40e_nvmupd_get_transaction(cmd->config); @@ -1595,13 +1595,13 @@ * * module, offset, data_size and data are in cmd structure **/ -static i40e_status i40e_nvmupd_nvm_erase(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - int *perrno) +static int i40e_nvmupd_nvm_erase(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + int *perrno) { - i40e_status status = 0; struct i40e_asq_cmd_details cmd_details; u8 module, transaction; + int status = 0; bool last; transaction = i40e_nvmupd_get_transaction(cmd->config); @@ -1635,14 +1635,14 @@ * * module, offset, data_size and data are in cmd structure **/ -static i40e_status i40e_nvmupd_nvm_write(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *perrno) +static int i40e_nvmupd_nvm_write(struct i40e_hw *hw, + struct i40e_nvm_access *cmd, + u8 *bytes, int *perrno) { - i40e_status status = 0; struct i40e_asq_cmd_details cmd_details; u8 module, transaction; u8 preservation_flags; + int status = 0; bool last; transaction = i40e_nvmupd_get_transaction(cmd->config); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_osdep.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_osdep.h @@ -56,5 +56,4 @@ (h)->bus.func, ##__VA_ARGS__); \ } while (0) -typedef enum i40e_status_code i40e_status; #endif /* _I40E_OSDEP_H_ */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/i40e/i40e_prototype.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/i40e/i40e_prototype.h @@ -16,17 +16,17 @@ */ /* adminq functions */ -i40e_status i40e_init_adminq(struct i40e_hw *hw); +int i40e_init_adminq(struct i40e_hw *hw); void i40e_shutdown_adminq(struct i40e_hw *hw); void i40e_adminq_init_ring_data(struct i40e_hw *hw); -i40e_status i40e_clean_arq_element(struct i40e_hw *hw, - struct i40e_arq_event_info *e, - u16 *events_pending); -i40e_status i40e_asq_send_command(struct i40e_hw *hw, - struct i40e_aq_desc *desc, - void *buff, /* can be NULL */ - u16 buff_size, - struct i40e_asq_cmd_details *cmd_details); +int i40e_clean_arq_element(struct i40e_hw *hw, + struct i40e_arq_event_info *e, + u16 *events_pending); +int i40e_asq_send_command(struct i40e_hw *hw, + struct i40e_aq_desc *desc, + void *buff, /* can be NULL */ + u16 buff_size, + struct i40e_asq_cmd_details *cmd_details); /* debug function for adminq */ void i40e_debug_aq(struct i40e_hw *hw, enum i40e_debug_mask mask, @@ -34,314 +34,269 @@ void i40e_idle_aq(struct i40e_hw *hw); bool i40e_check_asq_alive(struct i40e_hw *hw); -i40e_status i40e_aq_queue_shutdown(struct i40e_hw *hw, bool unloading); +int i40e_aq_queue_shutdown(struct i40e_hw *hw, bool unloading); const char *i40e_aq_str(struct i40e_hw *hw, enum i40e_admin_queue_err aq_err); -const char *i40e_stat_str(struct i40e_hw *hw, i40e_status stat_err); -i40e_status i40e_aq_get_rss_lut(struct i40e_hw *hw, u16 seid, - bool pf_lut, u8 *lut, u16 lut_size); -i40e_status i40e_aq_set_rss_lut(struct i40e_hw *hw, u16 seid, - bool pf_lut, u8 *lut, u16 lut_size); -i40e_status i40e_aq_get_rss_key(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_get_set_rss_key_data *key); -i40e_status i40e_aq_set_rss_key(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_get_set_rss_key_data *key); +int i40e_aq_get_rss_lut(struct i40e_hw *hw, u16 seid, + bool pf_lut, u8 *lut, u16 lut_size); +int i40e_aq_set_rss_lut(struct i40e_hw *hw, u16 seid, + bool pf_lut, u8 *lut, u16 lut_size); +int i40e_aq_get_rss_key(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_get_set_rss_key_data *key); +int i40e_aq_set_rss_key(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_get_set_rss_key_data *key); u32 i40e_led_get(struct i40e_hw *hw); void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink); -i40e_status i40e_led_set_phy(struct i40e_hw *hw, bool on, - u16 led_addr, u32 mode); -i40e_status i40e_led_get_phy(struct i40e_hw *hw, u16 *led_addr, - u16 *val); -i40e_status i40e_blink_phy_link_led(struct i40e_hw *hw, - u32 time, u32 interval); +int i40e_led_set_phy(struct i40e_hw *hw, bool on, u16 led_addr, u32 mode); +int i40e_led_get_phy(struct i40e_hw *hw, u16 *led_addr, u16 *val); +int i40e_blink_phy_link_led(struct i40e_hw *hw, u32 time, u32 interval); /* admin send queue commands */ -i40e_status i40e_aq_get_firmware_version(struct i40e_hw *hw, - u16 *fw_major_version, u16 *fw_minor_version, - u32 *fw_build, - u16 *api_major_version, u16 *api_minor_version, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_debug_write_register(struct i40e_hw *hw, - u32 reg_addr, u64 reg_val, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_debug_read_register(struct i40e_hw *hw, - u32 reg_addr, u64 *reg_val, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_default_vsi(struct i40e_hw *hw, u16 vsi_id, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_clear_default_vsi(struct i40e_hw *hw, u16 vsi_id, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_get_phy_capabilities(struct i40e_hw *hw, - bool qualified_modules, bool report_init, - struct i40e_aq_get_phy_abilities_resp *abilities, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_set_phy_config(struct i40e_hw *hw, - struct i40e_aq_set_phy_config *config, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_set_fc(struct i40e_hw *hw, u8 *aq_failures, - bool atomic_reset); -i40e_status i40e_aq_set_phy_int_mask(struct i40e_hw *hw, u16 mask, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_clear_pxe_mode(struct i40e_hw *hw, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_link_restart_an(struct i40e_hw *hw, - bool enable_link, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_get_link_info(struct i40e_hw *hw, - bool enable_lse, struct i40e_link_status *link, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_local_advt_reg(struct i40e_hw *hw, - u64 advt_reg, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_send_driver_version(struct i40e_hw *hw, +int i40e_aq_get_firmware_version(struct i40e_hw *hw, + u16 *fw_major_version, u16 *fw_minor_version, + u32 *fw_build, + u16 *api_major_version, u16 *api_minor_version, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_debug_write_register(struct i40e_hw *hw, u32 reg_addr, u64 reg_val, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_debug_read_register(struct i40e_hw *hw, + u32 reg_addr, u64 *reg_val, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_default_vsi(struct i40e_hw *hw, u16 vsi_id, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_clear_default_vsi(struct i40e_hw *hw, u16 vsi_id, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_get_phy_capabilities(struct i40e_hw *hw, + bool qualified_modules, bool report_init, + struct i40e_aq_get_phy_abilities_resp *abilities, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_phy_config(struct i40e_hw *hw, struct i40e_aq_set_phy_config *config, + struct i40e_asq_cmd_details *cmd_details); +int i40e_set_fc(struct i40e_hw *hw, u8 *aq_failures, bool atomic_reset); +int i40e_aq_set_phy_int_mask(struct i40e_hw *hw, u16 mask, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_clear_pxe_mode(struct i40e_hw *hw, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_link_restart_an(struct i40e_hw *hw, bool enable_link, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_get_link_info(struct i40e_hw *hw, bool enable_lse, + struct i40e_link_status *link, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_local_advt_reg(struct i40e_hw *hw, u64 advt_reg, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_send_driver_version(struct i40e_hw *hw, struct i40e_driver_version *dv, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_add_vsi(struct i40e_hw *hw, - struct i40e_vsi_context *vsi_ctx, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_vsi_broadcast(struct i40e_hw *hw, - u16 vsi_id, bool set_filter, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw, - u16 vsi_id, bool set, struct i40e_asq_cmd_details *cmd_details, - bool rx_only_promisc); -i40e_status i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw, - u16 vsi_id, bool set, struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_set_vsi_mc_promisc_on_vlan(struct i40e_hw *hw, - u16 seid, bool enable, - u16 vid, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw, - u16 seid, bool enable, - u16 vid, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_vsi_bc_promisc_on_vlan(struct i40e_hw *hw, - u16 seid, bool enable, u16 vid, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw, - u16 seid, bool enable, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_get_vsi_params(struct i40e_hw *hw, - struct i40e_vsi_context *vsi_ctx, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_update_vsi_params(struct i40e_hw *hw, - struct i40e_vsi_context *vsi_ctx, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_add_veb(struct i40e_hw *hw, u16 uplink_seid, - u16 downlink_seid, u8 enabled_tc, - bool default_port, u16 *pveb_seid, - bool enable_stats, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_get_veb_parameters(struct i40e_hw *hw, - u16 veb_seid, u16 *switch_id, bool *floating, - u16 *statistic_index, u16 *vebs_used, - u16 *vebs_free, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_add_macvlan(struct i40e_hw *hw, u16 vsi_id, +int i40e_aq_add_vsi(struct i40e_hw *hw, + struct i40e_vsi_context *vsi_ctx, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_vsi_broadcast(struct i40e_hw *hw, u16 vsi_id, bool set_filter, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw, + u16 vsi_id, bool set, + struct i40e_asq_cmd_details *cmd_details, + bool rx_only_promisc); +int i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw, + u16 vsi_id, bool set, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_vsi_mc_promisc_on_vlan(struct i40e_hw *hw, u16 seid, + bool enable, u16 vid, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw, + u16 seid, bool enable, u16 vid, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_vsi_bc_promisc_on_vlan(struct i40e_hw *hw, + u16 seid, bool enable, u16 vid, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw, + u16 seid, bool enable, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_get_vsi_params(struct i40e_hw *hw, + struct i40e_vsi_context *vsi_ctx, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_update_vsi_params(struct i40e_hw *hw, + struct i40e_vsi_context *vsi_ctx, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_add_veb(struct i40e_hw *hw, u16 uplink_seid, + u16 downlink_seid, u8 enabled_tc, + bool default_port, u16 *pveb_seid, + bool enable_stats, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_get_veb_parameters(struct i40e_hw *hw, + u16 veb_seid, u16 *switch_id, bool *floating, + u16 *statistic_index, u16 *vebs_used, + u16 *vebs_free, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_add_macvlan(struct i40e_hw *hw, u16 vsi_id, struct i40e_aqc_add_macvlan_element_data *mv_list, u16 count, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_remove_macvlan(struct i40e_hw *hw, u16 vsi_id, - struct i40e_aqc_remove_macvlan_element_data *mv_list, - u16 count, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_add_mirrorrule(struct i40e_hw *hw, u16 sw_seid, - u16 rule_type, u16 dest_vsi, u16 count, __le16 *mr_list, - struct i40e_asq_cmd_details *cmd_details, - u16 *rule_id, u16 *rules_used, u16 *rules_free); -i40e_status i40e_aq_delete_mirrorrule(struct i40e_hw *hw, u16 sw_seid, - u16 rule_type, u16 rule_id, u16 count, __le16 *mr_list, - struct i40e_asq_cmd_details *cmd_details, - u16 *rules_used, u16 *rules_free); - -i40e_status i40e_aq_send_msg_to_vf(struct i40e_hw *hw, u16 vfid, - u32 v_opcode, u32 v_retval, u8 *msg, u16 msglen, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_get_switch_config(struct i40e_hw *hw, - struct i40e_aqc_get_switch_config_resp *buf, - u16 buf_size, u16 *start_seid, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_set_switch_config(struct i40e_hw *hw, - u16 flags, - u16 valid_flags, u8 mode, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_request_resource(struct i40e_hw *hw, - enum i40e_aq_resources_ids resource, - enum i40e_aq_resource_access_type access, - u8 sdp_number, u64 *timeout, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_release_resource(struct i40e_hw *hw, - enum i40e_aq_resources_ids resource, - u8 sdp_number, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_read_nvm(struct i40e_hw *hw, u8 module_pointer, - u32 offset, u16 length, void *data, - bool last_command, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_erase_nvm(struct i40e_hw *hw, u8 module_pointer, - u32 offset, u16 length, bool last_command, +int i40e_aq_remove_macvlan(struct i40e_hw *hw, u16 vsi_id, + struct i40e_aqc_remove_macvlan_element_data *mv_list, + u16 count, struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_add_mirrorrule(struct i40e_hw *hw, u16 sw_seid, + u16 rule_type, u16 dest_vsi, u16 count, + __le16 *mr_list, + struct i40e_asq_cmd_details *cmd_details, + u16 *rule_id, u16 *rules_used, u16 *rules_free); +int i40e_aq_delete_mirrorrule(struct i40e_hw *hw, u16 sw_seid, + u16 rule_type, u16 rule_id, u16 count, __le16 *mr_list, + struct i40e_asq_cmd_details *cmd_details, + u16 *rules_used, u16 *rules_free); + +int i40e_aq_send_msg_to_vf(struct i40e_hw *hw, u16 vfid, + u32 v_opcode, u32 v_retval, u8 *msg, u16 msglen, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_get_switch_config(struct i40e_hw *hw, + struct i40e_aqc_get_switch_config_resp *buf, + u16 buf_size, u16 *start_seid, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_discover_capabilities(struct i40e_hw *hw, - void *buff, u16 buff_size, u16 *data_size, - enum i40e_admin_queue_opc list_type_opc, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, - u32 offset, u16 length, void *data, - bool last_command, u8 preservation_flags, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_rearrange_nvm(struct i40e_hw *hw, - u8 rearrange_nvm, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, - u8 mib_type, void *buff, u16 buff_size, - u16 *local_len, u16 *remote_len, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code -i40e_aq_set_lldp_mib(struct i40e_hw *hw, - u8 mib_type, void *buff, u16 buff_size, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_cfg_lldp_mib_change_event(struct i40e_hw *hw, - bool enable_update, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code -i40e_aq_restore_lldp(struct i40e_hw *hw, u8 *setting, bool restore, +int i40e_aq_set_switch_config(struct i40e_hw *hw, u16 flags, + u16 valid_flags, u8 mode, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_request_resource(struct i40e_hw *hw, + enum i40e_aq_resources_ids resource, + enum i40e_aq_resource_access_type access, + u8 sdp_number, u64 *timeout, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_release_resource(struct i40e_hw *hw, + enum i40e_aq_resources_ids resource, u8 sdp_number, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_read_nvm(struct i40e_hw *hw, u8 module_pointer, + u32 offset, u16 length, void *data, bool last_command, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_stop_lldp(struct i40e_hw *hw, bool shutdown_agent, - bool persist, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_set_dcb_parameters(struct i40e_hw *hw, - bool dcb_enable, - struct i40e_asq_cmd_details - *cmd_details); -i40e_status i40e_aq_start_lldp(struct i40e_hw *hw, bool persist, +int i40e_aq_erase_nvm(struct i40e_hw *hw, u8 module_pointer, + u32 offset, u16 length, bool last_command, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_discover_capabilities(struct i40e_hw *hw, + void *buff, u16 buff_size, u16 *data_size, + enum i40e_admin_queue_opc list_type_opc, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, + u32 offset, u16 length, void *data, + bool last_command, u8 preservation_flags, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_rearrange_nvm(struct i40e_hw *hw, u8 rearrange_nvm, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, + u8 mib_type, void *buff, u16 buff_size, + u16 *local_len, u16 *remote_len, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_lldp_mib(struct i40e_hw *hw, u8 mib_type, + void *buff, u16 buff_size, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_cfg_lldp_mib_change_event(struct i40e_hw *hw, + bool enable_update, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_restore_lldp(struct i40e_hw *hw, u8 *setting, bool restore, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_stop_lldp(struct i40e_hw *hw, bool shutdown_agent, bool persist, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_set_dcb_parameters(struct i40e_hw *hw, bool dcb_enable, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_get_cee_dcb_config(struct i40e_hw *hw, - void *buff, u16 buff_size, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_add_udp_tunnel(struct i40e_hw *hw, - u16 udp_port, u8 protocol_index, - u8 *filter_index, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_del_udp_tunnel(struct i40e_hw *hw, u8 index, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_delete_element(struct i40e_hw *hw, u16 seid, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_mac_address_write(struct i40e_hw *hw, - u16 flags, u8 *mac_addr, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_config_vsi_bw_limit(struct i40e_hw *hw, +int i40e_aq_start_lldp(struct i40e_hw *hw, bool persist, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_get_cee_dcb_config(struct i40e_hw *hw, + void *buff, u16 buff_size, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_add_udp_tunnel(struct i40e_hw *hw, u16 udp_port, + u8 protocol_index, u8 *filter_index, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_del_udp_tunnel(struct i40e_hw *hw, u8 index, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_delete_element(struct i40e_hw *hw, u16 seid, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_mac_address_write(struct i40e_hw *hw, u16 flags, u8 *mac_addr, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_config_vsi_bw_limit(struct i40e_hw *hw, u16 seid, u16 credit, u8 max_credit, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_dcb_updated(struct i40e_hw *hw, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_config_switch_comp_bw_limit(struct i40e_hw *hw, - u16 seid, u16 credit, u8 max_bw, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_config_vsi_tc_bw(struct i40e_hw *hw, u16 seid, - struct i40e_aqc_configure_vsi_tc_bw_data *bw_data, +int i40e_aq_dcb_updated(struct i40e_hw *hw, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_config_switch_comp_ets(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_configure_switching_comp_ets_data *ets_data, - enum i40e_admin_queue_opc opcode, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_config_switch_comp_bw_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_configure_switching_comp_bw_config_data *bw_data, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_query_vsi_bw_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_vsi_bw_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_query_vsi_ets_sla_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_vsi_ets_sla_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_query_switch_comp_ets_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_switching_comp_ets_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_query_port_ets_config(struct i40e_hw *hw, - u16 seid, - struct i40e_aqc_query_port_ets_config_resp *bw_data, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_query_switch_comp_bw_config(struct i40e_hw *hw, - u16 seid, +int i40e_aq_config_switch_comp_bw_limit(struct i40e_hw *hw, + u16 seid, u16 credit, u8 max_bw, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_config_vsi_tc_bw(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_configure_vsi_tc_bw_data *bw_data, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_config_switch_comp_ets(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_configure_switching_comp_ets_data *ets_data, + enum i40e_admin_queue_opc opcode, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_config_switch_comp_bw_config(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_configure_switching_comp_bw_config_data *bw_data, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_query_vsi_bw_config(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_query_vsi_bw_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_query_vsi_ets_sla_config(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_query_vsi_ets_sla_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_query_switch_comp_ets_config(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_query_switching_comp_ets_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_query_port_ets_config(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_query_port_ets_config_resp *bw_data, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_query_switch_comp_bw_config(struct i40e_hw *hw, u16 seid, struct i40e_aqc_query_switching_comp_bw_config_resp *bw_data, struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_resume_port_tx(struct i40e_hw *hw, - struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code -i40e_aq_add_cloud_filters_bb(struct i40e_hw *hw, u16 seid, - struct i40e_aqc_cloud_filters_element_bb *filters, - u8 filter_count); -enum i40e_status_code -i40e_aq_add_cloud_filters(struct i40e_hw *hw, u16 vsi, - struct i40e_aqc_cloud_filters_element_data *filters, - u8 filter_count); -enum i40e_status_code -i40e_aq_rem_cloud_filters(struct i40e_hw *hw, u16 vsi, - struct i40e_aqc_cloud_filters_element_data *filters, - u8 filter_count); -enum i40e_status_code -i40e_aq_rem_cloud_filters_bb(struct i40e_hw *hw, u16 seid, - struct i40e_aqc_cloud_filters_element_bb *filters, - u8 filter_count); -i40e_status i40e_read_lldp_cfg(struct i40e_hw *hw, - struct i40e_lldp_variables *lldp_cfg); -enum i40e_status_code -i40e_aq_suspend_port_tx(struct i40e_hw *hw, u16 seid, - struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_resume_port_tx(struct i40e_hw *hw, struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_add_cloud_filters_bb(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_cloud_filters_element_bb *filters, + u8 filter_count); +int i40e_aq_add_cloud_filters(struct i40e_hw *hw, u16 vsi, + struct i40e_aqc_cloud_filters_element_data *filters, + u8 filter_count); +int i40e_aq_rem_cloud_filters(struct i40e_hw *hw, u16 vsi, + struct i40e_aqc_cloud_filters_element_data *filters, + u8 filter_count); +int i40e_aq_rem_cloud_filters_bb(struct i40e_hw *hw, u16 seid, + struct i40e_aqc_cloud_filters_element_bb *filters, + u8 filter_count); +int i40e_read_lldp_cfg(struct i40e_hw *hw, struct i40e_lldp_variables *lldp_cfg); +int i40e_aq_suspend_port_tx(struct i40e_hw *hw, u16 seid, + struct i40e_asq_cmd_details *cmd_details); /* i40e_common */ -i40e_status i40e_init_shared_code(struct i40e_hw *hw); -i40e_status i40e_pf_reset(struct i40e_hw *hw); +int i40e_init_shared_code(struct i40e_hw *hw); +int i40e_pf_reset(struct i40e_hw *hw); void i40e_clear_hw(struct i40e_hw *hw); void i40e_clear_pxe_mode(struct i40e_hw *hw); -i40e_status i40e_get_link_status(struct i40e_hw *hw, bool *link_up); -i40e_status i40e_update_link_info(struct i40e_hw *hw); -i40e_status i40e_get_mac_addr(struct i40e_hw *hw, u8 *mac_addr); -i40e_status i40e_read_bw_from_alt_ram(struct i40e_hw *hw, - u32 *max_bw, u32 *min_bw, bool *min_valid, - bool *max_valid); -i40e_status i40e_aq_configure_partition_bw(struct i40e_hw *hw, - struct i40e_aqc_configure_partition_bw_data *bw_data, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_get_port_mac_addr(struct i40e_hw *hw, u8 *mac_addr); -i40e_status i40e_read_pba_string(struct i40e_hw *hw, u8 *pba_num, - u32 pba_num_size); -i40e_status i40e_validate_mac_addr(u8 *mac_addr); +int i40e_get_link_status(struct i40e_hw *hw, bool *link_up); +int i40e_update_link_info(struct i40e_hw *hw); +int i40e_get_mac_addr(struct i40e_hw *hw, u8 *mac_addr); +int i40e_read_bw_from_alt_ram(struct i40e_hw *hw, + u32 *max_bw, u32 *min_bw, bool *min_valid, + bool *max_valid); +int i40e_aq_configure_partition_bw(struct i40e_hw *hw, + struct i40e_aqc_configure_partition_bw_data *bw_data, + struct i40e_asq_cmd_details *cmd_details); +int i40e_get_port_mac_addr(struct i40e_hw *hw, u8 *mac_addr); +int i40e_read_pba_string(struct i40e_hw *hw, u8 *pba_num, u32 pba_num_size); +int i40e_validate_mac_addr(u8 *mac_addr); void i40e_pre_tx_queue_cfg(struct i40e_hw *hw, u32 queue, bool enable); /* prototype for functions used for NVM access */ -i40e_status i40e_init_nvm(struct i40e_hw *hw); -i40e_status i40e_acquire_nvm(struct i40e_hw *hw, - enum i40e_aq_resource_access_type access); +int i40e_init_nvm(struct i40e_hw *hw); +int i40e_acquire_nvm(struct i40e_hw *hw, enum i40e_aq_resource_access_type access); void i40e_release_nvm(struct i40e_hw *hw); -i40e_status i40e_read_nvm_word(struct i40e_hw *hw, u16 offset, - u16 *data); -enum i40e_status_code i40e_read_nvm_module_data(struct i40e_hw *hw, - u8 module_ptr, - u16 module_offset, - u16 data_offset, - u16 words_data_size, - u16 *data_ptr); -i40e_status i40e_read_nvm_buffer(struct i40e_hw *hw, u16 offset, - u16 *words, u16 *data); -i40e_status i40e_update_nvm_checksum(struct i40e_hw *hw); -i40e_status i40e_validate_nvm_checksum(struct i40e_hw *hw, - u16 *checksum); -i40e_status i40e_nvmupd_command(struct i40e_hw *hw, - struct i40e_nvm_access *cmd, - u8 *bytes, int *); +int i40e_read_nvm_word(struct i40e_hw *hw, u16 offset, u16 *data); +int i40e_read_nvm_module_data(struct i40e_hw *hw, u8 module_ptr, + u16 module_offset, u16 data_offset, + u16 words_data_size, u16 *data_ptr); +int i40e_read_nvm_buffer(struct i40e_hw *hw, u16 offset, u16 *words, u16 *data); +int i40e_update_nvm_checksum(struct i40e_hw *hw); +int i40e_validate_nvm_checksum(struct i40e_hw *hw, u16 *checksum); +int i40e_nvmupd_command(struct i40e_hw *hw, struct i40e_nvm_access *cmd, + u8 *bytes, int *); void i40e_nvmupd_check_wait_event(struct i40e_hw *hw, u16 opcode, struct i40e_aq_desc *desc); void i40e_nvmupd_clear_wait_state(struct i40e_hw *hw); void i40e_set_pci_config_data(struct i40e_hw *hw, u16 link_status); -i40e_status i40e_set_mac_type(struct i40e_hw *hw); +int i40e_set_mac_type(struct i40e_hw *hw); extern struct i40e_rx_ptype_decoded i40e_ptype_lookup[]; @@ -390,41 +345,41 @@ /* i40e_common for VF drivers*/ void i40e_vf_parse_hw_config(struct i40e_hw *hw, struct virtchnl_vf_resource *msg); -i40e_status i40e_vf_reset(struct i40e_hw *hw); -i40e_status i40e_aq_send_msg_to_pf(struct i40e_hw *hw, - enum virtchnl_ops v_opcode, - i40e_status v_retval, - u8 *msg, u16 msglen, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_set_filter_control(struct i40e_hw *hw, - struct i40e_filter_control_settings *settings); -i40e_status i40e_aq_add_rem_control_packet_filter(struct i40e_hw *hw, - u8 *mac_addr, u16 ethtype, u16 flags, - u16 vsi_seid, u16 queue, bool is_add, - struct i40e_control_filter_stats *stats, - struct i40e_asq_cmd_details *cmd_details); -i40e_status i40e_aq_debug_dump(struct i40e_hw *hw, u8 cluster_id, - u8 table_id, u32 start_index, u16 buff_size, - void *buff, u16 *ret_buff_size, - u8 *ret_next_table, u32 *ret_next_index, - struct i40e_asq_cmd_details *cmd_details); +int i40e_vf_reset(struct i40e_hw *hw); +int i40e_aq_send_msg_to_pf(struct i40e_hw *hw, + enum virtchnl_ops v_opcode, + int v_retval, + u8 *msg, u16 msglen, + struct i40e_asq_cmd_details *cmd_details); +int i40e_set_filter_control(struct i40e_hw *hw, + struct i40e_filter_control_settings *settings); +int i40e_aq_add_rem_control_packet_filter(struct i40e_hw *hw, + u8 *mac_addr, u16 ethtype, u16 flags, + u16 vsi_seid, u16 queue, bool is_add, + struct i40e_control_filter_stats *stats, + struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_debug_dump(struct i40e_hw *hw, u8 cluster_id, + u8 table_id, u32 start_index, u16 buff_size, + void *buff, u16 *ret_buff_size, + u8 *ret_next_table, u32 *ret_next_index, + struct i40e_asq_cmd_details *cmd_details); void i40e_add_filter_to_drop_tx_flow_control_frames(struct i40e_hw *hw, u16 vsi_seid); -i40e_status i40e_aq_rx_ctl_read_register(struct i40e_hw *hw, - u32 reg_addr, u32 *reg_val, - struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_rx_ctl_read_register(struct i40e_hw *hw, + u32 reg_addr, u32 *reg_val, + struct i40e_asq_cmd_details *cmd_details); u32 i40e_read_rx_ctl(struct i40e_hw *hw, u32 reg_addr); -i40e_status i40e_aq_rx_ctl_write_register(struct i40e_hw *hw, - u32 reg_addr, u32 reg_val, - struct i40e_asq_cmd_details *cmd_details); +int i40e_aq_rx_ctl_write_register(struct i40e_hw *hw, + u32 reg_addr, u32 reg_val, + struct i40e_asq_cmd_details *cmd_details); void i40e_write_rx_ctl(struct i40e_hw *hw, u32 reg_addr, u32 reg_val); -enum i40e_status_code +int i40e_aq_set_phy_register_ext(struct i40e_hw *hw, u8 phy_select, u8 dev_addr, bool page_change, bool set_mdio, u8 mdio_num, u32 reg_addr, u32 reg_val, struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code +int i40e_aq_get_phy_register_ext(struct i40e_hw *hw, u8 phy_select, u8 dev_addr, bool page_change, bool set_mdio, u8 mdio_num, @@ -437,43 +392,43 @@ #define i40e_aq_get_phy_register(hw, ps, da, pc, ra, rv, cd) \ i40e_aq_get_phy_register_ext(hw, ps, da, pc, false, 0, ra, rv, cd) -i40e_status i40e_read_phy_register_clause22(struct i40e_hw *hw, - u16 reg, u8 phy_addr, u16 *value); -i40e_status i40e_write_phy_register_clause22(struct i40e_hw *hw, - u16 reg, u8 phy_addr, u16 value); -i40e_status i40e_read_phy_register_clause45(struct i40e_hw *hw, - u8 page, u16 reg, u8 phy_addr, u16 *value); -i40e_status i40e_write_phy_register_clause45(struct i40e_hw *hw, - u8 page, u16 reg, u8 phy_addr, u16 value); -i40e_status i40e_read_phy_register(struct i40e_hw *hw, u8 page, u16 reg, - u8 phy_addr, u16 *value); -i40e_status i40e_write_phy_register(struct i40e_hw *hw, u8 page, u16 reg, - u8 phy_addr, u16 value); +int i40e_read_phy_register_clause22(struct i40e_hw *hw, + u16 reg, u8 phy_addr, u16 *value); +int i40e_write_phy_register_clause22(struct i40e_hw *hw, + u16 reg, u8 phy_addr, u16 value); +int i40e_read_phy_register_clause45(struct i40e_hw *hw, + u8 page, u16 reg, u8 phy_addr, u16 *value); +int i40e_write_phy_register_clause45(struct i40e_hw *hw, + u8 page, u16 reg, u8 phy_addr, u16 value); +int i40e_read_phy_register(struct i40e_hw *hw, u8 page, u16 reg, + u8 phy_addr, u16 *value); +int i40e_write_phy_register(struct i40e_hw *hw, u8 page, u16 reg, + u8 phy_addr, u16 value); u8 i40e_get_phy_address(struct i40e_hw *hw, u8 dev_num); -i40e_status i40e_blink_phy_link_led(struct i40e_hw *hw, - u32 time, u32 interval); -i40e_status i40e_aq_write_ddp(struct i40e_hw *hw, void *buff, - u16 buff_size, u32 track_id, - u32 *error_offset, u32 *error_info, - struct i40e_asq_cmd_details * - cmd_details); -i40e_status i40e_aq_get_ddp_list(struct i40e_hw *hw, void *buff, - u16 buff_size, u8 flags, - struct i40e_asq_cmd_details * - cmd_details); +int i40e_blink_phy_link_led(struct i40e_hw *hw, + u32 time, u32 interval); +int i40e_aq_write_ddp(struct i40e_hw *hw, void *buff, + u16 buff_size, u32 track_id, + u32 *error_offset, u32 *error_info, + struct i40e_asq_cmd_details * + cmd_details); +int i40e_aq_get_ddp_list(struct i40e_hw *hw, void *buff, + u16 buff_size, u8 flags, + struct i40e_asq_cmd_details * + cmd_details); struct i40e_generic_seg_header * i40e_find_segment_in_package(u32 segment_type, struct i40e_package_header *pkg_header); struct i40e_profile_section_header * i40e_find_section_in_profile(u32 section_type, struct i40e_profile_segment *profile); -enum i40e_status_code +int i40e_write_profile(struct i40e_hw *hw, struct i40e_profile_segment *i40e_seg, u32 track_id); -enum i40e_status_code +int i40e_rollback_profile(struct i40e_hw *hw, struct i40e_profile_segment *i40e_seg, u32 track_id); -enum i40e_status_code +int i40e_add_pinfo_to_list(struct i40e_hw *hw, struct i40e_profile_segment *profile, u8 *profile_info_sec, u32 track_id); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/iavf/iavf_register.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/iavf/iavf_register.h @@ -40,7 +40,7 @@ #define IAVF_VFINT_DYN_CTL01_INTENA_MASK IAVF_MASK(0x1, IAVF_VFINT_DYN_CTL01_INTENA_SHIFT) #define IAVF_VFINT_DYN_CTL01_ITR_INDX_SHIFT 3 #define IAVF_VFINT_DYN_CTL01_ITR_INDX_MASK IAVF_MASK(0x3, IAVF_VFINT_DYN_CTL01_ITR_INDX_SHIFT) -#define IAVF_VFINT_DYN_CTLN1(_INTVF) (0x00003800 + ((_INTVF) * 4)) /* _i=0...15 */ /* Reset: VFR */ +#define IAVF_VFINT_DYN_CTLN1(_INTVF) (0x00003800 + ((_INTVF) * 4)) /* _i=0...63 */ /* Reset: VFR */ #define IAVF_VFINT_DYN_CTLN1_INTENA_SHIFT 0 #define IAVF_VFINT_DYN_CTLN1_INTENA_MASK IAVF_MASK(0x1, IAVF_VFINT_DYN_CTLN1_INTENA_SHIFT) #define IAVF_VFINT_DYN_CTLN1_SWINT_TRIG_SHIFT 2 only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/intel/ice/ice_fltr.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/intel/ice/ice_fltr.c @@ -128,7 +128,7 @@ * @mac: MAC address to add * @action: filter action */ -int +enum ice_status ice_fltr_add_mac_to_list(struct ice_vsi *vsi, struct list_head *list, const u8 *mac, enum ice_sw_fwd_act_type action) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c @@ -194,6 +194,7 @@ in = kvzalloc(inlen, GFP_KERNEL); if (!in || !ft->g) { kfree(ft->g); + ft->g = NULL; kvfree(in); return -ENOMEM; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/qlogic/qede/qede.h +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qede/qede.h @@ -271,6 +271,10 @@ #define QEDE_ERR_WARN 3 struct qede_dump_info dump_info; + struct delayed_work periodic_task; + unsigned long stats_coal_ticks; + u32 stats_coal_usecs; + spinlock_t stats_lock; /* lock for vport stats access */ }; enum QEDE_STATE { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/qlogic/qede/qede_ethtool.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qlogic/qede/qede_ethtool.c @@ -426,6 +426,8 @@ } } + spin_lock(&edev->stats_lock); + for (i = 0; i < QEDE_NUM_STATS; i++) { if (qede_is_irrelevant_stat(edev, i)) continue; @@ -435,6 +437,8 @@ buf++; } + spin_unlock(&edev->stats_lock); + __qede_unlock(edev); } @@ -817,6 +821,7 @@ coal->rx_coalesce_usecs = rx_coal; coal->tx_coalesce_usecs = tx_coal; + coal->stats_block_coalesce_usecs = edev->stats_coal_usecs; return rc; } @@ -830,6 +835,19 @@ int i, rc = 0; u16 rxc, txc; + if (edev->stats_coal_usecs != coal->stats_block_coalesce_usecs) { + edev->stats_coal_usecs = coal->stats_block_coalesce_usecs; + if (edev->stats_coal_usecs) { + edev->stats_coal_ticks = usecs_to_jiffies(edev->stats_coal_usecs); + schedule_delayed_work(&edev->periodic_task, 0); + + DP_INFO(edev, "Configured stats coal ticks=%lu jiffies\n", + edev->stats_coal_ticks); + } else { + cancel_delayed_work_sync(&edev->periodic_task); + } + } + if (!netif_running(dev)) { DP_INFO(edev, "Interface is down\n"); return -EINVAL; @@ -2236,7 +2254,8 @@ } static const struct ethtool_ops qede_ethtool_ops = { - .supported_coalesce_params = ETHTOOL_COALESCE_USECS, + .supported_coalesce_params = ETHTOOL_COALESCE_USECS | + ETHTOOL_COALESCE_STATS_BLOCK_USECS, .get_link_ksettings = qede_get_link_ksettings, .set_link_ksettings = qede_set_link_ksettings, .get_drvinfo = qede_get_drvinfo, @@ -2287,7 +2306,8 @@ }; static const struct ethtool_ops qede_vf_ethtool_ops = { - .supported_coalesce_params = ETHTOOL_COALESCE_USECS, + .supported_coalesce_params = ETHTOOL_COALESCE_USECS | + ETHTOOL_COALESCE_STATS_BLOCK_USECS, .get_link_ksettings = qede_get_link_ksettings, .get_drvinfo = qede_get_drvinfo, .get_msglevel = qede_get_msglevel, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/qualcomm/qca_spi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/qualcomm/qca_spi.c @@ -582,8 +582,7 @@ while (!kthread_should_stop()) { set_current_state(TASK_INTERRUPTIBLE); if ((qca->intr_req == qca->intr_svc) && - (qca->txr.skb[qca->txr.head] == NULL) && - (qca->sync == QCASPI_SYNC_READY)) + !qca->txr.skb[qca->txr.head]) schedule(); set_current_state(TASK_RUNNING); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ethernet/sfc/ef100_tx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ethernet/sfc/ef100_tx.c @@ -349,7 +349,8 @@ * Returns 0 on success, error code otherwise. In case of an error this * function will free the SKB. */ -int ef100_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb) +netdev_tx_t ef100_enqueue_skb(struct efx_tx_queue *tx_queue, + struct sk_buff *skb) { unsigned int old_insert_count = tx_queue->insert_count; struct efx_nic *efx = tx_queue->efx; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/gtp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/gtp.c @@ -298,7 +298,9 @@ gtp->sk1u = NULL; udp_sk(sk)->encap_type = 0; rcu_assign_sk_user_data(sk, NULL); + release_sock(sk); sock_put(sk); + return; } release_sock(sk); } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/ppp/pptp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/ppp/pptp.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -128,6 +129,23 @@ spin_unlock(&chan_lock); } +static struct rtable *pptp_route_output(struct pppox_sock *po, + struct flowi4 *fl4) +{ + struct sock *sk = &po->sk; + struct net *net; + + net = sock_net(sk); + flowi4_init_output(fl4, sk->sk_bound_dev_if, sk->sk_mark, 0, + RT_SCOPE_UNIVERSE, IPPROTO_GRE, 0, + po->proto.pptp.dst_addr.sin_addr.s_addr, + po->proto.pptp.src_addr.sin_addr.s_addr, + 0, 0, sock_net_uid(net, sk)); + security_sk_classify_flow(sk, flowi4_to_flowi_common(fl4)); + + return ip_route_output_flow(net, fl4, sk); +} + static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb) { struct sock *sk = (struct sock *) chan->private; @@ -151,11 +169,7 @@ if (sk_pppox(po)->sk_state & PPPOX_DEAD) goto tx_error; - rt = ip_route_output_ports(net, &fl4, NULL, - opt->dst_addr.sin_addr.s_addr, - opt->src_addr.sin_addr.s_addr, - 0, 0, IPPROTO_GRE, - RT_TOS(0), sk->sk_bound_dev_if); + rt = pptp_route_output(po, &fl4); if (IS_ERR(rt)) goto tx_error; @@ -438,12 +452,7 @@ po->chan.private = sk; po->chan.ops = &pptp_chan_ops; - rt = ip_route_output_ports(sock_net(sk), &fl4, sk, - opt->dst_addr.sin_addr.s_addr, - opt->src_addr.sin_addr.s_addr, - 0, 0, - IPPROTO_GRE, RT_CONN_FLAGS(sk), - sk->sk_bound_dev_if); + rt = pptp_route_output(po, &fl4); if (IS_ERR(rt)) { error = -EHOSTUNREACH; goto end; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/wireguard/send.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireguard/send.c @@ -318,7 +318,7 @@ goto err; ret = wg_queue_enqueue_per_device_and_peer(&wg->encrypt_queue, &peer->tx_queue, first, - wg->packet_crypt_wq, &wg->encrypt_queue.last_cpu); + wg->packet_crypt_wq); if (unlikely(ret == -EPIPE)) wg_queue_enqueue_per_peer_tx(first, PACKET_STATE_DEAD); err: only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/wireless/ath/ath9k/ar9003_hw.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/ath/ath9k/ar9003_hw.c @@ -1099,17 +1099,22 @@ { u32 dma_dbg_chain, dma_dbg_complete; u8 dcu_chain_state, dcu_complete_state; + unsigned int dbg_reg, reg_offset; int i; - for (i = 0; i < NUM_STATUS_READS; i++) { - if (queue < 6) - dma_dbg_chain = REG_READ(ah, AR_DMADBG_4); - else - dma_dbg_chain = REG_READ(ah, AR_DMADBG_5); + if (queue < 6) { + dbg_reg = AR_DMADBG_4; + reg_offset = queue * 5; + } else { + dbg_reg = AR_DMADBG_5; + reg_offset = (queue - 6) * 5; + } + for (i = 0; i < NUM_STATUS_READS; i++) { + dma_dbg_chain = REG_READ(ah, dbg_reg); dma_dbg_complete = REG_READ(ah, AR_DMADBG_6); - dcu_chain_state = (dma_dbg_chain >> (5 * queue)) & 0x1f; + dcu_chain_state = (dma_dbg_chain >> reg_offset) & 0x1f; dcu_complete_state = dma_dbg_complete & 0x3; if ((dcu_chain_state != 0x6) || (dcu_complete_state != 0x1)) @@ -1128,6 +1133,7 @@ u8 dcu_chain_state, dcu_complete_state; bool dcu_wait_frdone = false; unsigned long chk_dcu = 0; + unsigned int reg_offset; unsigned int i = 0; dma_dbg_4 = REG_READ(ah, AR_DMADBG_4); @@ -1139,12 +1145,15 @@ goto exit; for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) { - if (i < 6) + if (i < 6) { chk_dbg = dma_dbg_4; - else + reg_offset = i * 5; + } else { chk_dbg = dma_dbg_5; + reg_offset = (i - 6) * 5; + } - dcu_chain_state = (chk_dbg >> (5 * i)) & 0x1f; + dcu_chain_state = (chk_dbg >> reg_offset) & 0x1f; if (dcu_chain_state == 0x6) { dcu_wait_frdone = true; chk_dcu |= BIT(i); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/wireless/atmel/atmel_cs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/atmel/atmel_cs.c @@ -72,6 +72,7 @@ static int atmel_probe(struct pcmcia_device *p_dev) { struct local_info *local; + int ret; dev_dbg(&p_dev->dev, "atmel_attach()\n"); @@ -82,8 +83,16 @@ p_dev->priv = local; - return atmel_config(p_dev); -} /* atmel_attach */ + ret = atmel_config(p_dev); + if (ret) + goto err_free_priv; + + return 0; + +err_free_priv: + kfree(p_dev->priv); + return ret; +} static void atmel_detach(struct pcmcia_device *link) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/wireless/intersil/orinoco/orinoco_cs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intersil/orinoco/orinoco_cs.c @@ -96,6 +96,7 @@ { struct orinoco_private *priv; struct orinoco_pccard *card; + int ret; priv = alloc_orinocodev(sizeof(*card), &link->dev, orinoco_cs_hard_reset, NULL); @@ -107,8 +108,16 @@ card->p_dev = link; link->priv = priv; - return orinoco_cs_config(link); -} /* orinoco_cs_attach */ + ret = orinoco_cs_config(link); + if (ret) + goto err_free_orinocodev; + + return 0; + +err_free_orinocodev: + free_orinocodev(priv); + return ret; +} static void orinoco_cs_detach(struct pcmcia_device *link) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/wireless/intersil/orinoco/spectrum_cs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/intersil/orinoco/spectrum_cs.c @@ -157,6 +157,7 @@ { struct orinoco_private *priv; struct orinoco_pccard *card; + int ret; priv = alloc_orinocodev(sizeof(*card), &link->dev, spectrum_cs_hard_reset, @@ -169,8 +170,16 @@ card->p_dev = link; link->priv = priv; - return spectrum_cs_config(link); -} /* spectrum_cs_attach */ + ret = spectrum_cs_config(link); + if (ret) + goto err_free_orinocodev; + + return 0; + +err_free_orinocodev: + free_orinocodev(priv); + return ret; +} static void spectrum_cs_detach(struct pcmcia_device *link) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/net/wireless/marvell/mwifiex/scan.c +++ linux-intel-iotg-5.15-5.15.0/drivers/net/wireless/marvell/mwifiex/scan.c @@ -2199,9 +2199,9 @@ if (nd_config) { adapter->nd_info = - kzalloc(sizeof(struct cfg80211_wowlan_nd_match) + - sizeof(struct cfg80211_wowlan_nd_match *) * - scan_rsp->number_of_sets, GFP_ATOMIC); + kzalloc(struct_size(adapter->nd_info, matches, + scan_rsp->number_of_sets), + GFP_ATOMIC); if (adapter->nd_info) adapter->nd_info->n_matches = scan_rsp->number_of_sets; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/nfc/nfcsim.c +++ linux-intel-iotg-5.15-5.15.0/drivers/nfc/nfcsim.c @@ -336,10 +336,6 @@ static void nfcsim_debugfs_init(void) { nfcsim_debugfs_root = debugfs_create_dir("nfcsim", NULL); - - if (!nfcsim_debugfs_root) - pr_err("Could not create debugfs entry\n"); - } static void nfcsim_debugfs_remove(void) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/ntb/hw/amd/ntb_hw_amd.c +++ linux-intel-iotg-5.15-5.15.0/drivers/ntb/hw/amd/ntb_hw_amd.c @@ -1336,12 +1336,17 @@ static int __init amd_ntb_pci_driver_init(void) { + int ret; pr_info("%s %s\n", NTB_DESC, NTB_VER); if (debugfs_initialized()) debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, NULL); - return pci_register_driver(&amd_ntb_pci_driver); + ret = pci_register_driver(&amd_ntb_pci_driver); + if (ret) + debugfs_remove_recursive(debugfs_dir); + + return ret; } module_init(amd_ntb_pci_driver_init); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/ntb/hw/idt/ntb_hw_idt.c +++ linux-intel-iotg-5.15-5.15.0/drivers/ntb/hw/idt/ntb_hw_idt.c @@ -2891,6 +2891,7 @@ static int __init idt_pci_driver_init(void) { + int ret; pr_info("%s %s\n", NTB_DESC, NTB_VER); /* Create the top DebugFS directory if the FS is initialized */ @@ -2898,7 +2899,11 @@ dbgfs_topdir = debugfs_create_dir(KBUILD_MODNAME, NULL); /* Register the NTB hardware driver to handle the PCI device */ - return pci_register_driver(&idt_pci_driver); + ret = pci_register_driver(&idt_pci_driver); + if (ret) + debugfs_remove_recursive(dbgfs_topdir); + + return ret; } module_init(idt_pci_driver_init); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/ntb/hw/intel/ntb_hw_gen1.c +++ linux-intel-iotg-5.15-5.15.0/drivers/ntb/hw/intel/ntb_hw_gen1.c @@ -2060,12 +2060,17 @@ static int __init intel_ntb_pci_driver_init(void) { + int ret; pr_info("%s %s\n", NTB_DESC, NTB_VER); if (debugfs_initialized()) debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, NULL); - return pci_register_driver(&intel_ntb_pci_driver); + ret = pci_register_driver(&intel_ntb_pci_driver); + if (ret) + debugfs_remove_recursive(debugfs_dir); + + return ret; } module_init(intel_ntb_pci_driver_init); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/ntb/ntb_transport.c +++ linux-intel-iotg-5.15-5.15.0/drivers/ntb/ntb_transport.c @@ -410,7 +410,7 @@ rc = device_register(dev); if (rc) { - kfree(client_dev); + put_device(dev); goto err; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/nubus/proc.c +++ linux-intel-iotg-5.15-5.15.0/drivers/nubus/proc.c @@ -137,6 +137,18 @@ return 0; } +static int nubus_rsrc_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, nubus_proc_rsrc_show, inode); +} + +static const struct proc_ops nubus_rsrc_proc_ops = { + .proc_open = nubus_rsrc_proc_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = single_release, +}; + void nubus_proc_add_rsrc_mem(struct proc_dir_entry *procdir, const struct nubus_dirent *ent, unsigned int size) @@ -152,8 +164,8 @@ pde_data = nubus_proc_alloc_pde_data(nubus_dirptr(ent), size); else pde_data = NULL; - proc_create_single_data(name, S_IFREG | 0444, procdir, - nubus_proc_rsrc_show, pde_data); + proc_create_data(name, S_IFREG | 0444, procdir, + &nubus_rsrc_proc_ops, pde_data); } void nubus_proc_add_rsrc(struct proc_dir_entry *procdir, @@ -166,9 +178,9 @@ return; snprintf(name, sizeof(name), "%x", ent->type); - proc_create_single_data(name, S_IFREG | 0444, procdir, - nubus_proc_rsrc_show, - nubus_proc_alloc_pde_data(data, 0)); + proc_create_data(name, S_IFREG | 0444, procdir, + &nubus_rsrc_proc_ops, + nubus_proc_alloc_pde_data(data, 0)); } /* only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pci/controller/cadence/pcie-cadence-host.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/cadence/pcie-cadence-host.c @@ -12,6 +12,8 @@ #include "pcie-cadence.h" +#define LINK_RETRAIN_TIMEOUT HZ + static u64 bar_max_size[] = { [RP_BAR0] = _ULL(128 * SZ_2G), [RP_BAR1] = SZ_2G, @@ -77,6 +79,27 @@ .write = pci_generic_config_write, }; +static int cdns_pcie_host_training_complete(struct cdns_pcie *pcie) +{ + u32 pcie_cap_off = CDNS_PCIE_RP_CAP_OFFSET; + unsigned long end_jiffies; + u16 lnk_stat; + + /* Wait for link training to complete. Exit after timeout. */ + end_jiffies = jiffies + LINK_RETRAIN_TIMEOUT; + do { + lnk_stat = cdns_pcie_rp_readw(pcie, pcie_cap_off + PCI_EXP_LNKSTA); + if (!(lnk_stat & PCI_EXP_LNKSTA_LT)) + break; + usleep_range(0, 1000); + } while (time_before(jiffies, end_jiffies)); + + if (!(lnk_stat & PCI_EXP_LNKSTA_LT)) + return 0; + + return -ETIMEDOUT; +} + static int cdns_pcie_host_wait_for_link(struct cdns_pcie *pcie) { struct device *dev = pcie->dev; @@ -118,6 +141,10 @@ cdns_pcie_rp_writew(pcie, pcie_cap_off + PCI_EXP_LNKCTL, lnk_ctl); + ret = cdns_pcie_host_training_complete(pcie); + if (ret) + return ret; + ret = cdns_pcie_host_wait_for_link(pcie); } return ret; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pci/controller/pci-ftpci100.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pci-ftpci100.c @@ -442,22 +442,12 @@ p->dev = dev; /* Retrieve and enable optional clocks */ - clk = devm_clk_get(dev, "PCLK"); + clk = devm_clk_get_enabled(dev, "PCLK"); if (IS_ERR(clk)) return PTR_ERR(clk); - ret = clk_prepare_enable(clk); - if (ret) { - dev_err(dev, "could not prepare PCLK\n"); - return ret; - } - p->bus_clk = devm_clk_get(dev, "PCICLK"); + p->bus_clk = devm_clk_get_enabled(dev, "PCICLK"); if (IS_ERR(p->bus_clk)) return PTR_ERR(p->bus_clk); - ret = clk_prepare_enable(p->bus_clk); - if (ret) { - dev_err(dev, "could not prepare PCICLK\n"); - return ret; - } p->base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(p->base)) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pci/controller/pcie-rockchip.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pcie-rockchip.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -153,6 +154,12 @@ } EXPORT_SYMBOL_GPL(rockchip_pcie_parse_dt); +#define rockchip_pcie_read_addr(addr) rockchip_pcie_read(rockchip, addr) +/* 100 ms max wait time for PHY PLLs to lock */ +#define RK_PHY_PLL_LOCK_TIMEOUT_US 100000 +/* Sleep should be less than 20ms */ +#define RK_PHY_PLL_LOCK_SLEEP_US 1000 + int rockchip_pcie_init_port(struct rockchip_pcie *rockchip) { struct device *dev = rockchip->dev; @@ -254,6 +261,16 @@ } } + err = readx_poll_timeout(rockchip_pcie_read_addr, + PCIE_CLIENT_SIDE_BAND_STATUS, + regs, !(regs & PCIE_CLIENT_PHY_ST), + RK_PHY_PLL_LOCK_SLEEP_US, + RK_PHY_PLL_LOCK_TIMEOUT_US); + if (err) { + dev_err(dev, "PHY PLLs could not lock, %d\n", err); + goto err_power_off_phy; + } + /* * Please don't reorder the deassert sequence of the following * four reset pins. only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pci/controller/pcie-rockchip.h +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/controller/pcie-rockchip.h @@ -38,6 +38,13 @@ #define PCIE_CLIENT_MODE_EP HIWORD_UPDATE(0x0040, 0) #define PCIE_CLIENT_GEN_SEL_1 HIWORD_UPDATE(0x0080, 0) #define PCIE_CLIENT_GEN_SEL_2 HIWORD_UPDATE_BIT(0x0080) +#define PCIE_CLIENT_LEGACY_INT_CTRL (PCIE_CLIENT_BASE + 0x0c) +#define PCIE_CLIENT_INT_IN_ASSERT HIWORD_UPDATE_BIT(0x0002) +#define PCIE_CLIENT_INT_IN_DEASSERT HIWORD_UPDATE(0x0002, 0) +#define PCIE_CLIENT_INT_PEND_ST_PEND HIWORD_UPDATE_BIT(0x0001) +#define PCIE_CLIENT_INT_PEND_ST_NORMAL HIWORD_UPDATE(0x0001, 0) +#define PCIE_CLIENT_SIDE_BAND_STATUS (PCIE_CLIENT_BASE + 0x20) +#define PCIE_CLIENT_PHY_ST BIT(12) #define PCIE_CLIENT_DEBUG_OUT_0 (PCIE_CLIENT_BASE + 0x3c) #define PCIE_CLIENT_DEBUG_LTSSM_MASK GENMASK(5, 0) #define PCIE_CLIENT_DEBUG_LTSSM_L1 0x18 @@ -133,6 +140,8 @@ #define PCIE_RC_RP_ATS_BASE 0x400000 #define PCIE_RC_CONFIG_NORMAL_BASE 0x800000 #define PCIE_RC_CONFIG_BASE 0xa00000 +#define PCIE_EP_CONFIG_BASE 0xa00000 +#define PCIE_EP_CONFIG_DID_VID (PCIE_EP_CONFIG_BASE + 0x00) #define PCIE_RC_CONFIG_RID_CCR (PCIE_RC_CONFIG_BASE + 0x08) #define PCIE_RC_CONFIG_SCC_SHIFT 16 #define PCIE_RC_CONFIG_DCR (PCIE_RC_CONFIG_BASE + 0xc4) @@ -217,6 +226,7 @@ #define ROCKCHIP_PCIE_EP_CMD_STATUS 0x4 #define ROCKCHIP_PCIE_EP_CMD_STATUS_IS BIT(19) #define ROCKCHIP_PCIE_EP_MSI_CTRL_REG 0x90 +#define ROCKCHIP_PCIE_EP_MSI_FLAGS_OFFSET 16 #define ROCKCHIP_PCIE_EP_MSI_CTRL_MMC_OFFSET 17 #define ROCKCHIP_PCIE_EP_MSI_CTRL_MMC_MASK GENMASK(19, 17) #define ROCKCHIP_PCIE_EP_MSI_CTRL_MME_OFFSET 20 @@ -224,7 +234,6 @@ #define ROCKCHIP_PCIE_EP_MSI_CTRL_ME BIT(16) #define ROCKCHIP_PCIE_EP_MSI_CTRL_MASK_MSI_CAP BIT(24) #define ROCKCHIP_PCIE_EP_DUMMY_IRQ_ADDR 0x1 -#define ROCKCHIP_PCIE_EP_PCI_LEGACY_IRQ_ADDR 0x3 #define ROCKCHIP_PCIE_EP_FUNC_BASE(fn) (((fn) << 12) & GENMASK(19, 12)) #define ROCKCHIP_PCIE_AT_IB_EP_FUNC_BAR_ADDR0(fn, bar) \ (PCIE_RC_RP_ATS_BASE + 0x0840 + (fn) * 0x0040 + (bar) * 0x0008) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pci/hotplug/pciehp_ctrl.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pci/hotplug/pciehp_ctrl.c @@ -256,6 +256,14 @@ present = pciehp_card_present(ctrl); link_active = pciehp_check_link_active(ctrl); if (present <= 0 && link_active <= 0) { + if (ctrl->state == BLINKINGON_STATE) { + ctrl->state = OFF_STATE; + cancel_delayed_work(&ctrl->button_work); + pciehp_set_indicators(ctrl, PCI_EXP_SLTCTL_PWR_IND_OFF, + INDICATOR_NOOP); + ctrl_info(ctrl, "Slot(%s): Card not present\n", + slot_name(ctrl)); + } mutex_unlock(&ctrl->state_lock); return; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pinctrl/intel/pinctrl-cherryview.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/intel/pinctrl-cherryview.c @@ -945,11 +945,6 @@ break; - case PIN_CONFIG_DRIVE_OPEN_DRAIN: - if (!(ctrl1 & CHV_PADCTRL1_ODEN)) - return -EINVAL; - break; - case PIN_CONFIG_BIAS_HIGH_IMPEDANCE: { u32 cfg; @@ -959,6 +954,16 @@ return -EINVAL; break; + + case PIN_CONFIG_DRIVE_PUSH_PULL: + if (ctrl1 & CHV_PADCTRL1_ODEN) + return -EINVAL; + break; + + case PIN_CONFIG_DRIVE_OPEN_DRAIN: + if (!(ctrl1 & CHV_PADCTRL1_ODEN)) + return -EINVAL; + break; } default: only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pinctrl/meson/pinctrl-meson-axg.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/meson/pinctrl-meson-axg.c @@ -400,6 +400,7 @@ GPIO_GROUP(GPIOA_15), GPIO_GROUP(GPIOA_16), GPIO_GROUP(GPIOA_17), + GPIO_GROUP(GPIOA_18), GPIO_GROUP(GPIOA_19), GPIO_GROUP(GPIOA_20), only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pinctrl/pinctrl-amd.h +++ linux-intel-iotg-5.15-5.15.0/drivers/pinctrl/pinctrl-amd.h @@ -17,6 +17,7 @@ #define AMD_GPIO_PINS_BANK3 32 #define WAKE_INT_MASTER_REG 0xfc +#define INTERNAL_GPIO0_DEBOUNCE (1 << 15) #define EOI_MASK (1 << 29) #define WAKE_INT_STATUS_REG0 0x2f8 only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/power/supply/ab8500_btemp.c +++ linux-intel-iotg-5.15-5.15.0/drivers/power/supply/ab8500_btemp.c @@ -902,10 +902,8 @@ */ static void ab8500_btemp_external_power_changed(struct power_supply *psy) { - struct ab8500_btemp *di = power_supply_get_drvdata(psy); - - class_for_each_device(power_supply_class, NULL, - di->btemp_psy, ab8500_btemp_get_ext_psy_data); + class_for_each_device(power_supply_class, NULL, psy, + ab8500_btemp_get_ext_psy_data); } /* ab8500 btemp driver interrupts and their respective isr */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/power/supply/power_supply_sysfs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/power/supply/power_supply_sysfs.c @@ -276,7 +276,8 @@ if (ret < 0) { if (ret == -ENODATA) - dev_dbg(dev, "driver has no data for `%s' property\n", + dev_dbg_ratelimited(dev, + "driver has no data for `%s' property\n", attr->attr.name); else if (ret != -ENODEV && ret != -EAGAIN) dev_err_ratelimited(dev, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/power/supply/sc27xx_fuel_gauge.c +++ linux-intel-iotg-5.15-5.15.0/drivers/power/supply/sc27xx_fuel_gauge.c @@ -733,13 +733,6 @@ return ret; } -static void sc27xx_fgu_external_power_changed(struct power_supply *psy) -{ - struct sc27xx_fgu_data *data = power_supply_get_drvdata(psy); - - power_supply_changed(data->battery); -} - static int sc27xx_fgu_property_is_writeable(struct power_supply *psy, enum power_supply_property psp) { @@ -774,7 +767,7 @@ .num_properties = ARRAY_SIZE(sc27xx_fgu_props), .get_property = sc27xx_fgu_get_property, .set_property = sc27xx_fgu_set_property, - .external_power_changed = sc27xx_fgu_external_power_changed, + .external_power_changed = power_supply_changed, .property_is_writeable = sc27xx_fgu_property_is_writeable, .no_thermal = true, }; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/powercap/Kconfig +++ linux-intel-iotg-5.15-5.15.0/drivers/powercap/Kconfig @@ -18,10 +18,12 @@ # Client driver configurations go here. config INTEL_RAPL_CORE tristate + depends on PCI + select IOSF_MBI config INTEL_RAPL tristate "Intel RAPL Support via MSR Interface" - depends on X86 && IOSF_MBI + depends on X86 && PCI select INTEL_RAPL_CORE help This enables support for the Intel Running Average Power Limit (RAPL) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pwm/pwm-ab8500.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pwm/pwm-ab8500.c @@ -96,7 +96,7 @@ int err; if (pdev->id < 1 || pdev->id > 31) - return dev_err_probe(&pdev->dev, EINVAL, "Invalid device id %d\n", pdev->id); + return dev_err_probe(&pdev->dev, -EINVAL, "Invalid device id %d\n", pdev->id); /* * Nothing to be done in probe, this is required to get the only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pwm/pwm-imx-tpm.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pwm/pwm-imx-tpm.c @@ -397,6 +397,13 @@ if (tpm->enable_count > 0) return -EBUSY; + /* + * Force 'real_period' to be zero to force period update code + * can be executed after system resume back, since suspend causes + * the period related registers to become their reset values. + */ + tpm->real_period = 0; + clk_disable_unprepare(tpm->clk); return 0; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/pwm/sysfs.c +++ linux-intel-iotg-5.15-5.15.0/drivers/pwm/sysfs.c @@ -424,6 +424,13 @@ if (!export) continue; + /* If pwmchip was not enabled before suspend, do nothing. */ + if (!export->suspend.enabled) { + /* release lock taken in pwm_class_get_state */ + mutex_unlock(&export->lock); + continue; + } + state.enabled = export->suspend.enabled; ret = pwm_class_apply_state(export, pwm, &state); if (ret < 0) @@ -448,7 +455,17 @@ if (!export) continue; + /* + * If pwmchip was not enabled before suspend, save + * state for resume time and do nothing else. + */ export->suspend = state; + if (!state.enabled) { + /* release lock taken in pwm_class_get_state */ + mutex_unlock(&export->lock); + continue; + } + state.enabled = false; ret = pwm_class_apply_state(export, pwm, &state); if (ret < 0) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/s390/block/dasd_ioctl.c +++ linux-intel-iotg-5.15-5.15.0/drivers/s390/block/dasd_ioctl.c @@ -502,10 +502,10 @@ memcpy(dasd_info->type, base->discipline->name, 4); - spin_lock_irqsave(&block->queue_lock, flags); + spin_lock_irqsave(get_ccwdev_lock(base->cdev), flags); list_for_each(l, &base->ccw_queue) dasd_info->chanq_len++; - spin_unlock_irqrestore(&block->queue_lock, flags); + spin_unlock_irqrestore(get_ccwdev_lock(base->cdev), flags); return 0; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/s390/net/qeth_l3_sys.c +++ linux-intel-iotg-5.15-5.15.0/drivers/s390/net/qeth_l3_sys.c @@ -652,7 +652,7 @@ static ssize_t qeth_l3_dev_vipa_del4_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - return qeth_l3_vipa_store(dev, buf, true, count, QETH_PROT_IPV4); + return qeth_l3_vipa_store(dev, buf, false, count, QETH_PROT_IPV4); } static QETH_DEVICE_ATTR(vipa_del4, del4, 0200, NULL, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/scsi/3w-xxxx.c +++ linux-intel-iotg-5.15-5.15.0/drivers/scsi/3w-xxxx.c @@ -2305,8 +2305,10 @@ TW_DISABLE_INTERRUPTS(tw_dev); /* Initialize the card */ - if (tw_reset_sequence(tw_dev)) + if (tw_reset_sequence(tw_dev)) { + retval = -EINVAL; goto out_release_mem_region; + } /* Set host specific parameters */ host->max_id = TW_MAX_UNITS; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/soc/fsl/qe/Kconfig +++ linux-intel-iotg-5.15-5.15.0/drivers/soc/fsl/qe/Kconfig @@ -39,6 +39,7 @@ config QE_USB bool + depends on QUICC_ENGINE default y if USB_FSL_QE help QE USB Controller support only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/spi/spi-fsl-dspi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-fsl-dspi.c @@ -975,7 +975,9 @@ static int dspi_setup(struct spi_device *spi) { struct fsl_dspi *dspi = spi_controller_get_devdata(spi->controller); + u32 period_ns = DIV_ROUND_UP(NSEC_PER_SEC, spi->max_speed_hz); unsigned char br = 0, pbr = 0, pcssck = 0, cssck = 0; + u32 quarter_period_ns = DIV_ROUND_UP(period_ns, 4); u32 cs_sck_delay = 0, sck_cs_delay = 0; struct fsl_dspi_platform_data *pdata; unsigned char pasc = 0, asc = 0; @@ -1003,6 +1005,19 @@ sck_cs_delay = pdata->sck_cs_delay; } + /* Since tCSC and tASC apply to continuous transfers too, avoid SCK + * glitches of half a cycle by never allowing tCSC + tASC to go below + * half a SCK period. + */ + if (cs_sck_delay < quarter_period_ns) + cs_sck_delay = quarter_period_ns; + if (sck_cs_delay < quarter_period_ns) + sck_cs_delay = quarter_period_ns; + + dev_dbg(&spi->dev, + "DSPI controller timing params: CS-to-SCK delay %u ns, SCK-to-CS delay %u ns\n", + cs_sck_delay, sck_cs_delay); + clkrate = clk_get_rate(dspi->clk); hz_to_spi_baud(&pbr, &br, spi->max_speed_hz, clkrate); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/spi/spi-fsl-lpspi.c +++ linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-fsl-lpspi.c @@ -906,9 +906,14 @@ ret = fsl_lpspi_dma_init(&pdev->dev, fsl_lpspi, controller); if (ret == -EPROBE_DEFER) goto out_pm_get; - if (ret < 0) dev_err(&pdev->dev, "dma setup error %d, use pio\n", ret); + else + /* + * disable LPSPI module IRQ when enable DMA mode successfully, + * to prevent the unexpected LPSPI module IRQ events. + */ + disable_irq(irq); ret = devm_spi_register_controller(&pdev->dev, controller); if (ret < 0) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/spi/spi-geni-qcom.c +++ linux-intel-iotg-5.15-5.15.0/drivers/spi/spi-geni-qcom.c @@ -32,7 +32,7 @@ #define CS_DEMUX_OUTPUT_SEL GENMASK(3, 0) #define SE_SPI_TRANS_CFG 0x25c -#define CS_TOGGLE BIT(0) +#define CS_TOGGLE BIT(1) #define SE_SPI_WORD_LEN 0x268 #define WORD_LEN_MSK GENMASK(9, 0) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c +++ linux-intel-iotg-5.15-5.15.0/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c @@ -347,7 +347,7 @@ hw = &div->hw; ret = devm_clk_hw_register(dev, hw); if (ret) - hw = ERR_PTR(ret); + return ERR_PTR(ret); return hw->clk; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/target/iscsi/iscsi_target_nego.c +++ linux-intel-iotg-5.15-5.15.0/drivers/target/iscsi/iscsi_target_nego.c @@ -1071,6 +1071,7 @@ iscsi_target_set_sock_callbacks(conn); login->np = np; + conn->tpg = NULL; login_req = (struct iscsi_login_req *) login->req; payload_length = ntoh24(login_req->dlength); @@ -1138,7 +1139,6 @@ */ sessiontype = strncmp(s_buf, DISCOVERY, 9); if (!sessiontype) { - conn->tpg = iscsit_global->discovery_tpg; if (!login->leading_connection) goto get_target; @@ -1155,9 +1155,11 @@ * Serialize access across the discovery struct iscsi_portal_group to * process login attempt. */ + conn->tpg = iscsit_global->discovery_tpg; if (iscsit_access_np(np, conn->tpg) < 0) { iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR, ISCSI_LOGIN_STATUS_SVC_UNAVAILABLE); + conn->tpg = NULL; ret = -1; goto out; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/tee/amdtee/amdtee_if.h +++ linux-intel-iotg-5.15-5.15.0/drivers/tee/amdtee/amdtee_if.h @@ -118,16 +118,18 @@ /** * struct tee_cmd_load_ta - load Trusted Application (TA) binary into TEE - * @low_addr: [in] bits [31:0] of the physical address of the TA binary - * @hi_addr: [in] bits [63:32] of the physical address of the TA binary - * @size: [in] size of TA binary in bytes - * @ta_handle: [out] return handle of the loaded TA + * @low_addr: [in] bits [31:0] of the physical address of the TA binary + * @hi_addr: [in] bits [63:32] of the physical address of the TA binary + * @size: [in] size of TA binary in bytes + * @ta_handle: [out] return handle of the loaded TA + * @return_origin: [out] origin of return code after TEE processing */ struct tee_cmd_load_ta { u32 low_addr; u32 hi_addr; u32 size; u32 ta_handle; + u32 return_origin; }; /** only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/tee/amdtee/call.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tee/amdtee/call.c @@ -423,19 +423,23 @@ if (ret) { arg->ret_origin = TEEC_ORIGIN_COMMS; arg->ret = TEEC_ERROR_COMMUNICATION; - } else if (arg->ret == TEEC_SUCCESS) { - ret = get_ta_refcount(load_cmd.ta_handle); - if (!ret) { - arg->ret_origin = TEEC_ORIGIN_COMMS; - arg->ret = TEEC_ERROR_OUT_OF_MEMORY; + } else { + arg->ret_origin = load_cmd.return_origin; - /* Unload the TA on error */ - unload_cmd.ta_handle = load_cmd.ta_handle; - psp_tee_process_cmd(TEE_CMD_ID_UNLOAD_TA, - (void *)&unload_cmd, - sizeof(unload_cmd), &ret); - } else { - set_session_id(load_cmd.ta_handle, 0, &arg->session); + if (arg->ret == TEEC_SUCCESS) { + ret = get_ta_refcount(load_cmd.ta_handle); + if (!ret) { + arg->ret_origin = TEEC_ORIGIN_COMMS; + arg->ret = TEEC_ERROR_OUT_OF_MEMORY; + + /* Unload the TA on error */ + unload_cmd.ta_handle = load_cmd.ta_handle; + psp_tee_process_cmd(TEE_CMD_ID_UNLOAD_TA, + (void *)&unload_cmd, + sizeof(unload_cmd), &ret); + } else { + set_session_id(load_cmd.ta_handle, 0, &arg->session); + } } } mutex_unlock(&ta_refcount_mutex); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/thermal/sun8i_thermal.c +++ linux-intel-iotg-5.15-5.15.0/drivers/thermal/sun8i_thermal.c @@ -319,6 +319,11 @@ return ret; } +static void sun8i_ths_reset_control_assert(void *data) +{ + reset_control_assert(data); +} + static int sun8i_ths_resource_init(struct ths_device *tmdev) { struct device *dev = tmdev->dev; @@ -339,47 +344,35 @@ if (IS_ERR(tmdev->reset)) return PTR_ERR(tmdev->reset); - tmdev->bus_clk = devm_clk_get(&pdev->dev, "bus"); + ret = reset_control_deassert(tmdev->reset); + if (ret) + return ret; + + ret = devm_add_action_or_reset(dev, sun8i_ths_reset_control_assert, + tmdev->reset); + if (ret) + return ret; + + tmdev->bus_clk = devm_clk_get_enabled(&pdev->dev, "bus"); if (IS_ERR(tmdev->bus_clk)) return PTR_ERR(tmdev->bus_clk); } if (tmdev->chip->has_mod_clk) { - tmdev->mod_clk = devm_clk_get(&pdev->dev, "mod"); + tmdev->mod_clk = devm_clk_get_enabled(&pdev->dev, "mod"); if (IS_ERR(tmdev->mod_clk)) return PTR_ERR(tmdev->mod_clk); } - ret = reset_control_deassert(tmdev->reset); - if (ret) - return ret; - - ret = clk_prepare_enable(tmdev->bus_clk); - if (ret) - goto assert_reset; - ret = clk_set_rate(tmdev->mod_clk, 24000000); if (ret) - goto bus_disable; - - ret = clk_prepare_enable(tmdev->mod_clk); - if (ret) - goto bus_disable; + return ret; ret = sun8i_ths_calibrate(tmdev); if (ret) - goto mod_disable; + return ret; return 0; - -mod_disable: - clk_disable_unprepare(tmdev->mod_clk); -bus_disable: - clk_disable_unprepare(tmdev->bus_clk); -assert_reset: - reset_control_assert(tmdev->reset); - - return ret; } static int sun8i_h3_thermal_init(struct ths_device *tmdev) @@ -530,17 +523,6 @@ return 0; } -static int sun8i_ths_remove(struct platform_device *pdev) -{ - struct ths_device *tmdev = platform_get_drvdata(pdev); - - clk_disable_unprepare(tmdev->mod_clk); - clk_disable_unprepare(tmdev->bus_clk); - reset_control_assert(tmdev->reset); - - return 0; -} - static const struct ths_thermal_chip sun8i_a83t_ths = { .sensor_num = 3, .scale = 705, @@ -642,7 +624,6 @@ static struct platform_driver ths_driver = { .probe = sun8i_ths_probe, - .remove = sun8i_ths_remove, .driver = { .name = "sun8i-thermal", .of_match_table = of_ths_match, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/thunderbolt/dma_test.c +++ linux-intel-iotg-5.15-5.15.0/drivers/thunderbolt/dma_test.c @@ -192,9 +192,9 @@ } ret = tb_xdomain_enable_paths(dt->xd, dt->tx_hopid, - dt->tx_ring ? dt->tx_ring->hop : 0, + dt->tx_ring ? dt->tx_ring->hop : -1, dt->rx_hopid, - dt->rx_ring ? dt->rx_ring->hop : 0); + dt->rx_ring ? dt->rx_ring->hop : -1); if (ret) { dma_test_free_rings(dt); return ret; @@ -218,9 +218,9 @@ tb_ring_stop(dt->tx_ring); ret = tb_xdomain_disable_paths(dt->xd, dt->tx_hopid, - dt->tx_ring ? dt->tx_ring->hop : 0, + dt->tx_ring ? dt->tx_ring->hop : -1, dt->rx_hopid, - dt->rx_ring ? dt->rx_ring->hop : 0); + dt->rx_ring ? dt->rx_ring->hop : -1); if (ret) dev_warn(&dt->svc->dev, "failed to disable DMA paths\n"); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/tty/serial/lantiq.c +++ linux-intel-iotg-5.15-5.15.0/drivers/tty/serial/lantiq.c @@ -274,6 +274,7 @@ struct ltq_uart_port *ltq_port = to_ltq_uart_port(port); spin_lock_irqsave(<q_port->lock, flags); + __raw_writel(ASC_IRNCR_EIR, port->membase + LTQ_ASC_IRNCR); /* clear any pending interrupts */ asc_update_bits(0, ASCWHBSTATE_CLRPE | ASCWHBSTATE_CLRFE | ASCWHBSTATE_CLRROE, port->membase + LTQ_ASC_WHBSTATE); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/usb/core/buffer.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/core/buffer.c @@ -172,3 +172,44 @@ } dma_free_coherent(hcd->self.sysdev, size, addr, dma); } + +void *hcd_buffer_alloc_pages(struct usb_hcd *hcd, + size_t size, gfp_t mem_flags, dma_addr_t *dma) +{ + if (size == 0) + return NULL; + + if (hcd->localmem_pool) + return gen_pool_dma_alloc_align(hcd->localmem_pool, + size, dma, PAGE_SIZE); + + /* some USB hosts just use PIO */ + if (!hcd_uses_dma(hcd)) { + *dma = DMA_MAPPING_ERROR; + return (void *)__get_free_pages(mem_flags, + get_order(size)); + } + + return dma_alloc_coherent(hcd->self.sysdev, + size, dma, mem_flags); +} + +void hcd_buffer_free_pages(struct usb_hcd *hcd, + size_t size, void *addr, dma_addr_t dma) +{ + if (!addr) + return; + + if (hcd->localmem_pool) { + gen_pool_free(hcd->localmem_pool, + (unsigned long)addr, size); + return; + } + + if (!hcd_uses_dma(hcd)) { + free_pages((unsigned long)addr, get_order(size)); + return; + } + + dma_free_coherent(hcd->self.sysdev, size, addr, dma); +} only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/usb/gadget/udc/amd5536udc_pci.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/gadget/udc/amd5536udc_pci.c @@ -170,6 +170,9 @@ retval = -ENODEV; goto err_probe; } + + udc = dev; + return 0; err_probe: only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/usb/phy/phy-tahvo.c +++ linux-intel-iotg-5.15-5.15.0/drivers/usb/phy/phy-tahvo.c @@ -395,7 +395,7 @@ tu->irq = ret = platform_get_irq(pdev, 0); if (ret < 0) - return ret; + goto err_remove_phy; ret = request_threaded_irq(tu->irq, NULL, tahvo_usb_vbus_interrupt, IRQF_ONESHOT, "tahvo-vbus", tu); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/drivers/video/fbdev/omap/lcd_mipid.c +++ linux-intel-iotg-5.15-5.15.0/drivers/video/fbdev/omap/lcd_mipid.c @@ -563,11 +563,15 @@ r = mipid_detect(md); if (r < 0) - return r; + goto free_md; omapfb_register_panel(&md->panel); return 0; + +free_md: + kfree(md); + return r; } static int mipid_spi_remove(struct spi_device *spi) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/afs/vl_probe.c +++ linux-intel-iotg-5.15-5.15.0/fs/afs/vl_probe.c @@ -115,8 +115,8 @@ } } - if (rxrpc_kernel_get_srtt(call->net->socket, call->rxcall, &rtt_us) && - rtt_us < server->probe.rtt) { + rxrpc_kernel_get_srtt(call->net->socket, call->rxcall, &rtt_us); + if (rtt_us < server->probe.rtt) { server->probe.rtt = rtt_us; server->rtt = rtt_us; alist->preferred = index; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/erofs/super.c +++ linux-intel-iotg-5.15-5.15.0/fs/erofs/super.c @@ -340,15 +340,15 @@ static void erofs_default_options(struct erofs_fs_context *ctx) { #ifdef CONFIG_EROFS_FS_ZIP - ctx->cache_strategy = EROFS_ZIP_CACHE_READAROUND; - ctx->max_sync_decompress_pages = 3; - ctx->readahead_sync_decompress = false; + ctx->opt.cache_strategy = EROFS_ZIP_CACHE_READAROUND; + ctx->opt.max_sync_decompress_pages = 3; + ctx->opt.readahead_sync_decompress = false; #endif #ifdef CONFIG_EROFS_FS_XATTR - set_opt(ctx, XATTR_USER); + set_opt(&ctx->opt, XATTR_USER); #endif #ifdef CONFIG_EROFS_FS_POSIX_ACL - set_opt(ctx, POSIX_ACL); + set_opt(&ctx->opt, POSIX_ACL); #endif } @@ -392,12 +392,12 @@ switch (mode) { case EROFS_MOUNT_DAX_ALWAYS: warnfc(fc, "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); - set_opt(ctx, DAX_ALWAYS); - clear_opt(ctx, DAX_NEVER); + set_opt(&ctx->opt, DAX_ALWAYS); + clear_opt(&ctx->opt, DAX_NEVER); return true; case EROFS_MOUNT_DAX_NEVER: - set_opt(ctx, DAX_NEVER); - clear_opt(ctx, DAX_ALWAYS); + set_opt(&ctx->opt, DAX_NEVER); + clear_opt(&ctx->opt, DAX_ALWAYS); return true; default: DBG_BUGON(1); @@ -424,9 +424,9 @@ case Opt_user_xattr: #ifdef CONFIG_EROFS_FS_XATTR if (result.boolean) - set_opt(ctx, XATTR_USER); + set_opt(&ctx->opt, XATTR_USER); else - clear_opt(ctx, XATTR_USER); + clear_opt(&ctx->opt, XATTR_USER); #else errorfc(fc, "{,no}user_xattr options not supported"); #endif @@ -434,16 +434,16 @@ case Opt_acl: #ifdef CONFIG_EROFS_FS_POSIX_ACL if (result.boolean) - set_opt(ctx, POSIX_ACL); + set_opt(&ctx->opt, POSIX_ACL); else - clear_opt(ctx, POSIX_ACL); + clear_opt(&ctx->opt, POSIX_ACL); #else errorfc(fc, "{,no}acl options not supported"); #endif break; case Opt_cache_strategy: #ifdef CONFIG_EROFS_FS_ZIP - ctx->cache_strategy = result.uint_32; + ctx->opt.cache_strategy = result.uint_32; #else errorfc(fc, "compression not supported, cache_strategy ignored"); #endif @@ -540,15 +540,16 @@ return -ENOMEM; sb->s_fs_info = sbi; + sbi->opt = ctx->opt; sbi->dax_dev = fs_dax_get_by_bdev(sb->s_bdev); err = erofs_read_superblock(sb); if (err) return err; - if (test_opt(ctx, DAX_ALWAYS) && + if (test_opt(&sbi->opt, DAX_ALWAYS) && !dax_supported(sbi->dax_dev, sb->s_bdev, EROFS_BLKSIZ, 0, bdev_nr_sectors(sb->s_bdev))) { errorfc(fc, "DAX unsupported by block device. Turning off DAX."); - clear_opt(ctx, DAX_ALWAYS); + clear_opt(&sbi->opt, DAX_ALWAYS); } sb->s_flags |= SB_RDONLY | SB_NOATIME; sb->s_maxbytes = MAX_LFS_FILESIZE; @@ -557,13 +558,11 @@ sb->s_op = &erofs_sops; sb->s_xattr = erofs_xattr_handlers; - if (test_opt(ctx, POSIX_ACL)) + if (test_opt(&sbi->opt, POSIX_ACL)) sb->s_flags |= SB_POSIXACL; else sb->s_flags &= ~SB_POSIXACL; - sbi->ctx = *ctx; - #ifdef CONFIG_EROFS_FS_ZIP xa_init(&sbi->managed_pslots); #endif @@ -607,12 +606,12 @@ DBG_BUGON(!sb_rdonly(sb)); - if (test_opt(ctx, POSIX_ACL)) + if (test_opt(&ctx->opt, POSIX_ACL)) fc->sb_flags |= SB_POSIXACL; else fc->sb_flags &= ~SB_POSIXACL; - sbi->ctx = *ctx; + sbi->opt = ctx->opt; fc->sb_flags |= SB_RDONLY; return 0; @@ -640,7 +639,6 @@ erofs_default_options(fc->fs_private); fc->ops = &erofs_context_ops; - return 0; } @@ -763,31 +761,31 @@ static int erofs_show_options(struct seq_file *seq, struct dentry *root) { struct erofs_sb_info *sbi = EROFS_SB(root->d_sb); - struct erofs_fs_context *ctx = &sbi->ctx; + struct erofs_mount_opts *opt = &sbi->opt; #ifdef CONFIG_EROFS_FS_XATTR - if (test_opt(ctx, XATTR_USER)) + if (test_opt(opt, XATTR_USER)) seq_puts(seq, ",user_xattr"); else seq_puts(seq, ",nouser_xattr"); #endif #ifdef CONFIG_EROFS_FS_POSIX_ACL - if (test_opt(ctx, POSIX_ACL)) + if (test_opt(opt, POSIX_ACL)) seq_puts(seq, ",acl"); else seq_puts(seq, ",noacl"); #endif #ifdef CONFIG_EROFS_FS_ZIP - if (ctx->cache_strategy == EROFS_ZIP_CACHE_DISABLED) + if (opt->cache_strategy == EROFS_ZIP_CACHE_DISABLED) seq_puts(seq, ",cache_strategy=disabled"); - else if (ctx->cache_strategy == EROFS_ZIP_CACHE_READAHEAD) + else if (opt->cache_strategy == EROFS_ZIP_CACHE_READAHEAD) seq_puts(seq, ",cache_strategy=readahead"); - else if (ctx->cache_strategy == EROFS_ZIP_CACHE_READAROUND) + else if (opt->cache_strategy == EROFS_ZIP_CACHE_READAROUND) seq_puts(seq, ",cache_strategy=readaround"); #endif - if (test_opt(ctx, DAX_ALWAYS)) + if (test_opt(opt, DAX_ALWAYS)) seq_puts(seq, ",dax=always"); - if (test_opt(ctx, DAX_NEVER)) + if (test_opt(opt, DAX_NEVER)) seq_puts(seq, ",dax=never"); return 0; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/erofs/xattr.c +++ linux-intel-iotg-5.15-5.15.0/fs/erofs/xattr.c @@ -429,7 +429,7 @@ static bool erofs_xattr_user_list(struct dentry *dentry) { - return test_opt(&EROFS_SB(dentry->d_sb)->ctx, XATTR_USER); + return test_opt(&EROFS_SB(dentry->d_sb)->opt, XATTR_USER); } static bool erofs_xattr_trusted_list(struct dentry *dentry) @@ -476,7 +476,7 @@ switch (handler->flags) { case EROFS_XATTR_INDEX_USER: - if (!test_opt(&sbi->ctx, XATTR_USER)) + if (!test_opt(&sbi->opt, XATTR_USER)) return -EOPNOTSUPP; break; case EROFS_XATTR_INDEX_TRUSTED: only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/jffs2/xattr.c +++ linux-intel-iotg-5.15-5.15.0/fs/jffs2/xattr.c @@ -772,10 +772,10 @@ } #define XREF_TMPHASH_SIZE (128) -void jffs2_build_xattr_subsystem(struct jffs2_sb_info *c) +int jffs2_build_xattr_subsystem(struct jffs2_sb_info *c) { struct jffs2_xattr_ref *ref, *_ref; - struct jffs2_xattr_ref *xref_tmphash[XREF_TMPHASH_SIZE]; + struct jffs2_xattr_ref **xref_tmphash; struct jffs2_xattr_datum *xd, *_xd; struct jffs2_inode_cache *ic; struct jffs2_raw_node_ref *raw; @@ -784,9 +784,12 @@ BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING)); + xref_tmphash = kcalloc(XREF_TMPHASH_SIZE, + sizeof(struct jffs2_xattr_ref *), GFP_KERNEL); + if (!xref_tmphash) + return -ENOMEM; + /* Phase.1 : Merge same xref */ - for (i=0; i < XREF_TMPHASH_SIZE; i++) - xref_tmphash[i] = NULL; for (ref=c->xref_temp; ref; ref=_ref) { struct jffs2_xattr_ref *tmp; @@ -884,6 +887,8 @@ "%u of xref (%u dead, %u orphan) found.\n", xdatum_count, xdatum_unchecked_count, xdatum_orphan_count, xref_count, xref_dead_count, xref_orphan_count); + kfree(xref_tmphash); + return 0; } struct jffs2_xattr_datum *jffs2_setup_xattr_datum(struct jffs2_sb_info *c, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/jffs2/xattr.h +++ linux-intel-iotg-5.15-5.15.0/fs/jffs2/xattr.h @@ -71,7 +71,7 @@ #ifdef CONFIG_JFFS2_FS_XATTR extern void jffs2_init_xattr_subsystem(struct jffs2_sb_info *c); -extern void jffs2_build_xattr_subsystem(struct jffs2_sb_info *c); +extern int jffs2_build_xattr_subsystem(struct jffs2_sb_info *c); extern void jffs2_clear_xattr_subsystem(struct jffs2_sb_info *c); extern struct jffs2_xattr_datum *jffs2_setup_xattr_datum(struct jffs2_sb_info *c, @@ -103,7 +103,7 @@ #else #define jffs2_init_xattr_subsystem(c) -#define jffs2_build_xattr_subsystem(c) +#define jffs2_build_xattr_subsystem(c) (0) #define jffs2_clear_xattr_subsystem(c) #define jffs2_xattr_do_crccheck_inode(c, ic) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/jfs/jfs_filsys.h +++ linux-intel-iotg-5.15-5.15.0/fs/jfs/jfs_filsys.h @@ -122,7 +122,9 @@ #define NUM_INODE_PER_IAG INOSPERIAG #define MINBLOCKSIZE 512 +#define L2MINBLOCKSIZE 9 #define MAXBLOCKSIZE 4096 +#define L2MAXBLOCKSIZE 12 #define MAXFILESIZE ((s64)1 << 52) #define JFS_LINK_MAX 0xffffffff only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/nilfs2/segbuf.c +++ linux-intel-iotg-5.15-5.15.0/fs/nilfs2/segbuf.c @@ -101,6 +101,12 @@ if (unlikely(!bh)) return -ENOMEM; + lock_buffer(bh); + if (!buffer_uptodate(bh)) { + memset(bh->b_data, 0, bh->b_size); + set_buffer_uptodate(bh); + } + unlock_buffer(bh); nilfs_segbuf_add_segsum_buffer(segbuf, bh); return 0; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/overlayfs/namei.c +++ linux-intel-iotg-5.15-5.15.0/fs/overlayfs/namei.c @@ -1103,8 +1103,7 @@ ovl_set_flag(OVL_UPPERDATA, inode); } - ovl_dentry_update_reval(dentry, upperdentry, - DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE); + ovl_dentry_init_reval(dentry, upperdentry); revert_creds(old_cred); if (origin_path) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/fs/ramfs/inode.c +++ linux-intel-iotg-5.15-5.15.0/fs/ramfs/inode.c @@ -274,7 +274,7 @@ return 0; } -static void ramfs_kill_sb(struct super_block *sb) +void ramfs_kill_sb(struct super_block *sb) { kfree(sb->s_fs_info); kill_litter_super(sb); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/acpi/acpixf.h +++ linux-intel-iotg-5.15-5.15.0/include/acpi/acpixf.h @@ -749,6 +749,7 @@ acpi_event_status *event_status)) ACPI_HW_DEPENDENT_RETURN_UINT32(u32 acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number)) +ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_hw_disable_all_gpes(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable_all_gpes(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_runtime_gpes(void)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_wakeup_gpes(void)) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/crypto/internal/kpp.h +++ linux-intel-iotg-5.15-5.15.0/include/crypto/internal/kpp.h @@ -18,6 +18,12 @@ return req->__ctx; } +static inline void kpp_set_reqsize(struct crypto_kpp *kpp, + unsigned int reqsize) +{ + crypto_kpp_alg(kpp)->reqsize = reqsize; +} + static inline void *kpp_tfm_ctx(struct crypto_kpp *tfm) { return tfm->base.__crt_ctx; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/bootmem_info.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/bootmem_info.h @@ -3,6 +3,7 @@ #define __LINUX_BOOTMEM_INFO_H #include +#include /* * Types for free bootmem stored in page->lru.next. These have to be in @@ -59,6 +60,7 @@ static inline void free_bootmem_page(struct page *page) { + kmemleak_free_part(page_to_virt(page), PAGE_SIZE); free_reserved_page(page); } #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/can/length.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/can/length.h @@ -69,17 +69,18 @@ * Error Status Indicator (ESI) 1 * Data length code (DLC) 4 * Data field 0...512 - * Stuff Bit Count (SBC) 0...16: 4 20...64:5 + * Stuff Bit Count (SBC) 4 * CRC 0...16: 17 20...64:21 * CRC delimiter (CD) 1 + * Fixed Stuff bits (FSB) 0...16: 6 20...64:7 * ACK slot (AS) 1 * ACK delimiter (AD) 1 * End-of-frame (EOF) 7 * Inter frame spacing 3 * - * assuming CRC21, rounded up and ignoring bitstuffing + * assuming CRC21, rounded up and ignoring dynamic bitstuffing */ -#define CANFD_FRAME_OVERHEAD_SFF DIV_ROUND_UP(61, 8) +#define CANFD_FRAME_OVERHEAD_SFF DIV_ROUND_UP(67, 8) /* * Size of a CAN-FD Extended Frame @@ -98,17 +99,18 @@ * Error Status Indicator (ESI) 1 * Data length code (DLC) 4 * Data field 0...512 - * Stuff Bit Count (SBC) 0...16: 4 20...64:5 + * Stuff Bit Count (SBC) 4 * CRC 0...16: 17 20...64:21 * CRC delimiter (CD) 1 + * Fixed Stuff bits (FSB) 0...16: 6 20...64:7 * ACK slot (AS) 1 * ACK delimiter (AD) 1 * End-of-frame (EOF) 7 * Inter frame spacing 3 * - * assuming CRC21, rounded up and ignoring bitstuffing + * assuming CRC21, rounded up and ignoring dynamic bitstuffing */ -#define CANFD_FRAME_OVERHEAD_EFF DIV_ROUND_UP(80, 8) +#define CANFD_FRAME_OVERHEAD_EFF DIV_ROUND_UP(86, 8) /* * Maximum size of a Classical CAN frame only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/highmem.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/highmem.h @@ -247,6 +247,30 @@ #endif +#ifdef copy_mc_to_kernel +static inline int copy_mc_user_highpage(struct page *to, struct page *from, + unsigned long vaddr, struct vm_area_struct *vma) +{ + unsigned long ret; + char *vfrom, *vto; + + vfrom = kmap_local_page(from); + vto = kmap_local_page(to); + ret = copy_mc_to_kernel(vto, vfrom, PAGE_SIZE); + kunmap_local(vto); + kunmap_local(vfrom); + + return ret; +} +#else +static inline int copy_mc_user_highpage(struct page *to, struct page *from, + unsigned long vaddr, struct vm_area_struct *vma) +{ + copy_user_highpage(to, from, vaddr, vma); + return 0; +} +#endif + #ifndef __HAVE_ARCH_COPY_HIGHPAGE static inline void copy_highpage(struct page *to, struct page *from) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/netfilter.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/netfilter.h @@ -243,11 +243,6 @@ hook_head = rcu_dereference(net->nf.hooks_bridge[hook]); #endif break; -#if IS_ENABLED(CONFIG_DECNET) - case NFPROTO_DECNET: - hook_head = rcu_dereference(net->nf.hooks_decnet[hook]); - break; -#endif default: WARN_ON_ONCE(1); break; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/netfilter_defs.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/netfilter_defs.h @@ -7,14 +7,6 @@ /* in/out/forward only */ #define NF_ARP_NUMHOOKS 3 -/* max hook is NF_DN_ROUTE (6), also see uapi/linux/netfilter_decnet.h */ -#define NF_DN_NUMHOOKS 7 - -#if IS_ENABLED(CONFIG_DECNET) -/* Largest hook number + 1, see uapi/linux/netfilter_decnet.h */ -#define NF_MAX_HOOKS NF_DN_NUMHOOKS -#else #define NF_MAX_HOOKS NF_INET_NUMHOOKS -#endif #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/of.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/of.h @@ -1486,12 +1486,26 @@ */ enum of_overlay_notify_action { - OF_OVERLAY_PRE_APPLY = 0, + OF_OVERLAY_INIT = 0, /* kzalloc() of ovcs sets this value */ + OF_OVERLAY_PRE_APPLY, OF_OVERLAY_POST_APPLY, OF_OVERLAY_PRE_REMOVE, OF_OVERLAY_POST_REMOVE, }; +static inline char *of_overlay_action_name(enum of_overlay_notify_action action) +{ + static char *of_overlay_action_name[] = { + "init", + "pre-apply", + "post-apply", + "pre-remove", + "post-remove", + }; + + return of_overlay_action_name[action]; +} + struct of_overlay_notify_data { struct device_node *overlay; struct device_node *target; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/ramfs.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/ramfs.h @@ -7,6 +7,7 @@ struct inode *ramfs_get_inode(struct super_block *sb, const struct inode *dir, umode_t mode, dev_t dev); extern int ramfs_init_fs_context(struct fs_context *fc); +extern void ramfs_kill_sb(struct super_block *sb); #ifdef CONFIG_MMU static inline int only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/linux/regulator/pca9450.h +++ linux-intel-iotg-5.15-5.15.0/include/linux/regulator/pca9450.h @@ -196,11 +196,11 @@ /* PCA9450_REG_LDO3_VOLT bits */ #define LDO3_EN_MASK 0xC0 -#define LDO3OUT_MASK 0x0F +#define LDO3OUT_MASK 0x1F /* PCA9450_REG_LDO4_VOLT bits */ #define LDO4_EN_MASK 0xC0 -#define LDO4OUT_MASK 0x0F +#define LDO4OUT_MASK 0x1F /* PCA9450_REG_LDO5_VOLT bits */ #define LDO5L_EN_MASK 0xC0 only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/net/flow.h +++ linux-intel-iotg-5.15-5.15.0/include/net/flow.h @@ -54,11 +54,6 @@ __u8 code; } icmpt; - struct { - __le16 dport; - __le16 sport; - } dnports; - __be32 gre_key; struct { @@ -153,27 +148,11 @@ __u32 mp_hash; } __attribute__((__aligned__(BITS_PER_LONG/8))); -struct flowidn { - struct flowi_common __fl_common; -#define flowidn_oif __fl_common.flowic_oif -#define flowidn_iif __fl_common.flowic_iif -#define flowidn_mark __fl_common.flowic_mark -#define flowidn_scope __fl_common.flowic_scope -#define flowidn_proto __fl_common.flowic_proto -#define flowidn_flags __fl_common.flowic_flags - __le16 daddr; - __le16 saddr; - union flowi_uli uli; -#define fld_sport uli.ports.sport -#define fld_dport uli.ports.dport -} __attribute__((__aligned__(BITS_PER_LONG/8))); - struct flowi { union { struct flowi_common __fl_common; struct flowi4 ip4; struct flowi6 ip6; - struct flowidn dn; } u; #define flowi_oif u.__fl_common.flowic_oif #define flowi_iif u.__fl_common.flowic_iif @@ -207,11 +186,6 @@ return &(fl6->__fl_common); } -static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn) -{ - return container_of(fldn, struct flowi, u.dn); -} - __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys); #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/net/netns/netfilter.h +++ linux-intel-iotg-5.15-5.15.0/include/net/netns/netfilter.h @@ -24,9 +24,6 @@ #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE struct nf_hook_entries __rcu *hooks_bridge[NF_INET_NUMHOOKS]; #endif -#if IS_ENABLED(CONFIG_DECNET) - struct nf_hook_entries __rcu *hooks_decnet[NF_DN_NUMHOOKS]; -#endif #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV4) unsigned int defrag_ipv4_users; #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/net/rpl.h +++ linux-intel-iotg-5.15-5.15.0/include/net/rpl.h @@ -23,9 +23,6 @@ static inline void rpl_exit(void) {} #endif -/* Worst decompression memory usage ipv6 address (16) + pad 7 */ -#define IPV6_RPL_SRH_WORST_SWAP_SIZE (sizeof(struct in6_addr) + 7) - size_t ipv6_rpl_srh_size(unsigned char n, unsigned char cmpri, unsigned char cmpre); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/rdma/ib_addr.h +++ linux-intel-iotg-5.15-5.15.0/include/rdma/ib_addr.h @@ -194,29 +194,6 @@ return 0; } -static inline int iboe_get_rate(struct net_device *dev) -{ - struct ethtool_link_ksettings cmd; - int err; - - rtnl_lock(); - err = __ethtool_get_link_ksettings(dev, &cmd); - rtnl_unlock(); - if (err) - return IB_RATE_PORT_CURRENT; - - if (cmd.base.speed >= 40000) - return IB_RATE_40_GBPS; - else if (cmd.base.speed >= 30000) - return IB_RATE_30_GBPS; - else if (cmd.base.speed >= 20000) - return IB_RATE_20_GBPS; - else if (cmd.base.speed >= 10000) - return IB_RATE_10_GBPS; - else - return IB_RATE_PORT_CURRENT; -} - static inline int rdma_link_local_addr(struct in6_addr *addr) { if (addr->s6_addr32[0] == htonl(0xfe800000) && only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/trace/events/writeback.h +++ linux-intel-iotg-5.15-5.15.0/include/trace/events/writeback.h @@ -68,7 +68,7 @@ strscpy_pad(__entry->name, bdi_dev_name(mapping ? inode_to_bdi(mapping->host) : NULL), 32); - __entry->ino = mapping ? mapping->host->i_ino : 0; + __entry->ino = (mapping && mapping->host) ? mapping->host->i_ino : 0; __entry->index = page->index; ), only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/uapi/linux/affs_hardblocks.h +++ linux-intel-iotg-5.15-5.15.0/include/uapi/linux/affs_hardblocks.h @@ -7,42 +7,42 @@ /* Just the needed definitions for the RDB of an Amiga HD. */ struct RigidDiskBlock { - __u32 rdb_ID; + __be32 rdb_ID; __be32 rdb_SummedLongs; - __s32 rdb_ChkSum; - __u32 rdb_HostID; + __be32 rdb_ChkSum; + __be32 rdb_HostID; __be32 rdb_BlockBytes; - __u32 rdb_Flags; - __u32 rdb_BadBlockList; + __be32 rdb_Flags; + __be32 rdb_BadBlockList; __be32 rdb_PartitionList; - __u32 rdb_FileSysHeaderList; - __u32 rdb_DriveInit; - __u32 rdb_Reserved1[6]; - __u32 rdb_Cylinders; - __u32 rdb_Sectors; - __u32 rdb_Heads; - __u32 rdb_Interleave; - __u32 rdb_Park; - __u32 rdb_Reserved2[3]; - __u32 rdb_WritePreComp; - __u32 rdb_ReducedWrite; - __u32 rdb_StepRate; - __u32 rdb_Reserved3[5]; - __u32 rdb_RDBBlocksLo; - __u32 rdb_RDBBlocksHi; - __u32 rdb_LoCylinder; - __u32 rdb_HiCylinder; - __u32 rdb_CylBlocks; - __u32 rdb_AutoParkSeconds; - __u32 rdb_HighRDSKBlock; - __u32 rdb_Reserved4; + __be32 rdb_FileSysHeaderList; + __be32 rdb_DriveInit; + __be32 rdb_Reserved1[6]; + __be32 rdb_Cylinders; + __be32 rdb_Sectors; + __be32 rdb_Heads; + __be32 rdb_Interleave; + __be32 rdb_Park; + __be32 rdb_Reserved2[3]; + __be32 rdb_WritePreComp; + __be32 rdb_ReducedWrite; + __be32 rdb_StepRate; + __be32 rdb_Reserved3[5]; + __be32 rdb_RDBBlocksLo; + __be32 rdb_RDBBlocksHi; + __be32 rdb_LoCylinder; + __be32 rdb_HiCylinder; + __be32 rdb_CylBlocks; + __be32 rdb_AutoParkSeconds; + __be32 rdb_HighRDSKBlock; + __be32 rdb_Reserved4; char rdb_DiskVendor[8]; char rdb_DiskProduct[16]; char rdb_DiskRevision[4]; char rdb_ControllerVendor[8]; char rdb_ControllerProduct[16]; char rdb_ControllerRevision[4]; - __u32 rdb_Reserved5[10]; + __be32 rdb_Reserved5[10]; }; #define IDNAME_RIGIDDISK 0x5244534B /* "RDSK" */ @@ -50,16 +50,16 @@ struct PartitionBlock { __be32 pb_ID; __be32 pb_SummedLongs; - __s32 pb_ChkSum; - __u32 pb_HostID; + __be32 pb_ChkSum; + __be32 pb_HostID; __be32 pb_Next; - __u32 pb_Flags; - __u32 pb_Reserved1[2]; - __u32 pb_DevFlags; + __be32 pb_Flags; + __be32 pb_Reserved1[2]; + __be32 pb_DevFlags; __u8 pb_DriveName[32]; - __u32 pb_Reserved2[15]; + __be32 pb_Reserved2[15]; __be32 pb_Environment[17]; - __u32 pb_EReserved[15]; + __be32 pb_EReserved[15]; }; #define IDNAME_PARTITION 0x50415254 /* "PART" */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/uapi/linux/auto_dev-ioctl.h +++ linux-intel-iotg-5.15-5.15.0/include/uapi/linux/auto_dev-ioctl.h @@ -109,7 +109,7 @@ struct args_ismountpoint ismountpoint; }; - char path[0]; + char path[]; }; static inline void init_autofs_dev_ioctl(struct autofs_dev_ioctl *in) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/include/uapi/linux/netlink.h +++ linux-intel-iotg-5.15-5.15.0/include/uapi/linux/netlink.h @@ -20,7 +20,7 @@ #define NETLINK_CONNECTOR 11 #define NETLINK_NETFILTER 12 /* netfilter subsystem */ #define NETLINK_IP6_FW 13 -#define NETLINK_DNRTMSG 14 /* DECnet routing messages */ +#define NETLINK_DNRTMSG 14 /* DECnet routing messages (obsolete) */ #define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ #define NETLINK_GENERIC 16 /* leave room for NETLINK_DM (DM Events) */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/kernel/bpf/cpumap.c +++ linux-intel-iotg-5.15-5.15.0/kernel/bpf/cpumap.c @@ -126,22 +126,6 @@ atomic_inc(&rcpu->refcnt); } -/* called from workqueue, to workaround syscall using preempt_disable */ -static void cpu_map_kthread_stop(struct work_struct *work) -{ - struct bpf_cpu_map_entry *rcpu; - - rcpu = container_of(work, struct bpf_cpu_map_entry, kthread_stop_wq); - - /* Wait for flush in __cpu_map_entry_free(), via full RCU barrier, - * as it waits until all in-flight call_rcu() callbacks complete. - */ - rcu_barrier(); - - /* kthread_stop will wake_up_process and wait for it to complete */ - kthread_stop(rcpu->kthread); -} - static void __cpu_map_ring_cleanup(struct ptr_ring *ring) { /* The tear-down procedure should have made sure that queue is @@ -169,6 +153,30 @@ } } +/* called from workqueue, to workaround syscall using preempt_disable */ +static void cpu_map_kthread_stop(struct work_struct *work) +{ + struct bpf_cpu_map_entry *rcpu; + int err; + + rcpu = container_of(work, struct bpf_cpu_map_entry, kthread_stop_wq); + + /* Wait for flush in __cpu_map_entry_free(), via full RCU barrier, + * as it waits until all in-flight call_rcu() callbacks complete. + */ + rcu_barrier(); + + /* kthread_stop will wake_up_process and wait for it to complete */ + err = kthread_stop(rcpu->kthread); + if (err) { + /* kthread_stop may be called before cpu_map_kthread_run + * is executed, so we need to release the memory related + * to rcpu. + */ + put_cpu_map_entry(rcpu); + } +} + static void cpu_map_bpf_prog_run_skb(struct bpf_cpu_map_entry *rcpu, struct list_head *listp, struct xdp_cpumap_stats *stats) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/kernel/rcu/rcuscale.c +++ linux-intel-iotg-5.15-5.15.0/kernel/rcu/rcuscale.c @@ -50,8 +50,8 @@ pr_alert("%s" SCALE_FLAG " %s\n", scale_type, s) #define VERBOSE_SCALEOUT_STRING(s) \ do { if (verbose) pr_alert("%s" SCALE_FLAG " %s\n", scale_type, s); } while (0) -#define VERBOSE_SCALEOUT_ERRSTRING(s) \ - do { if (verbose) pr_alert("%s" SCALE_FLAG "!!! %s\n", scale_type, s); } while (0) +#define SCALEOUT_ERRSTRING(s) \ + pr_alert("%s" SCALE_FLAG "!!! %s\n", scale_type, s) /* * The intended use cases for the nreaders and nwriters module parameters @@ -500,89 +500,6 @@ scale_type, tag, nrealreaders, nrealwriters, verbose, shutdown); } -static void -rcu_scale_cleanup(void) -{ - int i; - int j; - int ngps = 0; - u64 *wdp; - u64 *wdpp; - - /* - * Would like warning at start, but everything is expedited - * during the mid-boot phase, so have to wait till the end. - */ - if (rcu_gp_is_expedited() && !rcu_gp_is_normal() && !gp_exp) - VERBOSE_SCALEOUT_ERRSTRING("All grace periods expedited, no normal ones to measure!"); - if (rcu_gp_is_normal() && gp_exp) - VERBOSE_SCALEOUT_ERRSTRING("All grace periods normal, no expedited ones to measure!"); - if (gp_exp && gp_async) - VERBOSE_SCALEOUT_ERRSTRING("No expedited async GPs, so went with async!"); - - if (torture_cleanup_begin()) - return; - if (!cur_ops) { - torture_cleanup_end(); - return; - } - - if (reader_tasks) { - for (i = 0; i < nrealreaders; i++) - torture_stop_kthread(rcu_scale_reader, - reader_tasks[i]); - kfree(reader_tasks); - } - - if (writer_tasks) { - for (i = 0; i < nrealwriters; i++) { - torture_stop_kthread(rcu_scale_writer, - writer_tasks[i]); - if (!writer_n_durations) - continue; - j = writer_n_durations[i]; - pr_alert("%s%s writer %d gps: %d\n", - scale_type, SCALE_FLAG, i, j); - ngps += j; - } - pr_alert("%s%s start: %llu end: %llu duration: %llu gps: %d batches: %ld\n", - scale_type, SCALE_FLAG, - t_rcu_scale_writer_started, t_rcu_scale_writer_finished, - t_rcu_scale_writer_finished - - t_rcu_scale_writer_started, - ngps, - rcuscale_seq_diff(b_rcu_gp_test_finished, - b_rcu_gp_test_started)); - for (i = 0; i < nrealwriters; i++) { - if (!writer_durations) - break; - if (!writer_n_durations) - continue; - wdpp = writer_durations[i]; - if (!wdpp) - continue; - for (j = 0; j < writer_n_durations[i]; j++) { - wdp = &wdpp[j]; - pr_alert("%s%s %4d writer-duration: %5d %llu\n", - scale_type, SCALE_FLAG, - i, j, *wdp); - if (j % 100 == 0) - schedule_timeout_uninterruptible(1); - } - kfree(writer_durations[i]); - } - kfree(writer_tasks); - kfree(writer_durations); - kfree(writer_n_durations); - } - - /* Do torture-type-specific cleanup operations. */ - if (cur_ops->cleanup != NULL) - cur_ops->cleanup(); - - torture_cleanup_end(); -} - /* * Return the number if non-negative. If -1, the number of CPUs. * If less than -1, that much less than the number of CPUs, but @@ -603,21 +520,6 @@ } /* - * RCU scalability shutdown kthread. Just waits to be awakened, then shuts - * down system. - */ -static int -rcu_scale_shutdown(void *arg) -{ - wait_event(shutdown_wq, - atomic_read(&n_rcu_scale_writer_finished) >= nrealwriters); - smp_mb(); /* Wake before output. */ - rcu_scale_cleanup(); - kernel_power_off(); - return -EINVAL; -} - -/* * kfree_rcu() scalability tests: Start a kfree_rcu() loop on all CPUs for number * of iterations and measure total time and number of GP for all iterations to complete. */ @@ -736,8 +638,8 @@ static int kfree_scale_shutdown(void *arg) { - wait_event(shutdown_wq, - atomic_read(&n_kfree_scale_thread_ended) >= kfree_nrealthreads); + wait_event_idle(shutdown_wq, + atomic_read(&n_kfree_scale_thread_ended) >= kfree_nrealthreads); smp_mb(); /* Wake before output. */ @@ -791,6 +693,108 @@ return firsterr; } +static void +rcu_scale_cleanup(void) +{ + int i; + int j; + int ngps = 0; + u64 *wdp; + u64 *wdpp; + + /* + * Would like warning at start, but everything is expedited + * during the mid-boot phase, so have to wait till the end. + */ + if (rcu_gp_is_expedited() && !rcu_gp_is_normal() && !gp_exp) + SCALEOUT_ERRSTRING("All grace periods expedited, no normal ones to measure!"); + if (rcu_gp_is_normal() && gp_exp) + SCALEOUT_ERRSTRING("All grace periods normal, no expedited ones to measure!"); + if (gp_exp && gp_async) + SCALEOUT_ERRSTRING("No expedited async GPs, so went with async!"); + + if (kfree_rcu_test) { + kfree_scale_cleanup(); + return; + } + + if (torture_cleanup_begin()) + return; + if (!cur_ops) { + torture_cleanup_end(); + return; + } + + if (reader_tasks) { + for (i = 0; i < nrealreaders; i++) + torture_stop_kthread(rcu_scale_reader, + reader_tasks[i]); + kfree(reader_tasks); + } + + if (writer_tasks) { + for (i = 0; i < nrealwriters; i++) { + torture_stop_kthread(rcu_scale_writer, + writer_tasks[i]); + if (!writer_n_durations) + continue; + j = writer_n_durations[i]; + pr_alert("%s%s writer %d gps: %d\n", + scale_type, SCALE_FLAG, i, j); + ngps += j; + } + pr_alert("%s%s start: %llu end: %llu duration: %llu gps: %d batches: %ld\n", + scale_type, SCALE_FLAG, + t_rcu_scale_writer_started, t_rcu_scale_writer_finished, + t_rcu_scale_writer_finished - + t_rcu_scale_writer_started, + ngps, + rcuscale_seq_diff(b_rcu_gp_test_finished, + b_rcu_gp_test_started)); + for (i = 0; i < nrealwriters; i++) { + if (!writer_durations) + break; + if (!writer_n_durations) + continue; + wdpp = writer_durations[i]; + if (!wdpp) + continue; + for (j = 0; j < writer_n_durations[i]; j++) { + wdp = &wdpp[j]; + pr_alert("%s%s %4d writer-duration: %5d %llu\n", + scale_type, SCALE_FLAG, + i, j, *wdp); + if (j % 100 == 0) + schedule_timeout_uninterruptible(1); + } + kfree(writer_durations[i]); + } + kfree(writer_tasks); + kfree(writer_durations); + kfree(writer_n_durations); + } + + /* Do torture-type-specific cleanup operations. */ + if (cur_ops->cleanup != NULL) + cur_ops->cleanup(); + + torture_cleanup_end(); +} + +/* + * RCU scalability shutdown kthread. Just waits to be awakened, then shuts + * down system. + */ +static int +rcu_scale_shutdown(void *arg) +{ + wait_event_idle(shutdown_wq, atomic_read(&n_rcu_scale_writer_finished) >= nrealwriters); + smp_mb(); /* Wake before output. */ + rcu_scale_cleanup(); + kernel_power_off(); + return -EINVAL; +} + static int __init rcu_scale_init(void) { @@ -845,7 +849,7 @@ reader_tasks = kcalloc(nrealreaders, sizeof(reader_tasks[0]), GFP_KERNEL); if (reader_tasks == NULL) { - VERBOSE_SCALEOUT_ERRSTRING("out of memory"); + SCALEOUT_ERRSTRING("out of memory"); firsterr = -ENOMEM; goto unwind; } @@ -865,7 +869,7 @@ kcalloc(nrealwriters, sizeof(*writer_n_durations), GFP_KERNEL); if (!writer_tasks || !writer_durations || !writer_n_durations) { - VERBOSE_SCALEOUT_ERRSTRING("out of memory"); + SCALEOUT_ERRSTRING("out of memory"); firsterr = -ENOMEM; goto unwind; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/kernel/trace/trace_probe_tmpl.h +++ linux-intel-iotg-5.15-5.15.0/kernel/trace/trace_probe_tmpl.h @@ -143,6 +143,8 @@ array: /* the last stage: Loop on array */ if (code->op == FETCH_OP_LP_ARRAY) { + if (ret < 0) + ret = 0; total += ret; if (++i < code->param) { code = s3; @@ -204,11 +206,13 @@ if (unlikely(arg->dynamic)) *dl = make_data_loc(maxlen, dyndata - base); ret = process_fetch_insn(arg->code, rec, dl, base); - if (unlikely(ret < 0 && arg->dynamic)) { - *dl = make_data_loc(0, dyndata - base); - } else { - dyndata += ret; - maxlen -= ret; + if (arg->dynamic) { + if (unlikely(ret < 0)) { + *dl = make_data_loc(0, dyndata - base); + } else { + dyndata += ret; + maxlen -= ret; + } } } } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/kernel/watchdog_hld.c +++ linux-intel-iotg-5.15-5.15.0/kernel/watchdog_hld.c @@ -114,14 +114,14 @@ /* Ensure the watchdog never gets throttled */ event->hw.interrupts = 0; + if (!watchdog_check_timestamp()) + return; + if (__this_cpu_read(watchdog_nmi_touch) == true) { __this_cpu_write(watchdog_nmi_touch, false); return; } - if (!watchdog_check_timestamp()) - return; - /* check for a hardlockup * This is done by making sure our timer interrupt * is incrementing. The timer interrupt should have only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/lib/ts_bm.c +++ linux-intel-iotg-5.15-5.15.0/lib/ts_bm.c @@ -60,10 +60,12 @@ struct ts_bm *bm = ts_config_priv(conf); unsigned int i, text_len, consumed = state->offset; const u8 *text; - int shift = bm->patlen - 1, bs; + int bs; const u8 icase = conf->flags & TS_IGNORECASE; for (;;) { + int shift = bm->patlen - 1; + text_len = conf->get_next_block(consumed, &text, conf, state); if (unlikely(text_len == 0)) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/Kconfig +++ linux-intel-iotg-5.15-5.15.0/net/Kconfig @@ -204,7 +204,6 @@ source "net/netfilter/Kconfig" source "net/ipv4/netfilter/Kconfig" source "net/ipv6/netfilter/Kconfig" -source "net/decnet/netfilter/Kconfig" source "net/bridge/netfilter/Kconfig" endif @@ -221,7 +220,6 @@ source "net/bridge/Kconfig" source "net/dsa/Kconfig" source "net/8021q/Kconfig" -source "net/decnet/Kconfig" source "net/llc/Kconfig" source "drivers/net/appletalk/Kconfig" source "net/x25/Kconfig" only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/Makefile +++ linux-intel-iotg-5.15-5.15.0/net/Makefile @@ -38,7 +38,6 @@ obj-$(CONFIG_STREAM_PARSER) += strparser/ obj-$(CONFIG_ATM) += atm/ obj-$(CONFIG_L2TP) += l2tp/ -obj-$(CONFIG_DECNET) += decnet/ obj-$(CONFIG_PHONET) += phonet/ ifneq ($(CONFIG_VLAN_8021Q),) obj-y += 8021q/ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/batman-adv/distributed-arp-table.c +++ linux-intel-iotg-5.15-5.15.0/net/batman-adv/distributed-arp-table.c @@ -101,7 +101,6 @@ */ static void batadv_dat_start_timer(struct batadv_priv *bat_priv) { - INIT_DELAYED_WORK(&bat_priv->dat.work, batadv_dat_purge); queue_delayed_work(batadv_event_workqueue, &bat_priv->dat.work, msecs_to_jiffies(10000)); } @@ -819,6 +818,7 @@ if (!bat_priv->dat.hash) return -ENOMEM; + INIT_DELAYED_WORK(&bat_priv->dat.work, batadv_dat_purge); batadv_dat_start_timer(bat_priv); batadv_tvlv_handler_register(bat_priv, batadv_dat_tvlv_ogm_handler_v1, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/bridge/br_if.c +++ linux-intel-iotg-5.15-5.15.0/net/bridge/br_if.c @@ -157,8 +157,9 @@ * This lets us disable promiscuous mode and write * this config to hw. */ - if (br->auto_cnt == 0 || - (br->auto_cnt == 1 && br_auto_port(p))) + if ((p->dev->priv_flags & IFF_UNICAST_FLT) && + (br->auto_cnt == 0 || + (br->auto_cnt == 1 && br_auto_port(p)))) br_port_clear_promisc(p); else br_port_set_promisc(p); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/ceph/messenger_v2.c +++ linux-intel-iotg-5.15-5.15.0/net/ceph/messenger_v2.c @@ -391,6 +391,8 @@ int head_len; int rem_len; + BUG_ON(ctrl_len < 0 || ctrl_len > CEPH_MSG_MAX_CONTROL_LEN); + if (secure) { head_len = CEPH_PREAMBLE_SECURE_LEN; if (ctrl_len > CEPH_PREAMBLE_INLINE_LEN) { @@ -409,6 +411,10 @@ static int __tail_onwire_len(int front_len, int middle_len, int data_len, bool secure) { + BUG_ON(front_len < 0 || front_len > CEPH_MSG_MAX_FRONT_LEN || + middle_len < 0 || middle_len > CEPH_MSG_MAX_MIDDLE_LEN || + data_len < 0 || data_len > CEPH_MSG_MAX_DATA_LEN); + if (!front_len && !middle_len && !data_len) return 0; @@ -521,29 +527,34 @@ desc->fd_aligns[i] = ceph_decode_16(&p); } - /* - * This would fire for FRAME_TAG_WAIT (it has one empty - * segment), but we should never get it as client. - */ - if (!desc->fd_lens[desc->fd_seg_cnt - 1]) { - pr_err("last segment empty\n"); + if (desc->fd_lens[0] < 0 || + desc->fd_lens[0] > CEPH_MSG_MAX_CONTROL_LEN) { + pr_err("bad control segment length %d\n", desc->fd_lens[0]); return -EINVAL; } - - if (desc->fd_lens[0] > CEPH_MSG_MAX_CONTROL_LEN) { - pr_err("control segment too big %d\n", desc->fd_lens[0]); + if (desc->fd_lens[1] < 0 || + desc->fd_lens[1] > CEPH_MSG_MAX_FRONT_LEN) { + pr_err("bad front segment length %d\n", desc->fd_lens[1]); return -EINVAL; } - if (desc->fd_lens[1] > CEPH_MSG_MAX_FRONT_LEN) { - pr_err("front segment too big %d\n", desc->fd_lens[1]); + if (desc->fd_lens[2] < 0 || + desc->fd_lens[2] > CEPH_MSG_MAX_MIDDLE_LEN) { + pr_err("bad middle segment length %d\n", desc->fd_lens[2]); return -EINVAL; } - if (desc->fd_lens[2] > CEPH_MSG_MAX_MIDDLE_LEN) { - pr_err("middle segment too big %d\n", desc->fd_lens[2]); + if (desc->fd_lens[3] < 0 || + desc->fd_lens[3] > CEPH_MSG_MAX_DATA_LEN) { + pr_err("bad data segment length %d\n", desc->fd_lens[3]); return -EINVAL; } - if (desc->fd_lens[3] > CEPH_MSG_MAX_DATA_LEN) { - pr_err("data segment too big %d\n", desc->fd_lens[3]); + + /* + * This would fire for FRAME_TAG_WAIT (it has one empty + * segment), but we should never get it as client. + */ + if (!desc->fd_lens[desc->fd_seg_cnt - 1]) { + pr_err("last segment empty, segment count %d\n", + desc->fd_seg_cnt); return -EINVAL; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/ipv4/xfrm4_input.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv4/xfrm4_input.c @@ -164,6 +164,7 @@ kfree_skb(skb); return 0; } +EXPORT_SYMBOL(xfrm4_udp_encap_rcv); int xfrm4_rcv(struct sk_buff *skb) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/ipv6/exthdrs.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv6/exthdrs.c @@ -564,24 +564,6 @@ return -1; } - if (skb_cloned(skb)) { - if (pskb_expand_head(skb, IPV6_RPL_SRH_WORST_SWAP_SIZE, 0, - GFP_ATOMIC)) { - __IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)), - IPSTATS_MIB_OUTDISCARDS); - kfree_skb(skb); - return -1; - } - } else { - err = skb_cow_head(skb, IPV6_RPL_SRH_WORST_SWAP_SIZE); - if (unlikely(err)) { - kfree_skb(skb); - return -1; - } - } - - hdr = (struct ipv6_rpl_sr_hdr *)skb_transport_header(skb); - if (!pskb_may_pull(skb, ipv6_rpl_srh_size(n, hdr->cmpri, hdr->cmpre))) { kfree_skb(skb); @@ -627,6 +609,17 @@ skb_pull(skb, ((hdr->hdrlen + 1) << 3)); skb_postpull_rcsum(skb, oldhdr, sizeof(struct ipv6hdr) + ((hdr->hdrlen + 1) << 3)); + if (unlikely(!hdr->segments_left)) { + if (pskb_expand_head(skb, sizeof(struct ipv6hdr) + ((chdr->hdrlen + 1) << 3), 0, + GFP_ATOMIC)) { + __IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)), IPSTATS_MIB_OUTDISCARDS); + kfree_skb(skb); + kfree(buf); + return -1; + } + + oldhdr = ipv6_hdr(skb); + } skb_push(skb, ((chdr->hdrlen + 1) << 3) + sizeof(struct ipv6hdr)); skb_reset_network_header(skb); skb_mac_header_rebuild(skb); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/ipv6/ping.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv6/ping.c @@ -96,7 +96,8 @@ addr_type = ipv6_addr_type(daddr); if ((__ipv6_addr_needs_scope_id(addr_type) && !oif) || (addr_type & IPV6_ADDR_MAPPED) || - (oif && sk->sk_bound_dev_if && oif != sk->sk_bound_dev_if)) + (oif && sk->sk_bound_dev_if && oif != sk->sk_bound_dev_if && + l3mdev_master_ifindex_by_index(sock_net(sk), oif) != sk->sk_bound_dev_if)) return -EINVAL; /* TODO: use ip6_datagram_send_ctl to get options from cmsg */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/ipv6/xfrm6_input.c +++ linux-intel-iotg-5.15-5.15.0/net/ipv6/xfrm6_input.c @@ -86,6 +86,9 @@ __be32 *udpdata32; __u16 encap_type = up->encap_type; + if (skb->protocol == htons(ETH_P_IP)) + return xfrm4_udp_encap_rcv(sk, skb); + /* if this is not encapsulated socket, then just return now */ if (!encap_type) return 1; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/netfilter/ipvs/Kconfig +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/ipvs/Kconfig @@ -44,7 +44,8 @@ config IP_VS_TAB_BITS int "IPVS connection table size (the Nth power of 2)" - range 8 20 + range 8 20 if !64BIT + range 8 27 if 64BIT default 12 help The IPVS connection hash table uses the chaining scheme to handle @@ -54,24 +55,24 @@ Note the table size must be power of 2. The table size will be the value of 2 to the your input number power. The number to choose is - from 8 to 20, the default number is 12, which means the table size - is 4096. Don't input the number too small, otherwise you will lose - performance on it. You can adapt the table size yourself, according - to your virtual server application. It is good to set the table size - not far less than the number of connections per second multiplying - average lasting time of connection in the table. For example, your - virtual server gets 200 connections per second, the connection lasts - for 200 seconds in average in the connection table, the table size - should be not far less than 200x200, it is good to set the table - size 32768 (2**15). + from 8 to 27 for 64BIT(20 otherwise), the default number is 12, + which means the table size is 4096. Don't input the number too + small, otherwise you will lose performance on it. You can adapt the + table size yourself, according to your virtual server application. + It is good to set the table size not far less than the number of + connections per second multiplying average lasting time of + connection in the table. For example, your virtual server gets 200 + connections per second, the connection lasts for 200 seconds in + average in the connection table, the table size should be not far + less than 200x200, it is good to set the table size 32768 (2**15). Another note that each connection occupies 128 bytes effectively and each hash entry uses 8 bytes, so you can estimate how much memory is needed for your box. You can overwrite this number setting conn_tab_bits module parameter - or by appending ip_vs.conn_tab_bits=? to the kernel command line - if IP VS was compiled built-in. + or by appending ip_vs.conn_tab_bits=? to the kernel command line if + IP VS was compiled built-in. comment "IPVS transport protocol load balancing support" only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/netfilter/ipvs/ip_vs_xmit.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/ipvs/ip_vs_xmit.c @@ -1225,6 +1225,7 @@ skb->transport_header = skb->network_header; skb_set_inner_ipproto(skb, next_protocol); + skb_set_inner_mac_header(skb, skb_inner_network_offset(skb)); if (tun_type == IP_VS_CONN_F_TUNNEL_TYPE_GUE) { bool check = false; @@ -1373,6 +1374,7 @@ skb->transport_header = skb->network_header; skb_set_inner_ipproto(skb, next_protocol); + skb_set_inner_mac_header(skb, skb_inner_network_offset(skb)); if (tun_type == IP_VS_CONN_F_TUNNEL_TYPE_GUE) { bool check = false; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/netfilter/nf_conntrack_proto_dccp.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nf_conntrack_proto_dccp.c @@ -432,9 +432,19 @@ struct sk_buff *skb, unsigned int dataoff, const struct nf_hook_state *state) { + static const unsigned long require_seq48 = 1 << DCCP_PKT_REQUEST | + 1 << DCCP_PKT_RESPONSE | + 1 << DCCP_PKT_CLOSEREQ | + 1 << DCCP_PKT_CLOSE | + 1 << DCCP_PKT_RESET | + 1 << DCCP_PKT_SYNC | + 1 << DCCP_PKT_SYNCACK; unsigned int dccp_len = skb->len - dataoff; unsigned int cscov; const char *msg; + u8 type; + + BUILD_BUG_ON(DCCP_PKT_INVALID >= BITS_PER_LONG); if (dh->dccph_doff * 4 < sizeof(struct dccp_hdr) || dh->dccph_doff * 4 > dccp_len) { @@ -459,34 +469,70 @@ goto out_invalid; } - if (dh->dccph_type >= DCCP_PKT_INVALID) { + type = dh->dccph_type; + if (type >= DCCP_PKT_INVALID) { msg = "nf_ct_dccp: reserved packet type "; goto out_invalid; } + + if (test_bit(type, &require_seq48) && !dh->dccph_x) { + msg = "nf_ct_dccp: type lacks 48bit sequence numbers"; + goto out_invalid; + } + return false; out_invalid: nf_l4proto_log_invalid(skb, state, IPPROTO_DCCP, "%s", msg); return true; } +struct nf_conntrack_dccp_buf { + struct dccp_hdr dh; /* generic header part */ + struct dccp_hdr_ext ext; /* optional depending dh->dccph_x */ + union { /* depends on header type */ + struct dccp_hdr_ack_bits ack; + struct dccp_hdr_request req; + struct dccp_hdr_response response; + struct dccp_hdr_reset rst; + } u; +}; + +static struct dccp_hdr * +dccp_header_pointer(const struct sk_buff *skb, int offset, const struct dccp_hdr *dh, + struct nf_conntrack_dccp_buf *buf) +{ + unsigned int hdrlen = __dccp_hdr_len(dh); + + if (hdrlen > sizeof(*buf)) + return NULL; + + return skb_header_pointer(skb, offset, hdrlen, buf); +} + int nf_conntrack_dccp_packet(struct nf_conn *ct, struct sk_buff *skb, unsigned int dataoff, enum ip_conntrack_info ctinfo, const struct nf_hook_state *state) { enum ip_conntrack_dir dir = CTINFO2DIR(ctinfo); - struct dccp_hdr _dh, *dh; + struct nf_conntrack_dccp_buf _dh; u_int8_t type, old_state, new_state; enum ct_dccp_roles role; unsigned int *timeouts; + struct dccp_hdr *dh; - dh = skb_header_pointer(skb, dataoff, sizeof(_dh), &_dh); + dh = skb_header_pointer(skb, dataoff, sizeof(*dh), &_dh.dh); if (!dh) return NF_DROP; if (dccp_error(dh, skb, dataoff, state)) return -NF_ACCEPT; + /* pull again, including possible 48 bit sequences and subtype header */ + dh = dccp_header_pointer(skb, dataoff, dh, &_dh); + if (!dh) + return NF_DROP; + type = dh->dccph_type; if (!nf_ct_is_confirmed(ct) && !dccp_new(ct, skb, dh, state)) return -NF_ACCEPT; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/netfilter/nfnetlink_hook.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nfnetlink_hook.c @@ -214,13 +214,6 @@ hook_head = rcu_dereference(net->nf.hooks_bridge[hook]); #endif break; -#if IS_ENABLED(CONFIG_DECNET) - case NFPROTO_DECNET: - if (hook >= ARRAY_SIZE(net->nf.hooks_decnet)) - return ERR_PTR(-EINVAL); - hook_head = rcu_dereference(net->nf.hooks_decnet[hook]); - break; -#endif #ifdef CONFIG_NETFILTER_INGRESS case NFPROTO_NETDEV: if (hook != NF_NETDEV_INGRESS) only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/netfilter/nft_set_bitmap.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/nft_set_bitmap.c @@ -271,13 +271,14 @@ return 0; } -static void nft_bitmap_destroy(const struct nft_set *set) +static void nft_bitmap_destroy(const struct nft_ctx *ctx, + const struct nft_set *set) { struct nft_bitmap *priv = nft_set_priv(set); struct nft_bitmap_elem *be, *n; list_for_each_entry_safe(be, n, &priv->list, head) - nft_set_elem_destroy(set, be, true); + nf_tables_set_elem_destroy(ctx, set, be); } static bool nft_bitmap_estimate(const struct nft_set_desc *desc, u32 features, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/netfilter/xt_osf.c +++ linux-intel-iotg-5.15-5.15.0/net/netfilter/xt_osf.c @@ -71,4 +71,3 @@ MODULE_DESCRIPTION("Passive OS fingerprint matching."); MODULE_ALIAS("ipt_osf"); MODULE_ALIAS("ip6t_osf"); -MODULE_ALIAS_NFNL_SUBSYS(NFNL_SUBSYS_OSF); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/netlink/diag.c +++ linux-intel-iotg-5.15-5.15.0/net/netlink/diag.c @@ -94,6 +94,7 @@ struct net *net = sock_net(skb->sk); struct netlink_diag_req *req; struct netlink_sock *nlsk; + unsigned long flags; struct sock *sk; int num = 2; int ret = 0; @@ -152,7 +153,7 @@ num++; mc_list: - read_lock(&nl_table_lock); + read_lock_irqsave(&nl_table_lock, flags); sk_for_each_bound(sk, &tbl->mc_list) { if (sk_hashed(sk)) continue; @@ -167,13 +168,13 @@ NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, NLM_F_MULTI, - sock_i_ino(sk)) < 0) { + __sock_i_ino(sk)) < 0) { ret = 1; break; } num++; } - read_unlock(&nl_table_lock); + read_unlock_irqrestore(&nl_table_lock, flags); done: cb->args[0] = num; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/nfc/llcp.h +++ linux-intel-iotg-5.15-5.15.0/net/nfc/llcp.h @@ -202,7 +202,6 @@ void nfc_llcp_sock_unlink(struct llcp_sock_list *l, struct sock *s); void nfc_llcp_socket_remote_param_init(struct nfc_llcp_sock *sock); struct nfc_llcp_local *nfc_llcp_find_local(struct nfc_dev *dev); -struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local); int nfc_llcp_local_put(struct nfc_llcp_local *local); u8 nfc_llcp_get_sdp_ssap(struct nfc_llcp_local *local, struct nfc_llcp_sock *sock); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/nfc/llcp_commands.c +++ linux-intel-iotg-5.15-5.15.0/net/nfc/llcp_commands.c @@ -361,6 +361,7 @@ struct sk_buff *skb; struct nfc_llcp_local *local; u16 size = 0; + int err; pr_debug("Sending SYMM\n"); @@ -372,8 +373,10 @@ size += dev->tx_headroom + dev->tx_tailroom + NFC_HEADER_SIZE; skb = alloc_skb(size, GFP_KERNEL); - if (skb == NULL) - return -ENOMEM; + if (skb == NULL) { + err = -ENOMEM; + goto out; + } skb_reserve(skb, dev->tx_headroom + NFC_HEADER_SIZE); @@ -383,8 +386,11 @@ nfc_llcp_send_to_raw_sock(local, skb, NFC_DIRECTION_TX); - return nfc_data_exchange(dev, local->target_idx, skb, + err = nfc_data_exchange(dev, local->target_idx, skb, nfc_llcp_recv, local); +out: + nfc_llcp_local_put(local); + return err; } int nfc_llcp_send_connect(struct nfc_llcp_sock *sock) @@ -394,7 +400,8 @@ const u8 *service_name_tlv = NULL; const u8 *miux_tlv = NULL; const u8 *rw_tlv = NULL; - u8 service_name_tlv_length, miux_tlv_length, rw_tlv_length, rw; + u8 service_name_tlv_length = 0; + u8 miux_tlv_length, rw_tlv_length, rw; int err; u16 size = 0; __be16 miux; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/nfc/nfc.h +++ linux-intel-iotg-5.15-5.15.0/net/nfc/nfc.h @@ -52,6 +52,7 @@ u8 *nfc_llcp_general_bytes(struct nfc_dev *dev, size_t *general_bytes_len); int nfc_llcp_data_received(struct nfc_dev *dev, struct sk_buff *skb); struct nfc_llcp_local *nfc_llcp_find_local(struct nfc_dev *dev); +int nfc_llcp_local_put(struct nfc_llcp_local *local); int __init nfc_llcp_init(void); void nfc_llcp_exit(void); void nfc_llcp_free_sdp_tlv(struct nfc_llcp_sdp_tlv *sdp); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/sctp/sm_statefuns.c +++ linux-intel-iotg-5.15-5.15.0/net/sctp/sm_statefuns.c @@ -4478,7 +4478,7 @@ SCTP_AUTH_NEW_KEY, GFP_ATOMIC); if (!ev) - return -ENOMEM; + return SCTP_DISPOSITION_NOMEM; sctp_add_cmd_sf(commands, SCTP_CMD_EVENT_ULP, SCTP_ULPEVENT(ev)); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/xfrm/Makefile +++ linux-intel-iotg-5.15-5.15.0/net/xfrm/Makefile @@ -3,6 +3,8 @@ # Makefile for the XFRM subsystem. # +xfrm_interface-$(CONFIG_XFRM_INTERFACE) += xfrm_interface_core.o + obj-$(CONFIG_XFRM) := xfrm_policy.o xfrm_state.o xfrm_hash.o \ xfrm_input.o xfrm_output.o \ xfrm_sysctl.o xfrm_replay.o xfrm_device.o only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/net/xfrm/xfrm_interface_core.c +++ linux-intel-iotg-5.15-5.15.0/net/xfrm/xfrm_interface_core.c @@ -0,0 +1,1078 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * XFRM virtual interface + * + * Copyright (C) 2018 secunet Security Networks AG + * + * Author: + * Steffen Klassert + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static int xfrmi_dev_init(struct net_device *dev); +static void xfrmi_dev_setup(struct net_device *dev); +static struct rtnl_link_ops xfrmi_link_ops __read_mostly; +static unsigned int xfrmi_net_id __read_mostly; +static const struct net_device_ops xfrmi_netdev_ops; + +#define XFRMI_HASH_BITS 8 +#define XFRMI_HASH_SIZE BIT(XFRMI_HASH_BITS) + +struct xfrmi_net { + /* lists for storing interfaces in use */ + struct xfrm_if __rcu *xfrmi[XFRMI_HASH_SIZE]; +}; + +#define for_each_xfrmi_rcu(start, xi) \ + for (xi = rcu_dereference(start); xi; xi = rcu_dereference(xi->next)) + +static u32 xfrmi_hash(u32 if_id) +{ + return hash_32(if_id, XFRMI_HASH_BITS); +} + +static struct xfrm_if *xfrmi_lookup(struct net *net, struct xfrm_state *x) +{ + struct xfrmi_net *xfrmn = net_generic(net, xfrmi_net_id); + struct xfrm_if *xi; + + for_each_xfrmi_rcu(xfrmn->xfrmi[xfrmi_hash(x->if_id)], xi) { + if (x->if_id == xi->p.if_id && + (xi->dev->flags & IFF_UP)) + return xi; + } + + return NULL; +} + +static struct xfrm_if *xfrmi_decode_session(struct sk_buff *skb, + unsigned short family) +{ + struct net_device *dev; + int ifindex = 0; + + if (!secpath_exists(skb) || !skb->dev) + return NULL; + + switch (family) { + case AF_INET6: + ifindex = inet6_sdif(skb); + break; + case AF_INET: + ifindex = inet_sdif(skb); + break; + } + + if (ifindex) { + struct net *net = xs_net(xfrm_input_state(skb)); + + dev = dev_get_by_index_rcu(net, ifindex); + } else { + dev = skb->dev; + } + + if (!dev || !(dev->flags & IFF_UP)) + return NULL; + if (dev->netdev_ops != &xfrmi_netdev_ops) + return NULL; + + return netdev_priv(dev); +} + +static void xfrmi_link(struct xfrmi_net *xfrmn, struct xfrm_if *xi) +{ + struct xfrm_if __rcu **xip = &xfrmn->xfrmi[xfrmi_hash(xi->p.if_id)]; + + rcu_assign_pointer(xi->next , rtnl_dereference(*xip)); + rcu_assign_pointer(*xip, xi); +} + +static void xfrmi_unlink(struct xfrmi_net *xfrmn, struct xfrm_if *xi) +{ + struct xfrm_if __rcu **xip; + struct xfrm_if *iter; + + for (xip = &xfrmn->xfrmi[xfrmi_hash(xi->p.if_id)]; + (iter = rtnl_dereference(*xip)) != NULL; + xip = &iter->next) { + if (xi == iter) { + rcu_assign_pointer(*xip, xi->next); + break; + } + } +} + +static void xfrmi_dev_free(struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + + gro_cells_destroy(&xi->gro_cells); + free_percpu(dev->tstats); +} + +static int xfrmi_create(struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + struct net *net = dev_net(dev); + struct xfrmi_net *xfrmn = net_generic(net, xfrmi_net_id); + int err; + + dev->rtnl_link_ops = &xfrmi_link_ops; + err = register_netdevice(dev); + if (err < 0) + goto out; + + xfrmi_link(xfrmn, xi); + + return 0; + +out: + return err; +} + +static struct xfrm_if *xfrmi_locate(struct net *net, struct xfrm_if_parms *p) +{ + struct xfrm_if __rcu **xip; + struct xfrm_if *xi; + struct xfrmi_net *xfrmn = net_generic(net, xfrmi_net_id); + + for (xip = &xfrmn->xfrmi[xfrmi_hash(p->if_id)]; + (xi = rtnl_dereference(*xip)) != NULL; + xip = &xi->next) + if (xi->p.if_id == p->if_id) + return xi; + + return NULL; +} + +static void xfrmi_dev_uninit(struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + struct xfrmi_net *xfrmn = net_generic(xi->net, xfrmi_net_id); + + xfrmi_unlink(xfrmn, xi); +} + +static void xfrmi_scrub_packet(struct sk_buff *skb, bool xnet) +{ + skb->tstamp = 0; + skb->pkt_type = PACKET_HOST; + skb->skb_iif = 0; + skb->ignore_df = 0; + skb_dst_drop(skb); + nf_reset_ct(skb); + nf_reset_trace(skb); + + if (!xnet) + return; + + ipvs_reset(skb); + secpath_reset(skb); + skb_orphan(skb); + skb->mark = 0; +} + +static int xfrmi_input(struct sk_buff *skb, int nexthdr, __be32 spi, + int encap_type, unsigned short family) +{ + struct sec_path *sp; + + sp = skb_sec_path(skb); + if (sp && (sp->len || sp->olen) && + !xfrm_policy_check(NULL, XFRM_POLICY_IN, skb, family)) + goto discard; + + XFRM_SPI_SKB_CB(skb)->family = family; + if (family == AF_INET) { + XFRM_SPI_SKB_CB(skb)->daddroff = offsetof(struct iphdr, daddr); + XFRM_TUNNEL_SKB_CB(skb)->tunnel.ip4 = NULL; + } else { + XFRM_SPI_SKB_CB(skb)->daddroff = offsetof(struct ipv6hdr, daddr); + XFRM_TUNNEL_SKB_CB(skb)->tunnel.ip6 = NULL; + } + + return xfrm_input(skb, nexthdr, spi, encap_type); +discard: + kfree_skb(skb); + return 0; +} + +static int xfrmi4_rcv(struct sk_buff *skb) +{ + return xfrmi_input(skb, ip_hdr(skb)->protocol, 0, 0, AF_INET); +} + +static int xfrmi6_rcv(struct sk_buff *skb) +{ + return xfrmi_input(skb, skb_network_header(skb)[IP6CB(skb)->nhoff], + 0, 0, AF_INET6); +} + +static int xfrmi4_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type) +{ + return xfrmi_input(skb, nexthdr, spi, encap_type, AF_INET); +} + +static int xfrmi6_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type) +{ + return xfrmi_input(skb, nexthdr, spi, encap_type, AF_INET6); +} + +static int xfrmi_rcv_cb(struct sk_buff *skb, int err) +{ + const struct xfrm_mode *inner_mode; + struct net_device *dev; + struct xfrm_state *x; + struct xfrm_if *xi; + bool xnet; + + if (err && !secpath_exists(skb)) + return 0; + + x = xfrm_input_state(skb); + + xi = xfrmi_lookup(xs_net(x), x); + if (!xi) + return 1; + + dev = xi->dev; + skb->dev = dev; + + if (err) { + dev->stats.rx_errors++; + dev->stats.rx_dropped++; + + return 0; + } + + xnet = !net_eq(xi->net, dev_net(skb->dev)); + + if (xnet) { + inner_mode = &x->inner_mode; + + if (x->sel.family == AF_UNSPEC) { + inner_mode = xfrm_ip2inner_mode(x, XFRM_MODE_SKB_CB(skb)->protocol); + if (inner_mode == NULL) { + XFRM_INC_STATS(dev_net(skb->dev), + LINUX_MIB_XFRMINSTATEMODEERROR); + return -EINVAL; + } + } + + if (!xfrm_policy_check(NULL, XFRM_POLICY_IN, skb, + inner_mode->family)) + return -EPERM; + } + + xfrmi_scrub_packet(skb, xnet); + dev_sw_netstats_rx_add(dev, skb->len); + + return 0; +} + +static int +xfrmi_xmit2(struct sk_buff *skb, struct net_device *dev, struct flowi *fl) +{ + struct xfrm_if *xi = netdev_priv(dev); + struct net_device_stats *stats = &xi->dev->stats; + struct dst_entry *dst = skb_dst(skb); + unsigned int length = skb->len; + struct net_device *tdev; + struct xfrm_state *x; + int err = -1; + int mtu; + + dst_hold(dst); + dst = xfrm_lookup_with_ifid(xi->net, dst, fl, NULL, 0, xi->p.if_id); + if (IS_ERR(dst)) { + err = PTR_ERR(dst); + dst = NULL; + goto tx_err_link_failure; + } + + x = dst->xfrm; + if (!x) + goto tx_err_link_failure; + + if (x->if_id != xi->p.if_id) + goto tx_err_link_failure; + + tdev = dst->dev; + + if (tdev == dev) { + stats->collisions++; + net_warn_ratelimited("%s: Local routing loop detected!\n", + dev->name); + goto tx_err_dst_release; + } + + mtu = dst_mtu(dst); + if ((!skb_is_gso(skb) && skb->len > mtu) || + (skb_is_gso(skb) && !skb_gso_validate_network_len(skb, mtu))) { + skb_dst_update_pmtu_no_confirm(skb, mtu); + + if (skb->protocol == htons(ETH_P_IPV6)) { + if (mtu < IPV6_MIN_MTU) + mtu = IPV6_MIN_MTU; + + if (skb->len > 1280) + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); + else + goto xmit; + } else { + if (!(ip_hdr(skb)->frag_off & htons(IP_DF))) + goto xmit; + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(mtu)); + } + + dst_release(dst); + return -EMSGSIZE; + } + +xmit: + xfrmi_scrub_packet(skb, !net_eq(xi->net, dev_net(dev))); + skb_dst_set(skb, dst); + skb->dev = tdev; + + err = dst_output(xi->net, skb->sk, skb); + if (net_xmit_eval(err) == 0) { + dev_sw_netstats_tx_add(dev, 1, length); + } else { + stats->tx_errors++; + stats->tx_aborted_errors++; + } + + return 0; +tx_err_link_failure: + stats->tx_carrier_errors++; + dst_link_failure(skb); +tx_err_dst_release: + dst_release(dst); + return err; +} + +static netdev_tx_t xfrmi_xmit(struct sk_buff *skb, struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + struct net_device_stats *stats = &xi->dev->stats; + struct dst_entry *dst = skb_dst(skb); + struct flowi fl; + int ret; + + memset(&fl, 0, sizeof(fl)); + + switch (skb->protocol) { + case htons(ETH_P_IPV6): + xfrm_decode_session(skb, &fl, AF_INET6); + memset(IP6CB(skb), 0, sizeof(*IP6CB(skb))); + if (!dst) { + fl.u.ip6.flowi6_oif = dev->ifindex; + fl.u.ip6.flowi6_flags |= FLOWI_FLAG_ANYSRC; + dst = ip6_route_output(dev_net(dev), NULL, &fl.u.ip6); + if (dst->error) { + dst_release(dst); + stats->tx_carrier_errors++; + goto tx_err; + } + skb_dst_set(skb, dst); + } + break; + case htons(ETH_P_IP): + xfrm_decode_session(skb, &fl, AF_INET); + memset(IPCB(skb), 0, sizeof(*IPCB(skb))); + if (!dst) { + struct rtable *rt; + + fl.u.ip4.flowi4_oif = dev->ifindex; + fl.u.ip4.flowi4_flags |= FLOWI_FLAG_ANYSRC; + rt = __ip_route_output_key(dev_net(dev), &fl.u.ip4); + if (IS_ERR(rt)) { + stats->tx_carrier_errors++; + goto tx_err; + } + skb_dst_set(skb, &rt->dst); + } + break; + default: + goto tx_err; + } + + fl.flowi_oif = xi->p.link; + + ret = xfrmi_xmit2(skb, dev, &fl); + if (ret < 0) + goto tx_err; + + return NETDEV_TX_OK; + +tx_err: + stats->tx_errors++; + stats->tx_dropped++; + kfree_skb(skb); + return NETDEV_TX_OK; +} + +static int xfrmi4_err(struct sk_buff *skb, u32 info) +{ + const struct iphdr *iph = (const struct iphdr *)skb->data; + struct net *net = dev_net(skb->dev); + int protocol = iph->protocol; + struct ip_comp_hdr *ipch; + struct ip_esp_hdr *esph; + struct ip_auth_hdr *ah ; + struct xfrm_state *x; + struct xfrm_if *xi; + __be32 spi; + + switch (protocol) { + case IPPROTO_ESP: + esph = (struct ip_esp_hdr *)(skb->data+(iph->ihl<<2)); + spi = esph->spi; + break; + case IPPROTO_AH: + ah = (struct ip_auth_hdr *)(skb->data+(iph->ihl<<2)); + spi = ah->spi; + break; + case IPPROTO_COMP: + ipch = (struct ip_comp_hdr *)(skb->data+(iph->ihl<<2)); + spi = htonl(ntohs(ipch->cpi)); + break; + default: + return 0; + } + + switch (icmp_hdr(skb)->type) { + case ICMP_DEST_UNREACH: + if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED) + return 0; + break; + case ICMP_REDIRECT: + break; + default: + return 0; + } + + x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, + spi, protocol, AF_INET); + if (!x) + return 0; + + xi = xfrmi_lookup(net, x); + if (!xi) { + xfrm_state_put(x); + return -1; + } + + if (icmp_hdr(skb)->type == ICMP_DEST_UNREACH) + ipv4_update_pmtu(skb, net, info, 0, protocol); + else + ipv4_redirect(skb, net, 0, protocol); + xfrm_state_put(x); + + return 0; +} + +static int xfrmi6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, + u8 type, u8 code, int offset, __be32 info) +{ + const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; + struct net *net = dev_net(skb->dev); + int protocol = iph->nexthdr; + struct ip_comp_hdr *ipch; + struct ip_esp_hdr *esph; + struct ip_auth_hdr *ah; + struct xfrm_state *x; + struct xfrm_if *xi; + __be32 spi; + + switch (protocol) { + case IPPROTO_ESP: + esph = (struct ip_esp_hdr *)(skb->data + offset); + spi = esph->spi; + break; + case IPPROTO_AH: + ah = (struct ip_auth_hdr *)(skb->data + offset); + spi = ah->spi; + break; + case IPPROTO_COMP: + ipch = (struct ip_comp_hdr *)(skb->data + offset); + spi = htonl(ntohs(ipch->cpi)); + break; + default: + return 0; + } + + if (type != ICMPV6_PKT_TOOBIG && + type != NDISC_REDIRECT) + return 0; + + x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, + spi, protocol, AF_INET6); + if (!x) + return 0; + + xi = xfrmi_lookup(net, x); + if (!xi) { + xfrm_state_put(x); + return -1; + } + + if (type == NDISC_REDIRECT) + ip6_redirect(skb, net, skb->dev->ifindex, 0, + sock_net_uid(net, NULL)); + else + ip6_update_pmtu(skb, net, info, 0, 0, sock_net_uid(net, NULL)); + xfrm_state_put(x); + + return 0; +} + +static int xfrmi_change(struct xfrm_if *xi, const struct xfrm_if_parms *p) +{ + if (xi->p.link != p->link) + return -EINVAL; + + xi->p.if_id = p->if_id; + + return 0; +} + +static int xfrmi_update(struct xfrm_if *xi, struct xfrm_if_parms *p) +{ + struct net *net = xi->net; + struct xfrmi_net *xfrmn = net_generic(net, xfrmi_net_id); + int err; + + xfrmi_unlink(xfrmn, xi); + synchronize_net(); + err = xfrmi_change(xi, p); + xfrmi_link(xfrmn, xi); + netdev_state_change(xi->dev); + return err; +} + +static int xfrmi_get_iflink(const struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + + return xi->p.link; +} + +static const struct net_device_ops xfrmi_netdev_ops = { + .ndo_init = xfrmi_dev_init, + .ndo_uninit = xfrmi_dev_uninit, + .ndo_start_xmit = xfrmi_xmit, + .ndo_get_stats64 = dev_get_tstats64, + .ndo_get_iflink = xfrmi_get_iflink, +}; + +static void xfrmi_dev_setup(struct net_device *dev) +{ + dev->netdev_ops = &xfrmi_netdev_ops; + dev->header_ops = &ip_tunnel_header_ops; + dev->type = ARPHRD_NONE; + dev->mtu = ETH_DATA_LEN; + dev->min_mtu = ETH_MIN_MTU; + dev->max_mtu = IP_MAX_MTU; + dev->flags = IFF_NOARP; + dev->needs_free_netdev = true; + dev->priv_destructor = xfrmi_dev_free; + netif_keep_dst(dev); + + eth_broadcast_addr(dev->broadcast); +} + +#define XFRMI_FEATURES (NETIF_F_SG | \ + NETIF_F_FRAGLIST | \ + NETIF_F_GSO_SOFTWARE | \ + NETIF_F_HW_CSUM) + +static int xfrmi_dev_init(struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + struct net_device *phydev = __dev_get_by_index(xi->net, xi->p.link); + int err; + + dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); + if (!dev->tstats) + return -ENOMEM; + + err = gro_cells_init(&xi->gro_cells, dev); + if (err) { + free_percpu(dev->tstats); + return err; + } + + dev->features |= NETIF_F_LLTX; + dev->features |= XFRMI_FEATURES; + dev->hw_features |= XFRMI_FEATURES; + + if (phydev) { + dev->needed_headroom = phydev->needed_headroom; + dev->needed_tailroom = phydev->needed_tailroom; + + if (is_zero_ether_addr(dev->dev_addr)) + eth_hw_addr_inherit(dev, phydev); + if (is_zero_ether_addr(dev->broadcast)) + memcpy(dev->broadcast, phydev->broadcast, + dev->addr_len); + } else { + eth_hw_addr_random(dev); + eth_broadcast_addr(dev->broadcast); + } + + return 0; +} + +static int xfrmi_validate(struct nlattr *tb[], struct nlattr *data[], + struct netlink_ext_ack *extack) +{ + return 0; +} + +static void xfrmi_netlink_parms(struct nlattr *data[], + struct xfrm_if_parms *parms) +{ + memset(parms, 0, sizeof(*parms)); + + if (!data) + return; + + if (data[IFLA_XFRM_LINK]) + parms->link = nla_get_u32(data[IFLA_XFRM_LINK]); + + if (data[IFLA_XFRM_IF_ID]) + parms->if_id = nla_get_u32(data[IFLA_XFRM_IF_ID]); +} + +static int xfrmi_newlink(struct net *src_net, struct net_device *dev, + struct nlattr *tb[], struct nlattr *data[], + struct netlink_ext_ack *extack) +{ + struct net *net = dev_net(dev); + struct xfrm_if_parms p = {}; + struct xfrm_if *xi; + int err; + + xfrmi_netlink_parms(data, &p); + if (!p.if_id) { + NL_SET_ERR_MSG(extack, "if_id must be non zero"); + return -EINVAL; + } + + xi = xfrmi_locate(net, &p); + if (xi) + return -EEXIST; + + xi = netdev_priv(dev); + xi->p = p; + xi->net = net; + xi->dev = dev; + + err = xfrmi_create(dev); + return err; +} + +static void xfrmi_dellink(struct net_device *dev, struct list_head *head) +{ + unregister_netdevice_queue(dev, head); +} + +static int xfrmi_changelink(struct net_device *dev, struct nlattr *tb[], + struct nlattr *data[], + struct netlink_ext_ack *extack) +{ + struct xfrm_if *xi = netdev_priv(dev); + struct net *net = xi->net; + struct xfrm_if_parms p = {}; + + xfrmi_netlink_parms(data, &p); + if (!p.if_id) { + NL_SET_ERR_MSG(extack, "if_id must be non zero"); + return -EINVAL; + } + + xi = xfrmi_locate(net, &p); + if (!xi) { + xi = netdev_priv(dev); + } else { + if (xi->dev != dev) + return -EEXIST; + } + + return xfrmi_update(xi, &p); +} + +static size_t xfrmi_get_size(const struct net_device *dev) +{ + return + /* IFLA_XFRM_LINK */ + nla_total_size(4) + + /* IFLA_XFRM_IF_ID */ + nla_total_size(4) + + 0; +} + +static int xfrmi_fill_info(struct sk_buff *skb, const struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + struct xfrm_if_parms *parm = &xi->p; + + if (nla_put_u32(skb, IFLA_XFRM_LINK, parm->link) || + nla_put_u32(skb, IFLA_XFRM_IF_ID, parm->if_id)) + goto nla_put_failure; + return 0; + +nla_put_failure: + return -EMSGSIZE; +} + +static struct net *xfrmi_get_link_net(const struct net_device *dev) +{ + struct xfrm_if *xi = netdev_priv(dev); + + return xi->net; +} + +static const struct nla_policy xfrmi_policy[IFLA_XFRM_MAX + 1] = { + [IFLA_XFRM_LINK] = { .type = NLA_U32 }, + [IFLA_XFRM_IF_ID] = { .type = NLA_U32 }, +}; + +static struct rtnl_link_ops xfrmi_link_ops __read_mostly = { + .kind = "xfrm", + .maxtype = IFLA_XFRM_MAX, + .policy = xfrmi_policy, + .priv_size = sizeof(struct xfrm_if), + .setup = xfrmi_dev_setup, + .validate = xfrmi_validate, + .newlink = xfrmi_newlink, + .dellink = xfrmi_dellink, + .changelink = xfrmi_changelink, + .get_size = xfrmi_get_size, + .fill_info = xfrmi_fill_info, + .get_link_net = xfrmi_get_link_net, +}; + +static void __net_exit xfrmi_exit_batch_net(struct list_head *net_exit_list) +{ + struct net *net; + LIST_HEAD(list); + + rtnl_lock(); + list_for_each_entry(net, net_exit_list, exit_list) { + struct xfrmi_net *xfrmn = net_generic(net, xfrmi_net_id); + struct xfrm_if __rcu **xip; + struct xfrm_if *xi; + int i; + + for (i = 0; i < XFRMI_HASH_SIZE; i++) { + for (xip = &xfrmn->xfrmi[i]; + (xi = rtnl_dereference(*xip)) != NULL; + xip = &xi->next) + unregister_netdevice_queue(xi->dev, &list); + } + } + unregister_netdevice_many(&list); + rtnl_unlock(); +} + +static struct pernet_operations xfrmi_net_ops = { + .exit_batch = xfrmi_exit_batch_net, + .id = &xfrmi_net_id, + .size = sizeof(struct xfrmi_net), +}; + +static struct xfrm6_protocol xfrmi_esp6_protocol __read_mostly = { + .handler = xfrmi6_rcv, + .input_handler = xfrmi6_input, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi6_err, + .priority = 10, +}; + +static struct xfrm6_protocol xfrmi_ah6_protocol __read_mostly = { + .handler = xfrm6_rcv, + .input_handler = xfrm_input, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi6_err, + .priority = 10, +}; + +static struct xfrm6_protocol xfrmi_ipcomp6_protocol __read_mostly = { + .handler = xfrm6_rcv, + .input_handler = xfrm_input, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi6_err, + .priority = 10, +}; + +#if IS_REACHABLE(CONFIG_INET6_XFRM_TUNNEL) +static int xfrmi6_rcv_tunnel(struct sk_buff *skb) +{ + const xfrm_address_t *saddr; + __be32 spi; + + saddr = (const xfrm_address_t *)&ipv6_hdr(skb)->saddr; + spi = xfrm6_tunnel_spi_lookup(dev_net(skb->dev), saddr); + + return xfrm6_rcv_spi(skb, IPPROTO_IPV6, spi, NULL); +} + +static struct xfrm6_tunnel xfrmi_ipv6_handler __read_mostly = { + .handler = xfrmi6_rcv_tunnel, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi6_err, + .priority = 2, +}; + +static struct xfrm6_tunnel xfrmi_ip6ip_handler __read_mostly = { + .handler = xfrmi6_rcv_tunnel, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi6_err, + .priority = 2, +}; +#endif + +static struct xfrm4_protocol xfrmi_esp4_protocol __read_mostly = { + .handler = xfrmi4_rcv, + .input_handler = xfrmi4_input, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi4_err, + .priority = 10, +}; + +static struct xfrm4_protocol xfrmi_ah4_protocol __read_mostly = { + .handler = xfrm4_rcv, + .input_handler = xfrm_input, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi4_err, + .priority = 10, +}; + +static struct xfrm4_protocol xfrmi_ipcomp4_protocol __read_mostly = { + .handler = xfrm4_rcv, + .input_handler = xfrm_input, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi4_err, + .priority = 10, +}; + +#if IS_REACHABLE(CONFIG_INET_XFRM_TUNNEL) +static int xfrmi4_rcv_tunnel(struct sk_buff *skb) +{ + return xfrm4_rcv_spi(skb, IPPROTO_IPIP, ip_hdr(skb)->saddr); +} + +static struct xfrm_tunnel xfrmi_ipip_handler __read_mostly = { + .handler = xfrmi4_rcv_tunnel, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi4_err, + .priority = 3, +}; + +static struct xfrm_tunnel xfrmi_ipip6_handler __read_mostly = { + .handler = xfrmi4_rcv_tunnel, + .cb_handler = xfrmi_rcv_cb, + .err_handler = xfrmi4_err, + .priority = 2, +}; +#endif + +static int __init xfrmi4_init(void) +{ + int err; + + err = xfrm4_protocol_register(&xfrmi_esp4_protocol, IPPROTO_ESP); + if (err < 0) + goto xfrm_proto_esp_failed; + err = xfrm4_protocol_register(&xfrmi_ah4_protocol, IPPROTO_AH); + if (err < 0) + goto xfrm_proto_ah_failed; + err = xfrm4_protocol_register(&xfrmi_ipcomp4_protocol, IPPROTO_COMP); + if (err < 0) + goto xfrm_proto_comp_failed; +#if IS_REACHABLE(CONFIG_INET_XFRM_TUNNEL) + err = xfrm4_tunnel_register(&xfrmi_ipip_handler, AF_INET); + if (err < 0) + goto xfrm_tunnel_ipip_failed; + err = xfrm4_tunnel_register(&xfrmi_ipip6_handler, AF_INET6); + if (err < 0) + goto xfrm_tunnel_ipip6_failed; +#endif + + return 0; + +#if IS_REACHABLE(CONFIG_INET_XFRM_TUNNEL) +xfrm_tunnel_ipip6_failed: + xfrm4_tunnel_deregister(&xfrmi_ipip_handler, AF_INET); +xfrm_tunnel_ipip_failed: + xfrm4_protocol_deregister(&xfrmi_ipcomp4_protocol, IPPROTO_COMP); +#endif +xfrm_proto_comp_failed: + xfrm4_protocol_deregister(&xfrmi_ah4_protocol, IPPROTO_AH); +xfrm_proto_ah_failed: + xfrm4_protocol_deregister(&xfrmi_esp4_protocol, IPPROTO_ESP); +xfrm_proto_esp_failed: + return err; +} + +static void xfrmi4_fini(void) +{ +#if IS_REACHABLE(CONFIG_INET_XFRM_TUNNEL) + xfrm4_tunnel_deregister(&xfrmi_ipip6_handler, AF_INET6); + xfrm4_tunnel_deregister(&xfrmi_ipip_handler, AF_INET); +#endif + xfrm4_protocol_deregister(&xfrmi_ipcomp4_protocol, IPPROTO_COMP); + xfrm4_protocol_deregister(&xfrmi_ah4_protocol, IPPROTO_AH); + xfrm4_protocol_deregister(&xfrmi_esp4_protocol, IPPROTO_ESP); +} + +static int __init xfrmi6_init(void) +{ + int err; + + err = xfrm6_protocol_register(&xfrmi_esp6_protocol, IPPROTO_ESP); + if (err < 0) + goto xfrm_proto_esp_failed; + err = xfrm6_protocol_register(&xfrmi_ah6_protocol, IPPROTO_AH); + if (err < 0) + goto xfrm_proto_ah_failed; + err = xfrm6_protocol_register(&xfrmi_ipcomp6_protocol, IPPROTO_COMP); + if (err < 0) + goto xfrm_proto_comp_failed; +#if IS_REACHABLE(CONFIG_INET6_XFRM_TUNNEL) + err = xfrm6_tunnel_register(&xfrmi_ipv6_handler, AF_INET6); + if (err < 0) + goto xfrm_tunnel_ipv6_failed; + err = xfrm6_tunnel_register(&xfrmi_ip6ip_handler, AF_INET); + if (err < 0) + goto xfrm_tunnel_ip6ip_failed; +#endif + + return 0; + +#if IS_REACHABLE(CONFIG_INET6_XFRM_TUNNEL) +xfrm_tunnel_ip6ip_failed: + xfrm6_tunnel_deregister(&xfrmi_ipv6_handler, AF_INET6); +xfrm_tunnel_ipv6_failed: + xfrm6_protocol_deregister(&xfrmi_ipcomp6_protocol, IPPROTO_COMP); +#endif +xfrm_proto_comp_failed: + xfrm6_protocol_deregister(&xfrmi_ah6_protocol, IPPROTO_AH); +xfrm_proto_ah_failed: + xfrm6_protocol_deregister(&xfrmi_esp6_protocol, IPPROTO_ESP); +xfrm_proto_esp_failed: + return err; +} + +static void xfrmi6_fini(void) +{ +#if IS_REACHABLE(CONFIG_INET6_XFRM_TUNNEL) + xfrm6_tunnel_deregister(&xfrmi_ip6ip_handler, AF_INET); + xfrm6_tunnel_deregister(&xfrmi_ipv6_handler, AF_INET6); +#endif + xfrm6_protocol_deregister(&xfrmi_ipcomp6_protocol, IPPROTO_COMP); + xfrm6_protocol_deregister(&xfrmi_ah6_protocol, IPPROTO_AH); + xfrm6_protocol_deregister(&xfrmi_esp6_protocol, IPPROTO_ESP); +} + +static const struct xfrm_if_cb xfrm_if_cb = { + .decode_session = xfrmi_decode_session, +}; + +static int __init xfrmi_init(void) +{ + const char *msg; + int err; + + pr_info("IPsec XFRM device driver\n"); + + msg = "tunnel device"; + err = register_pernet_device(&xfrmi_net_ops); + if (err < 0) + goto pernet_dev_failed; + + msg = "xfrm4 protocols"; + err = xfrmi4_init(); + if (err < 0) + goto xfrmi4_failed; + + msg = "xfrm6 protocols"; + err = xfrmi6_init(); + if (err < 0) + goto xfrmi6_failed; + + + msg = "netlink interface"; + err = rtnl_link_register(&xfrmi_link_ops); + if (err < 0) + goto rtnl_link_failed; + + xfrm_if_register_cb(&xfrm_if_cb); + + return err; + +rtnl_link_failed: + xfrmi6_fini(); +xfrmi6_failed: + xfrmi4_fini(); +xfrmi4_failed: + unregister_pernet_device(&xfrmi_net_ops); +pernet_dev_failed: + pr_err("xfrmi init: failed to register %s\n", msg); + return err; +} + +static void __exit xfrmi_fini(void) +{ + xfrm_if_unregister_cb(); + rtnl_link_unregister(&xfrmi_link_ops); + xfrmi4_fini(); + xfrmi6_fini(); + unregister_pernet_device(&xfrmi_net_ops); +} + +module_init(xfrmi_init); +module_exit(xfrmi_fini); +MODULE_LICENSE("GPL"); +MODULE_ALIAS_RTNL_LINK("xfrm"); +MODULE_ALIAS_NETDEV("xfrm0"); +MODULE_AUTHOR("Steffen Klassert"); +MODULE_DESCRIPTION("XFRM virtual interface"); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/samples/bpf/tcp_basertt_kern.c +++ linux-intel-iotg-5.15-5.15.0/samples/bpf/tcp_basertt_kern.c @@ -47,7 +47,7 @@ case BPF_SOCK_OPS_BASE_RTT: n = bpf_getsockopt(skops, SOL_TCP, TCP_CONGESTION, cong, sizeof(cong)); - if (!n && !__builtin_memcmp(cong, nv, sizeof(nv)+1)) { + if (!n && !__builtin_memcmp(cong, nv, sizeof(nv))) { /* Set base_rtt to 80us */ rv = 80; } else if (n) { only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/scripts/gcc-plugins/gcc-common.h +++ linux-intel-iotg-5.15-5.15.0/scripts/gcc-plugins/gcc-common.h @@ -77,7 +77,9 @@ #include "varasm.h" #include "stor-layout.h" #include "internal-fn.h" +#include "gimple.h" #include "gimple-expr.h" +#include "gimple-iterator.h" #include "gimple-fold.h" #include "context.h" #include "tree-ssa-alias.h" @@ -91,11 +93,9 @@ #include "tree-eh.h" #include "stmt.h" #include "gimplify.h" -#include "gimple.h" #include "tree-ssa-operands.h" #include "tree-phinodes.h" #include "tree-cfg.h" -#include "gimple-iterator.h" #include "gimple-ssa.h" #include "ssa-iterators.h" only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/security/integrity/iint.c +++ linux-intel-iotg-5.15-5.15.0/security/integrity/iint.c @@ -43,12 +43,10 @@ else if (inode > iint->inode) n = n->rb_right; else - break; + return iint; } - if (!n) - return NULL; - return iint; + return NULL; } /* @@ -121,10 +119,15 @@ parent = *p; test_iint = rb_entry(parent, struct integrity_iint_cache, rb_node); - if (inode < test_iint->inode) + if (inode < test_iint->inode) { p = &(*p)->rb_left; - else + } else if (inode > test_iint->inode) { p = &(*p)->rb_right; + } else { + write_unlock(&integrity_iint_lock); + kmem_cache_free(iint_cache, iint); + return test_iint; + } } iint->inode = inode; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/security/integrity/ima/ima_modsig.c +++ linux-intel-iotg-5.15-5.15.0/security/integrity/ima/ima_modsig.c @@ -89,6 +89,9 @@ /** * ima_collect_modsig - Calculate the file hash without the appended signature. + * @modsig: parsed module signature + * @buf: data to verify the signature on + * @size: data size * * Since the modsig is part of the file contents, the hash used in its signature * isn't the same one ordinarily calculated by IMA. Therefore PKCS7 code only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/sound/soc/fsl/imx-audmix.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/fsl/imx-audmix.c @@ -228,6 +228,8 @@ dai_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s%s", fe_name_pref, args.np->full_name + 1); + if (!dai_name) + return -ENOMEM; dev_info(pdev->dev.parent, "DAI FE name:%s\n", dai_name); @@ -236,6 +238,8 @@ capture_dai_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s %s", dai_name, "CPU-Capture"); + if (!capture_dai_name) + return -ENOMEM; } priv->dai[i].cpus = &dlc[0]; @@ -266,6 +270,8 @@ "AUDMIX-Playback-%d", i); be_cp = devm_kasprintf(&pdev->dev, GFP_KERNEL, "AUDMIX-Capture-%d", i); + if (!be_name || !be_pb || !be_cp) + return -ENOMEM; priv->dai[num_dai + i].cpus = &dlc[3]; priv->dai[num_dai + i].codecs = &dlc[4]; @@ -293,6 +299,9 @@ priv->dapm_routes[i].source = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s %s", dai_name, "CPU-Playback"); + if (!priv->dapm_routes[i].source) + return -ENOMEM; + priv->dapm_routes[i].sink = be_pb; priv->dapm_routes[num_dai + i].source = be_pb; priv->dapm_routes[num_dai + i].sink = be_cp; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/sound/soc/mediatek/mt8195/mt8195-afe-clk.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-afe-clk.c @@ -136,11 +136,6 @@ return 0; } -void mt8195_afe_deinit_clock(struct mtk_base_afe *afe) -{ - mt8195_audsys_clk_unregister(afe); -} - int mt8195_afe_enable_clk(struct mtk_base_afe *afe, struct clk *clk) { int ret; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/sound/soc/mediatek/mt8195/mt8195-afe-clk.h +++ linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-afe-clk.h @@ -90,7 +90,6 @@ int mt8195_afe_get_mclk_source_rate(struct mtk_base_afe *afe, int apll); int mt8195_afe_get_default_mclk_source_by_rate(int rate); int mt8195_afe_init_clock(struct mtk_base_afe *afe); -void mt8195_afe_deinit_clock(struct mtk_base_afe *afe); int mt8195_afe_enable_clk(struct mtk_base_afe *afe, struct clk *clk); void mt8195_afe_disable_clk(struct mtk_base_afe *afe, struct clk *clk); int mt8195_afe_prepare_clk(struct mtk_base_afe *afe, struct clk *clk); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/sound/soc/mediatek/mt8195/mt8195-audsys-clk.c +++ linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-audsys-clk.c @@ -148,6 +148,29 @@ GATE_AUD6(CLK_AUD_GASRC19, "aud_gasrc19", "asm_h_sel", 19), }; +static void mt8195_audsys_clk_unregister(void *data) +{ + struct mtk_base_afe *afe = data; + struct mt8195_afe_private *afe_priv = afe->platform_priv; + struct clk *clk; + struct clk_lookup *cl; + int i; + + if (!afe_priv) + return; + + for (i = 0; i < CLK_AUD_NR_CLK; i++) { + cl = afe_priv->lookup[i]; + if (!cl) + continue; + + clk = cl->clk; + clk_unregister_gate(clk); + + clkdev_drop(cl); + } +} + int mt8195_audsys_clk_register(struct mtk_base_afe *afe) { struct mt8195_afe_private *afe_priv = afe->platform_priv; @@ -188,27 +211,5 @@ afe_priv->lookup[i] = cl; } - return 0; -} - -void mt8195_audsys_clk_unregister(struct mtk_base_afe *afe) -{ - struct mt8195_afe_private *afe_priv = afe->platform_priv; - struct clk *clk; - struct clk_lookup *cl; - int i; - - if (!afe_priv) - return; - - for (i = 0; i < CLK_AUD_NR_CLK; i++) { - cl = afe_priv->lookup[i]; - if (!cl) - continue; - - clk = cl->clk; - clk_unregister_gate(clk); - - clkdev_drop(cl); - } + return devm_add_action_or_reset(afe->dev, mt8195_audsys_clk_unregister, afe); } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/sound/soc/mediatek/mt8195/mt8195-audsys-clk.h +++ linux-intel-iotg-5.15-5.15.0/sound/soc/mediatek/mt8195/mt8195-audsys-clk.h @@ -10,6 +10,5 @@ #define _MT8195_AUDSYS_CLK_H_ int mt8195_audsys_clk_register(struct mtk_base_afe *afe); -void mt8195_audsys_clk_unregister(struct mtk_base_afe *afe); #endif only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/bpf/bpftool/feature.c +++ linux-intel-iotg-5.15-5.15.0/tools/bpf/bpftool/feature.c @@ -135,12 +135,12 @@ /* Probing functions */ -static int read_procfs(const char *path) +static long read_procfs(const char *path) { char *endptr, *line = NULL; size_t len = 0; FILE *fd; - int res; + long res; fd = fopen(path, "r"); if (!fd) @@ -162,7 +162,7 @@ static void probe_unprivileged_disabled(void) { - int res; + long res; /* No support for C-style ouptut */ @@ -181,14 +181,14 @@ printf("Unable to retrieve required privileges for bpf() syscall\n"); break; default: - printf("bpf() syscall restriction has unknown value %d\n", res); + printf("bpf() syscall restriction has unknown value %ld\n", res); } } } static void probe_jit_enable(void) { - int res; + long res; /* No support for C-style ouptut */ @@ -210,7 +210,7 @@ printf("Unable to retrieve JIT-compiler status\n"); break; default: - printf("JIT-compiler status has unknown value %d\n", + printf("JIT-compiler status has unknown value %ld\n", res); } } @@ -218,7 +218,7 @@ static void probe_jit_harden(void) { - int res; + long res; /* No support for C-style ouptut */ @@ -240,7 +240,7 @@ printf("Unable to retrieve JIT hardening status\n"); break; default: - printf("JIT hardening status has unknown value %d\n", + printf("JIT hardening status has unknown value %ld\n", res); } } @@ -248,7 +248,7 @@ static void probe_jit_kallsyms(void) { - int res; + long res; /* No support for C-style ouptut */ @@ -267,14 +267,14 @@ printf("Unable to retrieve JIT kallsyms export status\n"); break; default: - printf("JIT kallsyms exports status has unknown value %d\n", res); + printf("JIT kallsyms exports status has unknown value %ld\n", res); } } } static void probe_jit_limit(void) { - int res; + long res; /* No support for C-style ouptut */ @@ -287,7 +287,7 @@ printf("Unable to retrieve global memory limit for JIT compiler for unprivileged users\n"); break; default: - printf("Global memory limit for JIT compiler for unprivileged users is %d bytes\n", res); + printf("Global memory limit for JIT compiler for unprivileged users is %ld bytes\n", res); } } } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/gpio/lsgpio.c +++ linux-intel-iotg-5.15-5.15.0/tools/gpio/lsgpio.c @@ -94,7 +94,7 @@ for (i = 0; i < info->num_attrs; i++) { if (info->attrs[i].id == GPIO_V2_LINE_ATTR_ID_DEBOUNCE) fprintf(stdout, ", debounce_period=%dusec", - info->attrs[0].debounce_period_us); + info->attrs[i].debounce_period_us); } } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/lib/bpf/bpf_helpers.h +++ linux-intel-iotg-5.15-5.15.0/tools/lib/bpf/bpf_helpers.h @@ -72,16 +72,21 @@ /* * Helper macros to manipulate data structures */ -#ifndef offsetof -#define offsetof(TYPE, MEMBER) ((unsigned long)&((TYPE *)0)->MEMBER) -#endif -#ifndef container_of + +/* offsetof() definition that uses __builtin_offset() might not preserve field + * offset CO-RE relocation properly, so force-redefine offsetof() using + * old-school approach which works with CO-RE correctly + */ +#undef offsetof +#define offsetof(type, member) ((unsigned long)&((type *)0)->member) + +/* redefined container_of() to ensure we use the above offsetof() macro */ +#undef container_of #define container_of(ptr, type, member) \ ({ \ void *__mptr = (void *)(ptr); \ ((type *)(__mptr - offsetof(type, member))); \ }) -#endif /* * Helper macro to throw a compilation error if __bpf_unreachable() gets only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/perf/builtin-bench.c +++ linux-intel-iotg-5.15-5.15.0/tools/perf/builtin-bench.c @@ -21,6 +21,7 @@ #include "builtin.h" #include "bench/bench.h" +#include #include #include #include @@ -226,7 +227,6 @@ if (!bench->fn) break; printf("# Running %s/%s benchmark...\n", coll->name, bench->name); - fflush(stdout); argv[1] = bench->name; run_bench(coll->name, bench->name, bench->fn, 1, argv); @@ -247,6 +247,10 @@ struct collection *coll; int ret = 0; + /* Unbuffered output */ + setvbuf(stdout, NULL, _IONBF, 0); + setlocale(LC_ALL, ""); + if (argc < 2) { /* No collection specified. */ print_usage(); @@ -300,7 +304,6 @@ if (bench_format == BENCH_FORMAT_DEFAULT) printf("# Running '%s/%s' benchmark:\n", coll->name, bench->name); - fflush(stdout); ret = run_bench(coll->name, bench->name, bench->fn, argc-1, argv+1); goto end; } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/perf/tests/builtin-test.c +++ linux-intel-iotg-5.15-5.15.0/tools/perf/tests/builtin-test.c @@ -828,6 +828,9 @@ if (ret < 0) return ret; + /* Unbuffered output */ + setvbuf(stdout, NULL, _IONBF, 0); + argc = parse_options_subcommand(argc, argv, test_options, test_subcommands, test_usage, 0); if (argc >= 1 && !strcmp(argv[0], "list")) return perf_test__list(argc - 1, argv + 1); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/bpf/prog_tests/check_mtu.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/bpf/prog_tests/check_mtu.c @@ -197,7 +197,7 @@ void test_check_mtu(void) { - __u32 mtu_lo; + int mtu_lo; if (test__start_subtest("bpf_check_mtu XDP-attach")) test_check_mtu_xdp_attach(); only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/bpf/prog_tests/sockopt_sk.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/bpf/prog_tests/sockopt_sk.c @@ -3,6 +3,7 @@ #include "cgroup_helpers.h" #include +#include #include "sockopt_sk.skel.h" #ifndef SOL_TCP @@ -183,6 +184,33 @@ goto err; } + /* optval=NULL case is handled correctly */ + + close(fd); + fd = socket(AF_NETLINK, SOCK_RAW, 0); + if (fd < 0) { + log_err("Failed to create AF_NETLINK socket"); + return -1; + } + + buf.u32 = 1; + optlen = sizeof(__u32); + err = setsockopt(fd, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, &buf, optlen); + if (err) { + log_err("Unexpected getsockopt(NETLINK_ADD_MEMBERSHIP) err=%d errno=%d", + err, errno); + goto err; + } + + optlen = 0; + err = getsockopt(fd, SOL_NETLINK, NETLINK_LIST_MEMBERSHIPS, NULL, &optlen); + if (err) { + log_err("Unexpected getsockopt(NETLINK_LIST_MEMBERSHIPS) err=%d errno=%d", + err, errno); + goto err; + } + ASSERT_EQ(optlen, 8, "Unexpected NETLINK_LIST_MEMBERSHIPS value"); + free(big_buf); close(fd); return 0; only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/bpf/progs/sockopt_sk.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/bpf/progs/sockopt_sk.c @@ -32,6 +32,12 @@ __u8 *optval_end = ctx->optval_end; __u8 *optval = ctx->optval; struct sockopt_sk *storage; + struct bpf_sock *sk; + + /* Bypass AF_NETLINK. */ + sk = ctx->sk; + if (sk && sk->family == AF_NETLINK) + return 1; /* Make sure bpf_get_netns_cookie is callable. */ @@ -130,6 +136,12 @@ __u8 *optval_end = ctx->optval_end; __u8 *optval = ctx->optval; struct sockopt_sk *storage; + struct bpf_sock *sk; + + /* Bypass AF_NETLINK. */ + sk = ctx->sk; + if (sk && sk->family == AF_NETLINK) + return 1; /* Make sure bpf_get_netns_cookie is callable. */ only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c @@ -1,13 +1,14 @@ { "bounds checks mixing signed and unsigned, positive bounds", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, 2), BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 3), @@ -17,20 +18,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -1), BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 3), @@ -40,20 +42,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 2", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -1), BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 5), @@ -65,20 +68,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 3", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -1), BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 4), @@ -89,20 +93,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 4", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, 1), BPF_ALU64_REG(BPF_AND, BPF_REG_1, BPF_REG_2), @@ -112,19 +117,20 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .result = ACCEPT, }, { "bounds checks mixing signed and unsigned, variant 5", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -1), BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 5), @@ -135,17 +141,20 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 6", .insns = { + BPF_MOV64_REG(BPF_REG_9, BPF_REG_1), + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), + BPF_MOV64_REG(BPF_REG_1, BPF_REG_9), BPF_MOV64_IMM(BPF_REG_2, 0), BPF_MOV64_REG(BPF_REG_3, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_3, -512), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_6, -1), BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_6, 5), @@ -163,13 +172,14 @@ { "bounds checks mixing signed and unsigned, variant 7", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, 1024 * 1024 * 1024), BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 3), @@ -179,19 +189,20 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .result = ACCEPT, }, { "bounds checks mixing signed and unsigned, variant 8", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -1), BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 2), @@ -203,20 +214,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 9", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 10), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_LD_IMM64(BPF_REG_2, -9223372036854775808ULL), BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 2), @@ -228,19 +240,20 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .result = ACCEPT, }, { "bounds checks mixing signed and unsigned, variant 10", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, 0), BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 2), @@ -252,20 +265,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 11", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -1), BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2), @@ -278,20 +292,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 12", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -6), BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2), @@ -303,20 +318,21 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 13", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 5), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, 2), BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2), @@ -331,7 +347,7 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, @@ -340,13 +356,14 @@ .insns = { BPF_LDX_MEM(BPF_W, BPF_REG_9, BPF_REG_1, offsetof(struct __sk_buff, mark)), + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -1), BPF_MOV64_IMM(BPF_REG_8, 2), @@ -360,20 +377,21 @@ BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, -3), BPF_JMP_IMM(BPF_JA, 0, 0, -7), }, - .fixup_map_hash_8b = { 4 }, + .fixup_map_hash_8b = { 6 }, .errstr = "unbounded min value", .result = REJECT, }, { "bounds checks mixing signed and unsigned, variant 15", .insns = { + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16), BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4), - BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8), + BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 3), BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16), BPF_MOV64_IMM(BPF_REG_2, -6), BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2), @@ -387,7 +405,7 @@ BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN(), }, - .fixup_map_hash_8b = { 3 }, + .fixup_map_hash_8b = { 5 }, .errstr = "unbounded min value", .result = REJECT, }, only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1d.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/forwarding/mirror_gre_bridge_1d.sh @@ -93,12 +93,16 @@ test_gretap() { + ip neigh replace 192.0.2.130 lladdr $(mac_get $h3) \ + nud permanent dev br2 full_test_span_gre_dir gt4 ingress 8 0 "mirror to gretap" full_test_span_gre_dir gt4 egress 0 8 "mirror to gretap" } test_ip6gretap() { + ip neigh replace 2001:db8:2::2 lladdr $(mac_get $h3) \ + nud permanent dev br2 full_test_span_gre_dir gt6 ingress 8 0 "mirror to ip6gretap" full_test_span_gre_dir gt6 egress 0 8 "mirror to ip6gretap" } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/net/mptcp/config +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/mptcp/config @@ -1,3 +1,4 @@ +CONFIG_KALLSYMS=y CONFIG_MPTCP=y CONFIG_IPV6=y CONFIG_MPTCP_IPV6=y @@ -5,6 +6,7 @@ CONFIG_INET_MPTCP_DIAG=m CONFIG_VETH=y CONFIG_NET_SCH_NETEM=m +CONFIG_SYN_COOKIES=y CONFIG_NETFILTER=y CONFIG_NETFILTER_ADVANCED=y CONFIG_NETFILTER_NETLINK=m only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/net/vrf-xfrm-tests.sh +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/net/vrf-xfrm-tests.sh @@ -264,60 +264,60 @@ ip -netns host1 xfrm state add src ${HOST1_4} dst ${HOST2_4} \ proto esp spi ${SPI_1} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_1} 96 \ - enc 'cbc(des3_ede)' ${ENC_1} \ + auth-trunc 'hmac(sha1)' ${AUTH_1} 96 \ + enc 'cbc(aes)' ${ENC_1} \ sel src ${h1_4} dst ${h2_4} ${devarg} ip -netns host2 xfrm state add src ${HOST1_4} dst ${HOST2_4} \ proto esp spi ${SPI_1} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_1} 96 \ - enc 'cbc(des3_ede)' ${ENC_1} \ + auth-trunc 'hmac(sha1)' ${AUTH_1} 96 \ + enc 'cbc(aes)' ${ENC_1} \ sel src ${h1_4} dst ${h2_4} ip -netns host1 xfrm state add src ${HOST2_4} dst ${HOST1_4} \ proto esp spi ${SPI_2} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_2} 96 \ - enc 'cbc(des3_ede)' ${ENC_2} \ + auth-trunc 'hmac(sha1)' ${AUTH_2} 96 \ + enc 'cbc(aes)' ${ENC_2} \ sel src ${h2_4} dst ${h1_4} ${devarg} ip -netns host2 xfrm state add src ${HOST2_4} dst ${HOST1_4} \ proto esp spi ${SPI_2} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_2} 96 \ - enc 'cbc(des3_ede)' ${ENC_2} \ + auth-trunc 'hmac(sha1)' ${AUTH_2} 96 \ + enc 'cbc(aes)' ${ENC_2} \ sel src ${h2_4} dst ${h1_4} ip -6 -netns host1 xfrm state add src ${HOST1_6} dst ${HOST2_6} \ proto esp spi ${SPI_1} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_1} 96 \ - enc 'cbc(des3_ede)' ${ENC_1} \ + auth-trunc 'hmac(sha1)' ${AUTH_1} 96 \ + enc 'cbc(aes)' ${ENC_1} \ sel src ${h1_6} dst ${h2_6} ${devarg} ip -6 -netns host2 xfrm state add src ${HOST1_6} dst ${HOST2_6} \ proto esp spi ${SPI_1} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_1} 96 \ - enc 'cbc(des3_ede)' ${ENC_1} \ + auth-trunc 'hmac(sha1)' ${AUTH_1} 96 \ + enc 'cbc(aes)' ${ENC_1} \ sel src ${h1_6} dst ${h2_6} ip -6 -netns host1 xfrm state add src ${HOST2_6} dst ${HOST1_6} \ proto esp spi ${SPI_2} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_2} 96 \ - enc 'cbc(des3_ede)' ${ENC_2} \ + auth-trunc 'hmac(sha1)' ${AUTH_2} 96 \ + enc 'cbc(aes)' ${ENC_2} \ sel src ${h2_6} dst ${h1_6} ${devarg} ip -6 -netns host2 xfrm state add src ${HOST2_6} dst ${HOST1_6} \ proto esp spi ${SPI_2} reqid 0 mode tunnel \ replay-window 4 replay-oseq 0x4 \ - auth-trunc 'hmac(md5)' ${AUTH_2} 96 \ - enc 'cbc(des3_ede)' ${ENC_2} \ + auth-trunc 'hmac(sha1)' ${AUTH_2} 96 \ + enc 'cbc(aes)' ${ENC_2} \ sel src ${h2_6} dst ${h1_6} } only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/rcutorture/configs/rcu/BUSTED-BOOST.boot +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/rcutorture/configs/rcu/BUSTED-BOOST.boot @@ -5,4 +5,4 @@ rcutree.gp_cleanup_delay=3 rcutree.kthread_prio=2 threadirqs -tree.use_softirq=0 +rcutree.use_softirq=0 only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot @@ -4,4 +4,4 @@ rcutree.gp_cleanup_delay=3 rcutree.kthread_prio=2 threadirqs -tree.use_softirq=0 +rcutree.use_softirq=0 only in patch2: unchanged: --- linux-intel-iotg-5.15-5.15.0.orig/tools/testing/selftests/vDSO/vdso_test_clock_getres.c +++ linux-intel-iotg-5.15-5.15.0/tools/testing/selftests/vDSO/vdso_test_clock_getres.c @@ -84,12 +84,12 @@ int main(int argc, char **argv) { - int ret; + int ret = 0; #if _POSIX_TIMERS > 0 #ifdef CLOCK_REALTIME - ret = vdso_test_clock(CLOCK_REALTIME); + ret += vdso_test_clock(CLOCK_REALTIME); #endif #ifdef CLOCK_BOOTTIME