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