From a35cf7283648f203669736b32dac0f5706e02944 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 28 Jul 2020 19:52:00 +0200 Subject: [PATCH 01/99] ANDROID: GKI: Fix up "do not export symbol_get/put()" commit When removing the export from symbol_get/put(), I disabled lots of different drivers in the allmodconfig build file. As some pointed out, that's not the nicest thing to do, as we really do want the build coverage, so instead, "tweak" the Kconfig files to make the problamatic modules be built-in to the kernel image. That removes the problem of the export going away and still gives us good build testing coverage, without modifying any real-world device configurations. Note, 3 config options are "turned off" so they can not be selected, as they could not be worked around in any semi-sane manner: VIDEO_CX23885 DELL_LAPTOP SAMPLE_HW_BREAKPOINT none of which affects any known Android devices. Bug: 162613590 Fixes: 882b7ca14175 ("ANDROID: GKI: do not export symbol_get/put()") Signed-off-by: Greg Kroah-Hartman Change-Id: Ia28f73a64566438940b876a5d9c1a0137c6304d0 --- arch/x86/kvm/Kconfig | 2 +- build.config.allmodconfig | 32 -------------------- drivers/char/agp/Kconfig | 2 +- drivers/gpu/drm/Kconfig | 4 +-- drivers/gpu/drm/i915/Kconfig | 2 +- drivers/i2c/algos/Kconfig | 2 +- drivers/media/common/b2c2/Kconfig | 2 +- drivers/media/pci/bt8xx/Kconfig | 4 +-- drivers/media/pci/cx18/Kconfig | 2 +- drivers/media/pci/cx23885/Kconfig | 1 + drivers/media/pci/cx88/Kconfig | 4 +-- drivers/media/pci/ddbridge/Kconfig | 2 +- drivers/media/pci/dm1105/Kconfig | 2 +- drivers/media/pci/mantis/Kconfig | 6 ++-- drivers/media/pci/netup_unidvb/Kconfig | 2 +- drivers/media/pci/ngene/Kconfig | 2 +- drivers/media/pci/saa7134/Kconfig | 4 +-- drivers/media/pci/saa7164/Kconfig | 2 +- drivers/media/pci/smipcie/Kconfig | 2 +- drivers/media/pci/ttpci/Kconfig | 14 ++++----- drivers/media/platform/sti/c8sectpfe/Kconfig | 2 +- drivers/media/rc/Kconfig | 2 +- drivers/media/spi/Kconfig | 2 +- drivers/media/usb/as102/Kconfig | 2 +- drivers/media/usb/au0828/Kconfig | 4 +-- drivers/media/usb/cx231xx/Kconfig | 4 +-- drivers/media/usb/dvb-usb-v2/Kconfig | 24 +++++++-------- drivers/media/usb/dvb-usb/Kconfig | 32 ++++++++++---------- drivers/media/usb/em28xx/Kconfig | 6 ++-- drivers/media/usb/pvrusb2/Kconfig | 2 +- drivers/media/usb/tm6000/Kconfig | 2 +- drivers/media/usb/ttusb-budget/Kconfig | 2 +- drivers/mtd/chips/Kconfig | 6 ++-- drivers/net/caif/Kconfig | 2 +- drivers/net/ethernet/freescale/enetc/Kconfig | 4 +-- drivers/platform/x86/Kconfig | 3 +- drivers/usb/Kconfig | 2 +- drivers/usb/gadget/udc/Kconfig | 2 +- drivers/vfio/Kconfig | 2 +- fs/nfs/Kconfig | 8 ++--- net/caif/Kconfig | 2 +- samples/Kconfig | 1 + 42 files changed, 90 insertions(+), 119 deletions(-) diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig index 840e12583b85..2048277df8af 100644 --- a/arch/x86/kvm/Kconfig +++ b/arch/x86/kvm/Kconfig @@ -19,7 +19,7 @@ menuconfig VIRTUALIZATION if VIRTUALIZATION config KVM - tristate "Kernel-based Virtual Machine (KVM) support" + bool "Kernel-based Virtual Machine (KVM) support" depends on HAVE_KVM depends on HIGH_RES_TIMERS # for TASKSTATS/TASK_DELAY_ACCT: diff --git a/build.config.allmodconfig b/build.config.allmodconfig index 4ff50774a9b4..4ce14e5a7c5a 100644 --- a/build.config.allmodconfig +++ b/build.config.allmodconfig @@ -1,36 +1,5 @@ DEFCONFIG=allmodconfig -# When trying to prevent others from using symbol_get/put we need to exclude a -# number of in-kernel modules that use those functions. -SYMBOL_GET_USERS=" \ - -d CAIF \ - -d DELL_LAPTOP \ - -d DRM_I915 \ - -d DVB_USB \ - -d DVB_USB_V2 \ - -d FSL_ENETC \ - -d FSL_ENETC_VF \ - -d INTEL_IPS \ - -d KVM \ - -d MEDIA_DIGITAL_TV_SUPPORT \ - -d MEDIA_PCI_SUPPORT \ - -d MEDIA_RADIO_SUPPORT \ - -d MTD_CFI \ - -d MTD_GEN_PROBE \ - -d MTD_HYPERBUS \ - -d MTD_JEDECPROBE \ - -d MTD_TS5500 \ - -d NFS_V4 \ - -d SAMPLE_HW_BREAKPOINT \ - -d VFIO \ - -d VIDEO_CX231XX \ - -d VIDEO_EM28XX \ - -d VIDEO_GO7007 \ - -d VIDEO_PVRUSB2 \ - -d VIDEO_TM6000 \ - -d VIDEO_USBVISION \ -" - POST_DEFCONFIG_CMDS="update_config" function update_config() { ${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \ @@ -38,7 +7,6 @@ function update_config() { -d CPU_BIG_ENDIAN \ -d STM \ -d TEST_MEMCAT_P \ - ${SYMBOL_GET_USERS} \ -e UNWINDER_FRAME_POINTER \ (cd ${OUT_DIR} && \ diff --git a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig index 812d6aa6e013..961cf0643cf3 100644 --- a/drivers/char/agp/Kconfig +++ b/drivers/char/agp/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 menuconfig AGP - tristate "/dev/agpgart (AGP Support)" + bool "/dev/agpgart (AGP Support)" depends on ALPHA || IA64 || PARISC || PPC || X86 depends on PCI ---help--- diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index e67c194c2aca..6c300f6363ff 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -6,7 +6,7 @@ # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. # menuconfig DRM - tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" + bool "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA select DRM_PANEL_ORIENTATION_QUIRKS select HDMI @@ -55,7 +55,7 @@ config DRM_DEBUG_MM If in doubt, say "N". config DRM_DEBUG_SELFTEST - tristate "kselftests for DRM" + bool "kselftests for DRM" depends on DRM depends on DEBUG_KERNEL select PRIME_NUMBERS diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig index 3317798945e8..5fee7c8e6c02 100644 --- a/drivers/gpu/drm/i915/Kconfig +++ b/drivers/gpu/drm/i915/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DRM_I915 - tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics" + bool "Intel 8xx/9xx/G3x/G4x/HD Graphics" depends on DRM depends on X86 && PCI select INTEL_GTT diff --git a/drivers/i2c/algos/Kconfig b/drivers/i2c/algos/Kconfig index aea523529ef6..fb92c9672acf 100644 --- a/drivers/i2c/algos/Kconfig +++ b/drivers/i2c/algos/Kconfig @@ -7,7 +7,7 @@ menu "I2C Algorithms" visible if !I2C_HELPER_AUTO config I2C_ALGOBIT - tristate "I2C bit-banging interfaces" + bool "I2C bit-banging interfaces" config I2C_ALGOPCF tristate "I2C PCF 8584 interfaces" diff --git a/drivers/media/common/b2c2/Kconfig b/drivers/media/common/b2c2/Kconfig index 27284797e755..420cead9ccba 100644 --- a/drivers/media/common/b2c2/Kconfig +++ b/drivers/media/common/b2c2/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_B2C2_FLEXCOP - tristate + bool depends on DVB_CORE && I2C depends on DVB_B2C2_FLEXCOP_PCI || DVB_B2C2_FLEXCOP_USB default y diff --git a/drivers/media/pci/bt8xx/Kconfig b/drivers/media/pci/bt8xx/Kconfig index 75d172a6f54c..6c7e43b39aed 100644 --- a/drivers/media/pci/bt8xx/Kconfig +++ b/drivers/media/pci/bt8xx/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_BT848 - tristate "BT848 Video For Linux" + bool "BT848 Video For Linux" depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2 select I2C_ALGOBIT select VIDEOBUF_DMA_SG @@ -23,7 +23,7 @@ config VIDEO_BT848 module will be called bttv. config DVB_BT8XX - tristate "DVB/ATSC Support for bt878 based TV cards" + bool "DVB/ATSC Support for bt878 based TV cards" depends on DVB_CORE && PCI && I2C && VIDEO_BT848 select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_SP887X if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/cx18/Kconfig b/drivers/media/pci/cx18/Kconfig index 7074a1071302..ad6b67002c20 100644 --- a/drivers/media/pci/cx18/Kconfig +++ b/drivers/media/pci/cx18/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX18 - tristate "Conexant cx23418 MPEG encoder support" + bool "Conexant cx23418 MPEG encoder support" depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C select I2C_ALGOBIT select VIDEOBUF_VMALLOC diff --git a/drivers/media/pci/cx23885/Kconfig b/drivers/media/pci/cx23885/Kconfig index 926da881929d..1ada5a79c44f 100644 --- a/drivers/media/pci/cx23885/Kconfig +++ b/drivers/media/pci/cx23885/Kconfig @@ -2,6 +2,7 @@ config VIDEO_CX23885 tristate "Conexant cx23885 (2388x successor) support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT && SND + depends on BROKEN select SND_PCM select I2C_ALGOBIT select VIDEO_TUNER diff --git a/drivers/media/pci/cx88/Kconfig b/drivers/media/pci/cx88/Kconfig index 24e1e7c41744..0fb4d397cb8e 100644 --- a/drivers/media/pci/cx88/Kconfig +++ b/drivers/media/pci/cx88/Kconfig @@ -31,7 +31,7 @@ config VIDEO_CX88_ALSA module will be called cx88-alsa. config VIDEO_CX88_BLACKBIRD - tristate "Blackbird MPEG encoder support (cx2388x + cx23416)" + bool "Blackbird MPEG encoder support (cx2388x + cx23416)" depends on VIDEO_CX88 select VIDEO_CX2341X help @@ -43,7 +43,7 @@ config VIDEO_CX88_BLACKBIRD module will be called cx88-blackbird. config VIDEO_CX88_DVB - tristate "DVB/ATSC Support for cx2388x based TV cards" + bool "DVB/ATSC Support for cx2388x based TV cards" depends on VIDEO_CX88 && DVB_CORE select VIDEOBUF2_DVB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/ddbridge/Kconfig b/drivers/media/pci/ddbridge/Kconfig index dab34fb85c09..29ed180f61d6 100644 --- a/drivers/media/pci/ddbridge/Kconfig +++ b/drivers/media/pci/ddbridge/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_DDBRIDGE - tristate "Digital Devices bridge support" + bool "Digital Devices bridge support" depends on DVB_CORE && PCI && I2C select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/dm1105/Kconfig b/drivers/media/pci/dm1105/Kconfig index e0e3af67c99c..959398449ccb 100644 --- a/drivers/media/pci/dm1105/Kconfig +++ b/drivers/media/pci/dm1105/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_DM1105 - tristate "SDMC DM1105 based PCI cards" + bool "SDMC DM1105 based PCI cards" depends on DVB_CORE && PCI && I2C && I2C_ALGOBIT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/mantis/Kconfig b/drivers/media/pci/mantis/Kconfig index 9dfaf2c9a7b3..b6b044f782ec 100644 --- a/drivers/media/pci/mantis/Kconfig +++ b/drivers/media/pci/mantis/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config MANTIS_CORE - tristate "Mantis/Hopper PCI bridge based devices" + bool "Mantis/Hopper PCI bridge based devices" depends on PCI && I2C && INPUT && RC_CORE help @@ -9,7 +9,7 @@ config MANTIS_CORE Say Y if you own such a device and want to use it. config DVB_MANTIS - tristate "MANTIS based cards" + bool "MANTIS based cards" depends on MANTIS_CORE && DVB_CORE && PCI && I2C select DVB_MB86A16 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT @@ -28,7 +28,7 @@ config DVB_MANTIS If unsure say N. config DVB_HOPPER - tristate "HOPPER based cards" + bool "HOPPER based cards" depends on MANTIS_CORE && DVB_CORE && PCI && I2C select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL diff --git a/drivers/media/pci/netup_unidvb/Kconfig b/drivers/media/pci/netup_unidvb/Kconfig index a1a46bd6a7fc..c669e7e1a435 100644 --- a/drivers/media/pci/netup_unidvb/Kconfig +++ b/drivers/media/pci/netup_unidvb/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_NETUP_UNIDVB - tristate "NetUP Universal DVB card support" + bool "NetUP Universal DVB card support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C && SPI_MASTER select VIDEOBUF2_DVB select VIDEOBUF2_VMALLOC diff --git a/drivers/media/pci/ngene/Kconfig b/drivers/media/pci/ngene/Kconfig index 39640875660e..c9e4a46628ce 100644 --- a/drivers/media/pci/ngene/Kconfig +++ b/drivers/media/pci/ngene/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_NGENE - tristate "Micronas nGene support" + bool "Micronas nGene support" depends on DVB_CORE && PCI && I2C select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/saa7134/Kconfig b/drivers/media/pci/saa7134/Kconfig index 30c1759682a9..6bd468f8233a 100644 --- a/drivers/media/pci/saa7134/Kconfig +++ b/drivers/media/pci/saa7134/Kconfig @@ -30,13 +30,13 @@ config VIDEO_SAA7134_RC bool "Philips SAA7134 Remote Controller support" depends on RC_CORE depends on VIDEO_SAA7134 - depends on !(RC_CORE=m && VIDEO_SAA7134=y) + #depends on !(RC_CORE=m && VIDEO_SAA7134=y) default y help Enables Remote Controller support on saa7134 driver. config VIDEO_SAA7134_DVB - tristate "DVB/ATSC Support for saa7134 based TV cards" + bool "DVB/ATSC Support for saa7134 based TV cards" depends on VIDEO_SAA7134 && DVB_CORE select VIDEOBUF2_DVB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/saa7164/Kconfig b/drivers/media/pci/saa7164/Kconfig index 6655c3e504cd..af10cc036cfb 100644 --- a/drivers/media/pci/saa7164/Kconfig +++ b/drivers/media/pci/saa7164/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SAA7164 - tristate "NXP SAA7164 support" + bool "NXP SAA7164 support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C select I2C_ALGOBIT select FW_LOADER diff --git a/drivers/media/pci/smipcie/Kconfig b/drivers/media/pci/smipcie/Kconfig index 407711c0f326..b03d21eab353 100644 --- a/drivers/media/pci/smipcie/Kconfig +++ b/drivers/media/pci/smipcie/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_SMIPCIE - tristate "SMI PCIe DVBSky cards" + bool "SMI PCIe DVBSky cards" depends on DVB_CORE && PCI && I2C select I2C_ALGOBIT select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/ttpci/Kconfig b/drivers/media/pci/ttpci/Kconfig index 8a362ee9105f..380300c39940 100644 --- a/drivers/media/pci/ttpci/Kconfig +++ b/drivers/media/pci/ttpci/Kconfig @@ -5,7 +5,7 @@ config DVB_AV7110_IR default DVB_AV7110 config DVB_AV7110 - tristate "AV7110 cards" + bool "AV7110 cards" depends on DVB_CORE && PCI && I2C select TTPCI_EEPROM select VIDEO_SAA7146_VV @@ -40,7 +40,7 @@ config DVB_AV7110 config DVB_AV7110_OSD bool "AV7110 OSD support" depends on DVB_AV7110 - default y if DVB_AV7110=y || DVB_AV7110=m + default y if DVB_AV7110=y help The AV7110 firmware provides some code to generate an OnScreenDisplay on the video output. This is kind of nonstandard and not guaranteed to @@ -52,7 +52,7 @@ config DVB_AV7110_OSD All other people say N. config DVB_BUDGET_CORE - tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)" + bool "SAA7146 DVB cards (aka Budget, Nova-PCI)" depends on DVB_CORE && PCI && I2C select VIDEO_SAA7146 select TTPCI_EEPROM @@ -62,7 +62,7 @@ config DVB_BUDGET_CORE MPEG2 decoder. config DVB_BUDGET - tristate "Budget cards" + bool "Budget cards" depends on DVB_BUDGET_CORE && I2C select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT @@ -88,7 +88,7 @@ config DVB_BUDGET module will be called budget. config DVB_BUDGET_CI - tristate "Budget cards with onboard CI connector" + bool "Budget cards with onboard CI connector" depends on DVB_BUDGET_CORE && I2C select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT @@ -115,7 +115,7 @@ config DVB_BUDGET_CI module will be called budget-ci. config DVB_BUDGET_AV - tristate "Budget cards with analog video inputs" + bool "Budget cards with analog video inputs" depends on DVB_BUDGET_CORE && I2C select VIDEO_SAA7146_VV depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV @@ -138,7 +138,7 @@ config DVB_BUDGET_AV module will be called budget-av. config DVB_BUDGET_PATCH - tristate "AV7110 cards with Budget Patch" + bool "AV7110 cards with Budget Patch" depends on DVB_BUDGET_CORE && I2C depends on DVB_AV7110 select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/platform/sti/c8sectpfe/Kconfig b/drivers/media/platform/sti/c8sectpfe/Kconfig index 369509e03071..aa19d358bfb6 100644 --- a/drivers/media/platform/sti/c8sectpfe/Kconfig +++ b/drivers/media/platform/sti/c8sectpfe/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_C8SECTPFE - tristate "STMicroelectronics C8SECTPFE DVB support" + bool "STMicroelectronics C8SECTPFE DVB support" depends on PINCTRL && DVB_CORE && I2C depends on ARCH_STI || ARCH_MULTIPLATFORM || COMPILE_TEST select FW_LOADER diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig index c18dee648253..1f54cbb0a3a4 100644 --- a/drivers/media/rc/Kconfig +++ b/drivers/media/rc/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only menuconfig RC_CORE - tristate "Remote Controller support" + bool "Remote Controller support" depends on INPUT help Enable support for Remote Controllers on Linux. This is diff --git a/drivers/media/spi/Kconfig b/drivers/media/spi/Kconfig index bcc49cb47de6..063fb0a3a0a0 100644 --- a/drivers/media/spi/Kconfig +++ b/drivers/media/spi/Kconfig @@ -21,7 +21,7 @@ if SPI menu "Media SPI Adapters" config CXD2880_SPI_DRV - tristate "Sony CXD2880 SPI support" + bool "Sony CXD2880 SPI support" depends on DVB_CORE && SPI default m if !MEDIA_SUBDRV_AUTOSELECT help diff --git a/drivers/media/usb/as102/Kconfig b/drivers/media/usb/as102/Kconfig index 5a859c19d9cf..a048ec4c8a66 100644 --- a/drivers/media/usb/as102/Kconfig +++ b/drivers/media/usb/as102/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_AS102 - tristate "Abilis AS102 DVB receiver" + bool "Abilis AS102 DVB receiver" depends on DVB_CORE && USB && I2C && INPUT select FW_LOADER help diff --git a/drivers/media/usb/au0828/Kconfig b/drivers/media/usb/au0828/Kconfig index 05cc6c48c26f..054e7fce4678 100644 --- a/drivers/media/usb/au0828/Kconfig +++ b/drivers/media/usb/au0828/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_AU0828 - tristate "Auvitek AU0828 support" + bool "Auvitek AU0828 support" depends on I2C && INPUT && DVB_CORE && USB && VIDEO_V4L2 select MEDIA_CONTROLLER select MEDIA_CONTROLLER_DVB @@ -35,7 +35,7 @@ config VIDEO_AU0828_V4L2 config VIDEO_AU0828_RC bool "AU0828 Remote Controller support" depends on RC_CORE - depends on !(RC_CORE=m && VIDEO_AU0828=y) + #depends on !(RC_CORE=m && VIDEO_AU0828=y) depends on VIDEO_AU0828 help Enables Remote Controller support on au0828 driver. diff --git a/drivers/media/usb/cx231xx/Kconfig b/drivers/media/usb/cx231xx/Kconfig index 74f3b29d9c60..b28243f58c39 100644 --- a/drivers/media/usb/cx231xx/Kconfig +++ b/drivers/media/usb/cx231xx/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX231XX - tristate "Conexant cx231xx USB video capture support" + bool "Conexant cx231xx USB video capture support" depends on VIDEO_DEV && I2C && I2C_MUX select VIDEO_TUNER select VIDEO_TVEEPROM @@ -39,7 +39,7 @@ config VIDEO_CX231XX_ALSA module will be called cx231xx-alsa config VIDEO_CX231XX_DVB - tristate "DVB/ATSC Support for Cx231xx based TV cards" + bool "DVB/ATSC Support for Cx231xx based TV cards" depends on VIDEO_CX231XX && DVB_CORE select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/usb/dvb-usb-v2/Kconfig b/drivers/media/usb/dvb-usb-v2/Kconfig index b21a4d413872..204f537ac851 100644 --- a/drivers/media/usb/dvb-usb-v2/Kconfig +++ b/drivers/media/usb/dvb-usb-v2/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_USB_V2 - tristate "Support for various USB DVB devices v2" + bool "Support for various USB DVB devices v2" depends on DVB_CORE && USB && I2C && (RC_CORE || RC_CORE=n) help By enabling this you will be able to choose the various supported @@ -15,7 +15,7 @@ config DVB_USB_V2 Say Y if you own a USB DVB device. config DVB_USB_AF9015 - tristate "Afatech AF9015 DVB-T USB2.0 support" + bool "Afatech AF9015 DVB-T USB2.0 support" depends on DVB_USB_V2 && I2C_MUX select REGMAP select DVB_AF9013 @@ -31,7 +31,7 @@ config DVB_USB_AF9015 Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver config DVB_USB_AF9035 - tristate "Afatech AF9035 DVB-T USB2.0 support" + bool "Afatech AF9035 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_AF9033 select MEDIA_TUNER_TUA9001 if MEDIA_SUBDRV_AUTOSELECT @@ -44,7 +44,7 @@ config DVB_USB_AF9035 Say Y here to support the Afatech AF9035 based DVB USB receiver. config DVB_USB_ANYSEE - tristate "Anysee DVB-T/C USB2.0 support" + bool "Anysee DVB-T/C USB2.0 support" depends on DVB_USB_V2 select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT @@ -61,7 +61,7 @@ config DVB_USB_ANYSEE Anysee E30 C Plus DVB USB2.0 receiver. config DVB_USB_AU6610 - tristate "Alcor Micro AU6610 USB2.0 support" + bool "Alcor Micro AU6610 USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT @@ -69,7 +69,7 @@ config DVB_USB_AU6610 Say Y here to support the Sigmatek DVB-110 DVB-T USB2.0 receiver. config DVB_USB_AZ6007 - tristate "AzureWave 6007 and clones DVB-T/C USB2.0 support" + bool "AzureWave 6007 and clones DVB-T/C USB2.0 support" depends on DVB_USB_V2 select CYPRESS_FIRMWARE select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT @@ -78,7 +78,7 @@ config DVB_USB_AZ6007 Say Y here to support the AZ6007 receivers like Terratec H7. config DVB_USB_CE6230 - tristate "Intel CE6230 DVB-T USB2.0 support" + bool "Intel CE6230 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT @@ -86,7 +86,7 @@ config DVB_USB_CE6230 Say Y here to support the Intel CE6230 DVB-T USB2.0 receiver config DVB_USB_EC168 - tristate "E3C EC168 DVB-T USB2.0 support" + bool "E3C EC168 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_EC100 select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT @@ -94,7 +94,7 @@ config DVB_USB_EC168 Say Y here to support the E3C EC168 DVB-T USB2.0 receiver. config DVB_USB_GL861 - tristate "Genesys Logic GL861 USB2.0 support" + bool "Genesys Logic GL861 USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT @@ -106,7 +106,7 @@ config DVB_USB_GL861 with USB ID 0x7a69:0001. config DVB_USB_LME2510 - tristate "LME DM04/QQBOX DVB-S USB2.0 support" + bool "LME DM04/QQBOX DVB-S USB2.0 support" depends on DVB_USB_V2 depends on RC_CORE select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT @@ -121,7 +121,7 @@ config DVB_USB_LME2510 Say Y here to support the LME DM04/QQBOX DVB-S USB2.0 config DVB_USB_MXL111SF - tristate "MxL111SF DTV USB2.0 support" + bool "MxL111SF DTV USB2.0 support" depends on DVB_USB_V2 select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_LG2160 if MEDIA_SUBDRV_AUTOSELECT @@ -130,7 +130,7 @@ config DVB_USB_MXL111SF Say Y here to support the MxL111SF USB2.0 DTV receiver. config DVB_USB_RTL28XXU - tristate "Realtek RTL28xxU DVB USB support" + bool "Realtek RTL28xxU DVB USB support" depends on DVB_USB_V2 && I2C_MUX select DVB_MN88472 if MEDIA_SUBDRV_AUTOSELECT select DVB_MN88473 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/usb/dvb-usb/Kconfig b/drivers/media/usb/dvb-usb/Kconfig index 1a3e5f965ae4..92234e95eccf 100644 --- a/drivers/media/usb/dvb-usb/Kconfig +++ b/drivers/media/usb/dvb-usb/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_USB - tristate "Support for various USB DVB devices" + bool "Support for various USB DVB devices" depends on DVB_CORE && USB && I2C && RC_CORE help By enabling this you will be able to choose the various supported @@ -41,7 +41,7 @@ config DVB_USB_A800 Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver. config DVB_USB_DIBUSB_MB - tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" + bool "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB3000MB @@ -64,7 +64,7 @@ config DVB_USB_DIBUSB_MB_FAULTY Support for faulty USB IDs due to an invalid EEPROM on some Artec devices. config DVB_USB_DIBUSB_MC - tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)" + bool "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)" depends on DVB_USB select DVB_USB_DIB3000MC select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT @@ -79,7 +79,7 @@ config DVB_USB_DIBUSB_MC a module. config DVB_USB_DIB0700 - tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)" + bool "DiBcom DiB0700 USB DVB devices (see help for supported devices)" depends on DVB_USB select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB7000M if MEDIA_SUBDRV_AUTOSELECT @@ -110,7 +110,7 @@ config DVB_USB_DIB0700 a module. config DVB_USB_UMT_010 - tristate "HanfTek UMT-010 DVB-T USB2.0 support" + bool "HanfTek UMT-010 DVB-T USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_USB_DIB3000MC @@ -120,7 +120,7 @@ config DVB_USB_UMT_010 Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver. config DVB_USB_CXUSB - tristate "Conexant USB2.0 hybrid reference design support" + bool "Conexant USB2.0 hybrid reference design support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_CX22702 if MEDIA_SUBDRV_AUTOSELECT @@ -158,7 +158,7 @@ config DVB_USB_CXUSB_ANALOG Currently this mode is supported only on a Medion MD95700 device. config DVB_USB_M920X - tristate "Uli m920x DVB-T USB2.0 support" + bool "Uli m920x DVB-T USB2.0 support" depends on DVB_USB select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT @@ -172,7 +172,7 @@ config DVB_USB_M920X Firmware required. config DVB_USB_DIGITV - tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support" + bool "Nebula Electronics uDigiTV DVB-T USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT @@ -207,7 +207,7 @@ config DVB_USB_VP702X DVB-S USB2.0 receivers. config DVB_USB_GP8PSK - tristate "GENPIX 8PSK->USB module support" + bool "GENPIX 8PSK->USB module support" depends on DVB_USB help Say Y here to support the @@ -225,7 +225,7 @@ config DVB_USB_NOVA_T_USB2 Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver. config DVB_USB_TTUSB2 - tristate "Pinnacle 400e DVB-S USB2.0 support" + bool "Pinnacle 400e DVB-S USB2.0 support" depends on DVB_USB select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT @@ -250,7 +250,7 @@ config DVB_USB_DTT200U The WT-220U and its clones are pen-sized. config DVB_USB_OPERA1 - tristate "Opera1 DVB-S USB2.0 receiver" + bool "Opera1 DVB-S USB2.0 receiver" depends on DVB_USB select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT @@ -258,7 +258,7 @@ config DVB_USB_OPERA1 Say Y here to support the Opera DVB-S USB2.0 receiver. config DVB_USB_AF9005 - tristate "Afatech AF9005 DVB-T USB1.1 support" + bool "Afatech AF9005 DVB-T USB1.1 support" depends on DVB_USB select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT @@ -274,7 +274,7 @@ config DVB_USB_AF9005_REMOTE Afatech AF9005 based receiver. config DVB_USB_PCTV452E - tristate "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600" + bool "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600" depends on DVB_USB select TTPCI_EEPROM select DVB_LNBP22 if MEDIA_SUBDRV_AUTOSELECT @@ -287,7 +287,7 @@ config DVB_USB_PCTV452E Say Y if you own such a device and want to use it. config DVB_USB_DW2102 - tristate "DvbWorld & TeVii DVB-S/S2 USB2.0 support" + bool "DvbWorld & TeVii DVB-S/S2 USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT @@ -318,7 +318,7 @@ config DVB_USB_CINERGY_T2 Say Y if you own such a device and want to use it. config DVB_USB_DTV5100 - tristate "AME DTV-5100 USB2.0 DVB-T support" + bool "AME DTV-5100 USB2.0 DVB-T support" depends on DVB_USB select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT @@ -334,7 +334,7 @@ config DVB_USB_AZ6027 Say Y here to support the AZ6027 device config DVB_USB_TECHNISAT_USB2 - tristate "Technisat DVB-S/S2 USB2.0 support" + bool "Technisat DVB-S/S2 USB2.0 support" depends on DVB_USB select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/usb/em28xx/Kconfig b/drivers/media/usb/em28xx/Kconfig index f2031a933e54..dfdc9f257205 100644 --- a/drivers/media/usb/em28xx/Kconfig +++ b/drivers/media/usb/em28xx/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_EM28XX - tristate "Empia EM28xx USB devices support" + bool "Empia EM28xx USB devices support" depends on VIDEO_DEV && I2C select VIDEO_TUNER select VIDEO_TVEEPROM @@ -36,7 +36,7 @@ config VIDEO_EM28XX_ALSA module will be called em28xx-alsa config VIDEO_EM28XX_DVB - tristate "DVB/ATSC Support for em28xx based TV cards" + bool "DVB/ATSC Support for em28xx based TV cards" depends on VIDEO_EM28XX && DVB_CORE select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT @@ -75,7 +75,7 @@ config VIDEO_EM28XX_RC tristate "EM28XX Remote Controller support" depends on RC_CORE depends on VIDEO_EM28XX - depends on !(RC_CORE=m && VIDEO_EM28XX=y) + #depends on !(RC_CORE=m && VIDEO_EM28XX=y) default VIDEO_EM28XX help Enables Remote Controller support on em28xx driver. diff --git a/drivers/media/usb/pvrusb2/Kconfig b/drivers/media/usb/pvrusb2/Kconfig index e6a4f730591b..4c77f5dd4dec 100644 --- a/drivers/media/usb/pvrusb2/Kconfig +++ b/drivers/media/usb/pvrusb2/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_PVRUSB2 - tristate "Hauppauge WinTV-PVR USB2 support" + bool "Hauppauge WinTV-PVR USB2 support" depends on VIDEO_V4L2 && I2C select VIDEO_TUNER select VIDEO_TVEEPROM diff --git a/drivers/media/usb/tm6000/Kconfig b/drivers/media/usb/tm6000/Kconfig index 56e977deba81..93083a87debb 100644 --- a/drivers/media/usb/tm6000/Kconfig +++ b/drivers/media/usb/tm6000/Kconfig @@ -27,7 +27,7 @@ config VIDEO_TM6000_ALSA module will be called tm6000-alsa. config VIDEO_TM6000_DVB - tristate "DVB Support for tm6000 based TV cards" + bool "DVB Support for tm6000 based TV cards" depends on VIDEO_TM6000 && DVB_CORE && USB select DVB_ZL10353 help diff --git a/drivers/media/usb/ttusb-budget/Kconfig b/drivers/media/usb/ttusb-budget/Kconfig index af2b8fa49700..e3acd503a3f8 100644 --- a/drivers/media/usb/ttusb-budget/Kconfig +++ b/drivers/media/usb/ttusb-budget/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only config DVB_TTUSB_BUDGET - tristate "Technotrend/Hauppauge Nova-USB devices" + bool "Technotrend/Hauppauge Nova-USB devices" depends on DVB_CORE && USB && I2C && PCI select DVB_CX22700 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/mtd/chips/Kconfig b/drivers/mtd/chips/Kconfig index a7e47e068ad9..c3722c2da3c5 100644 --- a/drivers/mtd/chips/Kconfig +++ b/drivers/mtd/chips/Kconfig @@ -3,7 +3,7 @@ menu "RAM/ROM/Flash chip drivers" depends on MTD!=n config MTD_CFI - tristate "Detect flash chips by Common Flash Interface (CFI) probe" + bool "Detect flash chips by Common Flash Interface (CFI) probe" select MTD_GEN_PROBE select MTD_CFI_UTIL help @@ -15,7 +15,7 @@ config MTD_CFI for more information on CFI. config MTD_JEDECPROBE - tristate "Detect non-CFI AMD/JEDEC-compatible flash chips" + bool "Detect non-CFI AMD/JEDEC-compatible flash chips" select MTD_GEN_PROBE select MTD_CFI_UTIL help @@ -27,7 +27,7 @@ config MTD_JEDECPROBE Intel chips. config MTD_GEN_PROBE - tristate + bool config MTD_CFI_ADV_OPTIONS bool "Flash chip driver advanced configuration options" diff --git a/drivers/net/caif/Kconfig b/drivers/net/caif/Kconfig index 2b9a2f117113..2c5cb8f4b1af 100644 --- a/drivers/net/caif/Kconfig +++ b/drivers/net/caif/Kconfig @@ -34,7 +34,7 @@ config CAIF_SPI_SYNC This option also needs to be enabled on the modem. config CAIF_HSI - tristate "CAIF HSI transport driver" + bool "CAIF HSI transport driver" depends on CAIF default n ---help--- diff --git a/drivers/net/ethernet/freescale/enetc/Kconfig b/drivers/net/ethernet/freescale/enetc/Kconfig index c219587bd334..e35b0ee96618 100644 --- a/drivers/net/ethernet/freescale/enetc/Kconfig +++ b/drivers/net/ethernet/freescale/enetc/Kconfig @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 config FSL_ENETC - tristate "ENETC PF driver" + bool "ENETC PF driver" depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST) select PHYLIB help @@ -11,7 +11,7 @@ config FSL_ENETC If compiled as module (M), the module name is fsl-enetc. config FSL_ENETC_VF - tristate "ENETC VF driver" + bool "ENETC VF driver" depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST) select PHYLIB help diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index 1cab99320514..e17fbe8f3962 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -175,6 +175,7 @@ config DELL_LAPTOP depends on RFKILL || RFKILL = n depends on SERIO_I8042 depends on DELL_SMBIOS + depends on BROKEN select POWER_SUPPLY select LEDS_CLASS select NEW_LEDS @@ -1016,7 +1017,7 @@ config INTEL_MFLD_THERMAL platform. config INTEL_IPS - tristate "Intel Intelligent Power Sharing" + bool "Intel Intelligent Power Sharing" depends on ACPI && PCI ---help--- Intel Calpella platforms support dynamic power sharing between the diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 275568abc670..562e26a07dfb 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -42,7 +42,7 @@ config USB_ARCH_HAS_HCD def_bool y config USB - tristate "Support for Host-side USB" + bool "Support for Host-side USB" depends on USB_ARCH_HAS_HCD select GENERIC_ALLOCATOR select USB_COMMON diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig index d354036ff6c8..ed894207ac78 100644 --- a/drivers/usb/gadget/udc/Kconfig +++ b/drivers/usb/gadget/udc/Kconfig @@ -449,7 +449,7 @@ source "drivers/usb/gadget/udc/aspeed-vhub/Kconfig" config USB_DUMMY_HCD tristate "Dummy HCD (DEVELOPMENT)" - depends on USB=y || (USB=m && USB_GADGET=m) + depends on USB=y help This host controller driver emulates USB, looping all data transfer requests back to a USB "gadget driver" in the same host. The host diff --git a/drivers/vfio/Kconfig b/drivers/vfio/Kconfig index fd17db9b432f..2976ad5f4015 100644 --- a/drivers/vfio/Kconfig +++ b/drivers/vfio/Kconfig @@ -20,7 +20,7 @@ config VFIO_VIRQFD default n menuconfig VFIO - tristate "VFIO Non-Privileged userspace driver framework" + bool "VFIO Non-Privileged userspace driver framework" depends on IOMMU_API select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM || ARM64) help diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig index e7dd07f47825..6a17aa9fd8e4 100644 --- a/fs/nfs/Kconfig +++ b/fs/nfs/Kconfig @@ -41,7 +41,7 @@ config NFS_V2 If unsure, say Y. config NFS_V3 - tristate "NFS client support for NFS version 3" + bool "NFS client support for NFS version 3" depends on NFS_FS default y help @@ -73,7 +73,7 @@ config NFS_V3_ACL If unsure, say N. config NFS_V4 - tristate "NFS client support for NFS version 4" + bool "NFS client support for NFS version 4" depends on NFS_FS select SUNRPC_GSS select KEYS @@ -120,12 +120,12 @@ config PNFS_FILE_LAYOUT default NFS_V4 config PNFS_BLOCK - tristate + bool depends on NFS_V4_1 && BLK_DEV_DM default NFS_V4 config PNFS_FLEXFILE_LAYOUT - tristate + bool depends on NFS_V4_1 && NFS_V3 default m diff --git a/net/caif/Kconfig b/net/caif/Kconfig index eb83051c8330..32815a309495 100644 --- a/net/caif/Kconfig +++ b/net/caif/Kconfig @@ -4,7 +4,7 @@ # menuconfig CAIF - tristate "CAIF support" + bool "CAIF support" select CRC_CCITT default n ---help--- diff --git a/samples/Kconfig b/samples/Kconfig index c8dacb4dda80..f57aeb094b14 100644 --- a/samples/Kconfig +++ b/samples/Kconfig @@ -42,6 +42,7 @@ config SAMPLE_KRETPROBES config SAMPLE_HW_BREAKPOINT tristate "Build kernel hardware breakpoint examples -- loadable module only" depends on HAVE_HW_BREAKPOINT && m + depends on BROKEN help This builds kernel hardware breakpoint example modules. From 9c8aa25e2955df58dae59e409ec1bc7f850935d9 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 2 Aug 2020 08:44:07 +0200 Subject: [PATCH 02/99] ANDROID: GKI: fix symbol_get/put() build error on arm64 defconfig kernelci reports a remaining symbol_get/put() build error on arm64 defconfig builds: https://kernelci.org/build/android/branch/android11-5.4/kernel/ASB-2020-07-05_5.4-stable-650-ga35cf7283648/ so fix that up by changing the offending driver to be built in and not a module. Bug: 162613590 Fixes: 882b7ca14175 ("ANDROID: GKI: do not export symbol_get/put()") Reported-by: Todd Kjos Signed-off-by: Greg Kroah-Hartman Change-Id: I5934da42852ccf309164a6d6238073b99de5edb2 --- drivers/media/tuners/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/tuners/Kconfig b/drivers/media/tuners/Kconfig index e104bb7766e1..0945734a2553 100644 --- a/drivers/media/tuners/Kconfig +++ b/drivers/media/tuners/Kconfig @@ -39,7 +39,7 @@ config MEDIA_TUNER_TDA18250 Say Y here to include support for TDA18250 tuner. config MEDIA_TUNER_TDA8290 - tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo" + bool "TDA 8290/8295 + 8275(a)/18271 tuner combo" depends on MEDIA_SUPPORT && I2C select MEDIA_TUNER_TDA827X select MEDIA_TUNER_TDA18271 From 9c841d36c154b7d878404d9f26b538841fdcffc2 Mon Sep 17 00:00:00 2001 From: Liangcai Fan Date: Mon, 3 Aug 2020 13:42:37 +0800 Subject: [PATCH 03/99] ANDROID: ABI: update symbols of charger-manager.ko to unisoc Update symbols of charger-manager.ko to unisoc,and updates the ABI representation accordingly. Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function void orderly_poweroff(bool)' Bug: 160255258 Change-Id: I99c5b764723efc512e8fa9196d5178a589dac20b Signed-off-by: Liangcai Fan --- android/abi_gki_aarch64.xml | 828 ++++++++++++++++----------------- android/abi_gki_aarch64_unisoc | 3 + 2 files changed, 397 insertions(+), 434 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index b6c4d207f0e3..62eba3b41562 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2419,6 +2419,7 @@ + @@ -5014,17 +5015,6 @@ - - - - - - - - - - - @@ -14081,6 +14071,17 @@ + + + + + + + + + + + @@ -16509,6 +16510,14 @@ + + + + + + + + @@ -16552,7 +16561,7 @@ - + @@ -18346,7 +18355,7 @@ - + @@ -19473,7 +19482,7 @@ - + @@ -36279,7 +36288,7 @@ - + @@ -36376,7 +36385,7 @@ - + @@ -36390,7 +36399,7 @@ - + @@ -41725,7 +41734,7 @@ - + @@ -41890,7 +41899,7 @@ - + @@ -44391,7 +44400,7 @@ - + @@ -44698,7 +44707,7 @@ - + @@ -44716,7 +44725,7 @@ - + @@ -46183,10 +46192,10 @@ - + - + @@ -48685,7 +48694,6 @@ - @@ -48758,8 +48766,6 @@ - - @@ -48791,7 +48797,7 @@ - + @@ -49092,7 +49098,7 @@ - + @@ -49760,7 +49766,7 @@ - + @@ -50716,7 +50722,7 @@ - + @@ -50769,7 +50775,7 @@ - + @@ -51490,7 +51496,7 @@ - + @@ -53813,7 +53819,7 @@ - + @@ -56224,7 +56230,7 @@ - + @@ -58010,7 +58016,7 @@ - + @@ -58033,7 +58039,7 @@ - + @@ -61043,7 +61049,7 @@ - + @@ -63008,35 +63014,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -63059,13 +63036,6 @@ - - - - - - - @@ -63201,30 +63171,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -63311,7 +63257,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -63384,6 +63366,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -67377,6 +67383,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -67530,32 +67566,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -68080,7 +68090,7 @@ - + @@ -69174,10 +69184,10 @@ - + - + @@ -69230,10 +69240,10 @@ - + - + @@ -69921,7 +69931,7 @@ - + @@ -70636,7 +70646,7 @@ - + @@ -70645,7 +70655,7 @@ - + @@ -71247,7 +71257,7 @@ - + @@ -71294,7 +71304,7 @@ - + @@ -71554,7 +71564,7 @@ - + @@ -72849,7 +72859,7 @@ - + @@ -72870,7 +72880,7 @@ - + @@ -76542,6 +76552,23 @@ + + + + + + + + + + + + + + + + + @@ -78912,7 +78939,7 @@ - + @@ -79353,41 +79380,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -79829,7 +79821,6 @@ - @@ -79990,7 +79981,7 @@ - + @@ -80929,7 +80920,7 @@ - + @@ -81658,7 +81649,7 @@ - + @@ -82547,23 +82538,6 @@ - - - - - - - - - - - - - - - - - @@ -82727,7 +82701,7 @@ - + @@ -82746,7 +82720,7 @@ - + @@ -83248,6 +83222,14 @@ + + + + + + + + @@ -83806,7 +83788,7 @@ - + @@ -83922,7 +83904,7 @@ - + @@ -84248,7 +84230,7 @@ - + @@ -84507,11 +84489,11 @@ - + - + @@ -84574,7 +84556,7 @@ - + @@ -84915,13 +84897,13 @@ - + - + - + @@ -84938,7 +84920,7 @@ - + @@ -85069,20 +85051,6 @@ - - - - - - - - - - - - - - @@ -85183,7 +85151,7 @@ - + @@ -85198,7 +85166,7 @@ - + @@ -85257,7 +85225,7 @@ - + @@ -85963,7 +85931,7 @@ - + @@ -86592,7 +86560,7 @@ - + @@ -86640,7 +86608,7 @@ - + @@ -86786,7 +86754,7 @@ - + @@ -87283,7 +87251,7 @@ - + @@ -87697,7 +87665,7 @@ - + @@ -87992,6 +87960,10 @@ + + + + @@ -89245,7 +89217,7 @@ - + @@ -89471,7 +89443,7 @@ - + @@ -89489,7 +89461,7 @@ - + @@ -90624,10 +90596,10 @@ - + - + @@ -94295,7 +94267,7 @@ - + @@ -98386,7 +98358,7 @@ - + @@ -98418,7 +98390,7 @@ - + @@ -98480,7 +98452,7 @@ - + @@ -98770,7 +98742,7 @@ - + @@ -99563,7 +99535,7 @@ - + @@ -99743,7 +99715,7 @@ - + @@ -99788,7 +99760,7 @@ - + @@ -100125,10 +100097,10 @@ - + - + @@ -100789,16 +100761,16 @@ - + - + - + @@ -100806,7 +100778,7 @@ - + @@ -100884,7 +100856,7 @@ - + @@ -100901,6 +100873,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -101118,50 +101112,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -101180,25 +101131,6 @@ - - - - - - - - - - - - - - - - - - - @@ -101301,7 +101233,7 @@ - + @@ -101390,7 +101322,7 @@ - + @@ -101408,10 +101340,10 @@ - + - + @@ -101545,6 +101477,23 @@ + + + + + + + + + + + + + + + + + @@ -101696,20 +101645,6 @@ - - - - - - - - - - - - - - @@ -101950,7 +101885,7 @@ - + @@ -102225,7 +102160,7 @@ - + @@ -102233,6 +102168,20 @@ + + + + + + + + + + + + + + @@ -102465,6 +102414,20 @@ + + + + + + + + + + + + + + @@ -102794,6 +102757,25 @@ + + + + + + + + + + + + + + + + + + + @@ -102876,20 +102858,6 @@ - - - - - - - - - - - - - - @@ -103528,7 +103496,7 @@ - + @@ -103591,7 +103559,7 @@ - + @@ -104098,10 +104066,10 @@ - + - + @@ -104175,7 +104143,7 @@ - + @@ -104378,25 +104346,6 @@ - - - - - - - - - - - - - - - - - - - @@ -104438,7 +104387,7 @@ - + @@ -105128,7 +105077,7 @@ - + @@ -105136,7 +105085,7 @@ - + @@ -105158,7 +105107,7 @@ - + @@ -105166,7 +105115,7 @@ - + @@ -105174,7 +105123,7 @@ - + @@ -105199,7 +105148,7 @@ - + @@ -106230,7 +106179,7 @@ - + @@ -106240,7 +106189,7 @@ - + @@ -106946,7 +106895,7 @@ - + @@ -106954,7 +106903,7 @@ - + @@ -106962,7 +106911,7 @@ - + @@ -106978,7 +106927,7 @@ - + @@ -107046,7 +106995,7 @@ - + @@ -107329,7 +107278,7 @@ - + @@ -107338,7 +107287,7 @@ - + @@ -108266,10 +108215,10 @@ - + - + @@ -108608,15 +108557,15 @@ - + - + - + - + @@ -108728,7 +108677,7 @@ - + @@ -108757,10 +108706,10 @@ - + - + @@ -108768,7 +108717,7 @@ - + @@ -108793,7 +108742,18 @@ - + + + + + + + + + + + + @@ -108801,7 +108761,7 @@ - + @@ -109275,7 +109235,7 @@ - + @@ -109697,7 +109657,7 @@ - + @@ -109720,7 +109680,7 @@ - + @@ -109773,7 +109733,7 @@ - + @@ -111392,7 +111352,7 @@ - + @@ -111422,7 +111382,7 @@ - + @@ -114544,7 +114504,7 @@ - + @@ -114582,7 +114542,7 @@ - + @@ -115433,10 +115393,10 @@ - + - + @@ -115572,10 +115532,10 @@ - + - + @@ -116151,7 +116111,7 @@ - + @@ -116303,7 +116263,7 @@ - + @@ -116458,7 +116418,7 @@ - + @@ -117252,17 +117212,17 @@ - + - + - + @@ -117315,7 +117275,7 @@ - + @@ -117343,13 +117303,13 @@ - + - + - + @@ -117358,7 +117318,7 @@ - + @@ -117366,7 +117326,7 @@ - + @@ -117374,7 +117334,7 @@ - + @@ -117405,7 +117365,7 @@ - + @@ -118388,7 +118348,7 @@ - + @@ -118556,7 +118516,7 @@ - + @@ -119240,7 +119200,7 @@ - + @@ -119357,10 +119317,10 @@ - + - + @@ -119445,10 +119405,10 @@ - + - + @@ -120318,7 +120278,7 @@ - + @@ -121527,7 +121487,7 @@ - + @@ -122142,7 +122102,7 @@ - + diff --git a/android/abi_gki_aarch64_unisoc b/android/abi_gki_aarch64_unisoc index fd33cd6d5aa1..815caa09c7bf 100644 --- a/android/abi_gki_aarch64_unisoc +++ b/android/abi_gki_aarch64_unisoc @@ -775,6 +775,9 @@ alarm_start alarmtimer_get_rtcdev devm_kasprintf + ns_to_timespec64 + orderly_poweroff + power_supply_set_property regulator_force_disable regulator_set_current_limit thermal_zone_get_temp From d2fb269a25c69eded6ec3d74eb18a303f5dcc039 Mon Sep 17 00:00:00 2001 From: Alistair Delva Date: Mon, 3 Aug 2020 11:03:14 -0700 Subject: [PATCH 04/99] ANDROID: Initial OWNERS for abi metafiles Require OWNERS approval for changes to abi metafiles. Bug: 161933860 Change-Id: I2231121862068fa1aa9de241ccf21d1e11ed6597 Signed-off-by: Alistair Delva --- android/OWNERS | 7 +++++++ arch/arm64/configs/OWNERS | 1 + arch/x86/configs/OWNERS | 1 + 3 files changed, 9 insertions(+) create mode 100644 android/OWNERS create mode 100644 arch/arm64/configs/OWNERS create mode 100644 arch/x86/configs/OWNERS diff --git a/android/OWNERS b/android/OWNERS new file mode 100644 index 000000000000..a7fb40992d06 --- /dev/null +++ b/android/OWNERS @@ -0,0 +1,7 @@ +# If we ever add another OWNERS above this directory, it's likely to be +# more permissive, so don't inherit from it +set noparent +gki-abi-approvers@google.com +# Downstream boards maintained directly in this manifest branch +per-file abi_gki_aarch64_cuttlefish = adelva@google.com, rammuthiah@google.com +per-file abi_gki_aarch64_goldfish = rkir@google.com diff --git a/arch/arm64/configs/OWNERS b/arch/arm64/configs/OWNERS new file mode 100644 index 000000000000..1fed58eeb328 --- /dev/null +++ b/arch/arm64/configs/OWNERS @@ -0,0 +1 @@ +per-file gki_defconfig = file:../../../android/OWNERS diff --git a/arch/x86/configs/OWNERS b/arch/x86/configs/OWNERS new file mode 100644 index 000000000000..1fed58eeb328 --- /dev/null +++ b/arch/x86/configs/OWNERS @@ -0,0 +1 @@ +per-file gki_defconfig = file:../../../android/OWNERS From ffe061aadacef00e3a2e83344c6521c9f765e986 Mon Sep 17 00:00:00 2001 From: Alistair Delva Date: Mon, 3 Aug 2020 20:04:00 -0700 Subject: [PATCH 05/99] ANDROID: Open-code OWNERS emails for now The group account on gerrit doesn't quite behave like we thought it would.. Exempt-From-Owner-Approval: OWNERS bug Bug: 161933860 Change-Id: Ic72a3126c51d16d38e9fb3d56a2065d1837785e5 Signed-off-by: Alistair Delva --- android/OWNERS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/android/OWNERS b/android/OWNERS index a7fb40992d06..aefaeef7aee4 100644 --- a/android/OWNERS +++ b/android/OWNERS @@ -2,6 +2,12 @@ # more permissive, so don't inherit from it set noparent gki-abi-approvers@google.com +adelva@google.com +maennich@google.com +saravanak@google.com +sspatil@google.com +tkjos@google.com +willmcvicker@google.com # Downstream boards maintained directly in this manifest branch per-file abi_gki_aarch64_cuttlefish = adelva@google.com, rammuthiah@google.com per-file abi_gki_aarch64_goldfish = rkir@google.com From fe61f8bc0df30ce823f46f4aca3ef81877c594e1 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Mon, 3 Aug 2020 22:20:58 +0000 Subject: [PATCH 06/99] ANDROID: Revert "ANDROID: db845c_gki.fragment: Remove DWC3 modules built into GKI" This reverts commit e79620ebc6fb504beadb9b33500922b991dfc147. The underlying change to gki_defconfig to enable DWC3 was reverted - see commit 59fd4b22d794 (Revert "ANDROID: GKI: Enable CONFIG_USB_DWC3") - so the matching db845c config changes needs to be reverted too. Note: This patch doesn't re-add the CONFIG_USB_DWC3_DISABLE_GADGET_SG config from the revert, as that is a junk config that doesn't actually exist in the tree. Fixes: 59fd4b22d794 ("Revert "ANDROID: GKI: Enable CONFIG_USB_DWC3"") Signed-off-by: John Stultz Change-Id: I51e6eac1bd2db8c51b3b9053f3d4a7b4d72ff48c --- arch/arm64/configs/db845c_gki.fragment | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/db845c_gki.fragment b/arch/arm64/configs/db845c_gki.fragment index 6dfc5f943a70..70063b9b02cd 100644 --- a/arch/arm64/configs/db845c_gki.fragment +++ b/arch/arm64/configs/db845c_gki.fragment @@ -31,6 +31,7 @@ CONFIG_USB_XHCI_PCI_RENESAS=m CONFIG_USB_XHCI_HCD=m CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_DWC3=m # CONFIG_USB_DWC3_HAPS is not set # CONFIG_USB_DWC3_OF_SIMPLE is not set CONFIG_USB_GADGET_VBUS_DRAW=500 From 47f52dcd7fa39d7dd73043032ef5e711a843d464 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Mon, 3 Aug 2020 23:00:22 +0000 Subject: [PATCH 07/99] ANDROID: KABI updates for db845c (USB_DWC3 whiplash fixups) Updated via the following method: $ ./build/abi/bootstrap $ BUILD_CONFIG=common/build.config.db845c build/build.sh $ ./build/abi/extract_symbols out/android11-5.4/ --whitelist common/android/abi_gki_aarch64_db845c $ BUILD_CONFIG=common/build.config.gki.aarch64 build/build_abi.sh --update --print-report ABI DIFFERENCES HAVE BEEN DETECTED! (RC=8) ======================================================== Leaf changes summary: 15 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 15 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 15 Added functions: [A] 'function usb_phy* devm_usb_get_phy(device*, usb_phy_type)' [A] 'function extcon_dev* extcon_find_edev_by_node(device_node*)' [A] 'function extcon_dev* extcon_get_extcon_dev(const char*)' [A] 'function int usb_add_gadget_udc(device*, usb_gadget*)' [A] 'function const char* usb_decode_ctrl(char*, size_t, __u8, __u8, __u16, __u16, __u16)' [A] 'function void usb_del_gadget_udc(usb_gadget*)' [A] 'function void usb_ep_set_maxpacket_limit(usb_ep*, unsigned int)' [A] 'function void usb_gadget_giveback_request(usb_ep*, usb_request*)' [A] 'function int usb_gadget_map_request_by_dev(device*, usb_request*, int)' [A] 'function void usb_gadget_set_state(usb_gadget*, usb_device_state)' [A] 'function void usb_gadget_udc_reset(usb_gadget*, usb_gadget_driver*)' [A] 'function void usb_gadget_unmap_request_by_dev(device*, usb_request*, int)' [A] 'function usb_device_speed usb_get_maximum_speed(device*)' [A] 'function usb_role_switch* usb_role_switch_register(device*, const usb_role_switch_desc*)' [A] 'function void usb_role_switch_unregister(usb_role_switch*)' ======================================================== Updating expected ABI definition (android/abi_gki_aarch64.xml) Change-Id: I2d46b4954039a09fb40c835ad1d0d86bff92c33e Fixes: 59fd4b22d794 ("Revert "ANDROID: GKI: Enable CONFIG_USB_DWC3"") Signed-off-by: John Stultz --- android/abi_gki_aarch64.xml | 1782 +++++++++++++++++--------------- android/abi_gki_aarch64_db845c | 81 +- 2 files changed, 1016 insertions(+), 847 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 62eba3b41562..ae5205e771a9 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -948,6 +948,7 @@ + @@ -1382,8 +1383,10 @@ + + @@ -3617,6 +3620,7 @@ + @@ -3645,6 +3649,8 @@ + + @@ -3663,6 +3669,7 @@ + @@ -3670,7 +3677,12 @@ + + + + + @@ -3682,6 +3694,7 @@ + @@ -3726,6 +3739,8 @@ + + @@ -5015,6 +5030,17 @@ + + + + + + + + + + + @@ -14071,17 +14097,6 @@ - - - - - - - - - - - @@ -16510,14 +16525,6 @@ - - - - - - - - @@ -16561,7 +16568,7 @@ - + @@ -18355,7 +18362,7 @@ - + @@ -19482,7 +19489,7 @@ - + @@ -28027,6 +28034,10 @@ + + + + @@ -28039,6 +28050,10 @@ + + + + @@ -36288,7 +36303,7 @@ - + @@ -36385,7 +36400,7 @@ - + @@ -36399,7 +36414,7 @@ - + @@ -41734,7 +41749,7 @@ - + @@ -41899,7 +41914,7 @@ - + @@ -44400,7 +44415,7 @@ - + @@ -44707,7 +44722,7 @@ - + @@ -44725,7 +44740,7 @@ - + @@ -46192,10 +46207,10 @@ - + - + @@ -48694,6 +48709,7 @@ + @@ -48766,6 +48782,8 @@ + + @@ -48797,7 +48815,7 @@ - + @@ -49098,7 +49116,7 @@ - + @@ -49766,7 +49784,7 @@ - + @@ -50722,7 +50740,7 @@ - + @@ -50775,7 +50793,7 @@ - + @@ -51496,7 +51514,7 @@ - + @@ -56230,7 +56248,7 @@ - + @@ -58016,7 +58034,7 @@ - + @@ -58039,7 +58057,7 @@ - + @@ -61049,7 +61067,7 @@ - + @@ -67383,36 +67401,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -67566,6 +67554,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -68090,7 +68104,7 @@ - + @@ -69184,10 +69198,10 @@ - + - + @@ -69240,10 +69254,10 @@ - + - + @@ -69931,7 +69945,7 @@ - + @@ -70646,7 +70660,7 @@ - + @@ -70655,7 +70669,7 @@ - + @@ -71257,7 +71271,7 @@ - + @@ -71304,7 +71318,7 @@ - + @@ -71564,7 +71578,7 @@ - + @@ -72859,7 +72873,7 @@ - + @@ -72880,7 +72894,7 @@ - + @@ -75724,6 +75738,10 @@ + + + + @@ -75738,6 +75756,18 @@ + + + + + + + + + + + + @@ -76345,6 +76375,11 @@ + + + + + @@ -76385,8 +76420,6 @@ - - @@ -76552,7 +76585,7 @@ - + @@ -76737,23 +76770,6 @@ - - - - - - - - - - - - - - - - - @@ -76816,367 +76832,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -77296,23 +76951,13 @@ - - - - - - - - - - @@ -77321,23 +76966,12 @@ - - - - - - - - - - - @@ -77345,29 +76979,18 @@ - - - - - - - - - - - @@ -77375,13 +76998,8 @@ - - - - - @@ -77518,31 +77136,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -77573,36 +77166,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -77626,12 +77189,6 @@ - - - - - - @@ -77639,11 +77196,6 @@ - - - - - @@ -77675,15 +77227,6 @@ - - - - - - - - - @@ -77692,20 +77235,6 @@ - - - - - - - - - - - - - - @@ -78042,6 +77571,17 @@ + + + + + + + + + + + @@ -78335,17 +77875,6 @@ - - - - - - - - - - - @@ -78939,7 +78468,7 @@ - + @@ -79068,15 +78597,444 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -79125,6 +79083,16 @@ + + + + + + + + + + @@ -79140,6 +79108,20 @@ + + + + + + + + + + + + + + @@ -79163,6 +79145,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -80144,6 +80215,11 @@ + + + + + @@ -80176,6 +80252,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -80920,7 +81081,7 @@ - + @@ -81649,7 +81810,7 @@ - + @@ -82701,7 +82862,7 @@ - + @@ -82720,7 +82881,7 @@ - + @@ -83222,7 +83383,7 @@ - + @@ -83788,7 +83949,7 @@ - + @@ -83904,7 +84065,7 @@ - + @@ -84219,10 +84380,10 @@ - + - + @@ -84230,7 +84391,7 @@ - + @@ -84489,11 +84650,11 @@ - + - + @@ -84556,7 +84717,7 @@ - + @@ -84632,7 +84793,7 @@ - + @@ -84883,7 +85044,7 @@ - + @@ -84895,15 +85056,15 @@ - + - + - + - + @@ -84920,7 +85081,7 @@ - + @@ -85051,6 +85212,20 @@ + + + + + + + + + + + + + + @@ -85151,7 +85326,7 @@ - + @@ -85166,7 +85341,7 @@ - + @@ -85225,7 +85400,7 @@ - + @@ -85931,7 +86106,7 @@ - + @@ -86560,7 +86735,7 @@ - + @@ -86608,7 +86783,7 @@ - + @@ -86754,7 +86929,7 @@ - + @@ -87251,7 +87426,7 @@ - + @@ -87665,7 +87840,7 @@ - + @@ -89217,7 +89392,7 @@ - + @@ -89443,7 +89618,7 @@ - + @@ -89461,7 +89636,7 @@ - + @@ -90596,10 +90771,10 @@ - + - + @@ -94267,7 +94442,7 @@ - + @@ -98358,7 +98533,7 @@ - + @@ -98390,7 +98565,7 @@ - + @@ -98452,7 +98627,7 @@ - + @@ -98742,7 +98917,7 @@ - + @@ -99535,7 +99710,7 @@ - + @@ -99715,7 +99890,7 @@ - + @@ -99760,7 +99935,7 @@ - + @@ -100097,10 +100272,10 @@ - + - + @@ -100761,16 +100936,16 @@ - + - + - + @@ -100778,7 +100953,7 @@ - + @@ -101112,7 +101287,7 @@ - + @@ -101233,7 +101408,7 @@ - + @@ -101322,7 +101497,7 @@ - + @@ -101645,6 +101820,20 @@ + + + + + + + + + + + + + + @@ -102160,7 +102349,7 @@ - + @@ -102168,20 +102357,6 @@ - - - - - - - - - - - - - - @@ -102414,20 +102589,6 @@ - - - - - - - - - - - - - - @@ -102757,25 +102918,6 @@ - - - - - - - - - - - - - - - - - - - @@ -102858,6 +103000,20 @@ + + + + + + + + + + + + + + @@ -103496,7 +103652,7 @@ - + @@ -103559,7 +103715,7 @@ - + @@ -104066,10 +104222,10 @@ - + - + @@ -104143,7 +104299,15 @@ - + + + + + + + + + @@ -104162,6 +104326,22 @@ + + + + + + + + + + + + + + + + @@ -104338,28 +104518,15 @@ - + - + - - - - - - + - - - - - - - - - + @@ -104387,7 +104554,7 @@ - + @@ -105077,7 +105244,7 @@ - + @@ -105085,7 +105252,7 @@ - + @@ -105099,7 +105266,7 @@ - + @@ -105107,7 +105274,7 @@ - + @@ -105115,7 +105282,7 @@ - + @@ -106887,7 +107054,7 @@ - + @@ -106895,7 +107062,7 @@ - + @@ -106903,7 +107070,7 @@ - + @@ -106995,7 +107162,7 @@ - + @@ -107278,7 +107445,7 @@ - + @@ -107287,7 +107454,7 @@ - + @@ -108190,10 +108357,10 @@ - + - + @@ -108215,10 +108382,10 @@ - + - + @@ -108557,15 +108724,15 @@ - + - + - + - + @@ -108677,7 +108844,7 @@ - + @@ -108717,14 +108884,6 @@ - - - - - - - - @@ -108742,18 +108901,7 @@ - - - - - - - - - - - - + @@ -108761,7 +108909,7 @@ - + @@ -109235,7 +109383,7 @@ - + @@ -109668,7 +109816,7 @@ - + @@ -109680,7 +109828,7 @@ - + @@ -109689,7 +109837,7 @@ - + @@ -109733,7 +109881,7 @@ - + @@ -109752,7 +109900,7 @@ - + @@ -111352,7 +111500,7 @@ - + @@ -111371,10 +111519,10 @@ - + - + @@ -111382,7 +111530,7 @@ - + @@ -114488,7 +114636,7 @@ - + @@ -114504,7 +114652,7 @@ - + @@ -114520,7 +114668,7 @@ - + @@ -114542,7 +114690,7 @@ - + @@ -114550,7 +114698,7 @@ - + @@ -115393,10 +115541,10 @@ - + - + @@ -115532,10 +115680,10 @@ - + - + @@ -116111,17 +116259,6 @@ - - - - - - - - - - - @@ -116263,7 +116400,7 @@ - + @@ -116418,7 +116555,7 @@ - + @@ -117212,17 +117349,17 @@ - + - + - + @@ -117275,7 +117412,7 @@ - + @@ -117292,7 +117429,7 @@ - + @@ -117301,12 +117438,12 @@ - + - + - + @@ -117318,7 +117455,7 @@ - + @@ -117326,7 +117463,7 @@ - + @@ -117365,7 +117502,7 @@ - + @@ -118127,7 +118264,6 @@ - @@ -118348,7 +118484,7 @@ - + @@ -118516,7 +118652,7 @@ - + @@ -119200,7 +119336,7 @@ - + @@ -119317,10 +119453,10 @@ - + - + @@ -119405,10 +119541,10 @@ - + - + @@ -119427,10 +119563,10 @@ - + - + @@ -120278,7 +120414,7 @@ - + @@ -121487,7 +121623,7 @@ - + @@ -122102,7 +122238,7 @@ - + diff --git a/android/abi_gki_aarch64_db845c b/android/abi_gki_aarch64_db845c index 0bcc4a151379..b99674a160cd 100644 --- a/android/abi_gki_aarch64_db845c +++ b/android/abi_gki_aarch64_db845c @@ -45,6 +45,7 @@ _dev_err dev_get_regmap device_init_wakeup + device_property_present device_property_read_u32_array device_set_wakeup_capable device_wakeup_enable @@ -65,20 +66,24 @@ __devm_of_phy_provider_register devm_of_platform_populate devm_phy_create + devm_phy_get devm_pinctrl_register __devm_regmap_init_mmio_clk devm_regulator_bulk_get devm_regulator_get devm_regulator_register devm_request_threaded_irq + devm_reset_control_array_get __devm_reset_control_get devm_reset_controller_register + devm_usb_get_phy_by_phandle devm_watchdog_register_device _dev_notice dev_pm_opp_get_level dev_set_name _dev_warn disable_irq + disable_irq_nosync divider_get_val divider_recalc_rate divider_round_rate_parent @@ -114,6 +119,10 @@ enable_irq eth_validate_addr event_triggers_call + extcon_get_edev_by_phandle + extcon_get_state + extcon_register_notifier + extcon_unregister_notifier fd_install find_next_bit find_next_zero_bit @@ -156,6 +165,7 @@ irq_domain_remove irq_find_mapping irq_find_matching_fwspec + irq_modify_status irq_of_parse_and_map irq_set_chained_handler_and_data irq_set_chip_and_handler_name @@ -169,6 +179,7 @@ __kmalloc kmalloc_caches kmem_cache_alloc_trace + kmemdup kstrdup ktime_get ktime_get_mono_fast_ns @@ -196,10 +207,12 @@ of_alias_get_id of_clk_add_hw_provider of_clk_del_provider + of_clk_get of_clk_hw_onecell_get of_clk_set_defaults of_device_get_match_data of_device_is_compatible + of_find_device_by_node of_find_property of_fwnode_ops of_genpd_add_provider_onecell @@ -213,6 +226,7 @@ of_match_node of_parse_phandle of_phy_simple_xlate + of_platform_depopulate of_platform_populate of_property_count_elems_of_size of_property_read_string @@ -228,12 +242,22 @@ pci_unregister_driver perf_trace_buf_alloc perf_trace_run_bpf_submit + phy_exit + phy_init + phy_power_off + phy_power_on + phy_set_mode_ext pinconf_generic_dt_node_to_map pinctrl_dev_get_drvdata pinctrl_pm_select_default_state pinctrl_pm_select_sleep_state pinctrl_utils_free_map platform_bus_type + platform_device_add + platform_device_add_properties + platform_device_add_resources + platform_device_alloc + platform_device_put platform_device_register_full platform_device_unregister __platform_driver_register @@ -313,6 +337,7 @@ strcpy strlcpy strlen + strncmp strncpy __sw_hweight32 __sw_hweight64 @@ -348,6 +373,7 @@ usb_amd_quirk_pll_enable usb_deregister usb_disabled + usb_get_dr_mode usb_hcd_check_unlink_urb usb_hcd_giveback_urb usb_hc_died @@ -692,7 +718,6 @@ iommu_unmap irq_domain_xlate_onecell kasprintf - kmemdup kstrdup_quotable_cmdline kthread_create_on_node kthread_destroy_worker @@ -719,7 +744,6 @@ of_dma_configure of_drm_find_bridge of_drm_find_panel - of_find_device_by_node of_find_matching_node_and_match of_get_compatible_child of_graph_get_endpoint_by_regs @@ -727,7 +751,6 @@ of_graph_get_remote_port_parent of_graph_parse_endpoint of_icc_get - of_platform_depopulate of_property_read_string_helper param_ops_charp pm_runtime_get_if_in_use @@ -904,10 +927,6 @@ devm_nvmem_cell_get # required by phy-qcom-usb-hs.ko - extcon_get_edev_by_phandle - extcon_get_state - extcon_register_notifier - extcon_unregister_notifier of_property_read_variable_u8_array regulator_set_voltage reset_control_reset @@ -942,7 +961,6 @@ devres_release kfree_const kstrdup_const - strncmp # required by qcom-rpmh-regulator.ko of_get_regulator_init_data @@ -965,12 +983,6 @@ rtc_valid_tm # required by ufs-qcom.ko - devm_phy_get - phy_exit - phy_init - phy_power_off - phy_power_on - phy_set_mode_ext print_hex_dump ufshcd_dme_get_attr ufshcd_dme_set_attr @@ -1022,7 +1034,6 @@ # required by smsm.ko handle_nested_irq irq_domain_xlate_twocell - irq_modify_status qcom_smem_state_register qcom_smem_state_unregister @@ -1065,6 +1076,35 @@ of_device_uevent_modalias __request_module +# required by dwc3-qcom.ko + devm_extcon_register_notifier + of_clk_get_parent_count + +# required by dwc3.ko + dev_fwnode + device_property_read_string + device_property_read_u8_array + devm_usb_get_phy + extcon_find_edev_by_node + extcon_get_extcon_dev + of_usb_get_phy_mode + phy_pm_runtime_get_sync + phy_pm_runtime_put_sync + platform_get_irq_byname_optional + system_freezable_wq + usb_add_gadget_udc + usb_decode_ctrl + usb_del_gadget_udc + usb_ep_set_maxpacket_limit + usb_gadget_giveback_request + usb_gadget_map_request_by_dev + usb_gadget_set_state + usb_gadget_udc_reset + usb_gadget_unmap_request_by_dev + usb_get_maximum_speed + usb_role_switch_register + usb_role_switch_unregister + # required by ohci-hcd.ko flush_work gen_pool_dma_alloc_align @@ -1080,8 +1120,6 @@ usb_amd_prefetch_quirk # required by ohci-platform.ko - devm_reset_control_array_get - of_clk_get usb_create_hcd # required by xhci-hcd.ko @@ -1093,11 +1131,6 @@ pci_alloc_irq_vectors_affinity pci_free_irq_vectors pci_irq_vector - platform_device_add - platform_device_add_properties - platform_device_add_resources - platform_device_alloc - platform_device_put radix_tree_maybe_preload sg_pcopy_from_buffer sg_pcopy_to_buffer @@ -1130,8 +1163,6 @@ usb_enable_intel_xhci_ports # required by xhci-plat-hcd.ko - device_property_present - devm_usb_get_phy_by_phandle of_usb_host_tpl_support __usb_create_hcd @@ -1242,6 +1273,8 @@ __nla_parse proto_register proto_unregister + _raw_write_lock_bh + _raw_write_unlock_bh refcount_dec_and_mutex_lock refcount_dec_checked release_sock From 00d2c6eff3878b1af4672c1e63b7998288df579a Mon Sep 17 00:00:00 2001 From: Todd Kjos Date: Mon, 3 Aug 2020 21:00:53 -0700 Subject: [PATCH 08/99] ANDROID: GKI: enable RCU configs Enable configs needed for RCU perf/power optimizations CONFIG_RCU_EXPERT=y CONFIG_RCU_FAST_NO_HZ=y CONFIG_RCU_NOCB_CPU=y Bug: 162753392 Signed-off-by: Todd Kjos Change-Id: Ie261e9dbd679c2f2481ebc1187c0ac4a01fd0767 --- arch/arm64/configs/gki_defconfig | 3 +++ arch/x86/configs/gki_defconfig | 3 +++ 2 files changed, 6 insertions(+) diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 976cd97dfaba..13b6ac7536b0 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -8,6 +8,9 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_PSI=y +CONFIG_RCU_EXPERT=y +CONFIG_RCU_FAST_NO_HZ=y +CONFIG_RCU_NOCB_CPU=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_IKHEADERS=y diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 6e31f9849f67..dccc7a8dd54c 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -10,6 +10,9 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_PSI=y +CONFIG_RCU_EXPERT=y +CONFIG_RCU_FAST_NO_HZ=y +CONFIG_RCU_NOCB_CPU=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_IKHEADERS=y From 5b7b575d8ae8dfbe795ab103a16ed243659a2875 Mon Sep 17 00:00:00 2001 From: Todd Kjos Date: Mon, 3 Aug 2020 21:24:02 -0700 Subject: [PATCH 09/99] ANDROID: GKI: update KMI after RCU CONFIGs added Leaf changes summary: 1471 artifacts changed (826 filtered out) Changed leaf types summary: 2 leaf types changed Removed/Changed/Added functions summary: 0 Removed, 1436 Changed (823 filtered out), 0 Added function Removed/Changed/Added variables summary: 0 Removed, 33 Changed (3 filtered out), 0 Added variable 1436 functions with some sub-type change: [C] 'function int ___pskb_trim(sk_buff*, unsigned int)' at skbuff.c:1925:1 has some sub-type changes: CRC value (modversions) changed from 0xc203e300 to 0xe6c6a175 [C] 'function page* __alloc_pages_nodemask(gfp_t, unsigned int, int, nodemask_t*)' at page_alloc.c:4800:1 has some sub-type changes: CRC value (modversions) changed from 0xc287ef4b to 0xfd4b384c [C] 'function sk_buff* __alloc_skb(unsigned int, gfp_t, int, int)' at skbuff.c:181:1 has some sub-type changes: CRC value (modversions) changed from 0xb34dbe57 to 0xeda86ba5 [C] 'function int __break_lease(inode*, unsigned int, unsigned int)' at locks.c:1603:1 has some sub-type changes: CRC value (modversions) changed from 0xd77e6e95 to 0x77dac5b9 [C] 'function void __brelse(buffer_head*)' at buffer.c:1140:1 has some sub-type changes: CRC value (modversions) changed from 0x5ad361cf to 0x54e42976 [C] 'function void __cfg80211_send_event_skb(sk_buff*, gfp_t)' at nl80211.c:9913:1 has some sub-type changes: CRC value (modversions) changed from 0x1aec8f08 to 0xea843ee [C] 'function class* __class_create(module*, const char*, lock_class_key*)' at class.c:225:1 has some sub-type changes: CRC value (modversions) changed from 0x5163c4b8 to 0xc37f79af [C] 'function int __class_register(class*, lock_class_key*)' at class.c:152:1 has some sub-type changes: CRC value (modversions) changed from 0xe89977ad to 0x46b85a55 [C] 'function int __clk_determine_rate(clk_hw*, clk_rate_request*)' at clk.c:1434:1 has some sub-type changes: CRC value (modversions) changed from 0x88a0a894 to 0xa9ea3222 [C] 'function clk_hw* __clk_get_hw(clk*)' at clk.c:278:1 has some sub-type changes: CRC value (modversions) changed from 0x78536061 to 0xbb762460 [C] 'function int __clk_mux_determine_rate(clk_hw*, clk_rate_request*)' at clk.c:661:1 has some sub-type changes: CRC value (modversions) changed from 0xea28e69a to 0xa3fa33ab [C] 'function int __clk_mux_determine_rate_closest(clk_hw*, clk_rate_request*)' at clk.c:668:1 has some sub-type changes: CRC value (modversions) changed from 0x920eeb1a to 0x15b6a53f [C] 'function int __clocksource_register_scale(clocksource*, u32, u32)' at clocksource.c:925:1 has some sub-type changes: CRC value (modversions) changed from 0x9fdbd0b4 to 0x4dadf9dd [C] 'function int __cpufreq_driver_target(cpufreq_policy*, unsigned int, unsigned int)' at cpufreq.c:2130:1 has some sub-type changes: CRC value (modversions) changed from 0xaf36ae1d to 0x960f3b0a [C] 'function net_device* __dev_get_by_index(net*, int)' at dev.c:728:1 has some sub-type changes: CRC value (modversions) changed from 0x3ca0c04b to 0xdfdf2e02 [C] 'function net_device* __dev_get_by_name(net*, const char*)' at dev.c:653:1 has some sub-type changes: CRC value (modversions) changed from 0xa8b4faab to 0x58f9fc3c [C] 'function void __dev_kfree_skb_any(sk_buff*, skb_free_reason)' at dev.c:2732:1 has some sub-type changes: CRC value (modversions) changed from 0x61b4aa06 to 0x459d25ff [C] 'function void __dev_kfree_skb_irq(sk_buff*, skb_free_reason)' at dev.c:2710:1 has some sub-type changes: CRC value (modversions) changed from 0x5204d37 to 0x7d20c275 [C] 'function int __devm_iio_device_register(device*, iio_dev*, module*)' at industrialio-core.c:1742:1 has some sub-type changes: CRC value (modversions) changed from 0x67714dad to 0x859beeb4 [C] 'function phy_provider* __devm_of_phy_provider_register(device*, device_node*, module*, phy* (device*, of_phandle_args*)*)' at phy-core.c:1041:1 has some sub-type changes: CRC value (modversions) changed from 0x39623d01 to 0xb5519fbf [C] 'function regmap* __devm_regmap_init(device*, const regmap_bus*, void*, const regmap_config*, lock_class_key*, const char*)' at regmap.c:1171:1 has some sub-type changes: CRC value (modversions) changed from 0xede0705 to 0x9ed43499 [C] 'function regmap* __devm_regmap_init_i2c(i2c_client*, const regmap_config*, lock_class_key*, const char*)' at regmap-i2c.c:292:1 has some sub-type changes: CRC value (modversions) changed from 0xcf1a1f6 to 0x48c424c9 [C] 'function regmap* __devm_regmap_init_mmio_clk(device*, const char*, void*, const regmap_config*, lock_class_key*, const char*)' at regmap-mmio.c:339:1 has some sub-type changes: CRC value (modversions) changed from 0xa865d153 to 0x83a64e20 [C] 'function reset_control* __devm_reset_control_get(device*, const char*, int, bool, bool, bool)' at core.c:778:1 has some sub-type changes: CRC value (modversions) changed from 0xc95638da to 0x3e008037 [C] 'function dma_chan* __dma_request_channel(const dma_cap_mask_t*, dma_filter_fn, void*, device_node*)' at dmaengine.c:636:1 has some sub-type changes: CRC value (modversions) changed from 0x578197d4 to 0xb9b93580 [C] 'function void __dynamic_dev_dbg(_ddebug*, const device*, const char*, ...)' at dynamic_debug.c:573:1 has some sub-type changes: CRC value (modversions) changed from 0x813128b6 to 0x4819ad35 [C] 'function int __ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)' at ethtool.c:544:1 has some sub-type changes: CRC value (modversions) changed from 0xf7c6aa66 to 0x5ff56ea7 [C] 'function void __free_pages(page*, unsigned int)' at page_alloc.c:4896:1 has some sub-type changes: CRC value (modversions) changed from 0x8f3c51a4 to 0x34f5f46b [C] 'function char* __get_task_comm(char*, size_t, task_struct*)' at exec.c:1229:1 has some sub-type changes: CRC value (modversions) changed from 0xa9b7d432 to 0x41cf219d [C] 'function int __hwspin_lock_timeout(hwspinlock*, unsigned int, int, unsigned long int*)' at hwspinlock_core.c:206:1 has some sub-type changes: CRC value (modversions) changed from 0x5d585062 to 0xabd51d11 [C] 'function void __hwspin_unlock(hwspinlock*, int, unsigned long int*)' at hwspinlock_core.c:265:1 has some sub-type changes: CRC value (modversions) changed from 0x279cbf51 to 0x2a567890 [C] 'function int __i2c_transfer(i2c_adapter*, i2c_msg*, int)' at i2c-core-base.c:1966:1 has some sub-type changes: CRC value (modversions) changed from 0x10758fd3 to 0x862dd482 [C] 'function int __iio_device_register(iio_dev*, module*)' at industrialio-core.c:1643:1 has some sub-type changes: CRC value (modversions) changed from 0x331aadf6 to 0xdb262244 [C] 'function int __iio_trigger_register(iio_trigger*, module*)' at industrialio-trigger.c:66:1 has some sub-type changes: CRC value (modversions) changed from 0x122c8c0c to 0x7588f68b [C] 'function void __ip_select_ident(net*, iphdr*, int)' at route.c:506:1 has some sub-type changes: CRC value (modversions) changed from 0x58028101 to 0x6d443a19 [C] 'function irq_domain* __irq_domain_add(fwnode_handle*, int, irq_hw_number_t, int, const irq_domain_ops*, void*)' at irqdomain.c:130:1 has some sub-type changes: CRC value (modversions) changed from 0xe271d8cd to 0x8a36f3ab [C] 'function void __lock_buffer(buffer_head*)' at buffer.c:65:1 has some sub-type changes: CRC value (modversions) changed from 0x21646a48 to 0x8f8dd48a [C] 'function void __lock_page(page*)' at filemap.c:1379:1 has some sub-type changes: CRC value (modversions) changed from 0x619a7d2a to 0x16de2e59 [C] 'function int __mdiobus_register(mii_bus*, module*)' at mdio_bus.c:369:1 has some sub-type changes: CRC value (modversions) changed from 0x60931d12 to 0x7e03f0d0 [C] 'function int __mmc_claim_host(mmc_host*, mmc_ctx*, atomic_t*)' at core.c:796:1 has some sub-type changes: CRC value (modversions) changed from 0x66eec7f4 to 0x4f78a80 [C] 'function void __mmdrop(mm_struct*)' at fork.c:690:1 has some sub-type changes: CRC value (modversions) changed from 0xcb747972 to 0x44aab5e4 [C] 'function void __module_get(module*)' at module.c:1113:1 has some sub-type changes: CRC value (modversions) changed from 0x79c8722e to 0x7e5b613b [C] 'function sk_buff* __napi_alloc_skb(napi_struct*, unsigned int, gfp_t)' at skbuff.c:496:1 has some sub-type changes: CRC value (modversions) changed from 0xc4e8ed65 to 0x8b8ae06f [C] 'function void __napi_schedule(napi_struct*)' at dev.c:5906:1 has some sub-type changes: CRC value (modversions) changed from 0x2e477033 to 0x5cb26376 [C] 'function sk_buff* __netdev_alloc_skb(net_device*, unsigned int, gfp_t)' at skbuff.c:424:1 has some sub-type changes: CRC value (modversions) changed from 0x5096f663 to 0x67c10e77 [C] 'function int __netif_set_xps_queue(net_device*, const unsigned long int*, u16, bool)' at dev.c:2236:1 has some sub-type changes: CRC value (modversions) changed from 0x84b11094 to 0x506e9157 [C] 'function int __netlink_dump_start(sock*, sk_buff*, const nlmsghdr*, netlink_dump_control*)' at af_netlink.c:2299:1 has some sub-type changes: CRC value (modversions) changed from 0xb3f30784 to 0xbeaf20f9 [C] 'function nlmsghdr* __nlmsg_put(sk_buff*, u32, u32, int, int, int)' at af_netlink.c:2166:1 has some sub-type changes: CRC value (modversions) changed from 0x54b0afc4 to 0xfdb51d98 [C] 'function reset_control* __of_reset_control_get(device_node*, const char*, int, bool, bool, bool)' at core.c:600:1 has some sub-type changes: CRC value (modversions) changed from 0x3683c597 to 0x13edfea6 [C] 'function int __pci_register_driver(pci_driver*, module*, const char*)' at pci-driver.c:1435:1 has some sub-type changes: CRC value (modversions) changed from 0xba709e9c to 0x63df394a [C] 'function int __platform_driver_probe(platform_driver*, int (platform_device*)*, module*)' at platform.c:775:1 has some sub-type changes: CRC value (modversions) changed from 0x6a7c66bc to 0x874f084c [C] 'function int __platform_driver_register(platform_driver*, module*)' at platform.c:732:1 has some sub-type changes: CRC value (modversions) changed from 0x43678e29 to 0xd2951fee [C] 'function int __platform_register_drivers(platform_driver* const*, unsigned int, module*)' at platform.c:897:1 has some sub-type changes: CRC value (modversions) changed from 0xb03969aa to 0x11124b65 [C] 'function void __pm_relax(wakeup_source*)' at wakeup.c:699:1 has some sub-type changes: CRC value (modversions) changed from 0x65a7fbda to 0x6f5c7c7 [C] 'function void __pm_stay_awake(wakeup_source*)' at wakeup.c:582:1 has some sub-type changes: CRC value (modversions) changed from 0x22a3993a to 0x481fff2d [C] 'function sk_buff* __pskb_copy_fclone(sk_buff*, int, gfp_t, bool)' at skbuff.c:1548:1 has some sub-type changes: CRC value (modversions) changed from 0xfe0d4ec8 to 0x43e8266b [C] 'function void* __pskb_pull_tail(sk_buff*, int)' at skbuff.c:2050:1 has some sub-type changes: CRC value (modversions) changed from 0x31823988 to 0xc36c62c0 [C] 'function void __put_net(net*)' at net_namespace.c:638:1 has some sub-type changes: CRC value (modversions) changed from 0x487ae130 to 0x41bdc6ed [C] 'function void __put_page(page*)' at swap.c:100:1 has some sub-type changes: CRC value (modversions) changed from 0xb664f956 to 0x54a77f1d [C] 'function void __put_task_struct(task_struct*)' at fork.c:739:1 has some sub-type changes: CRC value (modversions) changed from 0xcc202cc to 0xcc2128c3 [C] 'function void __register_binfmt(linux_binfmt*, int)' at exec.c:81:1 has some sub-type changes: CRC value (modversions) changed from 0xd751acbc to 0xd51423e3 [C] 'function regmap* __regmap_init(device*, const regmap_bus*, void*, const regmap_config*, lock_class_key*, const char*)' at regmap.c:674:1 has some sub-type changes: CRC value (modversions) changed from 0x955d1ba5 to 0xf8c78943 [C] 'function int __scsi_execute(scsi_device*, const unsigned char*, int, void*, unsigned int, unsigned char*, scsi_sense_hdr*, int, int, u64, req_flags_t, int*)' at scsi_lib.c:248:1 has some sub-type changes: CRC value (modversions) changed from 0xbc91be28 to 0xce2d2888 [C] 'function void __serio_register_port(serio*, module*)' at serio.c:695:1 has some sub-type changes: CRC value (modversions) changed from 0x2651c71b to 0xcc92aebd [C] 'function int __sk_receive_skb(sock*, sk_buff*, const int, unsigned int, bool)' at sock.c:498:1 has some sub-type changes: CRC value (modversions) changed from 0xf95417d7 to 0xb58d2460 [C] 'function bool __skb_flow_dissect(const net*, const sk_buff*, flow_dissector*, void*, void*, __be16, int, int, unsigned int)' at flow_dissector.c:893:1 has some sub-type changes: CRC value (modversions) changed from 0xd0b970a7 to 0x6815deaf [C] 'function void __skb_get_hash(sk_buff*)' at flow_dissector.c:1576:1 has some sub-type changes: CRC value (modversions) changed from 0x817a19bd to 0x2110ddce [C] 'function sk_buff* __skb_gso_segment(sk_buff*, netdev_features_t, bool)' at dev.c:2990:1 has some sub-type changes: CRC value (modversions) changed from 0x143948d to 0xaa26f69a [C] 'function int __skb_pad(sk_buff*, int, bool)' at skbuff.c:1792:1 has some sub-type changes: CRC value (modversions) changed from 0x70aad015 to 0x2944cb4d [C] 'function spi_controller* __spi_alloc_controller(device*, unsigned int, bool)' at spi.c:2214:1 has some sub-type changes: CRC value (modversions) changed from 0x5af976a4 to 0x82e1d2c3 [C] 'function int __spi_register_driver(module*, spi_driver*)' at spi.c:441:1 has some sub-type changes: CRC value (modversions) changed from 0x9155d06 to 0x3704a586 [C] 'function int __spmi_driver_register(spmi_driver*, module*)' at spmi.c:566:1 has some sub-type changes: CRC value (modversions) changed from 0x7d708303 to 0x430c9966 [C] 'function int __sync_dirty_buffer(buffer_head*, int)' at buffer.c:3169:1 has some sub-type changes: CRC value (modversions) changed from 0xf44441ae to 0xe23972fa [C] 'function pid_t __task_pid_nr_ns(task_struct*, pid_type, pid_namespace*)' at pid.c:425:1 has some sub-type changes: CRC value (modversions) changed from 0x34976013 to 0xd3df624a [C] 'function int __tty_insert_flip_char(tty_port*, unsigned char, char)' at tty_buffer.c:379:1 has some sub-type changes: CRC value (modversions) changed from 0x8cf404aa to 0x21959e1b [C] 'function usb_hcd* __usb_create_hcd(const hc_driver*, device*, device*, const char*, usb_hcd*)' at hcd.c:2412:1 has some sub-type changes: CRC value (modversions) changed from 0x63515a to 0x51f901e3 [C] 'function int __video_register_device(video_device*, vfl_devnode_type, int, int, module*)' at v4l2-dev.c:841:1 has some sub-type changes: CRC value (modversions) changed from 0xd63ad575 to 0x2dde4eba [C] 'function void __wait_on_buffer(buffer_head*)' at buffer.c:118:1 has some sub-type changes: CRC value (modversions) changed from 0xc43092f5 to 0x8b3bbb2a [C] 'function void __xfrm_state_destroy(xfrm_state*, bool)' at xfrm_state.c:641:1 has some sub-type changes: CRC value (modversions) changed from 0x1fdebd65 to 0x3b15925f [C] 'function void _dev_crit(const device*, const char*, ...)' at device.h:1743:1 has some sub-type changes: CRC value (modversions) changed from 0xa8961f1c to 0xbd02e6db [C] 'function void _dev_emerg(const device*, const char*, ...)' at core.c:3823:1 has some sub-type changes: CRC value (modversions) changed from 0xcc4944e7 to 0x6f036aec [C] 'function void _dev_err(const device*, const char*, ...)' at device.h:1745:1 has some sub-type changes: CRC value (modversions) changed from 0xa18c7b0 to 0xe697dbc0 [C] 'function void _dev_info(const device*, const char*, ...)' at device.h:1751:1 has some sub-type changes: CRC value (modversions) changed from 0xf2d795e1 to 0x57290e58 [C] 'function void _dev_notice(const device*, const char*, ...)' at device.h:1749:1 has some sub-type changes: CRC value (modversions) changed from 0x42019577 to 0x3c7f10e6 [C] 'function void _dev_warn(const device*, const char*, ...)' at device.h:1747:1 has some sub-type changes: CRC value (modversions) changed from 0x66ab5cf6 to 0x575e93f6 [C] 'function void ack_all_badblocks(badblocks*)' at badblocks.c:433:1 has some sub-type changes: CRC value (modversions) changed from 0x2ce23ab2 to 0x35083a9a [C] 'function void adjust_managed_page_count(page*, long int)' at page_alloc.c:7565:1 has some sub-type changes: CRC value (modversions) changed from 0x52a67838 to 0xbdbb0ce6 [C] 'function net_device* alloc_etherdev_mqs(int, unsigned int, unsigned int)' at etherdevice.h:49:1 has some sub-type changes: CRC value (modversions) changed from 0x147170a5 to 0xb3edf194 [C] 'function net_device* alloc_netdev_mqs(int, const char*, unsigned char, void (net_device*)*, unsigned int, unsigned int)' at netdevice.h:4137:1 has some sub-type changes: CRC value (modversions) changed from 0xcbbd4481 to 0xc83e376d [C] 'function sk_buff* alloc_skb_with_frags(unsigned long int, unsigned long int, int, int*, unsigned int)' at skbuff.h:1058:1 has some sub-type changes: CRC value (modversions) changed from 0xf5551af2 to 0x71da170d [C] 'function int amba_driver_register(amba_driver*)' at bus.h:107:1 has some sub-type changes: CRC value (modversions) changed from 0x2407d4f8 to 0xa4a0fb70 [C] 'function void amba_driver_unregister(amba_driver*)' at bus.h:108:1 has some sub-type changes: CRC value (modversions) changed from 0xd08a7a68 to 0xb6309ccd [C] 'function void amba_release_regions(amba_device*)' at bus.h:134:1 has some sub-type changes: CRC value (modversions) changed from 0xfa1fff0a to 0x870b6e6a [C] 'function int amba_request_regions(amba_device*, const char*)' at bus.h:133:1 has some sub-type changes: CRC value (modversions) changed from 0x89c4a0f9 to 0xddec90a7 [C] 'function backlight_device* backlight_device_get_by_type(backlight_type)' at backlight.c:417:1 has some sub-type changes: CRC value (modversions) changed from 0xded06b2b to 0xb37e0b11 [C] 'function backlight_device* backlight_device_register(const char*, device*, void*, const backlight_ops*, const backlight_properties*)' at backlight.c:351:1 has some sub-type changes: CRC value (modversions) changed from 0x2ee8c714 to 0x4aab15be [C] 'function int backlight_device_set_brightness(backlight_device*, unsigned long int)' at backlight.c:180:1 has some sub-type changes: CRC value (modversions) changed from 0x3910de47 to 0x7a48b87c [C] 'function void backlight_device_unregister(backlight_device*)' at backlight.c:441:1 has some sub-type changes: CRC value (modversions) changed from 0xbe501b6b to 0x90973f16 [C] 'function int badblocks_clear(badblocks*, long long unsigned int, int)' at badblocks.h:48:1 has some sub-type changes: CRC value (modversions) changed from 0x4c0502ac to 0x41247a15 [C] 'function void badblocks_exit(badblocks*)' at badblocks.c:593:1 has some sub-type changes: CRC value (modversions) changed from 0x65465df1 to 0x938a0023 [C] 'function int badblocks_init(badblocks*, int)' at badblocks.c:575:1 has some sub-type changes: CRC value (modversions) changed from 0x715c134d to 0xfc4e4dff [C] 'function int badblocks_set(badblocks*, sector_t, int, int)' at badblocks.c:163:1 has some sub-type changes: CRC value (modversions) changed from 0xb0c23022 to 0xa901c0a0 [C] 'function long int badblocks_show(badblocks*, char*, int)' at badblocks.h:50:1 has some sub-type changes: CRC value (modversions) changed from 0x1a6145b2 to 0xf4b6c3ff [C] 'function long int badblocks_store(badblocks*, const char*, unsigned long int, int)' at badblocks.h:51:1 has some sub-type changes: CRC value (modversions) changed from 0x5f574cd1 to 0xcaa8fec8 [C] 'function int blk_mq_pci_map_queues(blk_mq_queue_map*, pci_dev*, int)' at blk-mq-pci.c:26:1 has some sub-type changes: CRC value (modversions) changed from 0xfad23504 to 0x87215374 [C] 'function void blk_register_region(dev_t, unsigned long int, module*, kobject* (typedef dev_t, int*, void*)*, int (typedef dev_t, void*)*, void*)' at genhd.c:564:1 has some sub-type changes: CRC value (modversions) changed from 0xeb25d1f8 to 0x47ec867f [C] 'function int block_is_partially_uptodate(page*, unsigned long int, unsigned long int)' at buffer.c:2183:1 has some sub-type changes: CRC value (modversions) changed from 0xa8345e1a to 0x30e7cc6d [C] 'function void bpf_trace_run1(bpf_prog*, long long unsigned int)' at trace_events.h:605:1 has some sub-type changes: CRC value (modversions) changed from 0x4e87b9e4 to 0x3023eeb9 [C] 'function void bpf_trace_run2(bpf_prog*, long long unsigned int, long long unsigned int)' at trace_events.h:606:1 has some sub-type changes: CRC value (modversions) changed from 0xbb5ee113 to 0x9b26a15d [C] 'function void bpf_trace_run3(bpf_prog*, long long unsigned int, long long unsigned int, long long unsigned int)' at trace_events.h:607:1 has some sub-type changes: CRC value (modversions) changed from 0x945b56a8 to 0xa9b01d74 [C] 'function void bpf_trace_run4(bpf_prog*, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)' at trace_events.h:609:1 has some sub-type changes: CRC value (modversions) changed from 0xe2e4ca00 to 0xa9c3725e [C] 'function void bpf_trace_run5(bpf_prog*, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)' at trace_events.h:611:1 has some sub-type changes: CRC value (modversions) changed from 0x1b77a57f to 0x2a9b589b [C] 'function void bt_procfs_cleanup(net*, const char*)' at af_bluetooth.c:689:1 has some sub-type changes: CRC value (modversions) changed from 0x1bbaceed to 0xab381552 [C] 'function int bt_procfs_init(net*, const char*, bt_sock_list*, int (seq_file*, void*)*)' at af_bluetooth.c:678:1 has some sub-type changes: CRC value (modversions) changed from 0x10228d5e to 0xdd19cdb [C] 'function int bt_sock_register(int, const net_proto_family*)' at af_bluetooth.c:80:1 has some sub-type changes: CRC value (modversions) changed from 0x9db79d19 to 0x48114813 [C] 'function int buffer_migrate_page(address_space*, page*, page*, migrate_mode)' at migrate.c:826:1 has some sub-type changes: CRC value (modversions) changed from 0x19af5a6 to 0x7126c86a [C] 'function sk_buff* build_skb(void*, unsigned int)' at skbuff.h:1041:1 has some sub-type changes: CRC value (modversions) changed from 0xae4bbc96 to 0x386b852c [C] 'function device* bus_find_device(bus_type*, device*, void*, int (device*, void*)*)' at device.h:190:1 has some sub-type changes: CRC value (modversions) changed from 0x3d914d7b to 0xc1b00106 [C] 'function int bus_for_each_dev(bus_type*, device*, void*, int (device*, void*)*)' at device.h:188:1 has some sub-type changes: CRC value (modversions) changed from 0xeea339d1 to 0x5242e1ae [C] 'function int bus_register(bus_type*)' at device.h:163:1 has some sub-type changes: CRC value (modversions) changed from 0x7cc9dd98 to 0x1b78e093 [C] 'function int bus_register_notifier(bus_type*, notifier_block*)' at bus.c:900:1 has some sub-type changes: CRC value (modversions) changed from 0xcd9899a to 0x6e3440c7 [C] 'function int bus_set_iommu(bus_type*, const iommu_ops*)' at iommu.c:1558:1 has some sub-type changes: CRC value (modversions) changed from 0xf84708c8 to 0x22ac5e3d [C] 'function void bus_unregister(bus_type*)' at device.h:165:1 has some sub-type changes: CRC value (modversions) changed from 0xd6744b6f to 0xf925ef5e [C] 'function int bus_unregister_notifier(bus_type*, notifier_block*)' at bus.c:906:1 has some sub-type changes: CRC value (modversions) changed from 0x25b9b2f9 to 0x7868aa96 [C] 'function int call_netdevice_notifiers(unsigned long int, net_device*)' at dev.c:1687:1 has some sub-type changes: CRC value (modversions) changed from 0x1b796087 to 0x4edeaa42 [C] 'function int cdc_parse_cdc_header(usb_cdc_parsed_header*, usb_interface*, u8*, int)' at message.c:2144:1 has some sub-type changes: CRC value (modversions) changed from 0x1196dc18 to 0x1dd09f3 [C] 'function void cfg80211_assoc_timeout(net_device*, cfg80211_bss*)' at mlme.c:146:1 has some sub-type changes: CRC value (modversions) changed from 0x2c72a576 to 0x7e79d456 [C] 'function void cfg80211_auth_timeout(net_device*, const u8*)' at mlme.c:133:1 has some sub-type changes: CRC value (modversions) changed from 0x3482095d to 0x95162f5f [C] 'function void cfg80211_ch_switch_notify(net_device*, cfg80211_chan_def*)' at nl80211.c:16597:1 has some sub-type changes: CRC value (modversions) changed from 0xeeb3f498 to 0xd5eb0f57 [C] 'function unsigned int cfg80211_classify8021d(sk_buff*, cfg80211_qos_map*)' at util.c:742:1 has some sub-type changes: CRC value (modversions) changed from 0xe365e93b to 0xda8b6b24 [C] 'function void cfg80211_cqm_pktloss_notify(net_device*, const u8*, u32, gfp_t)' at nl80211.c:16404:1 has some sub-type changes: CRC value (modversions) changed from 0xb7243a42 to 0x24a6887a [C] 'function void cfg80211_cqm_rssi_notify(net_device*, nl80211_cqm_rssi_threshold_event, s32, gfp_t)' at nl80211.c:16333:1 has some sub-type changes: CRC value (modversions) changed from 0x5093d88 to 0x7638e1fe [C] 'function void cfg80211_del_sta_sinfo(net_device*, const u8*, station_info*, gfp_t)' at nl80211.c:15990:1 has some sub-type changes: CRC value (modversions) changed from 0xea139522 to 0xb521b17e [C] 'function int cfg80211_external_auth_request(net_device*, cfg80211_external_auth_params*, gfp_t)' at nl80211.c:17220:1 has some sub-type changes: CRC value (modversions) changed from 0x3605843 to 0x30ddc096 [C] 'function void cfg80211_ft_event(net_device*, cfg80211_ft_event_params*)' at nl80211.c:17108:1 has some sub-type changes: CRC value (modversions) changed from 0xf727d534 to 0xea23610e [C] 'function void cfg80211_gtk_rekey_notify(net_device*, const u8*, const u8*, gfp_t)' at nl80211.c:16488:1 has some sub-type changes: CRC value (modversions) changed from 0xba500f6 to 0xed3cdd96 [C] 'function void cfg80211_michael_mic_failure(net_device*, const u8*, nl80211_key_type, int, const u8*, gfp_t)' at mlme.c:193:1 has some sub-type changes: CRC value (modversions) changed from 0xaaf7961e to 0x4b5b8f59 [C] 'function void cfg80211_new_sta(net_device*, const u8*, station_info*, gfp_t)' at nl80211.c:15966:1 has some sub-type changes: CRC value (modversions) changed from 0x67fa0287 to 0xa412ff7 [C] 'function void cfg80211_pmksa_candidate_notify(net_device*, int, const u8*, bool, gfp_t)' at nl80211.c:16545:1 has some sub-type changes: CRC value (modversions) changed from 0xae9d11a5 to 0xdd46942c [C] 'function void cfg80211_rx_assoc_resp(net_device*, cfg80211_bss*, const u8*, size_t, int, const u8*, size_t)' at mlme.c:23:1 has some sub-type changes: CRC value (modversions) changed from 0x3cf0cc42 to 0xff3dd258 [C] 'function void cfg80211_rx_mlme_mgmt(net_device*, const u8*, size_t)' at mlme.c:112:1 has some sub-type changes: CRC value (modversions) changed from 0x13485198 to 0xbd62fbce [C] 'function void cfg80211_rx_unprot_mlme_mgmt(net_device*, const u8*, size_t)' at nl80211.c:15463:1 has some sub-type changes: CRC value (modversions) changed from 0xe7af7f09 to 0x6f86f0a3 [C] 'function void cfg80211_tdls_oper_request(net_device*, const u8*, nl80211_tdls_operation, u16, gfp_t)' at nl80211.c:17002:1 has some sub-type changes: CRC value (modversions) changed from 0x46cb52a5 to 0xcdc749a6 [C] 'function void cfg80211_tx_mlme_mgmt(net_device*, const u8*, size_t)' at mlme.c:174:1 has some sub-type changes: CRC value (modversions) changed from 0xb2c85431 to 0xe7d3e9a4 [C] 'function void cfg80211_update_owe_info_event(net_device*, cfg80211_update_owe_info*, gfp_t)' at nl80211.c:17261:1 has some sub-type changes: CRC value (modversions) changed from 0x470e5ca6 to 0xef2c4643 [C] 'function int cfg80211_vendor_cmd_reply(sk_buff*)' at nl80211.c:13396:1 has some sub-type changes: CRC value (modversions) changed from 0x1af9cf4d to 0xb6b15a30 [C] 'function int class_create_file_ns(class*, const class_attribute*, void*)' at device.h:757:1 has some sub-type changes: CRC value (modversions) changed from 0x3ab05144 to 0xc10b7066 [C] 'function void class_destroy(class*)' at device.h:806:1 has some sub-type changes: CRC value (modversions) changed from 0x9cd490f0 to 0x8b50397e [C] 'function device* class_find_device(class*, device*, void*, int (device*, void*)*)' at device.h:668:1 has some sub-type changes: CRC value (modversions) changed from 0xf36e5716 to 0x44a62eed [C] 'function void class_interface_unregister(class_interface*)' at device.h:801:1 has some sub-type changes: CRC value (modversions) changed from 0xae451c6e to 0xf2b5b6e5 [C] 'function void class_remove_file_ns(class*, const class_attribute*, void*)' at device.h:760:1 has some sub-type changes: CRC value (modversions) changed from 0x306e20a1 to 0x8b377eb2 [C] 'function void class_unregister(class*)' at device.h:640:1 has some sub-type changes: CRC value (modversions) changed from 0x5d488564 to 0xdaaec45a [C] 'function void cleanup_srcu_struct(srcu_struct*)' at srcutree.c:370:1 has some sub-type changes: CRC value (modversions) changed from 0x73de53ca to 0x8b7ed86c [C] 'function clk* clk_get(device*, const char*)' at clk.h:290:1 has some sub-type changes: CRC value (modversions) changed from 0xdf461dc to 0x82c75182 [C] 'function unsigned long int clk_hw_get_flags(const clk_hw*)' at clk.c:511:1 has some sub-type changes: CRC value (modversions) changed from 0xc6a16f5d to 0xb9428b73 [C] 'function unsigned int clk_hw_get_num_parents(const clk_hw*)' at clk.c:284:1 has some sub-type changes: CRC value (modversions) changed from 0x79d64e3 to 0xd1f98e1d [C] 'function clk_hw* clk_hw_get_parent(const clk_hw*)' at clk.c:290:1 has some sub-type changes: CRC value (modversions) changed from 0x930a0339 to 0xcbe8ffeb [C] 'function clk_hw* clk_hw_get_parent_by_index(const clk_hw*, unsigned int)' at clk.c:460:1 has some sub-type changes: CRC value (modversions) changed from 0xcc4eaf54 to 0xb5cc3fa8 [C] 'function unsigned long int clk_hw_get_rate(const clk_hw*)' at clk.c:491:1 has some sub-type changes: CRC value (modversions) changed from 0x4b49c2ea to 0x366e3b0c [C] 'function bool clk_hw_is_enabled(const clk_hw*)' at clk.c:529:1 has some sub-type changes: CRC value (modversions) changed from 0x88a6c6c6 to 0xb475fea5 [C] 'function bool clk_hw_is_prepared(const clk_hw*)' at clk.c:517:1 has some sub-type changes: CRC value (modversions) changed from 0x7f1789c5 to 0xf3d07f94 [C] 'function int clk_hw_register(device*, clk_hw*)' at clk.c:3877:1 has some sub-type changes: CRC value (modversions) changed from 0xdb5e4eff to 0x8dde8b0f [C] 'function clk_hw* clk_hw_register_fixed_factor(device*, const char*, const char*, unsigned long int, unsigned int, unsigned int)' at clk-fixed-factor.c:109:1 has some sub-type changes: CRC value (modversions) changed from 0x789f6184 to 0x4f77cb76 [C] 'function unsigned long int clk_hw_round_rate(clk_hw*, unsigned long int)' at clk.c:1445:1 has some sub-type changes: CRC value (modversions) changed from 0xe0b18ca1 to 0x26a438a0 [C] 'function void clk_hw_set_rate_range(clk_hw*, unsigned long int, unsigned long int)' at clk-provider.h:858:1 has some sub-type changes: CRC value (modversions) changed from 0x2d8c10c to 0x310ce25a [C] 'function void clk_hw_unregister(clk_hw*)' at clk.c:4037:1 has some sub-type changes: CRC value (modversions) changed from 0x22ef7c83 to 0xe5270a0 [C] 'function clk* clk_register(device*, clk_hw*)' at clk.c:3861:1 has some sub-type changes: CRC value (modversions) changed from 0x1f0742f to 0xc6657154 [C] 'function clk* clk_register_fixed_factor(device*, const char*, const char*, unsigned long int, unsigned int, unsigned int)' at clk-fixed-factor.c:118:1 has some sub-type changes: CRC value (modversions) changed from 0x7a435405 to 0xd2df4a59 [C] 'function clk* clk_register_fixed_rate(device*, const char*, const char*, unsigned long int, unsigned long int)' at clk-fixed-rate.c:124:1 has some sub-type changes: CRC value (modversions) changed from 0x80f01a19 to 0xd5ff95a9 [C] 'function void clk_sync_state(device*)' at clk.c:1333:1 has some sub-type changes: CRC value (modversions) changed from 0xd42d2a3 to 0x82f5a58a [C] 'function void clockevents_config_and_register(clock_event_device*, u32, unsigned long int, unsigned long int)' at clockevents.c:505:1 has some sub-type changes: CRC value (modversions) changed from 0xc5ccc128 to 0x6f86dcd6 [C] 'function page* cma_alloc(cma*, unsigned long int, unsigned int, bool)' at cma.h:35:1 has some sub-type changes: CRC value (modversions) changed from 0x5187d364 to 0xfa71b5ee [C] 'function bool cma_release(cma*, const page*, unsigned int)' at cma.h:37:1 has some sub-type changes: CRC value (modversions) changed from 0x41c0bf5b to 0xfdeab675 [C] 'function int component_add(device*, const component_ops*)' at component.c:742:1 has some sub-type changes: CRC value (modversions) changed from 0xa9af8f17 to 0xc294277f [C] 'function int component_bind_all(device*, void*)' at component.c:632:1 has some sub-type changes: CRC value (modversions) changed from 0xa674318a to 0x82b5644a [C] 'function void component_del(device*, const component_ops*)' at component.c:757:1 has some sub-type changes: CRC value (modversions) changed from 0xc3783b52 to 0xc326a89d [C] 'function int component_master_add_with_match(device*, const component_master_ops*, component_match*)' at component.h:90:1 has some sub-type changes: CRC value (modversions) changed from 0xe7c8ff9b to 0xe5782b43 [C] 'function void component_master_del(device*, const component_master_ops*)' at component.c:513:1 has some sub-type changes: CRC value (modversions) changed from 0xa3f97ae5 to 0x2d003ad7 [C] 'function void component_match_add_release(device*, component_match**, void (device*, void*)*, int (device*, void*)*, void*)' at component.c:401:1 has some sub-type changes: CRC value (modversions) changed from 0x1a232431 to 0x1f16d000 [C] 'function void component_unbind_all(device*, void*)' at component.c:549:1 has some sub-type changes: CRC value (modversions) changed from 0xe1b16746 to 0xc377e4af [C] 'function int config_ep_by_speed(usb_gadget*, usb_function*, usb_ep*)' at composite.h:255:1 has some sub-type changes: CRC value (modversions) changed from 0x522ce756 to 0xea0410e5 [C] 'function void config_group_init(config_group*)' at configfs.h:87:1 has some sub-type changes: CRC value (modversions) changed from 0xf12da1e3 to 0x8879ba5d [C] 'function int configfs_register_subsystem(configfs_subsystem*)' at dir.c:1864:1 has some sub-type changes: CRC value (modversions) changed from 0x72de09eb to 0xb1d2a213 [C] 'function void configfs_unregister_subsystem(configfs_subsystem*)' at dir.c:1920:1 has some sub-type changes: CRC value (modversions) changed from 0x1459f75d to 0xf3512547 [C] 'function void console_stop(console*)' at printk.c:2629:1 has some sub-type changes: CRC value (modversions) changed from 0xdfe2b16 to 0xf568f93c [C] 'function void consume_skb(sk_buff*)' at skbuff.h:1029:1 has some sub-type changes: CRC value (modversions) changed from 0xe4db5c24 to 0xe6d16ca7 [C] 'function cpufreq_policy* cpufreq_cpu_get(unsigned int)' at cpufreq.h:180:1 has some sub-type changes: CRC value (modversions) changed from 0xfbf077ab to 0x8cc4b [C] 'function cpufreq_policy* cpufreq_cpu_get_raw(unsigned int)' at cpufreq.h:179:1 has some sub-type changes: CRC value (modversions) changed from 0xd8946290 to 0x31ea7278 [C] 'function void cpufreq_cpu_put(cpufreq_policy*)' at cpufreq.c:250:1 has some sub-type changes: CRC value (modversions) changed from 0xa795ec97 to 0x12c8a45f [C] 'function unsigned int cpufreq_driver_resolve_freq(cpufreq_policy*, unsigned int)' at cpufreq.h:569:1 has some sub-type changes: CRC value (modversions) changed from 0xd2cbc951 to 0x7bf35a1 [C] 'function void cpufreq_freq_transition_begin(cpufreq_policy*, cpufreq_freqs*)' at cpufreq.c:412:1 has some sub-type changes: CRC value (modversions) changed from 0x4a7be54b to 0x130a48f0 [C] 'function void cpufreq_freq_transition_end(cpufreq_policy*, cpufreq_freqs*, int)' at cpufreq.c:446:1 has some sub-type changes: CRC value (modversions) changed from 0x204a68f4 to 0xe09442f [C] 'function int cpufreq_generic_suspend(cpufreq_policy*)' at cpufreq.c:1785:1 has some sub-type changes: CRC value (modversions) changed from 0xa3e1d1c6 to 0xea9f01e8 [C] 'function int cpufreq_get_policy(cpufreq_policy*, unsigned int)' at cpufreq.c:2359:1 has some sub-type changes: CRC value (modversions) changed from 0xc200bf1c to 0x8f91800c [C] 'function int cpufreq_register_driver(cpufreq_driver*)' at cpufreq.h:415:1 has some sub-type changes: CRC value (modversions) changed from 0x31ebb7c to 0xe6d4c903 [C] 'function int cpufreq_register_governor(cpufreq_governor*)' at cpufreq.h:572:1 has some sub-type changes: CRC value (modversions) changed from 0x35f0deaf to 0xdff210ff [C] 'function int cpufreq_table_index_unsorted(cpufreq_policy*, unsigned int, unsigned int)' at cpufreq.h:702:1 has some sub-type changes: CRC value (modversions) changed from 0xcff1cca5 to 0x3071bf85 [C] 'function int cpufreq_unregister_driver(cpufreq_driver*)' at cpufreq.h:416:1 has some sub-type changes: CRC value (modversions) changed from 0x5e5884c to 0x7387d071 [C] 'function void cpufreq_unregister_governor(cpufreq_governor*)' at cpufreq.h:573:1 has some sub-type changes: CRC value (modversions) changed from 0xfc4608f5 to 0x8dbe916a [C] 'function void create_empty_buffers(page*, unsigned long int, unsigned long int)' at buffer.c:1525:1 has some sub-type changes: CRC value (modversions) changed from 0xd549ca98 to 0xe98df15b [C] 'function int crypto_aead_encrypt(aead_request*)' at aead.h:320:1 has some sub-type changes: CRC value (modversions) changed from 0x76bc9f55 to 0xdbdd4771 [C] 'function int crypto_aead_setauthsize(crypto_aead*, unsigned int)' at aead.h:294:1 has some sub-type changes: CRC value (modversions) changed from 0xf0e89aac to 0xf0369398 [C] 'function int crypto_aead_setkey(crypto_aead*, const unsigned char*, unsigned int)' at aead.h:281:1 has some sub-type changes: CRC value (modversions) changed from 0x2ed2b4c2 to 0x64fd1504 [C] 'function int crypto_ahash_digest(ahash_request*)' at hash.h:455:1 has some sub-type changes: CRC value (modversions) changed from 0x593b8938 to 0x67aa1476 [C] 'function int crypto_ahash_setkey(crypto_ahash*, const unsigned char*, unsigned int)' at hash.h:411:1 has some sub-type changes: CRC value (modversions) changed from 0x5308a882 to 0x2341e0e2 [C] 'function crypto_aead* crypto_alloc_aead(const char*, unsigned int, unsigned int)' at aead.h:172:1 has some sub-type changes: CRC value (modversions) changed from 0x6912e9b6 to 0xd5d3c134 [C] 'function crypto_ahash* crypto_alloc_ahash(const char*, unsigned int, unsigned int)' at hash.h:252:1 has some sub-type changes: CRC value (modversions) changed from 0x19d4dd11 to 0x305be27f [C] 'function crypto_tfm* crypto_alloc_base(const char*, unsigned int, unsigned int)' at crypto.h:825:1 has some sub-type changes: CRC value (modversions) changed from 0xf5b360b1 to 0x6339f675 [C] 'function void* crypto_alloc_instance(const char*, crypto_alg*, unsigned int)' at algapi.h:185:1 has some sub-type changes: CRC value (modversions) changed from 0xfd0c0d69 to 0xd785542f [C] 'function crypto_shash* crypto_alloc_shash(const char*, unsigned int, unsigned int)' at hash.h:695:1 has some sub-type changes: CRC value (modversions) changed from 0xb2df3847 to 0x3de178d8 [C] 'function crypto_skcipher* crypto_alloc_skcipher(const char*, unsigned int, unsigned int)' at skcipher.h:191:1 has some sub-type changes: CRC value (modversions) changed from 0xf2e428c5 to 0xd29f497 [C] 'function crypto_alg* crypto_attr_alg2(rtattr*, const crypto_type*, unsigned int, unsigned int)' at algapi.h:172:1 has some sub-type changes: CRC value (modversions) changed from 0x6069920 to 0x9dd8deb9 [C] 'function crypto_async_request* crypto_dequeue_request(crypto_queue*)' at algapi.h:191:1 has some sub-type changes: CRC value (modversions) changed from 0x5ec86d40 to 0x4ff011c7 [C] 'function void crypto_destroy_tfm(void*, crypto_tfm*)' at crypto.h:826:1 has some sub-type changes: CRC value (modversions) changed from 0x3a7b492 to 0x3ee10cd6 [C] 'function crypto_engine* crypto_engine_alloc_init(device*, bool)' at crypto_engine.c:426:1 has some sub-type changes: CRC value (modversions) changed from 0x7b4c4724 to 0xead3ed1d [C] 'function int crypto_engine_exit(crypto_engine*)' at crypto_engine.c:473:1 has some sub-type changes: CRC value (modversions) changed from 0xc7a34031 to 0x9f80ad8e [C] 'function int crypto_engine_start(crypto_engine*)' at crypto_engine.c:359:1 has some sub-type changes: CRC value (modversions) changed from 0x6ee7c997 to 0xca1dd955 [C] 'function int crypto_enqueue_request(crypto_queue*, crypto_async_request*)' at algapi.h:189:1 has some sub-type changes: CRC value (modversions) changed from 0xcee34667 to 0x12935b4e [C] 'function void crypto_finalize_ablkcipher_request(crypto_engine*, ablkcipher_request*, int)' at crypto_engine.c:290:1 has some sub-type changes: CRC value (modversions) changed from 0x6b7bb8f4 to 0x989401dc [C] 'function int crypto_init_spawn(crypto_spawn*, crypto_alg*, crypto_instance*, unsigned int)' at algapi.h:150:1 has some sub-type changes: CRC value (modversions) changed from 0x800aab1e to 0xe3fa9d5 [C] 'function void crypto_mod_put(crypto_alg*)' at algapi.h:138:1 has some sub-type changes: CRC value (modversions) changed from 0xf8078bc6 to 0xce9bfa82 [C] 'function int crypto_register_aead(aead_alg*)' at aead.c:403:1 has some sub-type changes: CRC value (modversions) changed from 0x602f39b2 to 0x37585c2b [C] 'function int crypto_register_ahash(ahash_alg*)' at ahash.c:588:1 has some sub-type changes: CRC value (modversions) changed from 0x35a2ca7b to 0xf28e941d [C] 'function int crypto_register_alg(crypto_alg*)' at crypto.h:702:1 has some sub-type changes: CRC value (modversions) changed from 0xbe45bd7d to 0x2b204b16 [C] 'function int crypto_register_rng(rng_alg*)' at rng.c:181:1 has some sub-type changes: CRC value (modversions) changed from 0xdc2d805b to 0x245686a3 [C] 'function int crypto_register_rngs(rng_alg*, int)' at rng.h:17:1 has some sub-type changes: CRC value (modversions) changed from 0xb401dad8 to 0x24b54f23 [C] 'function int crypto_register_shash(shash_alg*)' at hash.h:101:1 has some sub-type changes: CRC value (modversions) changed from 0x966b2ac2 to 0xb88470d5 [C] 'function int crypto_register_shashes(shash_alg*, int)' at hash.h:103:1 has some sub-type changes: CRC value (modversions) changed from 0x1df45dc to 0x7bd21dd6 [C] 'function int crypto_register_skcipher(skcipher_alg*)' at skcipher.c:1047:1 has some sub-type changes: CRC value (modversions) changed from 0x4a0516c5 to 0x676bb7dd [C] 'function int crypto_register_skciphers(skcipher_alg*, int)' at skcipher.h:131:1 has some sub-type changes: CRC value (modversions) changed from 0xaf714b2a to 0xb7188c9c [C] 'function int crypto_register_template(crypto_template*)' at algapi.h:140:1 has some sub-type changes: CRC value (modversions) changed from 0x4144866d to 0x535b957b [C] 'function int crypto_sha1_finup(shash_desc*, const u8*, unsigned int, u8*)' at sha1_generic.c:56:1 has some sub-type changes: CRC value (modversions) changed from 0x4625efff to 0x4ff2969d [C] 'function int crypto_sha1_update(shash_desc*, const u8*, unsigned int)' at sha1_generic.c:43:1 has some sub-type changes: CRC value (modversions) changed from 0x1b014321 to 0x925e78cd [C] 'function int crypto_shash_digest(shash_desc*, const unsigned char*, unsigned int, unsigned char*)' at hash.h:842:1 has some sub-type changes: CRC value (modversions) changed from 0x35d83a43 to 0x42f2a565 [C] 'function int crypto_shash_final(shash_desc*, unsigned char*)' at hash.h:935:1 has some sub-type changes: CRC value (modversions) changed from 0xf58b71f0 to 0xd6592b6f [C] 'function int crypto_shash_setkey(crypto_shash*, const unsigned char*, unsigned int)' at hash.h:824:1 has some sub-type changes: CRC value (modversions) changed from 0xfc8892df to 0xcaacfef5 [C] 'function int crypto_shash_update(shash_desc*, const unsigned char*, unsigned int)' at hash.h:918:1 has some sub-type changes: CRC value (modversions) changed from 0x4630eb29 to 0x57b2bef7 [C] 'function int crypto_skcipher_decrypt(skcipher_request*)' at skcipher.h:465:1 has some sub-type changes: CRC value (modversions) changed from 0x736279dc to 0xdca556f4 [C] 'function int crypto_skcipher_encrypt(skcipher_request*)' at skcipher.h:452:1 has some sub-type changes: CRC value (modversions) changed from 0x72d7883e to 0x42b558ef [C] 'function crypto_tfm* crypto_spawn_tfm(crypto_spawn*, unsigned int, unsigned int)' at algapi.h:159:1 has some sub-type changes: CRC value (modversions) changed from 0x8e554500 to 0xb2b2a104 [C] 'function int crypto_transfer_ablkcipher_request_to_engine(crypto_engine*, ablkcipher_request*)' at crypto_engine.c:223:1 has some sub-type changes: CRC value (modversions) changed from 0xf02021a to 0x1456a8c4 [C] 'function void crypto_unregister_aead(aead_alg*)' at aead.c:416:1 has some sub-type changes: CRC value (modversions) changed from 0x321184cd to 0xecabe4aa [C] 'function int crypto_unregister_ahash(ahash_alg*)' at ahash.c:601:1 has some sub-type changes: CRC value (modversions) changed from 0xcfc3be0d to 0xc0e5cc06 [C] 'function int crypto_unregister_alg(crypto_alg*)' at crypto.h:703:1 has some sub-type changes: CRC value (modversions) changed from 0x9db367cf to 0x5cf9b1a2 [C] 'function void crypto_unregister_rng(rng_alg*)' at rng.c:196:1 has some sub-type changes: CRC value (modversions) changed from 0xaa5b7bae to 0x8f503a7 [C] 'function void crypto_unregister_rngs(rng_alg*, int)' at rng.h:18:1 has some sub-type changes: CRC value (modversions) changed from 0xc5d4cc53 to 0x43e41b9b [C] 'function int crypto_unregister_shash(shash_alg*)' at hash.h:102:1 has some sub-type changes: CRC value (modversions) changed from 0x3c3fd2d7 to 0x1d408738 [C] 'function int crypto_unregister_shashes(shash_alg*, int)' at hash.h:104:1 has some sub-type changes: CRC value (modversions) changed from 0xcf9dc3fb to 0xf0606575 [C] 'function void crypto_unregister_skcipher(skcipher_alg*)' at skcipher.c:1060:1 has some sub-type changes: CRC value (modversions) changed from 0x4f0b62b1 to 0xe2cc5080 [C] 'function void crypto_unregister_skciphers(skcipher_alg*, int)' at skcipher.h:132:1 has some sub-type changes: CRC value (modversions) changed from 0xaf0bbe96 to 0xe6db2a5e [C] 'function void crypto_unregister_template(crypto_template*)' at algapi.h:142:1 has some sub-type changes: CRC value (modversions) changed from 0xeca50130 to 0x89ed100a [C] 'function int dapm_pinctrl_event(snd_soc_dapm_widget*, snd_kcontrol*, int)' at soc-dapm.c:1370:1 has some sub-type changes: CRC value (modversions) changed from 0x1e63c9f2 to 0xe466e961 [C] 'function int dapm_regulator_event(snd_soc_dapm_widget*, snd_kcontrol*, int)' at soc-dapm.c:1336:1 has some sub-type changes: CRC value (modversions) changed from 0x36fdda88 to 0x27d71cd8 [C] 'function int dequeue_signal(task_struct*, sigset_t*, kernel_siginfo_t*)' at signal.c:628:1 has some sub-type changes: CRC value (modversions) changed from 0x2f332878 to 0xdefb407b [C] 'function int desc_to_gpio(const gpio_desc*)' at gpiolib.c:163:1 has some sub-type changes: CRC value (modversions) changed from 0xa4da1fd1 to 0x36feb422 [C] 'function int dev_alloc_name(net_device*, const char*)' at dev.c:1052:1 has some sub-type changes: CRC value (modversions) changed from 0xbb2a8ff5 to 0x115a8ed8 [C] 'function void dev_close(net_device*)' at dev.c:1448:1 has some sub-type changes: CRC value (modversions) changed from 0x4f559470 to 0x586a07a8 [C] 'function fwnode_handle* dev_fwnode(device*)' at property.h:34:1 has some sub-type changes: CRC value (modversions) changed from 0xf215d34e to 0xe0fc1084 [C] 'function net_device* dev_get_by_index(net*, int)' at netdevice.h:2701:1 has some sub-type changes: CRC value (modversions) changed from 0xd4550896 to 0x5d6fe2c7 [C] 'function net_device* dev_get_by_index_rcu(net*, int)' at dev.c:752:1 has some sub-type changes: CRC value (modversions) changed from 0x8e1dae74 to 0xe8147638 [C] 'function net_device* dev_get_by_name(net*, const char*)' at dev.c:703:1 has some sub-type changes: CRC value (modversions) changed from 0x97a54c3e to 0xb0eeb017 [C] 'function net_device* dev_get_by_name_rcu(net*, const char*)' at netdevice.h:2672:1 has some sub-type changes: CRC value (modversions) changed from 0x17a89c64 to 0xc0cbd5c1 [C] 'function regmap* dev_get_regmap(device*, const char*)' at regmap.h:1007:1 has some sub-type changes: CRC value (modversions) changed from 0x1e85ad22 to 0x7441d6e1 [C] 'function rtnl_link_stats64* dev_get_stats(net_device*, rtnl_link_stats64*)' at netdevice.h:4284:1 has some sub-type changes: CRC value (modversions) changed from 0xa7640639 to 0x31dbf0f0 [C] 'function int dev_open(net_device*, netlink_ext_ack*)' at dev.c:1348:1 has some sub-type changes: CRC value (modversions) changed from 0x44036a5a to 0x169e6482 [C] 'function int dev_pm_qos_add_request(device*, dev_pm_qos_request*, dev_pm_qos_req_type, s32)' at qos.c:388:1 has some sub-type changes: CRC value (modversions) changed from 0xdc32308d to 0x8a8b4134 [C] 'function int dev_pm_qos_expose_latency_tolerance(device*)' at qos.c:951:1 has some sub-type changes: CRC value (modversions) changed from 0xf2f88453 to 0x92fcd4e [C] 'function void dev_pm_qos_hide_latency_tolerance(device*)' at qos.c:970:1 has some sub-type changes: CRC value (modversions) changed from 0xf4c38468 to 0xd97681f4 [C] 'function int dev_pm_qos_remove_request(dev_pm_qos_request*)' at qos.c:510:1 has some sub-type changes: CRC value (modversions) changed from 0xbdbbe4fa to 0x438b692d [C] 'function int dev_pm_qos_update_request(dev_pm_qos_request*, s32)' at qos.c:463:1 has some sub-type changes: CRC value (modversions) changed from 0xf4d45ad9 to 0x1e3c3274 [C] 'function int dev_pm_qos_update_user_latency_tolerance(device*, int)' at pm_qos.h:188:1 has some sub-type changes: CRC value (modversions) changed from 0x84688bb0 to 0x2221a7d [C] 'function void dev_printk(const char*, const device*, const char*, ...)' at device.h:1736:1 has some sub-type changes: CRC value (modversions) changed from 0x69c1b24 to 0x2bc7a53b [C] 'function int dev_queue_xmit(sk_buff*)' at dev.c:3802:1 has some sub-type changes: CRC value (modversions) changed from 0xcc889223 to 0x4b7fdabd [C] 'function int dev_set_mac_address(net_device*, sockaddr*, netlink_ext_ack*)' at netdevice.h:3728:1 has some sub-type changes: CRC value (modversions) changed from 0x97b8a8cb to 0xd62219db [C] 'function int dev_set_mtu(net_device*, int)' at dev.c:8034:1 has some sub-type changes: CRC value (modversions) changed from 0xe1342877 to 0xd7306946 [C] 'function int dev_set_name(device*, const char*, ...)' at device.h:1402:1 has some sub-type changes: CRC value (modversions) changed from 0xfe61e9a to 0x8c966efd [C] 'function devfreq* devfreq_add_device(device*, devfreq_dev_profile*, const char*, void*)' at devfreq.h:189:1 has some sub-type changes: CRC value (modversions) changed from 0xceb7b523 to 0xa523c5b4 [C] 'function int devfreq_add_governor(devfreq_governor*)' at governor.h:64:1 has some sub-type changes: CRC value (modversions) changed from 0x654f2b1a to 0xb9772a1e [C] 'function dev_pm_opp* devfreq_recommended_opp(device*, unsigned long int*, unsigned int)' at devfreq.h:217:1 has some sub-type changes: CRC value (modversions) changed from 0xc38d1494 to 0x9301d1b1 [C] 'function int devfreq_register_opp_notifier(device*, devfreq*)' at devfreq.c:1535:1 has some sub-type changes: CRC value (modversions) changed from 0x69f527a0 to 0x5b6b0c59 [C] 'function int devfreq_remove_device(devfreq*)' at devfreq.h:193:1 has some sub-type changes: CRC value (modversions) changed from 0x83c2b6a0 to 0xbcd793dd [C] 'function int devfreq_remove_governor(devfreq_governor*)' at governor.h:65:1 has some sub-type changes: CRC value (modversions) changed from 0x6b0351a1 to 0xf777877b [C] 'function int devfreq_resume_device(devfreq*)' at devfreq.h:203:1 has some sub-type changes: CRC value (modversions) changed from 0xa73cfac1 to 0x2181d73c [C] 'function int devfreq_suspend_device(devfreq*)' at devfreq.h:202:1 has some sub-type changes: CRC value (modversions) changed from 0x4cc0ad10 to 0xa243c375 [C] 'function int devfreq_unregister_opp_notifier(device*, devfreq*)' at devfreq.c:1551:1 has some sub-type changes: CRC value (modversions) changed from 0xac878684 to 0xd84376e1 [C] 'function int devfreq_update_status(devfreq*, unsigned long int)' at governor.h:67:1 has some sub-type changes: CRC value (modversions) changed from 0xf24e27d to 0xecdaae81 [C] 'function int device_add(device*)' at device.h:1564:1 has some sub-type changes: CRC value (modversions) changed from 0xa73ea0e6 to 0x14b9c0d4 [C] 'function int device_attach(device*)' at device.h:1625:1 has some sub-type changes: CRC value (modversions) changed from 0xd3912011 to 0x1c45e3d5 [C] 'function int device_bind_driver(device*)' at dd.c:471:1 has some sub-type changes: CRC value (modversions) changed from 0x176e3424 to 0x985d4f0b [C] 'function device* device_create(class*, device*, unsigned int, void*, const char*, ...)' at device.h:1640:1 has some sub-type changes: CRC value (modversions) changed from 0xf8adc5dc to 0x3221275e [C] 'function int device_create_bin_file(device*, const bin_attribute*)' at core.c:2060:1 has some sub-type changes: CRC value (modversions) changed from 0xa8741d76 to 0x8b70af75 [C] 'function int device_create_file(device*, const device_attribute*)' at device.h:887:1 has some sub-type changes: CRC value (modversions) changed from 0x4fd2abe9 to 0xf8e6b5ac [C] 'function device* device_create_with_groups(class*, device*, unsigned int, void*, const attribute_group**, const char*, ...)' at device.h:1644:1 has some sub-type changes: CRC value (modversions) changed from 0xff042fbb to 0x3b69bb71 [C] 'function void device_del(device*)' at device.h:1565:1 has some sub-type changes: CRC value (modversions) changed from 0x4d22e6b6 to 0x9eb88496 [C] 'function void device_destroy(class*, unsigned int)' at device.h:1648:1 has some sub-type changes: CRC value (modversions) changed from 0x3ecb7429 to 0x75c75c7a [C] 'function device* device_find_child(device*, void*, int (device*, void*)*)' at device.h:1570:1 has some sub-type changes: CRC value (modversions) changed from 0xb00be890 to 0x787ea6f4 [C] 'function int device_for_each_child(device*, void*, int (device*, void*)*)' at device.h:1566:1 has some sub-type changes: CRC value (modversions) changed from 0xa9d5326b to 0xeef57ba [C] 'function unsigned int device_get_child_node_count(device*)' at property.h:116:1 has some sub-type changes: CRC value (modversions) changed from 0xb095154 to 0x3a229afa [C] 'function dev_dma_attr device_get_dma_attr(device*)' at property.c:745:1 has some sub-type changes: CRC value (modversions) changed from 0xe272ac12 to 0x2ce02f77 [C] 'function void* device_get_match_data(device*)' at property.c:1103:1 has some sub-type changes: CRC value (modversions) changed from 0x57270d6d to 0x5ef780b7 [C] 'function fwnode_handle* device_get_named_child_node(device*, const char*)' at property.c:670:1 has some sub-type changes: CRC value (modversions) changed from 0xaa0444c to 0xc094614f [C] 'function fwnode_handle* device_get_next_child_node(device*, fwnode_handle*)' at property.h:99:1 has some sub-type changes: CRC value (modversions) changed from 0x55827041 to 0x31c69c25 [C] 'function int device_init_wakeup(device*, bool)' at pm_wakeup.h:98:1 has some sub-type changes: CRC value (modversions) changed from 0x701dec06 to 0x7f500c48 [C] 'function void device_initialize(device*)' at device.h:1563:1 has some sub-type changes: CRC value (modversions) changed from 0x9bafee5e to 0xe115c8d0 [C] 'function device_link* device_link_add(device*, device*, unsigned int)' at device.h:1716:1 has some sub-type changes: CRC value (modversions) changed from 0xe4a82759 to 0x17fc164c [C] 'function void device_link_del(device_link*)' at core.c:604:1 has some sub-type changes: CRC value (modversions) changed from 0x4d12236b to 0x7306be8d [C] 'function int device_match_fwnode(device*, void*)' at core.c:3914:1 has some sub-type changes: CRC value (modversions) changed from 0x7349dc3d to 0x89f05536 [C] 'function int device_match_name(device*, void*)' at core.c:3902:1 has some sub-type changes: CRC value (modversions) changed from 0xef086237 to 0x577ab3c8 [C] 'function bool device_property_present(device*, const char*)' at property.h:36:1 has some sub-type changes: CRC value (modversions) changed from 0x1c0f16ba to 0x8c030960 [C] 'function int device_property_read_string(device*, const char*, const char**)' at property.h:47:1 has some sub-type changes: CRC value (modversions) changed from 0xbc760878 to 0x87b67dff [C] 'function int device_property_read_string_array(device*, const char*, const char**, size_t)' at property.c:178:1 has some sub-type changes: CRC value (modversions) changed from 0x537b3728 to 0x67fd1da7 [C] 'function int device_property_read_u16_array(device*, const char*, u16*, size_t)' at property.c:103:1 has some sub-type changes: CRC value (modversions) changed from 0x5b5cefd6 to 0xb8c6e623 [C] 'function int device_property_read_u32_array(device*, const char*, unsigned int*, unsigned long int)' at property.h:41:1 has some sub-type changes: CRC value (modversions) changed from 0xc2b43d4a to 0x2ec57191 [C] 'function int device_property_read_u8_array(device*, const char*, u8*, size_t)' at property.c:78:1 has some sub-type changes: CRC value (modversions) changed from 0x129ce224 to 0xb2c62b0f [C] 'function int device_register(device*)' at core.c:2714:1 has some sub-type changes: CRC value (modversions) changed from 0x9f283adc to 0xfdc10e95 [C] 'function void device_release_driver(device*)' at device.h:1624:1 has some sub-type changes: CRC value (modversions) changed from 0x480b6b9b to 0xa7d0784d [C] 'function void device_remove_bin_file(device*, const bin_attribute*)' at core.c:2075:1 has some sub-type changes: CRC value (modversions) changed from 0xee214d43 to 0x121cf64f [C] 'function void device_remove_file(device*, const device_attribute*)' at device.h:889:1 has some sub-type changes: CRC value (modversions) changed from 0x917303a3 to 0x31a6589 [C] 'function bool device_remove_file_self(device*, const device_attribute*)' at device.h:891:1 has some sub-type changes: CRC value (modversions) changed from 0x91e485d6 to 0x61527fc [C] 'function void device_remove_groups(device*, const attribute_group**)' at core.c:1751:1 has some sub-type changes: CRC value (modversions) changed from 0x9ceda165 to 0x7eba9107 [C] 'function int device_rename(device*, const char*)' at core.c:3476:1 has some sub-type changes: CRC value (modversions) changed from 0x8eeb085a to 0xbf2f3dbd [C] 'function void device_set_wakeup_capable(device*, bool)' at pm_wakeup.h:97:1 has some sub-type changes: CRC value (modversions) changed from 0x39af5f73 to 0x2a05ebb [C] 'function ssize_t device_show_bool(device*, device_attribute*, char*)' at core.c:1485:1 has some sub-type changes: CRC value (modversions) changed from 0x9842dc04 to 0x1c0337f8 [C] 'function ssize_t device_show_int(device*, device_attribute*, char*)' at core.c:1463:1 has some sub-type changes: CRC value (modversions) changed from 0x8092bb83 to 0x805f706f [C] 'function ssize_t device_store_bool(device*, device_attribute*, const char*, size_t)' at core.c:1473:1 has some sub-type changes: CRC value (modversions) changed from 0x880b6c34 to 0xdd17d4b8 [C] 'function ssize_t device_store_int(device*, device_attribute*, const char*, size_t)' at core.c:1443:1 has some sub-type changes: CRC value (modversions) changed from 0x8b319597 to 0x6a9ded42 [C] 'function void device_unregister(device*)' at device.h:1562:1 has some sub-type changes: CRC value (modversions) changed from 0x738a531d to 0x2c6bbbb0 [C] 'function int device_wakeup_disable(device*)' at pm_wakeup.h:96:1 has some sub-type changes: CRC value (modversions) changed from 0x6b67ae7f to 0xeb4a3a0a [C] 'function int device_wakeup_enable(device*)' at pm_wakeup.h:95:1 has some sub-type changes: CRC value (modversions) changed from 0x55f3c06 to 0x739d7917 [C] 'function int devm_add_action(device*, void (void*)*, void*)' at device.h:987:1 has some sub-type changes: CRC value (modversions) changed from 0xebf3f657 to 0x65c5175c [C] 'function backlight_device* devm_backlight_device_register(device*, const char*, device*, void*, const backlight_ops*, const backlight_properties*)' at backlight.h:181:1 has some sub-type changes: CRC value (modversions) changed from 0xcf9b91c2 to 0xc7d70a6a [C] 'function int devm_clk_hw_register(device*, clk_hw*)' at clk-provider.h:811:1 has some sub-type changes: CRC value (modversions) changed from 0xf905748 to 0xd7a2b6b4 [C] 'function clk* devm_clk_register(device*, clk_hw*)' at clk-provider.h:808:1 has some sub-type changes: CRC value (modversions) changed from 0x6bccc885 to 0xf01a59d4 [C] 'function devfreq* devm_devfreq_add_device(device*, devfreq_dev_profile*, const char*, void*)' at devfreq.c:798:1 has some sub-type changes: CRC value (modversions) changed from 0x697ebbe1 to 0x1d74423d [C] 'function int devm_devfreq_register_opp_notifier(device*, devfreq*)' at devfreq.c:1568:1 has some sub-type changes: CRC value (modversions) changed from 0xc1dfcd50 to 0x410f033b [C] 'function void devm_devfreq_remove_device(device*, devfreq*)' at devfreq.c:872:1 has some sub-type changes: CRC value (modversions) changed from 0x989496a2 to 0x9cce7f0b [C] 'function int devm_device_add_group(device*, const attribute_group*)' at core.c:1796:1 has some sub-type changes: CRC value (modversions) changed from 0xb47fe917 to 0xae51da1d [C] 'function void devm_device_remove_group(device*, const attribute_group*)' at core.c:1826:1 has some sub-type changes: CRC value (modversions) changed from 0x1d68f5a4 to 0x68c6e047 [C] 'function void devm_free_irq(device*, unsigned int, void*)' at interrupt.h:202:1 has some sub-type changes: CRC value (modversions) changed from 0x728d2cff to 0xb4bfdb10 [C] 'function gpio_desc* devm_fwnode_get_index_gpiod_from_child(device*, const char*, int, fwnode_handle*, gpiod_flags, const char*)' at consumer.h:180:1 has some sub-type changes: CRC value (modversions) changed from 0x41d09506 to 0x2f5f969 [C] 'function void devm_gpio_free(device*, unsigned int)' at gpiolib-devres.c:489:1 has some sub-type changes: CRC value (modversions) changed from 0x15a9c1fe to 0x6214807b [C] 'function int devm_gpio_request(device*, unsigned int, const char*)' at gpiolib-devres.c:427:1 has some sub-type changes: CRC value (modversions) changed from 0x3a603821 to 0x882fdd02 [C] 'function int devm_gpio_request_one(device*, unsigned int, unsigned long int, const char*)' at gpio.h:96:1 has some sub-type changes: CRC value (modversions) changed from 0x79db368 to 0xb718a0e3 [C] 'function int devm_gpiochip_add_data(device*, gpio_chip*, void*)' at driver.h:501:1 has some sub-type changes: CRC value (modversions) changed from 0x5360aefa to 0xd7c53928 [C] 'function gpio_desc* devm_gpiod_get(device*, const char*, gpiod_flags)' at gpiolib-devres.c:56:1 has some sub-type changes: CRC value (modversions) changed from 0xc7df23ac to 0x2bfc3da [C] 'function gpio_desc* devm_gpiod_get_index(device*, const char*, unsigned int, gpiod_flags)' at gpiolib-devres.c:93:1 has some sub-type changes: CRC value (modversions) changed from 0xc4e08270 to 0xc5752078 [C] 'function gpio_desc* devm_gpiod_get_optional(device*, const char*, gpiod_flags)' at consumer.h:94:1 has some sub-type changes: CRC value (modversions) changed from 0x5cbb26c1 to 0x96417a1d [C] 'function hwspinlock* devm_hwspin_lock_request_specific(device*, unsigned int)' at hwspinlock_core.c:931:1 has some sub-type changes: CRC value (modversions) changed from 0x3bf91f46 to 0x4517bb77 [C] 'function char* devm_kasprintf(device*, unsigned int, const char*, ...)' at device.h:948:1 has some sub-type changes: CRC value (modversions) changed from 0x569ab40c to 0x5da1052f [C] 'function void devm_kfree(device*, void*)' at device.h:968:1 has some sub-type changes: CRC value (modversions) changed from 0x6d0fe95 to 0xea95a0c6 [C] 'function void* devm_kmalloc(device*, unsigned long int, unsigned int)' at device.h:943:1 has some sub-type changes: CRC value (modversions) changed from 0x4eea0900 to 0x4be56080 [C] 'function void* devm_kmemdup(device*, void*, unsigned long int, unsigned int)' at device.h:972:1 has some sub-type changes: CRC value (modversions) changed from 0xb394abc3 to 0x2b9d0ae4 [C] 'function char* devm_kstrdup(device*, const char*, unsigned int)' at device.h:969:1 has some sub-type changes: CRC value (modversions) changed from 0x864d311a to 0x7f84bf2b [C] 'function char* devm_kvasprintf(device*, gfp_t, const char*, va_list)' at devres.c:888:1 has some sub-type changes: CRC value (modversions) changed from 0x5fe36321 to 0x8d8d1a70 [C] 'function int devm_led_classdev_register_ext(device*, led_classdev*, led_init_data*)' at leds.h:184:1 has some sub-type changes: CRC value (modversions) changed from 0x369b538d to 0x8eda0c2c [C] 'function int devm_mbox_controller_register(device*, mbox_controller*)' at mailbox_controller.h:134:1 has some sub-type changes: CRC value (modversions) changed from 0x8e9e8e7b to 0xd360438c [C] 'function int devm_mfd_add_devices(device*, int, const mfd_cell*, int, resource*, int, irq_domain*)' at core.h:130:1 has some sub-type changes: CRC value (modversions) changed from 0xf3ac4d08 to 0x3a0e8313 [C] 'function nvmem_cell* devm_nvmem_cell_get(device*, const char*)' at core.c:846:1 has some sub-type changes: CRC value (modversions) changed from 0x3f937d2d to 0xac1da82c [C] 'function nvmem_device* devm_nvmem_device_get(device*, const char*)' at core.c:676:1 has some sub-type changes: CRC value (modversions) changed from 0xa6ec7f39 to 0x8147f991 [C] 'function nvmem_device* devm_nvmem_register(device*, const nvmem_config*)' at nvmem-provider.h:102:1 has some sub-type changes: CRC value (modversions) changed from 0x90a2dda6 to 0x7eb766c3 [C] 'function int devm_of_clk_add_hw_provider(device*, clk_hw* (of_phandle_args*, void*)*, void*)' at clk-provider.h:1052:1 has some sub-type changes: CRC value (modversions) changed from 0x7c645e25 to 0xb22eb6e3 [C] 'function int devm_of_platform_populate(device*)' at of_platform.h:83:1 has some sub-type changes: CRC value (modversions) changed from 0xb6cbc95c to 0xfe461195 [C] 'function pwm_device* devm_of_pwm_get(device*, device_node*, const char*)' at core.c:1057:1 has some sub-type changes: CRC value (modversions) changed from 0xda360892 to 0xf1223fc6 [C] 'function pci_host_bridge* devm_pci_alloc_host_bridge(device*, size_t)' at probe.c:617:1 has some sub-type changes: CRC value (modversions) changed from 0xa0af13dd to 0xb3f48017 [C] 'function phy* devm_phy_create(device*, device_node*, const phy_ops*)' at phy-core.c:910:1 has some sub-type changes: CRC value (modversions) changed from 0x1274f07e to 0xfa501769 [C] 'function phy* devm_phy_get(device*, const char*)' at phy-core.c:710:1 has some sub-type changes: CRC value (modversions) changed from 0xcf5f7d18 to 0xbaf26e2d [C] 'function void* devm_platform_ioremap_resource(platform_device*, unsigned int)' at platform_device.h:58:1 has some sub-type changes: CRC value (modversions) changed from 0x9eac468e to 0x9fbc013a [C] 'function power_supply* devm_power_supply_get_by_phandle(device*, const char*)' at power_supply_core.c:541:1 has some sub-type changes: CRC value (modversions) changed from 0xa8edc1cc to 0x61ff7c71 [C] 'function power_supply* devm_power_supply_register(device*, const power_supply_desc*, const power_supply_config*)' at power_supply.h:434:1 has some sub-type changes: CRC value (modversions) changed from 0x97cbcc33 to 0x985b8a0a [C] 'function pwm_device* devm_pwm_get(device*, const char*)' at core.c:1025:1 has some sub-type changes: CRC value (modversions) changed from 0xdd6956a0 to 0xab0a4c7d [C] 'function void devm_pwm_put(device*, pwm_device*)' at core.c:1135:1 has some sub-type changes: CRC value (modversions) changed from 0xd016e879 to 0x9ab7da67 [C] 'function regmap_field* devm_regmap_field_alloc(device*, regmap*, reg_field)' at regmap.c:1219:1 has some sub-type changes: CRC value (modversions) changed from 0x82a9535c to 0x49f934eb [C] 'function int devm_regulator_bulk_get(device*, int, regulator_bulk_data*)' at consumer.h:230:1 has some sub-type changes: CRC value (modversions) changed from 0xc5c4f69 to 0xe31b3861 [C] 'function regulator* devm_regulator_get(device*, const char*)' at consumer.h:180:1 has some sub-type changes: CRC value (modversions) changed from 0xf18ec52b to 0xefd8c31b [C] 'function int devm_request_any_context_irq(device*, unsigned int, enum irqreturn (int, void*)*, unsigned long int, const char*, void*)' at interrupt.h:198:1 has some sub-type changes: CRC value (modversions) changed from 0xf289cd32 to 0x108d8d82 [C] 'function int devm_request_pci_bus_resources(device*, list_head*)' at bus.c:93:1 has some sub-type changes: CRC value (modversions) changed from 0x77fd1151 to 0x7107b12f [C] 'function int devm_request_threaded_irq(device*, unsigned int, enum irqreturn (int, void*)*, enum irqreturn (int, void*)*, unsigned long int, const char*, void*)' at interrupt.h:184:1 has some sub-type changes: CRC value (modversions) changed from 0xf4065d24 to 0x504206b3 [C] 'function reset_control* devm_reset_control_array_get(device*, bool, bool)' at reset.h:34:1 has some sub-type changes: CRC value (modversions) changed from 0x99cd4417 to 0x3e3b0e8c [C] 'function int devm_reset_controller_register(device*, reset_controller_dev*)' at reset-controller.h:85:1 has some sub-type changes: CRC value (modversions) changed from 0x458c43b to 0x3a1587d6 [C] 'function int devm_spi_register_controller(device*, spi_controller*)' at spi.c:2540:1 has some sub-type changes: CRC value (modversions) changed from 0xccc3ff64 to 0xb85c03e8 [C] 'function usb_phy* devm_usb_get_phy(device*, usb_phy_type)' at phy.c:415:1 has some sub-type changes: CRC value (modversions) changed from 0xcd989d03 to 0x70f643d0 [C] 'function usb_phy* devm_usb_get_phy_by_phandle(device*, const char*, u8)' at phy.c:545:1 has some sub-type changes: CRC value (modversions) changed from 0x85ba053 to 0x66c0853 [C] 'function int devm_watchdog_register_device(device*, watchdog_device*)' at watchdog_core.c:365:1 has some sub-type changes: CRC value (modversions) changed from 0xde5d87ff to 0x8fd80381 [C] 'function void devres_add(device*, void*)' at device.h:923:1 has some sub-type changes: CRC value (modversions) changed from 0xd14119d9 to 0x1770b900 [C] 'function void* devres_alloc_node(void (device*, void*)*, unsigned long int, unsigned int, int)' at device.h:910:1 has some sub-type changes: CRC value (modversions) changed from 0x347b139 to 0x41497f07 [C] 'function int devres_destroy(device*, void (device*, void*)*, int (device*, void*, void*)*, void*)' at device.h:930:1 has some sub-type changes: CRC value (modversions) changed from 0x3612f69c to 0xd2c1c780 [C] 'function int devres_release(device*, void (device*, void*)*, int (device*, void*, void*)*, void*)' at device.h:932:1 has some sub-type changes: CRC value (modversions) changed from 0xac028233 to 0x1ae5bc3c [C] 'function int dma_async_device_register(dma_device*)' at dmaengine.c:907:1 has some sub-type changes: CRC value (modversions) changed from 0xb1671a34 to 0x3ac3274c [C] 'function void dma_async_device_unregister(dma_device*)' at dmaengine.c:1111:1 has some sub-type changes: CRC value (modversions) changed from 0xfd4acf03 to 0xe89e6064 [C] 'function void dma_async_tx_descriptor_init(dma_async_tx_descriptor*, dma_chan*)' at dmaengine.c:1297:1 has some sub-type changes: CRC value (modversions) changed from 0xd9d57e99 to 0x131bfcf7 [C] 'function int dma_get_slave_caps(dma_chan*, dma_slave_caps*)' at dmaengine.h:1315:1 has some sub-type changes: CRC value (modversions) changed from 0xa9b17a89 to 0x2a0c86a3 [C] 'function dma_chan* dma_get_slave_channel(dma_chan*)' at dmaengine.c:577:1 has some sub-type changes: CRC value (modversions) changed from 0xfff20599 to 0x6cc5f1a5 [C] 'function void dma_release_channel(dma_chan*)' at dmaengine.h:1314:1 has some sub-type changes: CRC value (modversions) changed from 0x73044a42 to 0x6af2fdcf [C] 'function dma_chan* dma_request_chan(device*, const char*)' at dmaengine.h:1311:1 has some sub-type changes: CRC value (modversions) changed from 0xa38b035d to 0x6e013170 [C] 'function dma_chan* dma_request_slave_channel(device*, const char*)' at dmaengine.h:1309:1 has some sub-type changes: CRC value (modversions) changed from 0x6af4c5b7 to 0x5fb24c95 [C] 'function void dmaengine_unmap_put(dmaengine_unmap_data*)' at dmaengine.c:1231:1 has some sub-type changes: CRC value (modversions) changed from 0xbcd220cf to 0x4010b507 [C] 'function int driver_attach(device_driver*)' at dd.c:1094:1 has some sub-type changes: CRC value (modversions) changed from 0x50e91404 to 0x10527ee4 [C] 'function device_driver* driver_find(const char*, bus_type*)' at driver.c:213:1 has some sub-type changes: CRC value (modversions) changed from 0x160891c3 to 0xb80bb688 [C] 'function device* driver_find_device(device_driver*, device*, void*, int (device*, void*)*)' at driver.c:75:1 has some sub-type changes: CRC value (modversions) changed from 0xe4b659a to 0xd63575c2 [C] 'function int driver_register(device_driver*)' at device.h:423:1 has some sub-type changes: CRC value (modversions) changed from 0xc3c00fbe to 0xf1a01239 [C] 'function void driver_unregister(device_driver*)' at device.h:424:1 has some sub-type changes: CRC value (modversions) changed from 0x2c7f05a4 to 0x68a15000 [C] 'function void drm_gem_vm_close(vm_area_struct*)' at drm_gem.c:1066:1 has some sub-type changes: CRC value (modversions) changed from 0x4a80d586 to 0xcf4a18d9 [C] 'function void drm_gem_vm_open(vm_area_struct*)' at drm_gem.c:1051:1 has some sub-type changes: CRC value (modversions) changed from 0x543abe3a to 0x5142e4b8 [C] 'function int drm_panel_add(drm_panel*)' at drm_panel.c:67:1 has some sub-type changes: CRC value (modversions) changed from 0xacfbec6b to 0x57bd875d [C] 'function void dst_release(dst_entry*)' at dst.h:252:1 has some sub-type changes: CRC value (modversions) changed from 0x60ea56c6 to 0x996e1bc2 [C] 'function void dump_page(page*, const char*)' at debug.c:111:1 has some sub-type changes: CRC value (modversions) changed from 0x11923fdd to 0x86339f0b [C] 'function void eth_commit_mac_addr_change(net_device*, void*)' at eth.c:308:1 has some sub-type changes: CRC value (modversions) changed from 0x12e71511 to 0x867c088b [C] 'function int eth_mac_addr(net_device*, void*)' at eth.c:326:1 has some sub-type changes: CRC value (modversions) changed from 0x5104b0d5 to 0x3a7e776f [C] 'function int eth_platform_get_mac_address(device*, u8*)' at eth.c:551:1 has some sub-type changes: CRC value (modversions) changed from 0x45d5d314 to 0x1a965766 [C] 'function int eth_prepare_mac_addr_change(net_device*, void*)' at eth.c:291:1 has some sub-type changes: CRC value (modversions) changed from 0xc00f43da to 0x401e3a0b [C] 'function unsigned short int eth_type_trans(sk_buff*, net_device*)' at etherdevice.h:32:1 has some sub-type changes: CRC value (modversions) changed from 0x1a082142 to 0x42e7d9d8 [C] 'function int eth_validate_addr(net_device*)' at eth.c:354:1 has some sub-type changes: CRC value (modversions) changed from 0x195d2c0 to 0x55ae92ca [C] 'function void ether_setup(net_device*)' at netdevice.h:4134:1 has some sub-type changes: CRC value (modversions) changed from 0xcf5d6eb6 to 0x835e4555 [C] 'function unsigned int ethtool_op_get_link(net_device*)' at ethtool.h:87:1 has some sub-type changes: CRC value (modversions) changed from 0x947658a0 to 0x245ad0fb [C] 'function int ethtool_op_get_ts_info(net_device*, ethtool_ts_info*)' at ethtool.c:42:1 has some sub-type changes: CRC value (modversions) changed from 0x5433248a to 0xf06306fc [C] 'function extcon_dev* extcon_find_edev_by_node(device_node*)' at extcon.c:1336:1 has some sub-type changes: CRC value (modversions) changed from 0x886d2feb to 0x905ae71 [C] 'function extcon_dev* extcon_get_edev_by_phandle(device*, int)' at extcon.h:226:1 has some sub-type changes: CRC value (modversions) changed from 0x8b362ce7 to 0x1a435120 [C] 'function extcon_dev* extcon_get_extcon_dev(const char*)' at extcon.c:867:1 has some sub-type changes: CRC value (modversions) changed from 0x533d2519 to 0x22ab2644 [C] 'function int extcon_get_property(extcon_dev*, unsigned int, unsigned int, extcon_property_value*)' at extcon.c:615:1 has some sub-type changes: CRC value (modversions) changed from 0xcc2d82b8 to 0x2d317d67 [C] 'function int extcon_get_state(extcon_dev*, unsigned int)' at extcon.h:173:1 has some sub-type changes: CRC value (modversions) changed from 0x625b660 to 0x9254aead [C] 'function int extcon_register_notifier(extcon_dev*, unsigned int, notifier_block*)' at extcon.c:899:1 has some sub-type changes: CRC value (modversions) changed from 0xd5a7c008 to 0xf9a2433 [C] 'function int extcon_set_property(extcon_dev*, unsigned int, unsigned int, extcon_property_value)' at extcon.c:694:1 has some sub-type changes: CRC value (modversions) changed from 0x16f25f9e to 0x78d4c38 [C] 'function int extcon_set_property_capability(extcon_dev*, unsigned int, unsigned int)' at extcon.c:816:1 has some sub-type changes: CRC value (modversions) changed from 0xd8e01fa1 to 0x8713c79f [C] 'function int extcon_set_state_sync(extcon_dev*, unsigned int, bool)' at extcon.c:577:1 has some sub-type changes: CRC value (modversions) changed from 0x149e3931 to 0x96549858 [C] 'function int extcon_unregister_notifier(extcon_dev*, unsigned int, notifier_block*)' at extcon.c:928:1 has some sub-type changes: CRC value (modversions) changed from 0xd5909f79 to 0x9808913 [C] 'function int filemap_fdatawait_range(address_space*, loff_t, loff_t)' at filemap.c:550:1 has some sub-type changes: CRC value (modversions) changed from 0x83e96812 to 0xe52b1c17 [C] 'function int filemap_fdatawrite_range(address_space*, loff_t, loff_t)' at filemap.c:438:1 has some sub-type changes: CRC value (modversions) changed from 0x41b179c6 to 0x50cb25f8 [C] 'function pid* find_vpid(int)' at pid.h:115:1 has some sub-type changes: CRC value (modversions) changed from 0xf54055ad to 0x20a88863 [C] 'function int firmware_request_nowarn(const firmware**, const char*, device*)' at main.c:846:1 has some sub-type changes: CRC value (modversions) changed from 0x1f5ce4c0 to 0x59985ceb [C] 'function void flush_signals(task_struct*)' at signal.c:475:1 has some sub-type changes: CRC value (modversions) changed from 0xe5eca771 to 0x50ee9ba7 [C] 'function void free_buffer_head(buffer_head*)' at buffer.c:3371:1 has some sub-type changes: CRC value (modversions) changed from 0xa7d4ca26 to 0x59fdd155 [C] 'function void free_netdev(net_device*)' at netdevice.h:2696:1 has some sub-type changes: CRC value (modversions) changed from 0x47bc4f6 to 0xe21e35c5 [C] 'function bool freezing_slow_path(task_struct*)' at freezer.h:30:1 has some sub-type changes: CRC value (modversions) changed from 0xa4c5f173 to 0x8ced5564 [C] 'function fwnode_handle* fwnode_get_parent(const fwnode_handle*)' at property.c:587:1 has some sub-type changes: CRC value (modversions) changed from 0x6b298759 to 0x64b44a0a [C] 'function void fwnode_handle_put(fwnode_handle*)' at property.h:112:1 has some sub-type changes: CRC value (modversions) changed from 0xde4a1b2 to 0x581adb8 [C] 'function bool fwnode_property_present(const fwnode_handle*, const char*)' at property.h:53:1 has some sub-type changes: CRC value (modversions) changed from 0x74cd9d5 to 0xf524264f [C] 'function int fwnode_property_read_string(const fwnode_handle*, const char*, const char**)' at property.h:70:1 has some sub-type changes: CRC value (modversions) changed from 0xa66b1f7c to 0x153c434c [C] 'function int fwnode_property_read_u16_array(const fwnode_handle*, const char*, u16*, size_t)' at property.c:291:1 has some sub-type changes: CRC value (modversions) changed from 0x8ca75959 to 0x65ad3f57 [C] 'function int fwnode_property_read_u32_array(const fwnode_handle*, const char*, unsigned int*, unsigned long int)' at property.h:61:1 has some sub-type changes: CRC value (modversions) changed from 0xdfbb2fe1 to 0x22f6b124 [C] 'function iommu_group* generic_device_group(device*)' at iommu.c:1277:1 has some sub-type changes: CRC value (modversions) changed from 0xa39182d8 to 0x3ae734b9 [C] 'function ssize_t generic_file_read_iter(kiocb*, iov_iter*)' at filemap.c:2274:1 has some sub-type changes: CRC value (modversions) changed from 0x78f50dfd to 0xce810f [C] 'function ssize_t generic_file_write_iter(kiocb*, iov_iter*)' at filemap.c:3436:1 has some sub-type changes: CRC value (modversions) changed from 0x4237ce7d to 0x6cd16bfd [C] 'function int generic_mii_ioctl(mii_if_info*, mii_ioctl_data*, int, unsigned int*)' at mii.c:584:1 has some sub-type changes: CRC value (modversions) changed from 0x1c804361 to 0xa51f823b [C] 'function void genl_notify(const genl_family*, sk_buff*, genl_info*, u32, gfp_t)' at genetlink.c:1158:1 has some sub-type changes: CRC value (modversions) changed from 0x9bb3601a to 0xdf789ea3 [C] 'function int genl_register_family(genl_family*)' at genetlink.h:153:1 has some sub-type changes: CRC value (modversions) changed from 0x8eb238f6 to 0x4cc15b39 [C] 'function int genl_unregister_family(const genl_family*)' at genetlink.h:154:1 has some sub-type changes: CRC value (modversions) changed from 0x4555c15 to 0x62f7e771 [C] 'function void* genlmsg_put(sk_buff*, unsigned int, unsigned int, const genl_family*, int, unsigned char)' at genetlink.h:158:1 has some sub-type changes: CRC value (modversions) changed from 0xa32ff66e to 0xde15c296 [C] 'function int genphy_resume(phy_device*)' at phy_device.c:2005:1 has some sub-type changes: CRC value (modversions) changed from 0x85566607 to 0xe815e3ec [C] 'function device* get_cpu_device(unsigned int)' at cpu.h:38:1 has some sub-type changes: CRC value (modversions) changed from 0x2baf84a to 0x29d9f271 [C] 'function device* get_device(device*)' at device.h:1695:1 has some sub-type changes: CRC value (modversions) changed from 0x6ea66805 to 0xa452cbe [C] 'function int get_device_system_crosststamp(int (ktime_t*, system_counterval_t*, void*)*, void*, system_time_snapshot*, system_device_crosststamp*)' at timekeeping.c:1117:1 has some sub-type changes: CRC value (modversions) changed from 0x1e0ce603 to 0x263284e4 [C] 'function task_struct* get_pid_task(pid*, pid_type)' at pid.c:381:1 has some sub-type changes: CRC value (modversions) changed from 0x78be955c to 0x573c51b1 [C] 'function mm_struct* get_task_mm(task_struct*)' at fork.c:1213:1 has some sub-type changes: CRC value (modversions) changed from 0xb80d0b2d to 0xbe1ed945 [C] 'function net_device* gether_connect(gether*)' at u_ether.c:1048:1 has some sub-type changes: CRC value (modversions) changed from 0xead7891e to 0x6eb37ba2 [C] 'function void gether_disconnect(gether*)' at u_ether.c:1126:1 has some sub-type changes: CRC value (modversions) changed from 0xc4c12759 to 0x51e6bcfb [C] 'function int gether_get_dev_addr(net_device*, char*, int)' at u_ether.c:918:1 has some sub-type changes: CRC value (modversions) changed from 0xb7e41afc to 0xd7db37a6 [C] 'function int gether_get_host_addr(net_device*, char*, int)' at u_ether.c:947:1 has some sub-type changes: CRC value (modversions) changed from 0xefce63f8 to 0xb2380059 [C] 'function int gether_get_host_addr_cdc(net_device*, char*, int)' at u_ether.c:963:1 has some sub-type changes: CRC value (modversions) changed from 0x6af855e9 to 0xcfef1992 [C] 'function int gether_get_ifname(net_device*, char*, int)' at u_ether.c:1004:1 has some sub-type changes: CRC value (modversions) changed from 0xb516b3d8 to 0x3ed9255 [C] 'function unsigned int gether_get_qmult(net_device*)' at u_ether.c:995:1 has some sub-type changes: CRC value (modversions) changed from 0x9b6ab39b to 0xcedeb65d [C] 'function int gether_register_netdev(net_device*)' at u_ether.c:857:1 has some sub-type changes: CRC value (modversions) changed from 0x3550fbfc to 0x23a109ea [C] 'function int gether_set_dev_addr(net_device*, const char*)' at u_ether.c:905:1 has some sub-type changes: CRC value (modversions) changed from 0x2cda4965 to 0x20e43358 [C] 'function void gether_set_gadget(net_device*, usb_gadget*)' at u_ether.c:895:1 has some sub-type changes: CRC value (modversions) changed from 0xf025e090 to 0xd495cced [C] 'function int gether_set_host_addr(net_device*, const char*)' at u_ether.c:934:1 has some sub-type changes: CRC value (modversions) changed from 0x64d23f80 to 0xea9ea98d [C] 'function void gether_set_qmult(net_device*, unsigned int)' at u_ether.c:986:1 has some sub-type changes: CRC value (modversions) changed from 0x7a17b3d2 to 0xd0f6bcca [C] 'function net_device* gether_setup_name_default(const char*)' at u_ether.c:816:1 has some sub-type changes: CRC value (modversions) changed from 0xf250dbfb to 0x5b96d774 [C] 'function void gnss_deregister_device(gnss_device*)' at core.c:301:1 has some sub-type changes: CRC value (modversions) changed from 0x4a70f103 to 0xd53aeb16 [C] 'function gpio_desc* gpio_to_desc(unsigned int)' at consumer.h:170:1 has some sub-type changes: CRC value (modversions) changed from 0x460b29b3 to 0xce77fc4f [C] 'function int gpiod_cansleep(const gpio_desc*)' at gpiolib.c:3804:1 has some sub-type changes: CRC value (modversions) changed from 0x71779051 to 0xbe3f1c29 [C] 'function int gpiod_direction_input(gpio_desc*)' at gpiolib.c:2958:1 has some sub-type changes: CRC value (modversions) changed from 0x7a1cd672 to 0x9c781f9 [C] 'function int gpiod_direction_output(gpio_desc*, int)' at gpiolib.c:3082:1 has some sub-type changes: CRC value (modversions) changed from 0x8becc167 to 0x43e437c6 [C] 'function int gpiod_direction_output_raw(gpio_desc*, int)' at consumer.h:113:1 has some sub-type changes: CRC value (modversions) changed from 0x47ce252c to 0x26b177fd [C] 'function int gpiod_get_direction(gpio_desc*)' at gpiolib.c:214:1 has some sub-type changes: CRC value (modversions) changed from 0xc9cf194b to 0x2ea6dae8 [C] 'function gpio_desc* gpiod_get_optional(device*, const char*, gpiod_flags)' at consumer.h:71:1 has some sub-type changes: CRC value (modversions) changed from 0xa9e70dd7 to 0xb20b6739 [C] 'function int gpiod_get_raw_value(const gpio_desc*)' at gpiolib.c:3410:1 has some sub-type changes: CRC value (modversions) changed from 0x484bb75e to 0xde8321f4 [C] 'function int gpiod_get_raw_value_cansleep(const gpio_desc*)' at gpiolib.c:4042:1 has some sub-type changes: CRC value (modversions) changed from 0xdd110286 to 0x25442b1f [C] 'function int gpiod_get_value(const gpio_desc*)' at gpiolib.c:3429:1 has some sub-type changes: CRC value (modversions) changed from 0x9c7a4a73 to 0x4ee8b544 [C] 'function int gpiod_get_value_cansleep(const gpio_desc*)' at consumer.h:138:1 has some sub-type changes: CRC value (modversions) changed from 0x4d7a9636 to 0x523d5fd5 [C] 'function int gpiod_is_active_low(const gpio_desc*)' at consumer.h:163:1 has some sub-type changes: CRC value (modversions) changed from 0xf412d628 to 0x9a3e44e4 [C] 'function int gpiod_set_consumer_name(gpio_desc*, const char*)' at gpiolib.c:3816:1 has some sub-type changes: CRC value (modversions) changed from 0x2b7d2b12 to 0x21661e47 [C] 'function int gpiod_set_debounce(gpio_desc*, unsigned int)' at consumer.h:159:1 has some sub-type changes: CRC value (modversions) changed from 0xb58fab40 to 0x7c4db772 [C] 'function void gpiod_set_raw_value(gpio_desc*, int)' at gpiolib.c:3698:1 has some sub-type changes: CRC value (modversions) changed from 0x7dbfe348 to 0x740916b1 [C] 'function void gpiod_set_raw_value_cansleep(gpio_desc*, int)' at gpiolib.c:4139:1 has some sub-type changes: CRC value (modversions) changed from 0x547b11eb to 0xc9f54c9 [C] 'function void gpiod_set_value(gpio_desc*, int)' at gpiolib.c:3739:1 has some sub-type changes: CRC value (modversions) changed from 0xa030a59c to 0x2ee5804 [C] 'function void gpiod_set_value_cansleep(gpio_desc*, int)' at consumer.h:143:1 has some sub-type changes: CRC value (modversions) changed from 0x229c5f5e to 0x29077781 [C] 'function int gpiod_to_irq(const gpio_desc*)' at consumer.h:166:1 has some sub-type changes: CRC value (modversions) changed from 0xc44968b9 to 0xa1046cec [C] 'function int gre_add_protocol(const gre_protocol*, unsigned char)' at gre.h:32:1 has some sub-type changes: CRC value (modversions) changed from 0x3c7fafc5 to 0xbec50369 [C] 'function int gre_del_protocol(const gre_protocol*, unsigned char)' at gre.h:33:1 has some sub-type changes: CRC value (modversions) changed from 0xbb614a46 to 0x1e79d715 [C] 'function int gserial_connect(gserial*, unsigned char)' at u_serial.h:61:1 has some sub-type changes: CRC value (modversions) changed from 0x9ccfb40a to 0xc114b56a [C] 'function void gserial_disconnect(gserial*)' at u_serial.h:62:1 has some sub-type changes: CRC value (modversions) changed from 0x231a2c98 to 0x633c5bcc [C] 'function void handle_edge_irq(irq_desc*)' at chip.c:801:1 has some sub-type changes: CRC value (modversions) changed from 0xd82861fc to 0x79d7f675 [C] 'function void handle_fasteoi_irq(irq_desc*)' at chip.c:714:1 has some sub-type changes: CRC value (modversions) changed from 0x7f89c036 to 0xd71c613d [C] 'function void handle_level_irq(irq_desc*)' at chip.c:645:1 has some sub-type changes: CRC value (modversions) changed from 0xd03ccc21 to 0xd21598f6 [C] 'function void handle_simple_irq(irq_desc*)' at chip.c:553:1 has some sub-type changes: CRC value (modversions) changed from 0xed2989e6 to 0xe2cc9de4 [C] 'function int hwspin_lock_free(hwspinlock*)' at hwspinlock.h:63:1 has some sub-type changes: CRC value (modversions) changed from 0x84d56fdf to 0xf5451d2f [C] 'function int hwspin_lock_register(hwspinlock_device*, device*, const hwspinlock_ops*, int, int)' at hwspinlock_core.c:486:1 has some sub-type changes: CRC value (modversions) changed from 0x25d3fe1f to 0x49a392f7 [C] 'function hwspinlock* hwspin_lock_request_specific(unsigned int)' at hwspinlock.h:62:1 has some sub-type changes: CRC value (modversions) changed from 0x4b46bf57 to 0xd7a32880 [C] 'function int hwspin_lock_unregister(hwspinlock_device*)' at hwspinlock_core.c:534:1 has some sub-type changes: CRC value (modversions) changed from 0x604d2312 to 0x80efe391 [C] 'function int i2c_add_adapter(i2c_adapter*)' at i2c.h:836:1 has some sub-type changes: CRC value (modversions) changed from 0xb0fa7e7f to 0x5bb7dc97 [C] 'function int i2c_add_numbered_adapter(i2c_adapter*)' at i2c-core-base.c:1495:1 has some sub-type changes: CRC value (modversions) changed from 0xaefd348 to 0xae1800ab [C] 'function void i2c_del_adapter(i2c_adapter*)' at i2c.h:837:1 has some sub-type changes: CRC value (modversions) changed from 0xc7178c4 to 0xb0f0e656 [C] 'function void i2c_del_driver(i2c_driver*)' at i2c.h:841:1 has some sub-type changes: CRC value (modversions) changed from 0xda54f36b to 0xc950e231 [C] 'function int i2c_for_each_dev(void*, int (device*, void*)*)' at i2c-core-base.c:1681:1 has some sub-type changes: CRC value (modversions) changed from 0x7578a11c to 0x9392911b [C] 'function int i2c_generic_scl_recovery(i2c_adapter*)' at i2c-core-base.c:177:1 has some sub-type changes: CRC value (modversions) changed from 0x6efff4c to 0x2aefe6c5 [C] 'function i2c_adapter* i2c_get_adapter(int)' at i2c-core-base.c:2332:1 has some sub-type changes: CRC value (modversions) changed from 0x2100057 to 0x94764c78 [C] 'function i2c_client* i2c_new_ancillary_device(i2c_client*, const char*, u16)' at i2c-core-base.c:1005:1 has some sub-type changes: CRC value (modversions) changed from 0xec1fc582 to 0x8c2ae24a [C] 'function i2c_client* i2c_new_dummy(i2c_adapter*, u16)' at i2c-core-base.c:930:1 has some sub-type changes: CRC value (modversions) changed from 0x2749e6f3 to 0x40c135f3 [C] 'function i2c_client* i2c_new_dummy_device(i2c_adapter*, u16)' at i2c-core-base.c:906:1 has some sub-type changes: CRC value (modversions) changed from 0xfaa8113c to 0x49654b54 [C] 'function i2c_client* i2c_new_probed_device(i2c_adapter*, i2c_board_info*, const unsigned short int*, int (i2c_adapter*, unsigned short int)*)' at i2c-core-base.c:2291:1 has some sub-type changes: CRC value (modversions) changed from 0xa337136c to 0x99ab0cac [C] 'function void i2c_parse_fw_timings(device*, i2c_timings*, bool)' at i2c-core-base.c:1641:1 has some sub-type changes: CRC value (modversions) changed from 0xfb5813b7 to 0x48a98036 [C] 'function void i2c_put_adapter(i2c_adapter*)' at i2c-core-base.c:2352:1 has some sub-type changes: CRC value (modversions) changed from 0x7eac2570 to 0xe7a55f9f [C] 'function int i2c_recover_bus(i2c_adapter*)' at i2c-core-base.c:244:1 has some sub-type changes: CRC value (modversions) changed from 0x2d41ee16 to 0x77d415e [C] 'function int i2c_register_driver(module*, i2c_driver*)' at i2c.h:840:1 has some sub-type changes: CRC value (modversions) changed from 0x301588b2 to 0x66a2e1f2 [C] 'function int i2c_smbus_read_byte_data(const i2c_client*, unsigned char)' at i2c.h:143:1 has some sub-type changes: CRC value (modversions) changed from 0xd30eed88 to 0x99669bec [C] 'function int i2c_smbus_read_i2c_block_data(const i2c_client*, unsigned char, unsigned char, unsigned char*)' at i2c.h:173:1 has some sub-type changes: CRC value (modversions) changed from 0xf4b0ff7 to 0xd306437b [C] 'function int i2c_smbus_read_word_data(const i2c_client*, unsigned char)' at i2c.h:147:1 has some sub-type changes: CRC value (modversions) changed from 0x983e85ef to 0x6f969372 [C] 'function s32 i2c_smbus_write_byte(const i2c_client*, u8)' at i2c-core-smbus.c:113:1 has some sub-type changes: CRC value (modversions) changed from 0xd6aac426 to 0xb010dd21 [C] 'function int i2c_smbus_write_byte_data(const i2c_client*, unsigned char, unsigned char)' at i2c.h:145:1 has some sub-type changes: CRC value (modversions) changed from 0xa47bc5c8 to 0x13266230 [C] 'function int i2c_smbus_write_i2c_block_data(const i2c_client*, unsigned char, unsigned char, const unsigned char*)' at i2c.h:175:1 has some sub-type changes: CRC value (modversions) changed from 0xf396e978 to 0x4c453d7f [C] 'function int i2c_smbus_write_word_data(const i2c_client*, unsigned char, unsigned short int)' at i2c.h:149:1 has some sub-type changes: CRC value (modversions) changed from 0xea518d18 to 0x49e41648 [C] 'function int i2c_smbus_xfer(i2c_adapter*, unsigned short int, unsigned short int, char, unsigned char, int, i2c_smbus_data*)' at i2c.h:129:1 has some sub-type changes: CRC value (modversions) changed from 0xab525370 to 0x75a5c5fe [C] 'function int i2c_transfer(i2c_adapter*, i2c_msg*, int)' at i2c.h:118:1 has some sub-type changes: CRC value (modversions) changed from 0xcd4651ec to 0x53190f91 [C] 'function int i2c_transfer_buffer_flags(const i2c_client*, char*, int, unsigned short int)' at i2c.h:53:1 has some sub-type changes: CRC value (modversions) changed from 0x9fe3d486 to 0xc64d77a9 [C] 'function void i2c_unregister_device(i2c_client*)' at i2c.h:480:1 has some sub-type changes: CRC value (modversions) changed from 0xac59d9a8 to 0x1ef3eef6 [C] 'function i2c_client* i2c_verify_client(device*)' at i2c-core-base.c:528:1 has some sub-type changes: CRC value (modversions) changed from 0x547a2497 to 0xf71a1908 [C] 'function icc_path* icc_get(device*, const int, const int)' at core.c:488:1 has some sub-type changes: CRC value (modversions) changed from 0xaeea166c to 0x25e2382e [C] 'function int icc_link_create(icc_node*, const int)' at core.c:634:1 has some sub-type changes: CRC value (modversions) changed from 0xd4cb701c to 0x697dd4ef [C] 'function void icc_node_add(icc_node*, icc_provider*)' at core.c:722:1 has some sub-type changes: CRC value (modversions) changed from 0x4bf48e1f to 0xbbecbac8 [C] 'function icc_node* icc_node_create(int)' at core.c:585:1 has some sub-type changes: CRC value (modversions) changed from 0xd3924935 to 0x45c12a43 [C] 'function void icc_node_del(icc_node*)' at core.c:737:1 has some sub-type changes: CRC value (modversions) changed from 0x8a511695 to 0x67ce0681 [C] 'function int icc_provider_add(icc_provider*)' at core.c:753:1 has some sub-type changes: CRC value (modversions) changed from 0x7877f18d to 0xe84941fd [C] 'function int icc_provider_del(icc_provider*)' at core.c:779:1 has some sub-type changes: CRC value (modversions) changed from 0x6097c7c2 to 0x46e5f130 [C] 'function void icc_put(icc_path*)' at core.c:527:1 has some sub-type changes: CRC value (modversions) changed from 0x7038ac4b to 0x743c38e7 [C] 'function int icc_set_bw(icc_path*, u32, u32)' at core.c:422:1 has some sub-type changes: CRC value (modversions) changed from 0x13c6ed44 to 0xb38f6a39 [C] 'function void icc_set_tag(icc_path*, u32)' at core.c:391:1 has some sub-type changes: CRC value (modversions) changed from 0xf2dafdeb to 0x42a736e7 [C] 'function void icmpv6_send(sk_buff*, unsigned char, unsigned char, unsigned int)' at icmpv6.h:16:1 has some sub-type changes: CRC value (modversions) changed from 0x4ba84b3 to 0xc6375785 [C] 'function void ieee80211_amsdu_to_8023s(sk_buff*, sk_buff_head*, const u8*, nl80211_iftype, const unsigned int, const u8*, const u8*)' at util.c:658:1 has some sub-type changes: CRC value (modversions) changed from 0xf208fa22 to 0x41619eb6 [C] 'function int ieee80211_data_to_8023_exthdr(sk_buff*, ethhdr*, const u8*, nl80211_iftype, u8)' at util.c:455:1 has some sub-type changes: CRC value (modversions) changed from 0x99a61a7f to 0xb12401d7 [C] 'function unsigned int ieee80211_get_hdrlen_from_skb(const sk_buff*)' at util.c:419:1 has some sub-type changes: CRC value (modversions) changed from 0x63db155 to 0x5674df65 [C] 'function void ieee80211_get_tx_rates(ieee80211_vif*, ieee80211_sta*, sk_buff*, ieee80211_tx_rate*, int)' at rate.c:840:1 has some sub-type changes: CRC value (modversions) changed from 0x8d6802a to 0x26133444 [C] 'function void iio_dealloc_pollfunc(iio_poll_func*)' at industrialio-trigger.c:353:1 has some sub-type changes: CRC value (modversions) changed from 0xc776b248 to 0x4f90a511 [C] 'function iio_trigger* iio_trigger_alloc(const char*, ...)' at industrialio-trigger.c:563:1 has some sub-type changes: CRC value (modversions) changed from 0xaf85c632 to 0x1cb4da50 [C] 'function void iio_trigger_free(iio_trigger*)' at industrialio-trigger.c:576:1 has some sub-type changes: CRC value (modversions) changed from 0xea0f70bd to 0x8b43226a [C] 'function void iio_trigger_notify_done(iio_trigger*)' at industrialio-trigger.c:203:1 has some sub-type changes: CRC value (modversions) changed from 0xe7c33dc9 to 0x23b781ae [C] 'function void iio_trigger_poll(iio_trigger*)' at industrialio-trigger.c:162:1 has some sub-type changes: CRC value (modversions) changed from 0x8ea4d066 to 0x6195d0da [C] 'function void iio_trigger_unregister(iio_trigger*)' at industrialio-trigger.c:106:1 has some sub-type changes: CRC value (modversions) changed from 0x4111b1dc to 0x326df69a [C] 'function unsigned int inet_dev_addr_type(net*, const net_device*, __be32)' at fib_frontend.c:258:1 has some sub-type changes: CRC value (modversions) changed from 0x5bc39b98 to 0x5af1fc9 [C] 'function int inet_diag_register(const inet_diag_handler*)' at inet_diag.h:75:1 has some sub-type changes: CRC value (modversions) changed from 0xdba14569 to 0xeceae1dc [C] 'function void inet_diag_unregister(const inet_diag_handler*)' at inet_diag.h:76:1 has some sub-type changes: CRC value (modversions) changed from 0x5ddee4c8 to 0xab1bc766 [C] 'function void inet_proto_csum_replace4(unsigned short int*, sk_buff*, unsigned int, unsigned int, bool)' at checksum.h:143:1 has some sub-type changes: CRC value (modversions) changed from 0x908c5c17 to 0x365be0ce [C] 'function unsigned int inet_select_addr(const net_device*, unsigned int, int)' at inetdevice.h:183:1 has some sub-type changes: CRC value (modversions) changed from 0x81fadeed to 0xad335b4b [C] 'function int init_dummy_netdev(net_device*)' at dev.c:9157:1 has some sub-type changes: CRC value (modversions) changed from 0x5783ffc3 to 0x8394f194 [C] 'function int init_srcu_struct(srcu_struct*)' at srcutree.c:210:1 has some sub-type changes: CRC value (modversions) changed from 0x8ed4f933 to 0x87da0360 [C] 'function void input_alloc_absinfo(input_dev*)' at input.h:466:1 has some sub-type changes: CRC value (modversions) changed from 0xf297f3a2 to 0xf315e9d [C] 'function void input_close_device(input_handle*)' at input.h:404:1 has some sub-type changes: CRC value (modversions) changed from 0x994a344 to 0xada14e93 [C] 'function void input_ff_destroy(input_dev*)' at input.h:556:1 has some sub-type changes: CRC value (modversions) changed from 0xa5f5eeb9 to 0x9170591 [C] 'function void input_free_device(input_dev*)' at input.h:353:1 has some sub-type changes: CRC value (modversions) changed from 0x98d5330b to 0x476b6571 [C] 'function int iommu_attach_device(iommu_domain*, device*)' at iommu.c:1668:1 has some sub-type changes: CRC value (modversions) changed from 0x6bff99a5 to 0x22a9fb54 [C] 'function int iommu_attach_group(iommu_domain*, iommu_group*)' at iommu.c:1791:1 has some sub-type changes: CRC value (modversions) changed from 0x6f3a978e to 0x664ead1f [C] 'function void iommu_detach_device(iommu_domain*, device*)' at iommu.c:1710:1 has some sub-type changes: CRC value (modversions) changed from 0xfb1f9f7d to 0x55dfa1a6 [C] 'function int iommu_device_register(iommu_device*)' at iommu.c:138:1 has some sub-type changes: CRC value (modversions) changed from 0x23fb6b04 to 0x8f820c96 [C] 'function void iommu_device_unregister(iommu_device*)' at iommu.c:147:1 has some sub-type changes: CRC value (modversions) changed from 0x71e75309 to 0xc9ddfc4f [C] 'function iommu_domain* iommu_domain_alloc(bus_type*)' at iommu.c:1639:1 has some sub-type changes: CRC value (modversions) changed from 0xc55dd81e to 0x3add2988 [C] 'function void iommu_domain_free(iommu_domain*)' at iommu.c:1645:1 has some sub-type changes: CRC value (modversions) changed from 0x3bbf5619 to 0x4e90e13 [C] 'function int iommu_domain_get_attr(iommu_domain*, iommu_attr, void*)' at iommu.c:2138:1 has some sub-type changes: CRC value (modversions) changed from 0x872331da to 0x3f6b72de [C] 'function int iommu_domain_set_attr(iommu_domain*, iommu_attr, void*)' at iommu.c:2166:1 has some sub-type changes: CRC value (modversions) changed from 0xd69ca484 to 0xf374b6b4 [C] 'function int iommu_fwspec_add_ids(device*, u32*, int)' at iommu.c:2352:1 has some sub-type changes: CRC value (modversions) changed from 0xc2a96903 to 0x9e360818 [C] 'function void iommu_fwspec_free(device*)' at iommu.c:2340:1 has some sub-type changes: CRC value (modversions) changed from 0xdcf4a3b3 to 0x3548b414 [C] 'function iommu_domain* iommu_get_domain_for_dev(device*)' at iommu.c:1732:1 has some sub-type changes: CRC value (modversions) changed from 0x690c7a6b to 0x53a0aa32 [C] 'function int iommu_group_for_each_dev(iommu_group*, void*, int (device*, void*)*)' at iommu.c:863:1 has some sub-type changes: CRC value (modversions) changed from 0xa96d2d40 to 0xa16a3acb [C] 'function iommu_group* iommu_group_get(device*)' at iommu.c:884:1 has some sub-type changes: CRC value (modversions) changed from 0xc7954b83 to 0xc823de51 [C] 'function iommu_group* iommu_group_get_for_dev(device*)' at iommu.c:1374:1 has some sub-type changes: CRC value (modversions) changed from 0x65516a76 to 0x4d183131 [C] 'function void iommu_group_remove_device(device*)' at iommu.c:790:1 has some sub-type changes: CRC value (modversions) changed from 0xc03d112c to 0x9926f099 [C] 'function phys_addr_t iommu_iova_to_phys(iommu_domain*, dma_addr_t)' at iommu.c:1844:1 has some sub-type changes: CRC value (modversions) changed from 0xc4fb20db to 0x57b08a2e [C] 'function int iommu_map(iommu_domain*, unsigned long int, phys_addr_t, size_t, int)' at iommu.c:1885:1 has some sub-type changes: CRC value (modversions) changed from 0xdd0c0ae3 to 0x41e8f37 [C] 'function size_t iommu_map_sg(iommu_domain*, unsigned long int, scatterlist*, unsigned int, int)' at iommu.c:2022:1 has some sub-type changes: CRC value (modversions) changed from 0x3826c58c to 0x26a34651 [C] 'function bool iommu_present(bus_type*)' at iommu.c:1581:1 has some sub-type changes: CRC value (modversions) changed from 0x87033f7e to 0xb6a4f1b9 [C] 'function int iommu_register_device_fault_handler(device*, iommu_dev_fault_handler_t, void*)' at iommu.c:971:1 has some sub-type changes: CRC value (modversions) changed from 0xbbf394f8 to 0xdf073a35 [C] 'function int iommu_report_device_fault(device*, iommu_fault_event*)' at iommu.c:1056:1 has some sub-type changes: CRC value (modversions) changed from 0xd4cc8ed5 to 0x3a6eab4f [C] 'function void iommu_set_fault_handler(iommu_domain*, iommu_fault_handler_t, void*)' at iommu.c:1608:1 has some sub-type changes: CRC value (modversions) changed from 0xad8cd959 to 0xa2957baf [C] 'function size_t iommu_unmap(iommu_domain*, unsigned long int, size_t)' at iommu.c:2000:1 has some sub-type changes: CRC value (modversions) changed from 0xa711a2c0 to 0x2e7b2f61 [C] 'function int iommu_unregister_device_fault_handler(device*)' at iommu.c:1016:1 has some sub-type changes: CRC value (modversions) changed from 0x4402ae6f to 0xaae58825 [C] 'function void ion_buffer_prep_noncached(ion_buffer*)' at ion.h:304:1 has some sub-type changes: CRC value (modversions) changed from 0x5f95ddf8 to 0x57a621a8 [C] 'function int ion_buffer_zero(ion_buffer*)' at ion.h:291:1 has some sub-type changes: CRC value (modversions) changed from 0xfe1027bd to 0xa566687c [C] 'function int ion_free(ion_buffer*)' at ion.c:42:1 has some sub-type changes: CRC value (modversions) changed from 0xa1446bf9 to 0x3320d13b [C] 'function void ip6_redirect(sk_buff*, net*, int, unsigned int, __anonymous_struct__)' at ip6_route.h:186:1 has some sub-type changes: CRC value (modversions) changed from 0xf91883ec to 0xa2c6b567 [C] 'function void ip6_update_pmtu(sk_buff*, net*, unsigned int, int, unsigned int, __anonymous_struct__)' at ip6_route.h:183:1 has some sub-type changes: CRC value (modversions) changed from 0x823e93e to 0xade86817 [C] 'function void* ip6t_alloc_initial_table(const xt_table*)' at ip6_tables.h:25:1 has some sub-type changes: CRC value (modversions) changed from 0x9bd064f3 to 0xa6c79834 [C] 'function void ipcomp_destroy(xfrm_state*)' at xfrm_ipcomp.c:324:1 has some sub-type changes: CRC value (modversions) changed from 0xc7865999 to 0xff8ee760 [C] 'function int ipcomp_init_state(xfrm_state*)' at ipcomp.h:23:1 has some sub-type changes: CRC value (modversions) changed from 0x7db7c605 to 0x90ca6ee2 [C] 'function int ipcomp_input(xfrm_state*, sk_buff*)' at xfrm_ipcomp.c:106:1 has some sub-type changes: CRC value (modversions) changed from 0x56002353 to 0xc8479ff6 [C] 'function int ipcomp_output(xfrm_state*, sk_buff*)' at xfrm_ipcomp.c:167:1 has some sub-type changes: CRC value (modversions) changed from 0x4a50eb48 to 0x1850348f [C] 'function void ipv4_redirect(sk_buff*, net*, int, unsigned char)' at route.h:208:1 has some sub-type changes: CRC value (modversions) changed from 0xbe06967d to 0xb0e4c720 [C] 'function void ipv4_update_pmtu(sk_buff*, net*, unsigned int, int, unsigned char)' at route.h:205:1 has some sub-type changes: CRC value (modversions) changed from 0xae7ff166 to 0xdd1c4ffd [C] 'function int ipv6_chk_addr(net*, const in6_addr*, const net_device*, int)' at addrconf.c:1890:1 has some sub-type changes: CRC value (modversions) changed from 0x90ed7275 to 0x5706d4bc [C] 'function int ipv6_dev_get_saddr(net*, const net_device*, const in6_addr*, unsigned int, in6_addr*)' at addrconf.h:103:1 has some sub-type changes: CRC value (modversions) changed from 0x6d1b814d to 0x70688197 [C] 'function int ipv6_find_hdr(const sk_buff*, unsigned int*, int, unsigned short int*, int*)' at ipv6.h:1064:1 has some sub-type changes: CRC value (modversions) changed from 0x7b7b346d to 0x9cc1cd74 [C] 'function int ipv6_skip_exthdr(const sk_buff*, int, unsigned char*, unsigned short int*)' at ipv6.h:1052:1 has some sub-type changes: CRC value (modversions) changed from 0x1fa6d439 to 0x31df4041 [C] 'function void irq_chip_ack_parent(irq_data*)' at chip.c:1393:1 has some sub-type changes: CRC value (modversions) changed from 0x45aee019 to 0x9dd60b37 [C] 'function void irq_chip_disable_parent(irq_data*)' at chip.c:1379:1 has some sub-type changes: CRC value (modversions) changed from 0x1c6214c7 to 0x1a0e27ec [C] 'function void irq_chip_enable_parent(irq_data*)' at chip.c:1364:1 has some sub-type changes: CRC value (modversions) changed from 0x55a04a61 to 0xbec9e878 [C] 'function void irq_chip_eoi_parent(irq_data*)' at chip.c:1437:1 has some sub-type changes: CRC value (modversions) changed from 0xb36d134e to 0xc43f4b33 [C] 'function int irq_chip_get_parent_state(irq_data*, irqchip_irq_state, bool*)' at chip.c:1346:1 has some sub-type changes: CRC value (modversions) changed from 0xe17c8ef1 to 0xce573602 [C] 'function void irq_chip_mask_parent(irq_data*)' at irq.h:641:1 has some sub-type changes: CRC value (modversions) changed from 0x651b74b5 to 0x416da5f5 [C] 'function int irq_chip_retrigger_hierarchy(irq_data*)' at chip.c:1488:1 has some sub-type changes: CRC value (modversions) changed from 0x49404507 to 0x3f24660d [C] 'function int irq_chip_set_affinity_parent(irq_data*, const cpumask*, bool)' at chip.c:1452:1 has some sub-type changes: CRC value (modversions) changed from 0x7937137 to 0x54bbe783 [C] 'function int irq_chip_set_parent_state(irq_data*, irqchip_irq_state, bool)' at chip.c:1324:1 has some sub-type changes: CRC value (modversions) changed from 0xe046fb03 to 0xb4fb6b1e [C] 'function int irq_chip_set_type_parent(irq_data*, unsigned int)' at chip.c:1470:1 has some sub-type changes: CRC value (modversions) changed from 0x111dc5d4 to 0xd15a11dc [C] 'function int irq_chip_set_vcpu_affinity_parent(irq_data*, void*)' at chip.c:1503:1 has some sub-type changes: CRC value (modversions) changed from 0x9910c9f6 to 0xedb17720 [C] 'function int irq_chip_set_wake_parent(irq_data*, unsigned int)' at chip.c:1519:1 has some sub-type changes: CRC value (modversions) changed from 0xc83e502 to 0x4f8e571d [C] 'function void irq_chip_unmask_parent(irq_data*)' at irq.h:643:1 has some sub-type changes: CRC value (modversions) changed from 0x6b5a908f to 0x259edb9f [C] 'function unsigned int irq_create_fwspec_mapping(irq_fwspec*)' at irqdomain.h:394:1 has some sub-type changes: CRC value (modversions) changed from 0x11d7e4da to 0x2b8ada12 [C] 'function unsigned int irq_create_mapping(irq_domain*, irq_hw_number_t)' at irqdomain.c:651:1 has some sub-type changes: CRC value (modversions) changed from 0x173525c2 to 0x82b6470b [C] 'function unsigned int irq_create_of_mapping(of_phandle_args*)' at irqdomain.c:853:1 has some sub-type changes: CRC value (modversions) changed from 0x77420bb3 to 0x5574e1af [C] 'function int irq_domain_alloc_irqs_parent(irq_domain*, unsigned int, unsigned int, void*)' at irqdomain.c:1579:1 has some sub-type changes: CRC value (modversions) changed from 0x4b9f4f85 to 0xd625372b [C] 'function irq_domain* irq_domain_create_hierarchy(irq_domain*, unsigned int, unsigned int, fwnode_handle*, const irq_domain_ops*, void*)' at irqdomain.c:1050:1 has some sub-type changes: CRC value (modversions) changed from 0xd1cd6a97 to 0x28b2d852 [C] 'function void irq_domain_free_irqs_common(irq_domain*, unsigned int, unsigned int)' at irqdomain.c:1252:1 has some sub-type changes: CRC value (modversions) changed from 0x386592bd to 0x9ba3acd5 [C] 'function void irq_domain_free_irqs_parent(irq_domain*, unsigned int, unsigned int)' at irqdomain.c:1599:1 has some sub-type changes: CRC value (modversions) changed from 0x20186bae to 0x8cf0ec1d [C] 'function irq_data* irq_domain_get_irq_data(irq_domain*, unsigned int)' at irqdomain.h:448:1 has some sub-type changes: CRC value (modversions) changed from 0x62fa80dd to 0x2f6bd8f3 [C] 'function void irq_domain_remove(irq_domain*)' at irqdomain.h:382:1 has some sub-type changes: CRC value (modversions) changed from 0xb003342 to 0x33505ac9 [C] 'function int irq_domain_set_hwirq_and_chip(irq_domain*, unsigned int, unsigned long int, irq_chip*, void*)' at irqdomain.h:490:1 has some sub-type changes: CRC value (modversions) changed from 0xfe10e596 to 0xdd28df50 [C] 'function void irq_domain_set_info(irq_domain*, unsigned int, unsigned long int, irq_chip*, void*, void (irq_desc*)*, void*, const char*)' at irqdomain.h:450:1 has some sub-type changes: CRC value (modversions) changed from 0x71bde716 to 0x2de67caa [C] 'function void irq_domain_update_bus_token(irq_domain*, irq_domain_bus_token)' at irqdomain.h:300:1 has some sub-type changes: CRC value (modversions) changed from 0x35fb0860 to 0x82609393 [C] 'function int irq_domain_xlate_onecell(irq_domain*, device_node*, const u32*, unsigned int, unsigned long int*, unsigned int*)' at irqdomain.c:928:1 has some sub-type changes: CRC value (modversions) changed from 0x7a9cc43a to 0x5af0a042 [C] 'function int irq_domain_xlate_twocell(irq_domain*, device_node*, const u32*, unsigned int, irq_hw_number_t*, unsigned int*)' at irqdomain.c:947:1 has some sub-type changes: CRC value (modversions) changed from 0x130f0da2 to 0xbf8f2e4b [C] 'function unsigned int irq_find_mapping(irq_domain*, unsigned long int)' at irqdomain.h:412:1 has some sub-type changes: CRC value (modversions) changed from 0x82a4885b to 0xd1dcbb4b [C] 'function irq_domain* irq_find_matching_fwspec(irq_fwspec*, irq_domain_bus_token)' at irqdomain.h:279:1 has some sub-type changes: CRC value (modversions) changed from 0x5636551b to 0x9aea98b0 [C] 'function irq_data* irq_get_irq_data(unsigned int)' at irq.h:771:1 has some sub-type changes: CRC value (modversions) changed from 0xc8bdb883 to 0x771b28e1 [C] 'function unsigned int irq_of_parse_and_map(device_node*, int)' at of_irq.h:108:1 has some sub-type changes: CRC value (modversions) changed from 0x8bb58aa1 to 0x15b51c61 [C] 'function void irq_set_chained_handler_and_data(unsigned int, void (irq_desc*)*, void*)' at irq.h:713:1 has some sub-type changes: CRC value (modversions) changed from 0xf65bff31 to 0xca1e8627 [C] 'function void irq_set_chip_and_handler_name(unsigned int, irq_chip*, void (irq_desc*)*, const char*)' at irq.h:671:1 has some sub-type changes: CRC value (modversions) changed from 0x8d1d019d to 0x65166a1e [C] 'function int kern_path(const char*, unsigned int, path*)' at namei.h:52:1 has some sub-type changes: CRC value (modversions) changed from 0x9f8fe4ec to 0xc640243b [C] 'function int kernel_bind(socket*, sockaddr*, int)' at socket.c:3578:1 has some sub-type changes: CRC value (modversions) changed from 0x1bccaf97 to 0x1c189703 [C] 'function int kernel_connect(socket*, sockaddr*, int, int)' at socket.c:3647:1 has some sub-type changes: CRC value (modversions) changed from 0xe08b583d to 0xe6163bd8 [C] 'function int kernel_getsockname(socket*, sockaddr*)' at socket.c:3663:1 has some sub-type changes: CRC value (modversions) changed from 0xe90e839 to 0x341e50e5 [C] 'function void kernel_param_lock(module*)' at params.c:583:1 has some sub-type changes: CRC value (modversions) changed from 0x782dfdf1 to 0x2d69e7e0 [C] 'function void kernel_param_unlock(module*)' at params.c:588:1 has some sub-type changes: CRC value (modversions) changed from 0xf455ec8c to 0x2a61b838 [C] 'function int kernel_recvmsg(socket*, msghdr*, kvec*, size_t, size_t, int)' at socket.c:910:1 has some sub-type changes: CRC value (modversions) changed from 0xc9e66808 to 0x87d84a4 [C] 'function int kernel_sendmsg(socket*, msghdr*, kvec*, size_t, size_t)' at socket.c:674:1 has some sub-type changes: CRC value (modversions) changed from 0xb679cd38 to 0x7f9bd422 [C] 'function void kfree_skb(sk_buff*)' at skbuff.h:1025:1 has some sub-type changes: CRC value (modversions) changed from 0xbce2bdbe to 0x2b36ebe3 [C] 'function void kfree_skb_list(sk_buff*)' at skbuff.h:1026:1 has some sub-type changes: CRC value (modversions) changed from 0x12bb3dc2 to 0xfbc18202 [C] 'function void kill_fasync(fasync_struct**, int, int)' at fs.h:1380:1 has some sub-type changes: CRC value (modversions) changed from 0x13f02564 to 0x7bb7c6d4 [C] 'function int kill_pid(pid*, int, int)' at signal.c:1796:1 has some sub-type changes: CRC value (modversions) changed from 0xd1313875 to 0xf642e5c4 [C] 'function void kiocb_set_cancel_fn(kiocb*, kiocb_cancel_fn*)' at aio.c:562:1 has some sub-type changes: CRC value (modversions) changed from 0xa02564df to 0x4e074745 [C] 'function void* kmem_cache_alloc(kmem_cache*, unsigned int)' at slab.h:394:1 has some sub-type changes: CRC value (modversions) changed from 0x677753a7 to 0x3c4c80ad [C] 'function int kmem_cache_alloc_bulk(kmem_cache*, unsigned int, unsigned long int, void**)' at slab.h:405:1 has some sub-type changes: CRC value (modversions) changed from 0xdde62034 to 0x6eb28886 [C] 'function void* kmem_cache_alloc_trace(kmem_cache*, unsigned int, unsigned long int)' at slab.h:432:1 has some sub-type changes: CRC value (modversions) changed from 0x9702098f to 0x8f1a3139 [C] 'function kmem_cache* kmem_cache_create(const char*, unsigned int, unsigned int, unsigned int, void (void*)*)' at slab.h:147:1 has some sub-type changes: CRC value (modversions) changed from 0x53b45a99 to 0xa6dea1d2 [C] 'function void kmem_cache_destroy(kmem_cache*)' at slab.h:155:1 has some sub-type changes: CRC value (modversions) changed from 0xeff8dd04 to 0xa142be1d [C] 'function void kmem_cache_free(kmem_cache*, void*)' at slab.h:395:1 has some sub-type changes: CRC value (modversions) changed from 0xb31ee949 to 0x8941bd03 [C] 'function void kmem_cache_free_bulk(kmem_cache*, size_t, void**)' at slub.c:3154:1 has some sub-type changes: CRC value (modversions) changed from 0xb1e7ef69 to 0xa5e9c6ef [C] 'function int kobject_uevent(kobject*, kobject_action)' at kobject_uevent.c:639:1 has some sub-type changes: CRC value (modversions) changed from 0x6234763 to 0x140a1ae [C] 'function int kobject_uevent_env(kobject*, kobject_action, char**)' at kobject.h:257:1 has some sub-type changes: CRC value (modversions) changed from 0xd41c5a04 to 0x81582e6b [C] 'function void led_blink_set(led_classdev*, unsigned long int*, unsigned long int*)' at led-core.c:197:1 has some sub-type changes: CRC value (modversions) changed from 0xe7b63c00 to 0xde6749b6 [C] 'function int led_classdev_register_ext(device*, led_classdev*, led_init_data*)' at leds.h:164:1 has some sub-type changes: CRC value (modversions) changed from 0xe24086cb to 0x4dc4075f [C] 'function void led_classdev_unregister(led_classdev*)' at leds.h:193:1 has some sub-type changes: CRC value (modversions) changed from 0xf65bfb20 to 0xb227752c [C] 'function u32* led_get_default_pattern(led_classdev*, unsigned int*)' at led-core.c:325:1 has some sub-type changes: CRC value (modversions) changed from 0x170051da to 0xab614a5c [C] 'function void led_set_brightness(led_classdev*, led_brightness)' at led-core.c:241:1 has some sub-type changes: CRC value (modversions) changed from 0x5619d9cc to 0x9fd58075 [C] 'function nls_table* load_nls(char*)' at nls.h:50:1 has some sub-type changes: CRC value (modversions) changed from 0x86e25f8 to 0x5f54bc83 [C] 'function nls_table* load_nls_default()' at nls_base.c:532:1 has some sub-type changes: CRC value (modversions) changed from 0x9e9684d2 to 0xd5001c41 [C] 'function void mark_buffer_dirty(buffer_head*)' at buffer.c:1087:1 has some sub-type changes: CRC value (modversions) changed from 0x911c534a to 0xfeb43963 [C] 'function void mark_page_accessed(page*)' at swap.h:337:1 has some sub-type changes: CRC value (modversions) changed from 0xd52649e1 to 0xf3a01d4a [C] 'function void mbox_chan_received_data(mbox_chan*, void*)' at mailbox_controller.h:131:1 has some sub-type changes: CRC value (modversions) changed from 0x15deb981 to 0x2f495754 [C] 'function void mbox_chan_txdone(mbox_chan*, int)' at mailbox_controller.h:132:1 has some sub-type changes: CRC value (modversions) changed from 0x25f331a3 to 0xa9e89a54 [C] 'function void mbox_client_txdone(mbox_chan*, int)' at mailbox_client.h:45:1 has some sub-type changes: CRC value (modversions) changed from 0xcf3c0be0 to 0xd7703da5 [C] 'function int mbox_controller_register(mbox_controller*)' at mailbox.c:476:1 has some sub-type changes: CRC value (modversions) changed from 0x2da8decf to 0xa7e5db66 [C] 'function void mbox_controller_unregister(mbox_controller*)' at mailbox.c:527:1 has some sub-type changes: CRC value (modversions) changed from 0x692b654 to 0x8d53b362 [C] 'function void mbox_free_channel(mbox_chan*)' at mailbox_client.h:47:1 has some sub-type changes: CRC value (modversions) changed from 0x4003fe10 to 0x4db761b9 [C] 'function mbox_chan* mbox_request_channel(mbox_client*, int)' at mailbox_client.h:42:1 has some sub-type changes: CRC value (modversions) changed from 0xdaa97a61 to 0x56f3cffc [C] 'function int mbox_send_message(mbox_chan*, void*)' at mailbox_client.h:43:1 has some sub-type changes: CRC value (modversions) changed from 0x679a2bba to 0x18264777 [C] 'function mii_bus* mdiobus_alloc_size(size_t)' at mdio_bus.c:146:1 has some sub-type changes: CRC value (modversions) changed from 0x83b17225 to 0xc6f6b375 [C] 'function void mdiobus_free(mii_bus*)' at mdio_bus.c:487:1 has some sub-type changes: CRC value (modversions) changed from 0xf02cdbae to 0xa6696462 [C] 'function void mdiobus_unregister(mii_bus*)' at mdio_bus.c:451:1 has some sub-type changes: CRC value (modversions) changed from 0x99b5df8 to 0xe53ae93c [C] 'function int mfd_add_devices(device*, int, const mfd_cell*, int, resource*, int, irq_domain*)' at mfd-core.c:282:1 has some sub-type changes: CRC value (modversions) changed from 0x41865c6c to 0xb75fb6a2 [C] 'function void mfd_remove_devices(device*)' at mfd-core.c:338:1 has some sub-type changes: CRC value (modversions) changed from 0x3205aff0 to 0xa19abfd9 [C] 'function unsigned int mii_check_media(mii_if_info*, unsigned int, unsigned int)' at mii.c:504:1 has some sub-type changes: CRC value (modversions) changed from 0x653a0618 to 0xb3077c28 [C] 'function void mii_ethtool_get_link_ksettings(mii_if_info*, ethtool_link_ksettings*)' at mii.h:36:1 has some sub-type changes: CRC value (modversions) changed from 0x29d0fa2d to 0xca1afd79 [C] 'function int mii_ethtool_gset(mii_if_info*, ethtool_cmd*)' at mii.c:55:1 has some sub-type changes: CRC value (modversions) changed from 0xdee914c6 to 0x246e8388 [C] 'function int mii_ethtool_set_link_ksettings(mii_if_info*, const ethtool_link_ksettings*)' at mii.c:329:1 has some sub-type changes: CRC value (modversions) changed from 0xee41f740 to 0x196fe0d [C] 'function int mii_link_ok(mii_if_info*)' at mii.c:444:1 has some sub-type changes: CRC value (modversions) changed from 0xb60765c1 to 0xd6e469ce [C] 'function int mii_nway_restart(mii_if_info*)' at mii.h:34:1 has some sub-type changes: CRC value (modversions) changed from 0x56ba6aee to 0x56a03f2 [C] 'function int mipi_dsi_attach(mipi_dsi_device*)' at drm_mipi_dsi.c:322:1 has some sub-type changes: CRC value (modversions) changed from 0x22adbc0e to 0x9caf0f45 [C] 'function ssize_t mipi_dsi_dcs_read(mipi_dsi_device*, u8, void*, size_t)' at drm_mipi_dsi.c:734:1 has some sub-type changes: CRC value (modversions) changed from 0x7ac713de to 0x9e35aa1f [C] 'function int mipi_dsi_dcs_set_display_brightness(mipi_dsi_device*, u16)' at drm_mipi_dsi.c:1053:1 has some sub-type changes: CRC value (modversions) changed from 0x44d55e2b to 0x391129bb [C] 'function int mipi_dsi_dcs_set_tear_off(mipi_dsi_device*)' at drm_mipi_dsi.c:967:1 has some sub-type changes: CRC value (modversions) changed from 0x9d7465ae to 0xb49e07a8 [C] 'function ssize_t mipi_dsi_dcs_write_buffer(mipi_dsi_device*, void*, size_t)' at drm_mipi_dsi.c:651:1 has some sub-type changes: CRC value (modversions) changed from 0xdbd1d099 to 0xcb0564e9 [C] 'function int mipi_dsi_detach(mipi_dsi_device*)' at drm_mipi_dsi.c:337:1 has some sub-type changes: CRC value (modversions) changed from 0x5c9fa4db to 0x63b5f967 [C] 'function mipi_dsi_device* mipi_dsi_device_register_full(mipi_dsi_host*, const mipi_dsi_device_info*)' at drm_mipi_dsi.c:200:1 has some sub-type changes: CRC value (modversions) changed from 0x20aef301 to 0xf95fc897 [C] 'function void mipi_dsi_device_unregister(mipi_dsi_device*)' at drm_mipi_dsi.c:243:1 has some sub-type changes: CRC value (modversions) changed from 0x54cfe707 to 0xf912e59e [C] 'function int mipi_dsi_driver_register_full(mipi_dsi_driver*, module*)' at drm_mipi_dsi.c:1125:1 has some sub-type changes: CRC value (modversions) changed from 0x3ecd50f5 to 0x3cb4d164 [C] 'function void mipi_dsi_driver_unregister(mipi_dsi_driver*)' at drm_mipi_dsi.c:1148:1 has some sub-type changes: CRC value (modversions) changed from 0xc4524be0 to 0xa29887c9 [C] 'function ssize_t mipi_dsi_generic_read(mipi_dsi_device*, void*, size_t, void*, size_t)' at drm_mipi_dsi.c:607:1 has some sub-type changes: CRC value (modversions) changed from 0x1c0eddb9 to 0x54f9fb3 [C] 'function ssize_t mipi_dsi_generic_write(mipi_dsi_device*, void*, size_t)' at drm_mipi_dsi.c:562:1 has some sub-type changes: CRC value (modversions) changed from 0x5f2fdb3 to 0x68c8450d [C] 'function int mipi_dsi_host_register(mipi_dsi_host*)' at drm_mipi_dsi.c:280:1 has some sub-type changes: CRC value (modversions) changed from 0xa62157c8 to 0xb4c929f8 [C] 'function void mipi_dsi_host_unregister(mipi_dsi_host*)' at drm_mipi_dsi.c:308:1 has some sub-type changes: CRC value (modversions) changed from 0x9f86f757 to 0xaad1f81e [C] 'function int mipi_dsi_set_maximum_return_packet_size(mipi_dsi_device*, u16)' at drm_mipi_dsi.c:534:1 has some sub-type changes: CRC value (modversions) changed from 0x894530a1 to 0x4db56ab5 [C] 'function void mmput(mm_struct*)' at fork.c:1106:1 has some sub-type changes: CRC value (modversions) changed from 0x11b39892 to 0x8bf98fbc [C] 'function void mod_node_page_state(pglist_data*, node_stat_item, long int)' at vmstat.c:575:1 has some sub-type changes: CRC value (modversions) changed from 0x6dcadee to 0x9fa54bbb [C] 'function void module_layout(module*, modversion_info*, kernel_param*, kernel_symbol*, tracepoint* const*)' at module.c:4577:1 has some sub-type changes: CRC value (modversions) changed from 0x3df1e097 to 0x6633bb51 [C] 'function void module_put(module*)' at module.h:634:1 has some sub-type changes: CRC value (modversions) changed from 0xcc0f4666 to 0x592bbe60 [C] 'function bool napi_complete_done(napi_struct*, int)' at netdevice.h:479:1 has some sub-type changes: CRC value (modversions) changed from 0x3ff4da01 to 0x7a97aa0 [C] 'function void napi_consume_skb(sk_buff*, int)' at skbuff.c:895:1 has some sub-type changes: CRC value (modversions) changed from 0xfc2e97e0 to 0xb66d00b2 [C] 'function void napi_disable(napi_struct*)' at netdevice.h:514:1 has some sub-type changes: CRC value (modversions) changed from 0xa21fb91f to 0x24d63dae [C] 'function void napi_gro_flush(napi_struct*, bool)' at dev.c:5346:1 has some sub-type changes: CRC value (modversions) changed from 0x6f375172 to 0x37fe760a [C] 'function gro_result napi_gro_receive(napi_struct*, sk_buff*)' at netdevice.h:3683:1 has some sub-type changes: CRC value (modversions) changed from 0x550436bb to 0x465d7fcb [C] 'function bool napi_hash_del(napi_struct*)' at netdevice.h:505:1 has some sub-type changes: CRC value (modversions) changed from 0x2cc62c11 to 0x91956f97 [C] 'function bool napi_schedule_prep(napi_struct*)' at netdevice.h:442:1 has some sub-type changes: CRC value (modversions) changed from 0x6a68d9da to 0xd219a96e [C] 'function void neigh_destroy(neighbour*)' at neighbour.h:325:1 has some sub-type changes: CRC value (modversions) changed from 0xc59a22c8 to 0xe5194844 [C] 'function void netdev_change_features(net_device*)' at dev.c:8813:1 has some sub-type changes: CRC value (modversions) changed from 0xd6790974 to 0x8377e3e7 [C] 'function void netdev_err(const net_device*, const char*, ...)' at netdevice.h:4768:1 has some sub-type changes: CRC value (modversions) changed from 0x7086ce03 to 0x25a9b72b [C] 'function void netdev_info(const net_device*, const char*, ...)' at netdevice.h:4774:1 has some sub-type changes: CRC value (modversions) changed from 0xf6051c24 to 0xf6162e8a [C] 'function void netdev_lower_state_changed(net_device*, void*)' at dev.c:7621:1 has some sub-type changes: CRC value (modversions) changed from 0x1235f677 to 0x7bc8d3e9 [C] 'function int netdev_master_upper_dev_link(net_device*, net_device*, void*, void*, netlink_ext_ack*)' at dev.c:7370:1 has some sub-type changes: CRC value (modversions) changed from 0xf3775c16 to 0xd2f87755 [C] 'function void netdev_notify_peers(net_device*)' at dev.c:1283:1 has some sub-type changes: CRC value (modversions) changed from 0x16cf8307 to 0xdaefe1cb [C] 'function u16 netdev_pick_tx(net_device*, sk_buff*, net_device*)' at dev.c:3615:1 has some sub-type changes: CRC value (modversions) changed from 0x436b245e to 0x8cf6fa3f [C] 'function void netdev_printk(const char*, const net_device*, const char*, ...)' at netdevice.h:4759:1 has some sub-type changes: CRC value (modversions) changed from 0xdc20633a to 0xdcd6043e [C] 'function int netdev_rx_handler_register(net_device*, rx_handler_func_t*, void*)' at dev.c:4635:1 has some sub-type changes: CRC value (modversions) changed from 0x3c708abb to 0x3ebdd62d [C] 'function void netdev_rx_handler_unregister(net_device*)' at dev.c:4661:1 has some sub-type changes: CRC value (modversions) changed from 0x32a71818 to 0xff18816e [C] 'function int netdev_upper_dev_link(net_device*, net_device*, netlink_ext_ack*)' at dev.c:7347:1 has some sub-type changes: CRC value (modversions) changed from 0xf56544ff to 0x1b3748ed [C] 'function void netdev_upper_dev_unlink(net_device*, net_device*)' at dev.c:7388:1 has some sub-type changes: CRC value (modversions) changed from 0xa96c1b4d to 0x651cf3d7 [C] 'function void netdev_warn(const net_device*, const char*, ...)' at netdevice.h:4770:1 has some sub-type changes: CRC value (modversions) changed from 0x1b2d2834 to 0xdd94edb [C] 'function void netif_carrier_off(net_device*)' at netdevice.h:3832:1 has some sub-type changes: CRC value (modversions) changed from 0x10b31b5b to 0xd4950ee3 [C] 'function void netif_carrier_on(net_device*)' at netdevice.h:3830:1 has some sub-type changes: CRC value (modversions) changed from 0xb9a5c6d to 0x99d2f258 [C] 'function void netif_device_attach(net_device*)' at netdevice.h:3901:1 has some sub-type changes: CRC value (modversions) changed from 0xe068db72 to 0xa7df98c6 [C] 'function void netif_device_detach(net_device*)' at netdevice.h:3899:1 has some sub-type changes: CRC value (modversions) changed from 0x58e0169a to 0x8af2dc5e [C] 'function void netif_napi_add(net_device*, napi_struct*, int (napi_struct*, int)*, int)' at netdevice.h:2265:1 has some sub-type changes: CRC value (modversions) changed from 0xae294db1 to 0x52d34a26 [C] 'function void netif_napi_del(napi_struct*)' at netdevice.h:2294:1 has some sub-type changes: CRC value (modversions) changed from 0xec319f1f to 0xb11f7fa2 [C] 'function int netif_receive_skb(sk_buff*)' at netdevice.h:3680:1 has some sub-type changes: CRC value (modversions) changed from 0xa424fd91 to 0x408ab49c [C] 'function int netif_rx(sk_buff*)' at netdevice.h:3678:1 has some sub-type changes: CRC value (modversions) changed from 0x3854cec to 0xbeffbfab [C] 'function int netif_rx_ni(sk_buff*)' at dev.c:4460:1 has some sub-type changes: CRC value (modversions) changed from 0x18933f40 to 0xf3af038c [C] 'function void netif_schedule_queue(netdev_queue*)' at netdevice.h:3112:1 has some sub-type changes: CRC value (modversions) changed from 0x5c4967c9 to 0x1107a2d1 [C] 'function int netif_set_real_num_rx_queues(net_device*, unsigned int)' at netdevice.h:3598:1 has some sub-type changes: CRC value (modversions) changed from 0x38cdbedb to 0x9d6ab117 [C] 'function int netif_set_real_num_tx_queues(net_device*, unsigned int)' at netdevice.h:3595:1 has some sub-type changes: CRC value (modversions) changed from 0x9f866096 to 0xe33531bc [C] 'function void netif_stacked_transfer_operstate(const net_device*, net_device*)' at dev.c:8829:1 has some sub-type changes: CRC value (modversions) changed from 0xafa86144 to 0x1a249051 [C] 'function void netif_tx_stop_all_queues(net_device*)' at netdevice.h:3189:1 has some sub-type changes: CRC value (modversions) changed from 0x721c62e1 to 0xd5f768c1 [C] 'function void netif_tx_wake_queue(netdev_queue*)' at netdevice.h:3148:1 has some sub-type changes: CRC value (modversions) changed from 0x6bbe167d to 0xdcd3910c [C] 'function int netlink_broadcast(sock*, sk_buff*, unsigned int, unsigned int, unsigned int)' at netlink.h:132:1 has some sub-type changes: CRC value (modversions) changed from 0x29e4b6a3 to 0xefe5d181 [C] 'function bool netlink_capable(const sk_buff*, int)' at netlink.h:249:1 has some sub-type changes: CRC value (modversions) changed from 0x5edf6aca to 0x43e11abc [C] 'function bool netlink_net_capable(const sk_buff*, int)' at netlink.h:250:1 has some sub-type changes: CRC value (modversions) changed from 0x53fdad53 to 0xb1089b9c [C] 'function nf_conntrack_tuple_hash* nf_conntrack_find_get(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)' at nf_conntrack_core.h:49:1 has some sub-type changes: CRC value (modversions) changed from 0x199acb7d to 0xe5d13017 [C] 'function bool nf_ct_get_tuplepr(const sk_buff*, unsigned int, unsigned short int, net*, nf_conntrack_tuple*)' at nf_conntrack.h:182:1 has some sub-type changes: CRC value (modversions) changed from 0xbdcd49d9 to 0xa5c51d0d [C] 'function nvdimm_bus* nvdimm_bus_register(device*, nvdimm_bus_descriptor*)' at libnvdimm.h:213:1 has some sub-type changes: CRC value (modversions) changed from 0xcd94b87f to 0xa65d4fcd [C] 'function void nvdimm_bus_unregister(nvdimm_bus*)' at libnvdimm.h:215:1 has some sub-type changes: CRC value (modversions) changed from 0xe8c44162 to 0x1377a772 [C] 'function nvmem_cell* nvmem_cell_get(device*, const char*)' at nvmem-consumer.h:58:1 has some sub-type changes: CRC value (modversions) changed from 0x287add10 to 0x51c5b9c2 [C] 'function int nvmem_cell_read_u32(device*, const char*, u32*)' at core.c:1129:1 has some sub-type changes: CRC value (modversions) changed from 0x27e4c9aa to 0x81a631a [C] 'function int nvmem_device_read(nvmem_device*, unsigned int, unsigned long int, void*)' at nvmem-consumer.h:73:1 has some sub-type changes: CRC value (modversions) changed from 0xfbf33e7b to 0x6203522a [C] 'function int nvmem_device_write(nvmem_device*, unsigned int, unsigned long int, void*)' at nvmem-consumer.h:75:1 has some sub-type changes: CRC value (modversions) changed from 0xef5bda52 to 0xa7c890cd [C] 'function int of_address_to_resource(device_node*, int, resource*)' at of_address.h:113:1 has some sub-type changes: CRC value (modversions) changed from 0x176d8ae3 to 0x63b1d019 [C] 'function int of_alias_get_id(device_node*, const char*)' at of.h:392:1 has some sub-type changes: CRC value (modversions) changed from 0xdb90a5c8 to 0x2ad1fb0e [C] 'function int of_clk_add_hw_provider(device_node*, clk_hw* (of_phandle_args*, void*)*, void*)' at clk-provider.h:1048:1 has some sub-type changes: CRC value (modversions) changed from 0x8bee3159 to 0x63816098 [C] 'function int of_clk_add_provider(device_node*, clk* (of_phandle_args*, void*)*, void*)' at clk-provider.h:1044:1 has some sub-type changes: CRC value (modversions) changed from 0xd6611437 to 0xfcdaf21e [C] 'function void of_clk_del_provider(device_node*)' at clk-provider.h:1056:1 has some sub-type changes: CRC value (modversions) changed from 0xf6fda871 to 0x4bc36ee6 [C] 'function clk* of_clk_get(device_node*, int)' at clk.h:966:1 has some sub-type changes: CRC value (modversions) changed from 0x13fc3c0a to 0x9e7efee6 [C] 'function clk* of_clk_get_by_name(device_node*, const char*)' at clk.h:967:1 has some sub-type changes: CRC value (modversions) changed from 0x9dba244b to 0x1a336e48 [C] 'function clk* of_clk_get_from_provider(of_phandle_args*)' at clk.c:4688:1 has some sub-type changes: CRC value (modversions) changed from 0xaa18bcb1 to 0x8661cc16 [C] 'function unsigned int of_clk_get_parent_count(device_node*)' at clk.c:4752:1 has some sub-type changes: CRC value (modversions) changed from 0xb59a3baf to 0xf1d44df6 [C] 'function clk_hw* of_clk_hw_onecell_get(of_phandle_args*, void*)' at clk.c:4368:1 has some sub-type changes: CRC value (modversions) changed from 0xf2b4fe3a to 0x61d64f6a [C] 'function int of_clk_hw_register(device_node*, clk_hw*)' at clk.c:3895:1 has some sub-type changes: CRC value (modversions) changed from 0x8681d833 to 0x27fcc389 [C] 'function clk_hw* of_clk_hw_simple_get(of_phandle_args*, void*)' at clk.c:4347:1 has some sub-type changes: CRC value (modversions) changed from 0x1537b092 to 0x7e797d1f [C] 'function clk* of_clk_src_onecell_get(of_phandle_args*, void*)' at clk.c:4353:1 has some sub-type changes: CRC value (modversions) changed from 0xc4da07fc to 0x3bd2fbbc [C] 'function clk* of_clk_src_simple_get(of_phandle_args*, void*)' at clk.c:4340:1 has some sub-type changes: CRC value (modversions) changed from 0x614de383 to 0x70ec14cc [C] 'function int of_count_phandle_with_args(const device_node*, const char*, const char*)' at of.h:376:1 has some sub-type changes: CRC value (modversions) changed from 0xaf03bcfb to 0x1c2bb414 [C] 'function thermal_cooling_device* of_cpufreq_cooling_register(cpufreq_policy*)' at cpu_cooling.c:690:1 has some sub-type changes: CRC value (modversions) changed from 0xea25cd5a to 0x48e684fa [C] 'function void of_dev_put(platform_device*)' at device.c:49:1 has some sub-type changes: CRC value (modversions) changed from 0x3b91e46d to 0x7d766caa [C] 'function thermal_cooling_device* of_devfreq_cooling_register(device_node*, devfreq*)' at devfreq_cooling.c:572:1 has some sub-type changes: CRC value (modversions) changed from 0xf0601f5b to 0x313cfc24 [C] 'function thermal_cooling_device* of_devfreq_cooling_register_power(device_node*, devfreq*, devfreq_cooling_power*)' at devfreq_cooling.c:505:1 has some sub-type changes: CRC value (modversions) changed from 0xa6b59185 to 0x89ab342 [C] 'function void* of_device_get_match_data(const device*)' at of_device.h:36:1 has some sub-type changes: CRC value (modversions) changed from 0xd3f2b10a to 0xbea4e0ef [C] 'function bool of_device_is_available(const device_node*)' at of.h:347:1 has some sub-type changes: CRC value (modversions) changed from 0x29e1e0c4 to 0x559d736c [C] 'function bool of_device_is_big_endian(const device_node*)' at of.h:348:1 has some sub-type changes: CRC value (modversions) changed from 0x44f94cb6 to 0x9671a4d1 [C] 'function int of_device_is_compatible(const device_node*, const char*)' at of.h:343:1 has some sub-type changes: CRC value (modversions) changed from 0xc2b91f7a to 0x7589f666 [C] 'function long int of_device_modalias(device*, char*, long int)' at of_device.h:38:1 has some sub-type changes: CRC value (modversions) changed from 0xc4c159b0 to 0xaf89a1fc [C] 'function int of_device_request_module(device*)' at device.c:239:1 has some sub-type changes: CRC value (modversions) changed from 0x76dde97b to 0xaf9b1622 [C] 'function int of_device_uevent_modalias(device*, kobj_uevent_env*)' at of_device.h:42:1 has some sub-type changes: CRC value (modversions) changed from 0xdcc96cb0 to 0x132ce9f7 [C] 'function int of_dma_configure(device*, device_node*, bool)' at of_device.h:58:1 has some sub-type changes: CRC value (modversions) changed from 0xb6c91e30 to 0x5640d78e [C] 'function void of_dma_controller_free(device_node*)' at of-dma.c:136:1 has some sub-type changes: CRC value (modversions) changed from 0x8a25021a to 0x6733fdb5 [C] 'function int of_dma_controller_register(device_node*, dma_chan* (of_phandle_args*, of_dma*)*, void*)' at of-dma.c:101:1 has some sub-type changes: CRC value (modversions) changed from 0x3f6a36d4 to 0x8ec23a72 [C] 'function bool of_dma_is_coherent(device_node*)' at of_address.h:59:1 has some sub-type changes: CRC value (modversions) changed from 0xd6a6a61d to 0x9bbe3f19 [C] 'function dma_chan* of_dma_request_slave_channel(device_node*, const char*)' at of_dma.h:47:1 has some sub-type changes: CRC value (modversions) changed from 0x6e495630 to 0x65872836 [C] 'function dma_chan* of_dma_simple_xlate(of_phandle_args*, of_dma*)' at of-dma.c:304:1 has some sub-type changes: CRC value (modversions) changed from 0x176efc28 to 0xf0451dc [C] 'function backlight_device* of_find_backlight_by_node(device_node*)' at backlight.c:592:1 has some sub-type changes: CRC value (modversions) changed from 0xd873a025 to 0x80b436a2 [C] 'function device_node* of_find_compatible_node(device_node*, const char*, const char*)' at of.h:271:1 has some sub-type changes: CRC value (modversions) changed from 0x6cba5038 to 0x256bfc28 [C] 'function platform_device* of_find_device_by_node(device_node*)' at of_platform.h:56:1 has some sub-type changes: CRC value (modversions) changed from 0x86b7f830 to 0xc078e90c [C] 'function i2c_adapter* of_find_i2c_adapter_by_node(device_node*)' at i2c-core-of.c:147:1 has some sub-type changes: CRC value (modversions) changed from 0xc8a65a65 to 0xfc818d67 [C] 'function i2c_client* of_find_i2c_device_by_node(device_node*)' at i2c-core-of.c:129:1 has some sub-type changes: CRC value (modversions) changed from 0x5a710676 to 0x836cf1c4 [C] 'function device_node* of_find_matching_node_and_match(device_node*, const of_device_id*, const of_device_id**)' at of.h:273:1 has some sub-type changes: CRC value (modversions) changed from 0xdbc03d93 to 0xd774ee5d [C] 'function mipi_dsi_host* of_find_mipi_dsi_host_by_node(device_node*)' at drm_mipi_dsi.c:261:1 has some sub-type changes: CRC value (modversions) changed from 0x64be0226 to 0xed46a13b [C] 'function device_node* of_find_node_by_name(device_node*, const char*)' at of.h:267:1 has some sub-type changes: CRC value (modversions) changed from 0xeea5dc98 to 0x20bb802d [C] 'function device_node* of_find_node_by_phandle(unsigned int)' at of.h:285:1 has some sub-type changes: CRC value (modversions) changed from 0x5ee61275 to 0xb1c9da8d [C] 'function device_node* of_find_node_by_type(device_node*, const char*)' at base.c:1037:1 has some sub-type changes: CRC value (modversions) changed from 0x6dcadd61 to 0xa3d481d4 [C] 'function device_node* of_find_node_opts_by_path(const char*, const char**)' at of.h:278:1 has some sub-type changes: CRC value (modversions) changed from 0xcd92f13b to 0xb22adb4c [C] 'function device_node* of_find_node_with_property(device_node*, const char*)' at of.h:301:1 has some sub-type changes: CRC value (modversions) changed from 0xda71ebad to 0x4662d047 [C] 'function property* of_find_property(const device_node*, const char*, int*)' at of.h:304:1 has some sub-type changes: CRC value (modversions) changed from 0xde1788ca to 0xc04b504f [C] 'function device_node* of_get_child_by_name(const device_node*, const char*)' at of.h:295:1 has some sub-type changes: CRC value (modversions) changed from 0x80977356 to 0x1c8448bc [C] 'function device_node* of_get_compatible_child(const device_node*, const char*)' at base.c:860:1 has some sub-type changes: CRC value (modversions) changed from 0xb5fbd549 to 0xa9822e45 [C] 'function device_node* of_get_cpu_node(int, unsigned int*)' at of.h:352:1 has some sub-type changes: CRC value (modversions) changed from 0xe9b0e519 to 0xc8fad692 [C] 'function int of_get_dma_window(device_node*, const char*, int, unsigned long int*, dma_addr_t*, size_t*)' at of_iommu.c:34:1 has some sub-type changes: CRC value (modversions) changed from 0x19a57561 to 0xc3f843b4 [C] 'function int of_get_named_gpio_flags(device_node*, const char*, int, of_gpio_flags*)' at of_gpio.h:51:1 has some sub-type changes: CRC value (modversions) changed from 0xa7f5fe6f to 0x31b9f1de [C] 'function device_node* of_get_next_available_child(const device_node*, device_node*)' at of.h:290:1 has some sub-type changes: CRC value (modversions) changed from 0x5239ce2a to 0xbd797cb4 [C] 'function device_node* of_get_next_child(const device_node*, device_node*)' at of.h:288:1 has some sub-type changes: CRC value (modversions) changed from 0x13233714 to 0x95f94ff5 [C] 'function device_node* of_get_parent(const device_node*)' at of.h:286:1 has some sub-type changes: CRC value (modversions) changed from 0x9df55b4d to 0xc77f866f [C] 'function void* of_get_property(const device_node*, const char*, int*)' at of.h:349:1 has some sub-type changes: CRC value (modversions) changed from 0xe1331dd6 to 0x2ae3843 [C] 'function int of_hwspin_lock_get_id(device_node*, int)' at hwspinlock.h:64:1 has some sub-type changes: CRC value (modversions) changed from 0xcbe279e2 to 0xfc8e549c [C] 'function int of_hwspin_lock_get_id_byname(device_node*, const char*)' at hwspinlock_core.c:406:1 has some sub-type changes: CRC value (modversions) changed from 0x8553dece to 0x608e7fe1 [C] 'function icc_path* of_icc_get(device*, const char*)' at core.c:294:1 has some sub-type changes: CRC value (modversions) changed from 0x61c3bde5 to 0xa7ec1b45 [C] 'function icc_node* of_icc_xlate_onecell(of_phandle_args*, void*)' at core.c:234:1 has some sub-type changes: CRC value (modversions) changed from 0x5b290f9a to 0xfe95b6ba [C] 'function void* of_io_request_and_map(device_node*, int, const char*)' at of_address.h:42:1 has some sub-type changes: CRC value (modversions) changed from 0xb79c8773 to 0xd58197f4 [C] 'function void* of_iomap(device_node*, int)' at of_address.h:115:1 has some sub-type changes: CRC value (modversions) changed from 0xf5b00387 to 0xd97655d6 [C] 'function device_node* of_irq_find_parent(device_node*)' at irq.c:54:1 has some sub-type changes: CRC value (modversions) changed from 0xccfa527f to 0x9cf8e4f1 [C] 'function int of_irq_get(device_node*, int)' at of_irq.h:46:1 has some sub-type changes: CRC value (modversions) changed from 0x1bbfed2d to 0xf6ec0f95 [C] 'function int of_irq_get_byname(device_node*, const char*)' at of_irq.h:47:1 has some sub-type changes: CRC value (modversions) changed from 0x206eb693 to 0x44e4d807 [C] 'function int of_irq_parse_one(device_node*, int, of_phandle_args*)' at of_irq.h:36:1 has some sub-type changes: CRC value (modversions) changed from 0x6badbdd3 to 0x9ee33ba1 [C] 'function int of_irq_to_resource(device_node*, int, resource*)' at irq.c:349:1 has some sub-type changes: CRC value (modversions) changed from 0x1d5a28fb to 0x92006623 [C] 'function int of_modalias_node(device_node*, char*, int)' at of.h:362:1 has some sub-type changes: CRC value (modversions) changed from 0x8d22e3c0 to 0xd69b1b2e [C] 'function int of_n_addr_cells(device_node*)' at of.h:358:1 has some sub-type changes: CRC value (modversions) changed from 0x80cac68c to 0xfc6794e2 [C] 'function int of_n_size_cells(device_node*)' at of.h:359:1 has some sub-type changes: CRC value (modversions) changed from 0xdb61e69f to 0xb3b9f7a0 [C] 'function bool of_node_name_eq(const device_node*, const char*)' at of.h:256:1 has some sub-type changes: CRC value (modversions) changed from 0xa661d88c to 0xeb4f0236 [C] 'function nvmem_cell* of_nvmem_cell_get(device_node*, const char*)' at core.c:766:1 has some sub-type changes: CRC value (modversions) changed from 0xf1871283 to 0xae6b3d7a [C] 'function device_node* of_parse_phandle(const device_node*, const char*, int)' at of.h:364:1 has some sub-type changes: CRC value (modversions) changed from 0x1bb843bd to 0xe222dec [C] 'function int of_parse_phandle_with_args(const device_node*, const char*, const char*, int, of_phandle_args*)' at of.h:367:1 has some sub-type changes: CRC value (modversions) changed from 0x3d06237f to 0xe5d7b32b [C] 'function int of_parse_phandle_with_fixed_args(const device_node*, const char*, int, int, of_phandle_args*)' at of.h:373:1 has some sub-type changes: CRC value (modversions) changed from 0x532cb3ae to 0xb12ebd9e [C] 'function int of_phandle_iterator_init(of_phandle_iterator*, const device_node*, const char*, const char*, int)' at of.h:380:1 has some sub-type changes: CRC value (modversions) changed from 0xef599cce to 0xdb1fbe08 [C] 'function int of_phandle_iterator_next(of_phandle_iterator*)' at of.h:386:1 has some sub-type changes: CRC value (modversions) changed from 0xad3de80 to 0xb3d6201c [C] 'function phy* of_phy_simple_xlate(device*, of_phandle_args*)' at phy-core.c:619:1 has some sub-type changes: CRC value (modversions) changed from 0xb79d19a2 to 0xe7cfd993 [C] 'function void of_platform_depopulate(device*)' at platform.c:590:1 has some sub-type changes: CRC value (modversions) changed from 0x10678e63 to 0x63d89e8b [C] 'function platform_device* of_platform_device_create(device_node*, const char*, device*)' at of_platform.h:65:1 has some sub-type changes: CRC value (modversions) changed from 0x80494eb2 to 0xb77ba1eb [C] 'function int of_platform_populate(device_node*, const of_device_id*, const of_dev_auxdata*, device*)' at platform.c:468:1 has some sub-type changes: CRC value (modversions) changed from 0xe3f050d9 to 0x4ec5e9d9 [C] 'function pwm_device* of_pwm_get(device*, device_node*, const char*)' at core.c:678:1 has some sub-type changes: CRC value (modversions) changed from 0xeb94669d to 0x76ee1533 [C] 'function pwm_device* of_pwm_xlate_with_flags(pwm_chip*, const of_phandle_args*)' at core.c:124:1 has some sub-type changes: CRC value (modversions) changed from 0xc7cf858a to 0xaffda5c [C] 'function reset_control* of_reset_control_array_get(device_node*, bool, bool, bool)' at reset.h:36:1 has some sub-type changes: CRC value (modversions) changed from 0x9dbf901f to 0xbea368cc [C] 'function long long unsigned int of_translate_address(device_node*, const unsigned int*)' at of_address.h:34:1 has some sub-type changes: CRC value (modversions) changed from 0xf770bd5b to 0xda509283 [C] 'function usb_phy_interface of_usb_get_phy_mode(device_node*)' at of.c:28:1 has some sub-type changes: CRC value (modversions) changed from 0x12b22cd3 to 0xccb50ae8 [C] 'function bool of_usb_host_tpl_support(device_node*)' at common.c:208:1 has some sub-type changes: CRC value (modversions) changed from 0x4f65a60c to 0xb5666f7b [C] 'function page* pagecache_get_page(address_space*, unsigned long int, int, unsigned int)' at pagemap.h:244:1 has some sub-type changes: CRC value (modversions) changed from 0xbf39e8a2 to 0x8a7074ae [C] 'function int param_get_int(char*, const kernel_param*)' at params.c:239:1 has some sub-type changes: CRC value (modversions) changed from 0x84a9451b to 0x89555e82 [C] 'function int param_get_string(char*, const kernel_param*)' at params.c:505:1 has some sub-type changes: CRC value (modversions) changed from 0xaf73b46e to 0x62786532 [C] 'function int param_set_bool(const char*, const kernel_param*)' at moduleparam.h:387:1 has some sub-type changes: CRC value (modversions) changed from 0x4bf94454 to 0x87bfd71c [C] 'function int param_set_copystring(const char*, const kernel_param*)' at params.c:491:1 has some sub-type changes: CRC value (modversions) changed from 0x7da16268 to 0xb2bacc6b [C] 'function int param_set_int(const char*, const kernel_param*)' at params.c:239:1 has some sub-type changes: CRC value (modversions) changed from 0x763aa6f6 to 0xc909ce0f [C] 'function netdev_features_t passthru_features_check(sk_buff*, net_device*, netdev_features_t)' at dev.c:3107:1 has some sub-type changes: CRC value (modversions) changed from 0xc35ad22b to 0xfba0a3f5 [C] 'function void path_get(const path*)' at path.h:13:1 has some sub-type changes: CRC value (modversions) changed from 0xbd62afa to 0x460cb2f4 [C] 'function void path_put(const path*)' at path.h:14:1 has some sub-type changes: CRC value (modversions) changed from 0x5f3d3c93 to 0x9aa005ab [C] 'function void pci_assign_unassigned_bus_resources(pci_bus*)' at pci.h:1292:1 has some sub-type changes: CRC value (modversions) changed from 0x42596034 to 0x199c927a [C] 'function void pci_bus_add_devices(const pci_bus*)' at bus.c:342:1 has some sub-type changes: CRC value (modversions) changed from 0x229e654b to 0xb4b6cc8b [C] 'function bool pci_check_and_mask_intx(pci_dev*)' at pci.c:4396:1 has some sub-type changes: CRC value (modversions) changed from 0xbdfaa668 to 0xcfb20c51 [C] 'function bool pci_check_and_unmask_intx(pci_dev*)' at pci.c:4410:1 has some sub-type changes: CRC value (modversions) changed from 0xb28efeaf to 0x7ca6cc4e [C] 'function void pci_clear_master(pci_dev*)' at pci.c:4177:1 has some sub-type changes: CRC value (modversions) changed from 0xb8615a95 to 0xbdcd9aec [C] 'function u8 pci_common_swizzle(pci_dev*, u8*)' at pci.c:3646:1 has some sub-type changes: CRC value (modversions) changed from 0x1f3b0701 to 0x68e58551 [C] 'function void pci_d3cold_disable(pci_dev*)' at pci.c:2772:1 has some sub-type changes: CRC value (modversions) changed from 0x97e2fca3 to 0xc3c08a33 [C] 'function pci_dev* pci_dev_get(pci_dev*)' at pci-driver.c:1533:1 has some sub-type changes: CRC value (modversions) changed from 0x2bfcf27c to 0x6bf9d5bd [C] 'function void pci_dev_put(pci_dev*)' at pci.h:1038:1 has some sub-type changes: CRC value (modversions) changed from 0xcc2ddd2f to 0xf81ac7ac [C] 'function iommu_group* pci_device_group(device*)' at iommu.c:1287:1 has some sub-type changes: CRC value (modversions) changed from 0xbbd8424b to 0x8d4fbd29 [C] 'function bool pci_device_is_present(pci_dev*)' at pci.c:6063:1 has some sub-type changes: CRC value (modversions) changed from 0x9eda97a4 to 0x96a3e1ea [C] 'function void pci_disable_device(pci_dev*)' at pci.c:1935:1 has some sub-type changes: CRC value (modversions) changed from 0x67f948d7 to 0x4c78119a [C] 'function int pci_enable_device(pci_dev*)' at pci.c:1742:1 has some sub-type changes: CRC value (modversions) changed from 0xc2b451df to 0xf8590d66 [C] 'function int pci_enable_device_mem(pci_dev*)' at pci.c:1725:1 has some sub-type changes: CRC value (modversions) changed from 0x1a447703 to 0xaf607001 [C] 'function int pci_enable_wake(pci_dev*, pci_power_t, bool)' at pci.c:2284:1 has some sub-type changes: CRC value (modversions) changed from 0xc8653d39 to 0xfe9a15f0 [C] 'function pci_bus* pci_find_bus(int, int)' at pci.h:1000:1 has some sub-type changes: CRC value (modversions) changed from 0x5eaba22 to 0xfe1c747a [C] 'function int pci_find_capability(pci_dev*, int)' at pci.h:1059:1 has some sub-type changes: CRC value (modversions) changed from 0x5760400d to 0xa9caf881 [C] 'function int pci_find_ext_capability(pci_dev*, int)' at pci.h:1061:1 has some sub-type changes: CRC value (modversions) changed from 0xc1e5c823 to 0x72360fd4 [C] 'function int pci_find_next_capability(pci_dev*, u8, int)' at pci.c:394:1 has some sub-type changes: CRC value (modversions) changed from 0xe81021e2 to 0x4ef2004b [C] 'function pci_dev* pci_find_pcie_root_port(pci_dev*)' at pci.h:1033:1 has some sub-type changes: CRC value (modversions) changed from 0xaa6642d3 to 0xebb0323a [C] 'function pci_dev* pci_get_device(unsigned int, unsigned int, pci_dev*)' at search.c:327:1 has some sub-type changes: CRC value (modversions) changed from 0x30da5103 to 0x9542a9dc [C] 'function pci_dev* pci_get_slot(pci_bus*, unsigned int)' at pci.h:1072:1 has some sub-type changes: CRC value (modversions) changed from 0x971f50fb to 0x22a871be [C] 'function void pci_intx(pci_dev*, int)' at pci.c:4319:1 has some sub-type changes: CRC value (modversions) changed from 0x21f9464 to 0x9d3e8e1e [C] 'function void* pci_ioremap_bar(pci_dev*, int)' at pci.c:169:1 has some sub-type changes: CRC value (modversions) changed from 0x10f2d54a to 0x1e53711b [C] 'function void* pci_ioremap_wc_bar(pci_dev*, int)' at pci.c:184:1 has some sub-type changes: CRC value (modversions) changed from 0x286b5549 to 0xe69c7e2b [C] 'function int pci_load_and_free_saved_state(pci_dev*, pci_saved_state**)' at pci.c:1578:1 has some sub-type changes: CRC value (modversions) changed from 0xc434380 to 0x85f89118 [C] 'function int pci_load_saved_state(pci_dev*, pci_saved_state*)' at pci.c:1541:1 has some sub-type changes: CRC value (modversions) changed from 0xfc830afa to 0x153364af [C] 'function int pci_read_config_byte(const pci_dev*, int, unsigned char*)' at pci.h:1102:1 has some sub-type changes: CRC value (modversions) changed from 0x3bcf609b to 0x259b2e32 [C] 'function int pci_read_config_dword(const pci_dev*, int, unsigned int*)' at pci.h:1104:1 has some sub-type changes: CRC value (modversions) changed from 0x5d27b9c5 to 0x89dd8979 [C] 'function int pci_read_config_word(const pci_dev*, int, unsigned short int*)' at pci.h:1103:1 has some sub-type changes: CRC value (modversions) changed from 0x409fe8fd to 0x28b81b56 [C] 'function void pci_release_region(pci_dev*, int)' at pci.h:1304:1 has some sub-type changes: CRC value (modversions) changed from 0xe9c4f32e to 0xd9eb12db [C] 'function void pci_release_regions(pci_dev*)' at pci.c:3827:1 has some sub-type changes: CRC value (modversions) changed from 0xe0c04936 to 0x93d1404d [C] 'function void pci_release_selected_regions(pci_dev*, int)' at pci.h:1307:1 has some sub-type changes: CRC value (modversions) changed from 0xfdd76b8a to 0x52b7a8a1 [C] 'function int pci_request_region(pci_dev*, int, const char*)' at pci.c:3752:1 has some sub-type changes: CRC value (modversions) changed from 0xc08e54fb to 0xcb25bc25 [C] 'function int pci_request_regions(pci_dev*, const char*)' at pci.c:3846:1 has some sub-type changes: CRC value (modversions) changed from 0x4be932fa to 0x57778594 [C] 'function int pci_request_selected_regions(pci_dev*, int, const char*)' at pci.c:3802:1 has some sub-type changes: CRC value (modversions) changed from 0xa265c402 to 0x9a6b21a9 [C] 'function unsigned int pci_rescan_bus(pci_bus*)' at probe.c:3172:1 has some sub-type changes: CRC value (modversions) changed from 0xef7e635c to 0x536b93af [C] 'function int pci_reset_function(pci_dev*)' at pci.c:5067:1 has some sub-type changes: CRC value (modversions) changed from 0x5227c43d to 0x48bf647c [C] 'function void pci_restore_state(pci_dev*)' at pci.c:1456:1 has some sub-type changes: CRC value (modversions) changed from 0xfd92105d to 0xc8c5e02 [C] 'function int pci_save_state(pci_dev*)' at pci.c:1345:1 has some sub-type changes: CRC value (modversions) changed from 0x8a105400 to 0x2be8f296 [C] 'function unsigned int pci_scan_child_bus(pci_bus*)' at probe.c:2897:1 has some sub-type changes: CRC value (modversions) changed from 0x526ee9c6 to 0xfa15e78 [C] 'function int pci_scan_root_bus_bridge(pci_host_bridge*)' at probe.c:3046:1 has some sub-type changes: CRC value (modversions) changed from 0x40fcab30 to 0xc394330d [C] 'function int pci_select_bars(pci_dev*, unsigned long int)' at pci.c:5912:1 has some sub-type changes: CRC value (modversions) changed from 0x4faa2b0f to 0x8676ca66 [C] 'function void pci_set_master(pci_dev*)' at pci.h:1179:1 has some sub-type changes: CRC value (modversions) changed from 0x78df42f6 to 0x16df275a [C] 'function int pci_set_mwi(pci_dev*)' at pci.h:1185:1 has some sub-type changes: CRC value (modversions) changed from 0xbefaba42 to 0x75ed52a6 [C] 'function int pci_set_power_state(pci_dev*, pci_power_t)' at pci.c:1098:1 has some sub-type changes: CRC value (modversions) changed from 0x6822c95d to 0xc1a632d6 [C] 'function void pci_stop_and_remove_bus_device(pci_dev*)' at remove.c:114:1 has some sub-type changes: CRC value (modversions) changed from 0xe76fa17b to 0x4ee0ca04 [C] 'function pci_saved_state* pci_store_saved_state(pci_dev*)' at pci.c:1502:1 has some sub-type changes: CRC value (modversions) changed from 0x86ceaee5 to 0xb9dc86d3 [C] 'function void pci_unregister_driver(pci_driver*)' at pci.h:1370:1 has some sub-type changes: CRC value (modversions) changed from 0xfb66ab7e to 0x875ccda6 [C] 'function void pci_walk_bus(pci_bus*, int (pci_dev*, void*)*, void*)' at pci.h:1405:1 has some sub-type changes: CRC value (modversions) changed from 0x89a7d090 to 0xad1f97a0 [C] 'function int pci_write_config_byte(const pci_dev*, int, unsigned char)' at pci.h:1105:1 has some sub-type changes: CRC value (modversions) changed from 0x30429553 to 0x14f8001 [C] 'function int pci_write_config_dword(const pci_dev*, int, u32)' at access.c:574:1 has some sub-type changes: CRC value (modversions) changed from 0x35838291 to 0xcaa325a3 [C] 'function int pci_write_config_word(const pci_dev*, int, u16)' at access.c:566:1 has some sub-type changes: CRC value (modversions) changed from 0xbcd0352a to 0x2356786b [C] 'function void pcie_bus_configure_settings(pci_bus*)' at probe.c:2705:1 has some sub-type changes: CRC value (modversions) changed from 0xfb426fde to 0xbbe32182 [C] 'function int pcie_capability_read_dword(pci_dev*, int, u32*)' at access.c:441:1 has some sub-type changes: CRC value (modversions) changed from 0x1c838fe8 to 0xce2198c3 [C] 'function int pcie_capability_read_word(pci_dev*, int, u16*)' at access.c:406:1 has some sub-type changes: CRC value (modversions) changed from 0x3f947953 to 0x1f871da9 [C] 'function int pcim_enable_device(pci_dev*)' at pci.h:1154:1 has some sub-type changes: CRC value (modversions) changed from 0xe71c1a62 to 0x16a0fd9b [C] 'function perf_event* perf_event_create_kernel_counter(perf_event_attr*, int, task_struct*, perf_overflow_handler_t, void*)' at core.c:11383:1 has some sub-type changes: CRC value (modversions) changed from 0x84d265af to 0x2125c716 [C] 'function void perf_event_disable(perf_event*)' at core.c:2279:1 has some sub-type changes: CRC value (modversions) changed from 0xe4b9136e to 0xe5f460e9 [C] 'function void perf_event_enable(perf_event*)' at core.c:2824:1 has some sub-type changes: CRC value (modversions) changed from 0xada54726 to 0xd9fb91d4 [C] 'function u64 perf_event_read_value(perf_event*, u64*, u64*)' at core.c:4827:1 has some sub-type changes: CRC value (modversions) changed from 0x4c333696 to 0x699becf7 [C] 'function int perf_event_release_kernel(perf_event*)' at core.c:4677:1 has some sub-type changes: CRC value (modversions) changed from 0x712433ac to 0x4907b97d [C] 'function void perf_trace_run_bpf_submit(void*, int, int, trace_event_call*, long long unsigned int, pt_regs*, hlist_head*, task_struct*)' at trace_events.h:632:1 has some sub-type changes: CRC value (modversions) changed from 0x5399c384 to 0xdb958dfa [C] 'function int phy_calibrate(phy*)' at phy-core.c:407:1 has some sub-type changes: CRC value (modversions) changed from 0x19cece09 to 0x49e90f7 [C] 'function phy_device* phy_connect(net_device*, const char*, void (net_device*)*, phy_interface_t)' at phy_device.c:991:1 has some sub-type changes: CRC value (modversions) changed from 0x5723d2f0 to 0xe3bc76d4 [C] 'function void phy_disconnect(phy_device*)' at phy_device.c:1023:1 has some sub-type changes: CRC value (modversions) changed from 0x3ad657ad to 0xb372f32f [C] 'function int phy_ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)' at phy.c:1190:1 has some sub-type changes: CRC value (modversions) changed from 0x9d77c354 to 0x2e1dcfd4 [C] 'function int phy_ethtool_nway_reset(net_device*)' at phy.c:1216:1 has some sub-type changes: CRC value (modversions) changed from 0x2a7a57d1 to 0xfd7da6fa [C] 'function int phy_ethtool_set_link_ksettings(net_device*, const ethtool_link_ksettings*)' at phy.c:1204:1 has some sub-type changes: CRC value (modversions) changed from 0x5ab43193 to 0x6b65c59 [C] 'function int phy_exit(phy*)' at phy-core.c:261:1 has some sub-type changes: CRC value (modversions) changed from 0x73c8e58f to 0x7f728e34 [C] 'function int phy_init(phy*)' at phy.h:203:1 has some sub-type changes: CRC value (modversions) changed from 0x5c19fe82 to 0x54a2fb0c [C] 'function int phy_mii_ioctl(phy_device*, ifreq*, int)' at phy.c:398:1 has some sub-type changes: CRC value (modversions) changed from 0xc8d550be to 0xbc55a484 [C] 'function int phy_pm_runtime_get_sync(phy*)' at phy-core.c:166:1 has some sub-type changes: CRC value (modversions) changed from 0xcbf139d1 to 0x5f32061a [C] 'function int phy_pm_runtime_put_sync(phy*)' at phy-core.c:196:1 has some sub-type changes: CRC value (modversions) changed from 0xafa6202f to 0x17e5ae67 [C] 'function int phy_power_off(phy*)' at phy.h:206:1 has some sub-type changes: CRC value (modversions) changed from 0xe9453fb5 to 0x68c10bb [C] 'function int phy_power_on(phy*)' at phy.h:205:1 has some sub-type changes: CRC value (modversions) changed from 0x4973ba01 to 0xda708b12 [C] 'function void phy_print_status(phy_device*)' at phy.c:94:1 has some sub-type changes: CRC value (modversions) changed from 0xe6be4b3f to 0xa1a06325 [C] 'function int phy_reset(phy*)' at phy-core.c:376:1 has some sub-type changes: CRC value (modversions) changed from 0x863f124 to 0xc53bd742 [C] 'function int phy_set_mode_ext(phy*, phy_mode, int)' at phy-core.c:359:1 has some sub-type changes: CRC value (modversions) changed from 0x18b388c7 to 0xdc7ae8fc [C] 'function void phy_start(phy_device*)' at phy.c:869:1 has some sub-type changes: CRC value (modversions) changed from 0x89d53aae to 0x6ca701c6 [C] 'function void phy_stop(phy_device*)' at phy.c:835:1 has some sub-type changes: CRC value (modversions) changed from 0xc71f9eb5 to 0x310a9fc5 [C] 'function void pipe_lock(pipe_inode_info*)' at pipe.c:66:1 has some sub-type changes: CRC value (modversions) changed from 0x865e733d to 0x582aa3c6 [C] 'function void pipe_unlock(pipe_inode_info*)' at pipe.c:75:1 has some sub-type changes: CRC value (modversions) changed from 0x8065fbb5 to 0x79448d4b [C] 'function int platform_device_add(platform_device*)' at platform_device.h:186:1 has some sub-type changes: CRC value (modversions) changed from 0xf8f78b6c to 0x3b630cc5 [C] 'function int platform_device_add_data(platform_device*, void*, unsigned long int)' at platform_device.h:182:1 has some sub-type changes: CRC value (modversions) changed from 0xe0399f7 to 0x59650282 [C] 'function int platform_device_add_properties(platform_device*, const property_entry*)' at platform.c:461:1 has some sub-type changes: CRC value (modversions) changed from 0x8d14b782 to 0xe5d7eb58 [C] 'function int platform_device_add_resources(platform_device*, const resource*, unsigned int)' at platform.c:407:1 has some sub-type changes: CRC value (modversions) changed from 0xe2510f2a to 0x534cee9c [C] 'function platform_device* platform_device_alloc(const char*, int)' at platform_device.h:178:1 has some sub-type changes: CRC value (modversions) changed from 0xe1485868 to 0x1dd4a2ef [C] 'function void platform_device_del(platform_device*)' at platform_device.h:187:1 has some sub-type changes: CRC value (modversions) changed from 0x638492d to 0xdfc4ccc0 [C] 'function void platform_device_put(platform_device*)' at platform_device.h:188:1 has some sub-type changes: CRC value (modversions) changed from 0x4332f23c to 0x14069492 [C] 'function int platform_device_register(platform_device*)' at platform_device.h:46:1 has some sub-type changes: CRC value (modversions) changed from 0x4c738afa to 0xb344a86d [C] 'function platform_device* platform_device_register_full(const platform_device_info*)' at platform_device.h:88:1 has some sub-type changes: CRC value (modversions) changed from 0xc6f1a083 to 0xe1b9bab8 [C] 'function void platform_device_unregister(platform_device*)' at platform_device.h:47:1 has some sub-type changes: CRC value (modversions) changed from 0x818d9f0a to 0x88de1856 [C] 'function void platform_driver_unregister(platform_driver*)' at platform_device.h:211:1 has some sub-type changes: CRC value (modversions) changed from 0xe473c836 to 0xb4f3e286 [C] 'function int platform_get_irq(platform_device*, unsigned int)' at platform_device.h:60:1 has some sub-type changes: CRC value (modversions) changed from 0x3c0cd080 to 0xadee0455 [C] 'function int platform_get_irq_byname(platform_device*, const char*)' at platform_device.h:66:1 has some sub-type changes: CRC value (modversions) changed from 0xf9de45af to 0x3bf8a52b [C] 'function int platform_get_irq_byname_optional(platform_device*, const char*)' at platform.c:296:1 has some sub-type changes: CRC value (modversions) changed from 0x7ce68ccd to 0xf9753e4b [C] 'function int platform_get_irq_optional(platform_device*, unsigned int)' at platform.c:194:1 has some sub-type changes: CRC value (modversions) changed from 0xeaf02db3 to 0xb9855646 [C] 'function resource* platform_get_resource(platform_device*, unsigned int, unsigned int)' at platform_device.h:52:1 has some sub-type changes: CRC value (modversions) changed from 0xc3f106c9 to 0xd87abd3c [C] 'function resource* platform_get_resource_byname(platform_device*, unsigned int, const char*)' at platform_device.h:63:1 has some sub-type changes: CRC value (modversions) changed from 0xb531168f to 0xc9684c3f [C] 'function int platform_irq_count(platform_device*)' at platform.c:206:1 has some sub-type changes: CRC value (modversions) changed from 0xcc0a0f84 to 0xf7bebab4 [C] 'function void platform_unregister_drivers(platform_driver* const*, unsigned int)' at platform.c:935:1 has some sub-type changes: CRC value (modversions) changed from 0x306ebe1f to 0x289793f3 [C] 'function void pm_relax(device*)' at pm_wakeup.h:103:1 has some sub-type changes: CRC value (modversions) changed from 0xd4224b4c to 0xca691666 [C] 'function void pm_stay_awake(device*)' at pm_wakeup.h:101:1 has some sub-type changes: CRC value (modversions) changed from 0xbc024dfd to 0x78037f94 [C] 'function void pm_wakeup_dev_event(device*, unsigned int, bool)' at pm_wakeup.h:105:1 has some sub-type changes: CRC value (modversions) changed from 0x2bfcea08 to 0x1f9fc5b9 [C] 'function void pm_wakeup_ws_event(wakeup_source*, unsigned int, bool)' at pm_wakeup.h:104:1 has some sub-type changes: CRC value (modversions) changed from 0x46598543 to 0x1f84ef78 [C] 'function bool policy_has_boost_freq(cpufreq_policy*)' at freq_table.c:17:1 has some sub-type changes: CRC value (modversions) changed from 0x5552414e to 0x488f89de [C] 'function void power_supply_changed(power_supply*)' at power_supply.h:403:1 has some sub-type changes: CRC value (modversions) changed from 0x629acb34 to 0x726e514c [C] 'function int power_supply_get_battery_info(power_supply*, power_supply_battery_info*)' at power_supply_core.c:565:1 has some sub-type changes: CRC value (modversions) changed from 0x4bdcfc6a to 0x2641ba7e [C] 'function power_supply* power_supply_get_by_name(const char*)' at power_supply_core.c:451:1 has some sub-type changes: CRC value (modversions) changed from 0x6cdaed92 to 0x59a3d225 [C] 'function void* power_supply_get_drvdata(power_supply*)' at power_supply.h:446:1 has some sub-type changes: CRC value (modversions) changed from 0x87fbe3ee to 0xb29c2e68 [C] 'function int power_supply_get_property(power_supply*, power_supply_property, power_supply_propval*)' at power_supply_core.c:837:1 has some sub-type changes: CRC value (modversions) changed from 0xc89b6b07 to 0x921d1855 [C] 'function int power_supply_powers(power_supply*, device*)' at power_supply.h:442:1 has some sub-type changes: CRC value (modversions) changed from 0xf95606fe to 0x38e3c952 [C] 'function void power_supply_put(power_supply*)' at power_supply_core.c:473:1 has some sub-type changes: CRC value (modversions) changed from 0x8d7dae94 to 0x2fd44cb1 [C] 'function void power_supply_put_battery_info(power_supply*, power_supply_battery_info*)' at power_supply_core.c:708:1 has some sub-type changes: CRC value (modversions) changed from 0xf9d2bf4d to 0x60fe5939 [C] 'function power_supply* power_supply_register(device*, const power_supply_desc*, const power_supply_config*)' at power_supply.h:426:1 has some sub-type changes: CRC value (modversions) changed from 0xb3ee1a19 to 0xab278ada [C] 'function int power_supply_set_property(power_supply*, power_supply_property, const power_supply_propval*)' at power_supply_core.c:851:1 has some sub-type changes: CRC value (modversions) changed from 0x537c8b1a to 0x52deaba7 [C] 'function void power_supply_unregister(power_supply*)' at power_supply.h:441:1 has some sub-type changes: CRC value (modversions) changed from 0x65a5fb21 to 0x52dae00c [C] 'function int ppp_channel_index(ppp_channel*)' at ppp_generic.c:2636:1 has some sub-type changes: CRC value (modversions) changed from 0x683d4c40 to 0x128c638f [C] 'function char* ppp_dev_name(ppp_channel*)' at ppp_channel.h:72:1 has some sub-type changes: CRC value (modversions) changed from 0x25ac40ba to 0xbc825bfe [C] 'function void ppp_input(ppp_channel*, sk_buff*)' at ppp_channel.h:50:1 has some sub-type changes: CRC value (modversions) changed from 0x435243c2 to 0x53067000 [C] 'function void ppp_input_error(ppp_channel*, int)' at ppp_generic.c:2044:1 has some sub-type changes: CRC value (modversions) changed from 0x30a0afd2 to 0x79c5edae [C] 'function void ppp_output_wakeup(ppp_channel*)' at ppp_generic.c:2722:1 has some sub-type changes: CRC value (modversions) changed from 0x2eef92c5 to 0xc884b9bc [C] 'function int ppp_register_channel(ppp_channel*)' at ppp_channel.h:60:1 has some sub-type changes: CRC value (modversions) changed from 0x7e753f0c to 0xaa9edf77 [C] 'function int ppp_register_compressor(compressor*)' at bsd_comp.c:192:1 has some sub-type changes: CRC value (modversions) changed from 0x85e05c49 to 0x2cac3435 [C] 'function int ppp_register_net_channel(net*, ppp_channel*)' at ppp_channel.h:57:1 has some sub-type changes: CRC value (modversions) changed from 0xa4790e9a to 0x1a0deb77 [C] 'function int ppp_unit_number(ppp_channel*)' at ppp_generic.c:2648:1 has some sub-type changes: CRC value (modversions) changed from 0x75a023f7 to 0x6157a75 [C] 'function void ppp_unregister_channel(ppp_channel*)' at ppp_generic.c:2685:1 has some sub-type changes: CRC value (modversions) changed from 0x6ee1e46e to 0x9b2d4cab [C] 'function void ppp_unregister_compressor(compressor*)' at bsd_comp.c:193:1 has some sub-type changes: CRC value (modversions) changed from 0x1711373 to 0xab90857e [C] 'function int pppox_compat_ioctl(socket*, unsigned int, unsigned long int)' at pppox.c:103:1 has some sub-type changes: CRC value (modversions) changed from 0x3189a7ce to 0x4931cd0c [C] 'function int pppox_ioctl(socket*, unsigned int, unsigned long int)' at pppox.c:67:1 has some sub-type changes: CRC value (modversions) changed from 0x69691a9c to 0xbb1b4b07 [C] 'function cred* prepare_kernel_cred(task_struct*)' at cred.h:166:1 has some sub-type changes: CRC value (modversions) changed from 0x98659ec to 0x5d80fd69 [C] 'function proc_dir_entry* proc_create_net_data(const char*, unsigned short int, proc_dir_entry*, const seq_operations*, unsigned int, void*)' at proc_fs.h:58:1 has some sub-type changes: CRC value (modversions) changed from 0x161b7f38 to 0xa9feb5dc [C] 'function proc_dir_entry* proc_create_net_single(const char*, umode_t, proc_dir_entry*, int (seq_file*, void*)*, void*)' at proc_net.c:194:1 has some sub-type changes: CRC value (modversions) changed from 0x6781100c to 0x79dbd924 [C] 'function proc_dir_entry* proc_create_seq_private(const char*, unsigned short int, proc_dir_entry*, const seq_operations*, unsigned int, void*)' at proc_fs.h:31:1 has some sub-type changes: CRC value (modversions) changed from 0x40b5f077 to 0xd5f8deae [C] 'function proc_dir_entry* proc_create_single_data(const char*, unsigned short int, proc_dir_entry*, int (seq_file*, void*)*, void*)' at proc_fs.h:38:1 has some sub-type changes: CRC value (modversions) changed from 0x4d08cb57 to 0xc6c7aed7 [C] 'function proc_dir_entry* proc_mkdir(const char*, proc_dir_entry*)' at proc_fs.h:24:1 has some sub-type changes: CRC value (modversions) changed from 0x38ed2192 to 0xd6e1fbe0 [C] 'function proc_dir_entry* proc_mkdir_data(const char*, umode_t, proc_dir_entry*, void*)' at generic.c:462:1 has some sub-type changes: CRC value (modversions) changed from 0x3ecbe374 to 0xc5252560 [C] 'function void proc_remove(proc_dir_entry*)' at proc_fs.h:54:1 has some sub-type changes: CRC value (modversions) changed from 0x91b68e79 to 0x81a1a21a [C] 'function void proc_set_user(proc_dir_entry*, __anonymous_struct__, __anonymous_struct__1)' at proc_fs.h:51:1 has some sub-type changes: CRC value (modversions) changed from 0x7db1804 to 0xa8a7f55 [C] 'function int proto_register(proto*, int)' at sock.h:1199:1 has some sub-type changes: CRC value (modversions) changed from 0x26a56bd8 to 0x5e99f789 [C] 'function void proto_unregister(proto*)' at sock.h:1200:1 has some sub-type changes: CRC value (modversions) changed from 0x111f45c3 to 0x73ebfd3e [C] 'function int pskb_expand_head(sk_buff*, int, int, unsigned int)' at skbuff.h:1122:1 has some sub-type changes: CRC value (modversions) changed from 0x37c874e5 to 0x1b27755c [C] 'function int pskb_trim_rcsum_slow(sk_buff*, unsigned int)' at skbuff.c:2012:1 has some sub-type changes: CRC value (modversions) changed from 0x3e2b65ba to 0x30dac9b2 [C] 'function void put_device(device*)' at device.h:1696:1 has some sub-type changes: CRC value (modversions) changed from 0x72d0f453 to 0xd64ae8ec [C] 'function void put_disk(gendisk*)' at genhd.h:653:1 has some sub-type changes: CRC value (modversions) changed from 0xe0c77eb5 to 0x522f7373 [C] 'function void put_pid(pid*)' at pid.h:86:1 has some sub-type changes: CRC value (modversions) changed from 0x155fa5f3 to 0x3d644114 [C] 'function int pwm_apply_state(pwm_device*, const pwm_state*)' at core.c:454:1 has some sub-type changes: CRC value (modversions) changed from 0x8d441688 to 0x1795588a [C] 'function void pwm_free(pwm_device*)' at core.c:443:1 has some sub-type changes: CRC value (modversions) changed from 0xfc268283 to 0x8edbbede [C] 'function void* pwm_get_chip_data(pwm_device*)' at core.c:221:1 has some sub-type changes: CRC value (modversions) changed from 0xeb9d6ca5 to 0xd5cb5bdd [C] 'function pwm_device* pwm_request(int, const char*)' at core.c:378:1 has some sub-type changes: CRC value (modversions) changed from 0xd3b59344 to 0x4d88903d [C] 'function int pwm_set_chip_data(pwm_device*, void*)' at core.c:204:1 has some sub-type changes: CRC value (modversions) changed from 0xa4ff0edf to 0xfcb2bd9c [C] 'function int pwmchip_add(pwm_chip*)' at core.c:322:1 has some sub-type changes: CRC value (modversions) changed from 0xb7446381 to 0x54c19871 [C] 'function int pwmchip_remove(pwm_chip*)' at core.c:337:1 has some sub-type changes: CRC value (modversions) changed from 0x51a10d16 to 0xaed17420 [C] 'function qcom_smem_state* qcom_smem_state_get(device*, const char*, unsigned int*)' at smem_state.c:88:1 has some sub-type changes: CRC value (modversions) changed from 0xb4fd15fd to 0xee981dc6 [C] 'function qcom_smem_state* qcom_smem_state_register(device_node*, const qcom_smem_state_ops*, void*)' at smem_state.c:160:1 has some sub-type changes: CRC value (modversions) changed from 0x25041e60 to 0x579115bd [C] 'function void qdisc_reset(Qdisc*)' at sch_generic.h:640:1 has some sub-type changes: CRC value (modversions) changed from 0x8474979d to 0x845bc1a1 [C] 'function page* read_cache_page(address_space*, unsigned long int, int (void*, page*)*, void*)' at filemap.c:2869:1 has some sub-type changes: CRC value (modversions) changed from 0xf3863d4a to 0x4c62420a [C] 'function void register_console(console*)' at console.h:175:1 has some sub-type changes: CRC value (modversions) changed from 0xfe6c7309 to 0xeb83904d [C] 'function ctl_table_header* register_net_sysctl(net*, const char*, ctl_table*)' at net_namespace.h:411:1 has some sub-type changes: CRC value (modversions) changed from 0xd621150a to 0x6bbcaeac [C] 'function int register_netdev(net_device*)' at netdevice.h:4151:1 has some sub-type changes: CRC value (modversions) changed from 0x6d222f4e to 0x56ae9c81 [C] 'function int register_netdevice(net_device*)' at netdevice.h:2687:1 has some sub-type changes: CRC value (modversions) changed from 0x5dc6af12 to 0x62662e90 [C] 'function int register_pernet_device(pernet_operations*)' at net_namespace.h:403:1 has some sub-type changes: CRC value (modversions) changed from 0x4f6c1360 to 0x4bc996cb [C] 'function int register_pernet_subsys(pernet_operations*)' at net_namespace.h:401:1 has some sub-type changes: CRC value (modversions) changed from 0x150588b6 to 0xed052478 [C] 'function int register_pppox_proto(int, const pppox_proto*)' at if_pppox.h:79:1 has some sub-type changes: CRC value (modversions) changed from 0x38f9c16c to 0x5ca3122d [C] 'function int register_shrinker(shrinker*)' at shrinker.h:92:1 has some sub-type changes: CRC value (modversions) changed from 0x7f3306b4 to 0x738870a7 [C] 'function int register_tcf_proto_ops(tcf_proto_ops*)' at pkt_cls.h:25:1 has some sub-type changes: CRC value (modversions) changed from 0x6eeceece to 0x3a15a48a [C] 'function int register_virtio_device(virtio_device*)' at virtio.c:318:1 has some sub-type changes: CRC value (modversions) changed from 0x824365c0 to 0x30ae6c5b [C] 'function int regmap_async_complete(regmap*)' at regmap.c:2973:1 has some sub-type changes: CRC value (modversions) changed from 0x6162c4d to 0x2468d623 [C] 'function int regmap_bulk_read(regmap*, unsigned int, void*, size_t)' at regmap.c:2792:1 has some sub-type changes: CRC value (modversions) changed from 0x62b415a0 to 0xdf950d76 [C] 'function int regmap_bulk_write(regmap*, unsigned int, void*, size_t)' at regmap.c:2056:1 has some sub-type changes: CRC value (modversions) changed from 0x3c97ef83 to 0x273091a5 [C] 'function void regmap_exit(regmap*)' at regmap.c:1330:1 has some sub-type changes: CRC value (modversions) changed from 0x16219f0a to 0xa8f0f0ee [C] 'function int regmap_field_read(regmap_field*, unsigned int*)' at regmap.c:2732:1 has some sub-type changes: CRC value (modversions) changed from 0xa3f84806 to 0x40c8d082 [C] 'function int regmap_field_update_bits_base(regmap_field*, unsigned int, unsigned int, bool*, bool, bool)' at regmap.c:1999:1 has some sub-type changes: CRC value (modversions) changed from 0x1671db06 to 0x76b94a25 [C] 'function int regmap_get_reg_stride(regmap*)' at regmap.c:3095:1 has some sub-type changes: CRC value (modversions) changed from 0x8af02712 to 0xddeb035c [C] 'function int regmap_get_val_bytes(regmap*)' at regmap.c:3064:1 has some sub-type changes: CRC value (modversions) changed from 0x1fff6651 to 0x642009f4 [C] 'function int regmap_multi_reg_write(regmap*, const reg_sequence*, int)' at regmap.c:2355:1 has some sub-type changes: CRC value (modversions) changed from 0x8a95f913 to 0xe22862ad [C] 'function int regmap_multi_reg_write_bypassed(regmap*, const reg_sequence*, int)' at regmap.c:2388:1 has some sub-type changes: CRC value (modversions) changed from 0xaaf66ab to 0xf59748b1 [C] 'function int regmap_raw_read(regmap*, unsigned int, void*, size_t)' at regmap.c:2585:1 has some sub-type changes: CRC value (modversions) changed from 0x42a300cf to 0xcdc1db3a [C] 'function int regmap_raw_write(regmap*, unsigned int, void*, size_t)' at regmap.c:1899:1 has some sub-type changes: CRC value (modversions) changed from 0x6080a40b to 0x577f8785 [C] 'function int regmap_raw_write_async(regmap*, unsigned int, void*, size_t)' at regmap.c:2432:1 has some sub-type changes: CRC value (modversions) changed from 0x1c18a709 to 0x57c15d01 [C] 'function int regmap_read(regmap*, unsigned int, unsigned int*)' at regmap.h:1024:1 has some sub-type changes: CRC value (modversions) changed from 0xfdb773c0 to 0x39c5294f [C] 'function int regmap_register_patch(regmap*, const reg_sequence*, int)' at regmap.c:3014:1 has some sub-type changes: CRC value (modversions) changed from 0x45ab798d to 0xaba60cb5 [C] 'function int regmap_update_bits_base(regmap*, unsigned int, unsigned int, unsigned int, bool*, bool, bool)' at regmap.h:1031:1 has some sub-type changes: CRC value (modversions) changed from 0x3868890f to 0x900bcd3d [C] 'function int regmap_write(regmap*, unsigned int, unsigned int)' at regmap.h:1009:1 has some sub-type changes: CRC value (modversions) changed from 0xf80c87f7 to 0xef7192ca [C] 'function int regulator_bulk_disable(int, regulator_bulk_data*)' at consumer.h:234:1 has some sub-type changes: CRC value (modversions) changed from 0xe4988e57 to 0x2029244d [C] 'function int regulator_bulk_enable(int, regulator_bulk_data*)' at consumer.h:232:1 has some sub-type changes: CRC value (modversions) changed from 0x8c45c7ea to 0x816335f3 [C] 'function int regulator_disable(regulator*)' at consumer.h:223:1 has some sub-type changes: CRC value (modversions) changed from 0x910d6d72 to 0xe0c9b78 [C] 'function int regulator_enable(regulator*)' at consumer.h:222:1 has some sub-type changes: CRC value (modversions) changed from 0x6101ba40 to 0xd0217f44 [C] 'function void release_firmware(const firmware*)' at firmware.h:56:1 has some sub-type changes: CRC value (modversions) changed from 0x2d7a3a6 to 0x5b6a7a83 [C] 'function void release_pages(page**, int)' at swap.c:760:1 has some sub-type changes: CRC value (modversions) changed from 0xfad61cac to 0xc128853 [C] 'function int remap_vmalloc_range(vm_area_struct*, void*, unsigned long int)' at vmalloc.c:3053:1 has some sub-type changes: CRC value (modversions) changed from 0xe527242b to 0x5bb9be8e [C] 'function void remove_proc_entry(const char*, proc_dir_entry*)' at proc_fs.h:55:1 has some sub-type changes: CRC value (modversions) changed from 0x26f65e79 to 0xc47882b2 [C] 'function int report_iommu_fault(iommu_domain*, device*, unsigned long int, int)' at iommu.c:2108:1 has some sub-type changes: CRC value (modversions) changed from 0x7c7c1629 to 0x6359cbd5 [C] 'function int request_firmware(const firmware**, const char*, device*)' at main.c:819:1 has some sub-type changes: CRC value (modversions) changed from 0x6edea27f to 0xfe40bd72 [C] 'function int request_firmware_direct(const firmware**, const char*, device*)' at main.c:871:1 has some sub-type changes: CRC value (modversions) changed from 0xaaf519ab to 0x7bf45672 [C] 'function int request_firmware_into_buf(const firmware**, const char*, device*, void*, size_t)' at main.c:925:1 has some sub-type changes: CRC value (modversions) changed from 0x2f095410 to 0xf0ee759 [C] 'function int request_firmware_nowait(module*, bool, const char*, device*, gfp_t, void*, void (const firmware*, void*)*)' at main.c:1007:1 has some sub-type changes: CRC value (modversions) changed from 0x7c619a64 to 0x53170dd7 [C] 'function int reset_controller_register(reset_controller_dev*)' at reset-controller.h:81:1 has some sub-type changes: CRC value (modversions) changed from 0x940f6086 to 0x119f474d [C] 'function rfkill* rfkill_alloc(const char*, device*, rfkill_type, const rfkill_ops*, void*)' at rfkill.h:79:1 has some sub-type changes: CRC value (modversions) changed from 0x9fcb2d83 to 0xe821f93b [C] 'function void rndis_deregister(rndis_params*)' at rndis.h:182:1 has some sub-type changes: CRC value (modversions) changed from 0x925ead1 to 0x1f9ae35e [C] 'function void rndis_free_response(rndis_params*, unsigned char*)' at rndis.h:193:1 has some sub-type changes: CRC value (modversions) changed from 0xa7ec8914 to 0xfc97fbc1 [C] 'function unsigned char* rndis_get_next_response(rndis_params*, unsigned int*)' at rndis.h:192:1 has some sub-type changes: CRC value (modversions) changed from 0xd0f28b27 to 0xfb47ec42 [C] 'function int rndis_msg_parser(rndis_params*, unsigned char*)' at rndis.h:180:1 has some sub-type changes: CRC value (modversions) changed from 0xf2fb9a3a to 0xbaaaaf3c [C] 'function rndis_params* rndis_register(void (void*)*, void*)' at rndis.h:181:1 has some sub-type changes: CRC value (modversions) changed from 0x2856e59c to 0xdd57ca2b [C] 'function void rndis_set_host_mac(rndis_params*, const u8*)' at rndis.c:778:1 has some sub-type changes: CRC value (modversions) changed from 0xcb8d26c2 to 0x649a4ae0 [C] 'function int rndis_set_param_dev(rndis_params*, net_device*, unsigned short int*)' at rndis.h:183:1 has some sub-type changes: CRC value (modversions) changed from 0xd9a7e0e6 to 0xa3159bb [C] 'function int rndis_set_param_medium(rndis_params*, unsigned int, unsigned int)' at rndis.h:187:1 has some sub-type changes: CRC value (modversions) changed from 0x184e53a1 to 0x729dca2c [C] 'function int rndis_set_param_vendor(rndis_params*, unsigned int, const char*)' at rndis.h:185:1 has some sub-type changes: CRC value (modversions) changed from 0x821ac9fa to 0xb7a1c837 [C] 'function int rndis_signal_connect(rndis_params*)' at rndis.h:196:1 has some sub-type changes: CRC value (modversions) changed from 0xa624cf4b to 0xbf8aef43 [C] 'function void rndis_uninit(rndis_params*)' at rndis.h:195:1 has some sub-type changes: CRC value (modversions) changed from 0x175edff5 to 0xda198ad2 [C] 'function rt6_info* rt6_lookup(net*, const in6_addr*, const in6_addr*, int, const sk_buff*, int)' at ip6_route.h:150:1 has some sub-type changes: CRC value (modversions) changed from 0x7748243a to 0x430fdf36 [C] 'function int rtnl_link_register(rtnl_link_ops*)' at rtnetlink.h:118:1 has some sub-type changes: CRC value (modversions) changed from 0x469e701 to 0x74d0c88b [C] 'function void rtnl_link_unregister(rtnl_link_ops*)' at rtnetlink.h:119:1 has some sub-type changes: CRC value (modversions) changed from 0xfe9baf9c to 0xf29aa535 [C] 'function int rtnl_register_module(module*, int, int, rtnl_doit_func, rtnl_dumpit_func, unsigned int)' at rtnetlink.c:241:1 has some sub-type changes: CRC value (modversions) changed from 0x92cbac40 to 0xbe09b02a [C] 'function void save_stack_trace_tsk(task_struct*, stack_trace*)' at stacktrace.c:201:1 has some sub-type changes: CRC value (modversions) changed from 0xe4b5577f to 0x54c0bc49 [C] 'function int sched_setattr(task_struct*, const sched_attr*)' at core.c:5046:1 has some sub-type changes: CRC value (modversions) changed from 0x13cac12d to 0xb6f442ba [C] 'function int sched_setscheduler(task_struct*, int, const sched_param*)' at core.c:5039:1 has some sub-type changes: CRC value (modversions) changed from 0x5115c3d3 to 0x47d86306 [C] 'function int sched_setscheduler_nocheck(task_struct*, int, const sched_param*)' at sched.h:1640:1 has some sub-type changes: CRC value (modversions) changed from 0x605cfda7 to 0x64655432 [C] 'function void sched_show_task(task_struct*)' at core.c:5908:1 has some sub-type changes: CRC value (modversions) changed from 0xf0efe099 to 0xd1fa3b20 [C] 'function int scsi_is_host_device(const device*)' at scsi_host.h:723:1 has some sub-type changes: CRC value (modversions) changed from 0x4a28b43e to 0x6478c25e [C] 'function int scsi_register_interface(class_interface*)' at scsi_sysfs.c:1529:1 has some sub-type changes: CRC value (modversions) changed from 0x3e8388c5 to 0x544626a0 [C] 'function void sdhci_get_property(platform_device*)' at sdhci-pltfm.c:79:1 has some sub-type changes: CRC value (modversions) changed from 0xaeb1dce3 to 0xb4474b56 [C] 'function void sdhci_pltfm_free(platform_device*)' at sdhci-pltfm.c:165:1 has some sub-type changes: CRC value (modversions) changed from 0xd84dcde0 to 0x437ef857 [C] 'function int send_sig_info(int, kernel_siginfo*, task_struct*)' at signal.h:327:1 has some sub-type changes: CRC value (modversions) changed from 0xca0282d9 to 0xc2fa3c55 [C] 'function void serdev_device_close(serdev_device*)' at core.c:196:1 has some sub-type changes: CRC value (modversions) changed from 0xbdab561 to 0x9ba8fdb1 [C] 'function int serdev_device_open(serdev_device*)' at core.c:168:1 has some sub-type changes: CRC value (modversions) changed from 0xd9bd26aa to 0x11d21c79 [C] 'function unsigned int serdev_device_set_baudrate(serdev_device*, unsigned int)' at core.c:361:1 has some sub-type changes: CRC value (modversions) changed from 0x10dc35a0 to 0xa968c2a [C] 'function void serdev_device_set_flow_control(serdev_device*, bool)' at core.c:373:1 has some sub-type changes: CRC value (modversions) changed from 0x87d567cb to 0x15c77834 [C] 'function void serdev_device_wait_until_sent(serdev_device*, long int)' at core.c:396:1 has some sub-type changes: CRC value (modversions) changed from 0xd6fba976 to 0x7b8aeefa [C] 'function int serdev_device_write(serdev_device*, const unsigned char*, size_t, long int)' at core.c:291:1 has some sub-type changes: CRC value (modversions) changed from 0x2399b031 to 0x387f4bd [C] 'function void serdev_device_write_wakeup(serdev_device*)' at core.c:236:1 has some sub-type changes: CRC value (modversions) changed from 0xf9ca1b15 to 0xb6a4be0a [C] 'function void serial8250_clear_and_reinit_fifos(uart_8250_port*)' at 8250_port.c:578:1 has some sub-type changes: CRC value (modversions) changed from 0x9db79f99 to 0x77cc94ca [C] 'function irqreturn serio_interrupt(serio*, unsigned char, unsigned int)' at serio.h:89:1 has some sub-type changes: CRC value (modversions) changed from 0x81062bdf to 0x82c23697 [C] 'function void serio_reconnect(serio*)' at serio.h:88:1 has some sub-type changes: CRC value (modversions) changed from 0xe2c5ceed to 0x3a111344 [C] 'function void serio_unregister_port(serio*)' at serio.h:97:1 has some sub-type changes: CRC value (modversions) changed from 0x7b32024b to 0x1b16f986 [C] 'function int set_cpus_allowed_ptr(task_struct*, const cpumask*)' at core.c:1697:1 has some sub-type changes: CRC value (modversions) changed from 0xb544efe0 to 0x17f5ccc2 [C] 'function int set_page_dirty(page*)' at mm.h:1622:1 has some sub-type changes: CRC value (modversions) changed from 0xe68756c3 to 0x990e3931 [C] 'function int set_page_dirty_lock(page*)' at page-writeback.c:2592:1 has some sub-type changes: CRC value (modversions) changed from 0x39cb23b0 to 0xd453e822 [C] 'function void set_user_nice(task_struct*, long int)' at sched.h:1621:1 has some sub-type changes: CRC value (modversions) changed from 0x3637abc8 to 0x330efd4 [C] 'function void shash_free_instance(crypto_instance*)' at hash.h:107:1 has some sub-type changes: CRC value (modversions) changed from 0xc8357041 to 0xda0b5034 [C] 'function int shash_register_instance(crypto_template*, shash_instance*)' at hash.h:105:1 has some sub-type changes: CRC value (modversions) changed from 0xa781a3fe to 0xca7379a2 [C] 'function page* shmem_read_mapping_page_gfp(address_space*, unsigned long int, unsigned int)' at shmem_fs.h:74:1 has some sub-type changes: CRC value (modversions) changed from 0x91b83286 to 0xf1efdee8 [C] 'function void skb_add_rx_frag(sk_buff*, int, page*, int, int, unsigned int)' at skbuff.h:2148:1 has some sub-type changes: CRC value (modversions) changed from 0x8dd2619b to 0xceaa7ef2 [C] 'function int skb_append_pagefrags(sk_buff*, page*, int, size_t)' at skbuff.c:3588:1 has some sub-type changes: CRC value (modversions) changed from 0x2abe21bd to 0x73d4a2d6 [C] 'function unsigned int skb_checksum(const sk_buff*, int, int, unsigned int)' at skbuff.h:3565:1 has some sub-type changes: CRC value (modversions) changed from 0xf31235e5 to 0x53b918a2 [C] 'function int skb_checksum_help(sk_buff*)' at netdevice.h:4391:1 has some sub-type changes: CRC value (modversions) changed from 0x57384f5b to 0xcac8719d [C] 'function sk_buff* skb_clone(sk_buff*, unsigned int)' at skbuff.h:1111:1 has some sub-type changes: CRC value (modversions) changed from 0x62ef849a to 0x9fcc52b8 [C] 'function void skb_coalesce_rx_frag(sk_buff*, int, int, unsigned int)' at skbuff.c:553:1 has some sub-type changes: CRC value (modversions) changed from 0x3344034d to 0x9675263f [C] 'function sk_buff* skb_copy(const sk_buff*, unsigned int)' at skbuff.h:1113:1 has some sub-type changes: CRC value (modversions) changed from 0x6096431a to 0x43b1be72 [C] 'function int skb_copy_bits(const sk_buff*, int, void*, int)' at skbuff.h:3513:1 has some sub-type changes: CRC value (modversions) changed from 0x275a3d1f to 0x7b926cd [C] 'function int skb_copy_datagram_iter(const sk_buff*, int, iov_iter*, int)' at skbuff.h:3490:1 has some sub-type changes: CRC value (modversions) changed from 0xeba82e4a to 0xf0d4e87 [C] 'function sk_buff* skb_copy_expand(const sk_buff*, int, int, unsigned int)' at skbuff.h:1125:1 has some sub-type changes: CRC value (modversions) changed from 0xa2fe59b9 to 0x64bde21c [C] 'function int skb_cow_data(sk_buff*, int, sk_buff**)' at skbuff.c:4303:1 has some sub-type changes: CRC value (modversions) changed from 0x212b3dd to 0xdd7378b7 [C] 'function sk_buff* skb_dequeue(sk_buff_head*)' at skbuff.h:2051:1 has some sub-type changes: CRC value (modversions) changed from 0x8dd2caf3 to 0xccfd92e9 [C] 'function sk_buff* skb_dequeue_tail(sk_buff_head*)' at skbuff.c:3054:1 has some sub-type changes: CRC value (modversions) changed from 0x5746be to 0xfecd9149 [C] 'function int skb_ensure_writable(sk_buff*, int)' at skbuff.h:3533:1 has some sub-type changes: CRC value (modversions) changed from 0x6d35c2bb to 0xe84f2f69 [C] 'function bool skb_page_frag_refill(unsigned int, page_frag*, unsigned int)' at skbuff.h:3060:1 has some sub-type changes: CRC value (modversions) changed from 0xb1d266a7 to 0xb78a39f7 [C] 'function bool skb_partial_csum_set(sk_buff*, unsigned short int, unsigned short int)' at skbuff.h:4477:1 has some sub-type changes: CRC value (modversions) changed from 0x6b1ecce7 to 0xeacdce9 [C] 'function void* skb_pull(sk_buff*, unsigned int)' at skbuff.h:2259:1 has some sub-type changes: CRC value (modversions) changed from 0xfd793a89 to 0x8856404b [C] 'function void* skb_pull_rcsum(sk_buff*, unsigned int)' at skbuff.h:3349:1 has some sub-type changes: CRC value (modversions) changed from 0xa5df24f8 to 0xc219d80a [C] 'function void* skb_push(sk_buff*, unsigned int)' at skbuff.h:2251:1 has some sub-type changes: CRC value (modversions) changed from 0xc52578c6 to 0xee994f0e [C] 'function void* skb_put(sk_buff*, unsigned int)' at skbuff.h:2195:1 has some sub-type changes: CRC value (modversions) changed from 0xe1933113 to 0x5943af04 [C] 'function void skb_queue_head(sk_buff_head*, sk_buff*)' at skbuff.h:2000:1 has some sub-type changes: CRC value (modversions) changed from 0xd221cfed to 0x26d6c666 [C] 'function void skb_queue_purge(sk_buff_head*)' at skbuff.h:2762:1 has some sub-type changes: CRC value (modversions) changed from 0x349d6dc0 to 0xe1e0abde [C] 'function void skb_queue_tail(sk_buff_head*, sk_buff*)' at skbuff.h:2017:1 has some sub-type changes: CRC value (modversions) changed from 0x944d519f to 0x579e4416 [C] 'function sk_buff* skb_realloc_headroom(sk_buff*, unsigned int)' at skbuff.h:1123:1 has some sub-type changes: CRC value (modversions) changed from 0x64332a88 to 0xe12ceec6 [C] 'function void skb_scrub_packet(sk_buff*, bool)' at skbuff.h:3528:1 has some sub-type changes: CRC value (modversions) changed from 0x2493cd69 to 0xd9e2de25 [C] 'function int skb_store_bits(sk_buff*, int, void*, int)' at skbuff.c:2550:1 has some sub-type changes: CRC value (modversions) changed from 0xe80c0f7b to 0x93f338c0 [C] 'function int skb_to_sgvec(sk_buff*, scatterlist*, int, int)' at skbuff.c:4245:1 has some sub-type changes: CRC value (modversions) changed from 0x3d0f1c75 to 0x6eb2ff9b [C] 'function int skb_to_sgvec_nomark(sk_buff*, scatterlist*, int, int)' at skbuff.c:4277:1 has some sub-type changes: CRC value (modversions) changed from 0xd04f7df4 to 0xed0c3697 [C] 'function void skb_trim(sk_buff*, unsigned int)' at skbuff.h:2658:1 has some sub-type changes: CRC value (modversions) changed from 0xc76035f3 to 0x635ce67a [C] 'function void skb_tstamp_tx(sk_buff*, skb_shared_hwtstamps*)' at skbuff.h:3816:1 has some sub-type changes: CRC value (modversions) changed from 0x967370a0 to 0x8347e06c [C] 'function void skb_unlink(sk_buff*, sk_buff_head*)' at skbuff.c:3160:1 has some sub-type changes: CRC value (modversions) changed from 0x8766c167 to 0x40d82ca2 [C] 'function int skcipher_walk_aead_decrypt(skcipher_walk*, aead_request*, bool)' at skcipher.c:570:1 has some sub-type changes: CRC value (modversions) changed from 0x51f4d178 to 0xbeb1f160 [C] 'function int skcipher_walk_aead_encrypt(skcipher_walk*, aead_request*, bool)' at skcipher.c:561:1 has some sub-type changes: CRC value (modversions) changed from 0x81c7f354 to 0xea92461c [C] 'function int skcipher_walk_done(skcipher_walk*, int)' at skcipher.h:136:1 has some sub-type changes: CRC value (modversions) changed from 0xbe2a13a0 to 0x869bb2ed [C] 'function int skcipher_walk_virt(skcipher_walk*, skcipher_request*, bool)' at skcipher.h:137:1 has some sub-type changes: CRC value (modversions) changed from 0xbcb2fb22 to 0xb967d3ce [C] 'function int snd_card_disconnect(snd_card*)' at core.h:226:1 has some sub-type changes: CRC value (modversions) changed from 0x659f0526 to 0x87f8622 [C] 'function int snd_card_free(snd_card*)' at core.h:228:1 has some sub-type changes: CRC value (modversions) changed from 0x985e314e to 0x2d2566e1 [C] 'function int snd_card_new(device*, int, const char*, module*, int, snd_card**)' at core.h:222:1 has some sub-type changes: CRC value (modversions) changed from 0x7988d647 to 0x4e15d2d6 [C] 'function int snd_card_register(snd_card*)' at core.h:231:1 has some sub-type changes: CRC value (modversions) changed from 0xb2c2922a to 0x86376c3e [C] 'function int snd_card_rw_proc_new(snd_card*, const char*, void*, void (snd_info_entry*, snd_info_buffer*)*, void (snd_info_entry*, snd_info_buffer*)*)' at info.c:875:1 has some sub-type changes: CRC value (modversions) changed from 0x604a046e to 0xf7bdeddf [C] 'function int snd_component_add(snd_card*, const char*)' at core.h:235:1 has some sub-type changes: CRC value (modversions) changed from 0x2c85c4d9 to 0x2e1e412f [C] 'function int snd_compr_stop_error(snd_compr_stream*, snd_pcm_state_t)' at compress_offload.c:755:1 has some sub-type changes: CRC value (modversions) changed from 0x30ec9342 to 0x810f6550 [C] 'function int snd_ctl_add(snd_card*, snd_kcontrol*)' at control.c:422:1 has some sub-type changes: CRC value (modversions) changed from 0x6f9b02e6 to 0x9e5700a5 [C] 'function int snd_ctl_boolean_mono_info(snd_kcontrol*, snd_ctl_elem_info*)' at control.c:1892:1 has some sub-type changes: CRC value (modversions) changed from 0xb2ad6b38 to 0x49678521 [C] 'function int snd_ctl_boolean_stereo_info(snd_kcontrol*, snd_ctl_elem_info*)' at control.c:1912:1 has some sub-type changes: CRC value (modversions) changed from 0x2468d59 to 0x5cadddb8 [C] 'function snd_kcontrol* snd_ctl_find_id(snd_card*, snd_ctl_elem_id*)' at control.c:664:1 has some sub-type changes: CRC value (modversions) changed from 0xe9dbed3c to 0xbcc2bc6a [C] 'function snd_kcontrol* snd_ctl_new1(const snd_kcontrol_new*, void*)' at control.c:228:1 has some sub-type changes: CRC value (modversions) changed from 0x55277fe6 to 0x5d918d91 [C] 'function void snd_ctl_notify(snd_card*, unsigned int, snd_ctl_elem_id*)' at control.c:141:1 has some sub-type changes: CRC value (modversions) changed from 0x736d0b72 to 0x77ab0614 [C] 'function int snd_ctl_remove(snd_card*, snd_kcontrol*)' at control.c:461:1 has some sub-type changes: CRC value (modversions) changed from 0x809563f to 0x9a39520c [C] 'function int snd_ctl_remove_id(snd_card*, snd_ctl_elem_id*)' at control.c:488:1 has some sub-type changes: CRC value (modversions) changed from 0xf81f4a22 to 0xd89476d1 [C] 'function int snd_dmaengine_pcm_close_release_chan(snd_pcm_substream*)' at pcm_dmaengine.c:360:1 has some sub-type changes: CRC value (modversions) changed from 0x202931e4 to 0x4faacb33 [C] 'function dma_chan* snd_dmaengine_pcm_get_chan(snd_pcm_substream*)' at pcm_dmaengine.c:35:1 has some sub-type changes: CRC value (modversions) changed from 0x28cf5282 to 0xb31f34ae [C] 'function int snd_dmaengine_pcm_open_request_chan(snd_pcm_substream*, dma_filter_fn, void*)' at pcm_dmaengine.c:331:1 has some sub-type changes: CRC value (modversions) changed from 0x1ef29c21 to 0x509804f8 [C] 'function snd_pcm_uframes_t snd_dmaengine_pcm_pointer(snd_pcm_substream*)' at pcm_dmaengine.c:240:1 has some sub-type changes: CRC value (modversions) changed from 0x6ef79c27 to 0x3af7ff03 [C] 'function int snd_dmaengine_pcm_prepare_slave_config(snd_pcm_substream*, snd_pcm_hw_params*, dma_slave_config*)' at soc-generic-dmaengine-pcm.c:58:1 has some sub-type changes: CRC value (modversions) changed from 0x5b66f02d to 0xce379135 [C] 'function int snd_dmaengine_pcm_trigger(snd_pcm_substream*, int)' at pcm_dmaengine.c:182:1 has some sub-type changes: CRC value (modversions) changed from 0x9af6d511 to 0xa2859e3c [C] 'function int snd_hwparams_to_dma_slave_config(const snd_pcm_substream*, const snd_pcm_hw_params*, dma_slave_config*)' at pcm_dmaengine.c:52:1 has some sub-type changes: CRC value (modversions) changed from 0xcfd3c551 to 0x2271ffe [C] 'function void snd_info_free_entry(snd_info_entry*)' at info.c:769:1 has some sub-type changes: CRC value (modversions) changed from 0x15d33595 to 0x3aec2262 [C] 'function int snd_pcm_lib_default_mmap(snd_pcm_substream*, vm_area_struct*)' at pcm_native.c:3414:1 has some sub-type changes: CRC value (modversions) changed from 0xf4f65fca to 0x642331ea [C] 'function int snd_pcm_new(snd_card*, const char*, int, int, int, snd_pcm**)' at pcm.c:773:1 has some sub-type changes: CRC value (modversions) changed from 0x75d69c35 to 0x3cbf747 [C] 'function int snd_pcm_stop(snd_pcm_substream*, int)' at pcm.h:561:1 has some sub-type changes: CRC value (modversions) changed from 0x83fb53e7 to 0x3769805 [C] 'function int snd_soc_bytes_info_ext(snd_kcontrol*, snd_ctl_elem_info*)' at soc-ops.c:755:1 has some sub-type changes: CRC value (modversions) changed from 0xf91f4751 to 0xfc35e7d6 [C] 'function int snd_soc_bytes_tlv_callback(snd_kcontrol*, int, unsigned int, unsigned int*)' at soc-ops.c:767:1 has some sub-type changes: CRC value (modversions) changed from 0xcf69282c to 0xc0a687c8 [C] 'function int snd_soc_dapm_get_enum_double(snd_kcontrol*, snd_ctl_elem_value*)' at soc-dapm.c:3432:1 has some sub-type changes: CRC value (modversions) changed from 0xcbaa6b1c to 0x521112fc [C] 'function int snd_soc_dapm_get_pin_switch(snd_kcontrol*, snd_ctl_elem_value*)' at soc-dapm.c:3554:1 has some sub-type changes: CRC value (modversions) changed from 0x8ceee9ca to 0x860bc356 [C] 'function int snd_soc_dapm_get_volsw(snd_kcontrol*, snd_ctl_elem_value*)' at soc-dapm.c:3277:1 has some sub-type changes: CRC value (modversions) changed from 0x6cdac70 to 0x7b425163 [C] 'function int snd_soc_dapm_info_pin_switch(snd_kcontrol*, snd_ctl_elem_info*)' at soc-dapm.c:3536:1 has some sub-type changes: CRC value (modversions) changed from 0xd08ea237 to 0x3661251f [C] 'function int snd_soc_dapm_new_widgets(snd_soc_card*)' at soc-dapm.h:420:1 has some sub-type changes: CRC value (modversions) changed from 0x9db4afc6 to 0x130d1c30 [C] 'function int snd_soc_dapm_put_enum_double(snd_kcontrol*, snd_ctl_elem_value*)' at soc-dapm.c:3473:1 has some sub-type changes: CRC value (modversions) changed from 0xaa2adba2 to 0x4fffe959 [C] 'function int snd_soc_dapm_put_pin_switch(snd_kcontrol*, snd_ctl_elem_value*)' at soc-dapm.c:3577:1 has some sub-type changes: CRC value (modversions) changed from 0x67a18414 to 0xdfe00246 [C] 'function int snd_soc_dapm_put_volsw(snd_kcontrol*, snd_ctl_elem_value*)' at soc-dapm.c:3340:1 has some sub-type changes: CRC value (modversions) changed from 0x5910e696 to 0xbdffaf80 [C] 'function int snd_soc_get_enum_double(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:59:1 has some sub-type changes: CRC value (modversions) changed from 0x186a0a7e to 0x9357bc94 [C] 'function int snd_soc_get_volsw(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:242:1 has some sub-type changes: CRC value (modversions) changed from 0x531e8ff1 to 0x4cd8f623 [C] 'function int snd_soc_get_volsw_range(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:537:1 has some sub-type changes: CRC value (modversions) changed from 0xba6e256e to 0xbf5a1ae9 [C] 'function int snd_soc_get_volsw_sx(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:364:1 has some sub-type changes: CRC value (modversions) changed from 0xc953f9fb to 0x2ae8c536 [C] 'function int snd_soc_get_xr_sx(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:826:1 has some sub-type changes: CRC value (modversions) changed from 0x5e3af882 to 0xa40f9feb [C] 'function int snd_soc_info_enum_double(snd_kcontrol*, snd_ctl_elem_info*)' at soc-ops.c:40:1 has some sub-type changes: CRC value (modversions) changed from 0x251f95c0 to 0x1f1c9e [C] 'function int snd_soc_info_multi_ext(snd_kcontrol*, snd_ctl_elem_info*)' at soc-core.c:3364:1 has some sub-type changes: CRC value (modversions) changed from 0x3651eab8 to 0x28ba585e [C] 'function int snd_soc_info_volsw(snd_kcontrol*, snd_ctl_elem_info*)' at soc-ops.c:181:1 has some sub-type changes: CRC value (modversions) changed from 0xc1b77856 to 0x58d4d307 [C] 'function int snd_soc_info_volsw_range(snd_kcontrol*, snd_ctl_elem_info*)' at soc-ops.c:455:1 has some sub-type changes: CRC value (modversions) changed from 0x4641f7e3 to 0xd427ea20 [C] 'function int snd_soc_info_volsw_sx(snd_kcontrol*, snd_ctl_elem_info*)' at soc-ops.c:216:1 has some sub-type changes: CRC value (modversions) changed from 0x5d6109d7 to 0xebb7b642 [C] 'function int snd_soc_info_xr_sx(snd_kcontrol*, snd_ctl_elem_info*)' at soc-ops.c:799:1 has some sub-type changes: CRC value (modversions) changed from 0x88aa35dc to 0x37692840 [C] 'function int snd_soc_of_get_dai_name(device_node*, const char**)' at soc-core.c:3444:1 has some sub-type changes: CRC value (modversions) changed from 0x2c8cbd5d to 0xa2787747 [C] 'function unsigned int snd_soc_of_parse_daifmt(device_node*, const char*, device_node**, device_node**)' at soc-core.c:3210:1 has some sub-type changes: CRC value (modversions) changed from 0xd9c48d58 to 0x71a5e45f [C] 'function void snd_soc_of_parse_node_prefix(device_node*, snd_soc_codec_conf*, device_node*, const char*)' at soc-core.c:3135:1 has some sub-type changes: CRC value (modversions) changed from 0xc90d9aa to 0xf6920519 [C] 'function int snd_soc_of_parse_tdm_slot(device_node*, unsigned int*, unsigned int*, unsigned int*, unsigned int*)' at soc-core.c:3099:1 has some sub-type changes: CRC value (modversions) changed from 0x3eef06a6 to 0xb1e1122f [C] 'function int snd_soc_put_enum_double(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:93:1 has some sub-type changes: CRC value (modversions) changed from 0x6167f6d3 to 0x6382e5e3 [C] 'function int snd_soc_put_volsw(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:302:1 has some sub-type changes: CRC value (modversions) changed from 0x5421883d to 0x5bc0ea65 [C] 'function int snd_soc_put_volsw_range(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:485:1 has some sub-type changes: CRC value (modversions) changed from 0xc363d9c3 to 0x4f8f439e [C] 'function int snd_soc_put_volsw_sx(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:408:1 has some sub-type changes: CRC value (modversions) changed from 0xa8c12d22 to 0xabe4f158 [C] 'function int snd_soc_put_xr_sx(snd_kcontrol*, snd_ctl_elem_value*)' at soc-ops.c:875:1 has some sub-type changes: CRC value (modversions) changed from 0x5905ff4e to 0xb31783ad [C] 'function void snd_soc_unregister_component(device*)' at soc-core.c:2929:1 has some sub-type changes: CRC value (modversions) changed from 0xff01a543 to 0xe1cb72cf [C] 'function void snd_timer_interrupt(snd_timer*, unsigned long int)' at timer.h:129:1 has some sub-type changes: CRC value (modversions) changed from 0x57d22fa8 to 0x56cd0168 [C] 'function void sock_efree(sk_buff*)' at sock.c:2064:1 has some sub-type changes: CRC value (modversions) changed from 0x90fa62cc to 0xd9e792ec [C] 'function int sock_gettstamp(socket*, void*, bool, bool)' at sock.c:3011:1 has some sub-type changes: CRC value (modversions) changed from 0xb61eba45 to 0xdcecc349 [C] 'function int spi_bus_lock(spi_controller*)' at spi.c:3537:1 has some sub-type changes: CRC value (modversions) changed from 0xedbbe6ff to 0xddddd252 [C] 'function int spi_bus_unlock(spi_controller*)' at spi.c:3566:1 has some sub-type changes: CRC value (modversions) changed from 0x8f019f5a to 0x1c821f5 [C] 'function spi_controller* spi_busnum_to_master(u16)' at spi.c:2660:1 has some sub-type changes: CRC value (modversions) changed from 0xf25bd648 to 0x188bffe6 [C] 'function int spi_controller_resume(spi_controller*)' at spi.c:2624:1 has some sub-type changes: CRC value (modversions) changed from 0x98b07e0e to 0xf9dd6247 [C] 'function int spi_controller_suspend(spi_controller*)' at spi.c:2608:1 has some sub-type changes: CRC value (modversions) changed from 0xd2731f22 to 0xd26f1fc9 [C] 'function void spi_finalize_current_message(spi_controller*)' at spi.c:1504:1 has some sub-type changes: CRC value (modversions) changed from 0x748fbf90 to 0x722bb200 [C] 'function void spi_finalize_current_transfer(spi_controller*)' at spi.c:1247:1 has some sub-type changes: CRC value (modversions) changed from 0xd9785d8d to 0xea0a335d [C] 'function spi_message* spi_get_next_queued_message(spi_controller*)' at spi.c:1482:1 has some sub-type changes: CRC value (modversions) changed from 0x91d1d3bd to 0x39adead2 [C] 'function int spi_register_controller(spi_controller*)' at spi.c:2382:1 has some sub-type changes: CRC value (modversions) changed from 0x8fa6c08f to 0x51522909 [C] 'function int spi_setup(spi_device*)' at spi.c:3035:1 has some sub-type changes: CRC value (modversions) changed from 0xdca68b87 to 0x2e4fb110 [C] 'function int spi_sync(spi_device*, spi_message*)' at spi.h:1098:1 has some sub-type changes: CRC value (modversions) changed from 0xf0f480b0 to 0xb25cb5f4 [C] 'function int spi_sync_locked(spi_device*, spi_message*)' at spi.c:3516:1 has some sub-type changes: CRC value (modversions) changed from 0x854356e9 to 0x12e2d01e [C] 'function void spi_unregister_controller(spi_controller*)' at spi.c:2580:1 has some sub-type changes: CRC value (modversions) changed from 0xdeee5de9 to 0x7a98904b [C] 'function void spi_unregister_device(spi_device*)' at spi.c:689:1 has some sub-type changes: CRC value (modversions) changed from 0xded186b0 to 0x9b1d4674 [C] 'function void split_page(page*, unsigned int)' at mm.h:778:1 has some sub-type changes: CRC value (modversions) changed from 0x104dc206 to 0xf987921a [C] 'function int spmi_controller_add(spmi_controller*)' at spmi.c:508:1 has some sub-type changes: CRC value (modversions) changed from 0x757ec197 to 0x421a0217 [C] 'function spmi_controller* spmi_controller_alloc(device*, size_t)' at spmi.c:413:1 has some sub-type changes: CRC value (modversions) changed from 0xd632fad8 to 0x58444f2a [C] 'function void spmi_controller_remove(spmi_controller*)' at spmi.c:546:1 has some sub-type changes: CRC value (modversions) changed from 0x3426af6 to 0x4c9d4dd0 [C] 'function int spmi_ext_register_read(spmi_device*, u8, u8*, size_t)' at spmi.c:161:1 has some sub-type changes: CRC value (modversions) changed from 0xbb5c6f38 to 0xcfd3e53c [C] 'function int spmi_ext_register_readl(spmi_device*, u16, u8*, size_t)' at spmi.c:183:1 has some sub-type changes: CRC value (modversions) changed from 0xadcf7006 to 0x4be7618e [C] 'function int spmi_ext_register_write(spmi_device*, u8, const u8*, size_t)' at spmi.c:238:1 has some sub-type changes: CRC value (modversions) changed from 0xd307982c to 0x425ca5a1 [C] 'function int spmi_ext_register_writel(spmi_device*, u16, const u8*, size_t)' at spmi.c:260:1 has some sub-type changes: CRC value (modversions) changed from 0x3e5fb8d7 to 0xc408db9b [C] 'function int spmi_register_read(spmi_device*, u8, u8*)' at spmi.c:140:1 has some sub-type changes: CRC value (modversions) changed from 0x94734d31 to 0xae60f39 [C] 'function int spmi_register_write(spmi_device*, u8, u8)' at spmi.c:203:1 has some sub-type changes: CRC value (modversions) changed from 0xb3ffe5af to 0x76e873de [C] 'function int spmi_register_zero_write(spmi_device*, u8)' at spmi.c:221:1 has some sub-type changes: CRC value (modversions) changed from 0x66392d77 to 0x39056fef [C] 'function void srcu_init_notifier_head(srcu_notifier_head*)' at notifier.c:525:1 has some sub-type changes: CRC value (modversions) changed from 0xe85cb0cd to 0xd5e17e48 [C] 'function int srcu_notifier_call_chain(srcu_notifier_head*, unsigned long int, void*)' at notifier.c:506:1 has some sub-type changes: CRC value (modversions) changed from 0xa616ce56 to 0x638c7b16 [C] 'function int srcu_notifier_chain_register(srcu_notifier_head*, notifier_block*)' at notifier.c:423:1 has some sub-type changes: CRC value (modversions) changed from 0xbf88f0ea to 0x2d41972d [C] 'function int srcu_notifier_chain_unregister(srcu_notifier_head*, notifier_block*)' at notifier.c:453:1 has some sub-type changes: CRC value (modversions) changed from 0x6bd47d51 to 0x4294849c [C] 'function int subsys_system_register(bus_type*, const attribute_group**)' at bus.c:1156:1 has some sub-type changes: CRC value (modversions) changed from 0x6dab2dd8 to 0xbe41af46 [C] 'function int sync_mapping_buffers(address_space*)' at buffer_head.h:174:1 has some sub-type changes: CRC value (modversions) changed from 0xd204b73b to 0xc758770d [C] 'function void synchronize_srcu(srcu_struct*)' at srcu.h:62:1 has some sub-type changes: CRC value (modversions) changed from 0x65e642bf to 0xcf5865f0 [C] 'function int sysfs_add_file_to_group(kobject*, const attribute*, const char*)' at file.c:357:1 has some sub-type changes: CRC value (modversions) changed from 0x42488c69 to 0x4e2ee63d [C] 'function int sysfs_create_bin_file(kobject*, const bin_attribute*)' at sysfs.h:257:1 has some sub-type changes: CRC value (modversions) changed from 0xf009ccef to 0xe9bb288a [C] 'function int sysfs_create_file_ns(kobject*, const attribute*, void*)' at sysfs.h:242:1 has some sub-type changes: CRC value (modversions) changed from 0x24faf8b1 to 0x551e1c38 [C] 'function int sysfs_create_files(kobject*, const attribute* const*)' at file.c:337:1 has some sub-type changes: CRC value (modversions) changed from 0x8381c2b3 to 0x82516b95 [C] 'function int sysfs_create_link(kobject*, kobject*, const char*)' at sysfs.h:262:1 has some sub-type changes: CRC value (modversions) changed from 0x332d626e to 0x277a56f [C] 'function void sysfs_notify(kobject*, const char*, const char*)' at sysfs.h:304:1 has some sub-type changes: CRC value (modversions) changed from 0x9efeca63 to 0xc48c4e33 [C] 'function void sysfs_remove_bin_file(kobject*, const bin_attribute*)' at sysfs.h:259:1 has some sub-type changes: CRC value (modversions) changed from 0xb8a2202 to 0x723360d0 [C] 'function void sysfs_remove_file_from_group(kobject*, const attribute*, const char*)' at file.c:511:1 has some sub-type changes: CRC value (modversions) changed from 0xf0216777 to 0xbdbafda1 [C] 'function void sysfs_remove_file_ns(kobject*, const attribute*, void*)' at sysfs.h:252:1 has some sub-type changes: CRC value (modversions) changed from 0xafdfc813 to 0xf373170f [C] 'function void sysfs_remove_files(kobject*, const attribute* const*)' at file.c:496:1 has some sub-type changes: CRC value (modversions) changed from 0x5dc1df98 to 0x9745b37 [C] 'function void sysfs_remove_link(kobject*, const char*)' at sysfs.h:267:1 has some sub-type changes: CRC value (modversions) changed from 0x3a79f16c to 0x429b0464 [C] 'function int tcf_action_exec(sk_buff*, tc_action**, int, tcf_result*)' at act_api.h:175:1 has some sub-type changes: CRC value (modversions) changed from 0x18c93642 to 0xb7a86582 [C] 'function void tcf_exts_destroy(tcf_exts*)' at pkt_cls.h:309:1 has some sub-type changes: CRC value (modversions) changed from 0x990f2824 to 0xee4e4167 [C] 'function int tcf_exts_dump(sk_buff*, tcf_exts*)' at pkt_cls.h:311:1 has some sub-type changes: CRC value (modversions) changed from 0xaef04457 to 0x58ebd9cf [C] 'function int tcf_exts_dump_stats(sk_buff*, tcf_exts*)' at pkt_cls.h:312:1 has some sub-type changes: CRC value (modversions) changed from 0x2b6ed2e7 to 0x8ea2c2e [C] 'function int tcf_exts_validate(net*, tcf_proto*, nlattr**, nlattr*, tcf_exts*, bool, bool, netlink_ext_ack*)' at pkt_cls.h:305:1 has some sub-type changes: CRC value (modversions) changed from 0xfd936c0f to 0x8d48dbf5 [C] 'function void thermal_cooling_device_unregister(thermal_cooling_device*)' at thermal.h:455:1 has some sub-type changes: CRC value (modversions) changed from 0xba01b83d to 0x4f02600b [C] 'function thermal_cooling_device* thermal_of_cooling_device_register(device_node*, const char*, void*, const thermal_cooling_device_ops*)' at thermal_core.c:1047:1 has some sub-type changes: CRC value (modversions) changed from 0xfa46a957 to 0x727f9c6c [C] 'function thermal_zone_device* thermal_zone_device_register(const char*, int, int, void*, thermal_zone_device_ops*, thermal_zone_params*, int, int)' at thermal.h:430:1 has some sub-type changes: CRC value (modversions) changed from 0xeb6af2f7 to 0x5dc021c3 [C] 'function void thermal_zone_device_unregister(thermal_zone_device*)' at thermal.h:433:1 has some sub-type changes: CRC value (modversions) changed from 0x5295dbe7 to 0x6e44bfea [C] 'function void thermal_zone_device_update(thermal_zone_device*, thermal_notify_event)' at thermal.h:441:1 has some sub-type changes: CRC value (modversions) changed from 0xbe142410 to 0x82af3e7b [C] 'function thermal_zone_device* thermal_zone_get_zone_by_name(const char*)' at thermal_core.c:1439:1 has some sub-type changes: CRC value (modversions) changed from 0x3d36b672 to 0xf95015bc [C] 'function int trace_define_field(trace_event_call*, const char*, const char*, int, int, int, int)' at trace_events.h:542:1 has some sub-type changes: CRC value (modversions) changed from 0x72f3ce5 to 0x4b2736a8 [C] 'function int trace_event_raw_init(trace_event_call*)' at trace_events.c:218:1 has some sub-type changes: CRC value (modversions) changed from 0x8f343b73 to 0x82fe8ed0 [C] 'function int trace_event_reg(trace_event_call*, trace_reg, void*)' at trace_events.c:280:1 has some sub-type changes: CRC value (modversions) changed from 0xc753122f to 0xeca37704 [C] 'function int trace_raw_output_prep(trace_iterator*, trace_event*)' at trace_events.h:51:1 has some sub-type changes: CRC value (modversions) changed from 0x85c0f846 to 0x1577e1c4 [C] 'function bool try_module_get(module*)' at module.h:632:1 has some sub-type changes: CRC value (modversions) changed from 0x4015c2f5 to 0xd79e5c98 [C] 'function void ttm_bo_add_to_lru(ttm_buffer_object*)' at ttm_bo.c:196:1 has some sub-type changes: CRC value (modversions) changed from 0x73cb327d to 0x5d2b669a [C] 'function void ttm_bo_del_sub_from_lru(ttm_buffer_object*)' at ttm_bo.c:227:1 has some sub-type changes: CRC value (modversions) changed from 0x4c98f293 to 0x32683d86 [C] 'function void ttm_eu_backoff_reservation(ww_acquire_ctx*, list_head*)' at ttm_execbuf_util.c:56:1 has some sub-type changes: CRC value (modversions) changed from 0x367067ec to 0x77167bc7 [C] 'function void ttm_eu_fence_buffer_objects(ww_acquire_ctx*, list_head*, dma_fence*)' at ttm_execbuf_util.c:185:1 has some sub-type changes: CRC value (modversions) changed from 0xcc4f9121 to 0x661a03e3 [C] 'function int ttm_eu_reserve_buffers(ww_acquire_ctx*, list_head*, bool, list_head*, bool)' at ttm_execbuf_util.c:95:1 has some sub-type changes: CRC value (modversions) changed from 0xa4a735c to 0x63785df4 [C] 'function void typec_altmode_update_active(typec_altmode*, bool)' at class.c:280:1 has some sub-type changes: CRC value (modversions) changed from 0xb706c01f to 0xa063d33a [C] 'function typec_altmode* typec_partner_register_altmode(typec_partner*, const typec_altmode_desc*)' at class.c:630:1 has some sub-type changes: CRC value (modversions) changed from 0x7fd56c2 to 0x5f6bfc9b [C] 'function typec_altmode* typec_port_register_altmode(typec_port*, const typec_altmode_desc*)' at class.c:1513:1 has some sub-type changes: CRC value (modversions) changed from 0xd416f2 to 0x2df69f03 [C] 'function typec_port* typec_register_port(device*, const typec_capability*)' at class.c:1542:1 has some sub-type changes: CRC value (modversions) changed from 0x5b369402 to 0xb01551b9 [C] 'function void typec_unregister_altmode(typec_altmode*)' at class.c:547:1 has some sub-type changes: CRC value (modversions) changed from 0x3c561d85 to 0xf7ca06f1 [C] 'function void ufshcd_crypto_disable_spec(ufs_hba*)' at ufshcd-crypto.c:250:1 has some sub-type changes: CRC value (modversions) changed from 0xd0908a33 to 0x6aa8dbf5 [C] 'function void ufshcd_crypto_enable_spec(ufs_hba*)' at ufshcd-crypto.c:238:1 has some sub-type changes: CRC value (modversions) changed from 0x8c060c50 to 0x6d466143 [C] 'function int ufshcd_pltfrm_resume(device*)' at ufshcd-pltfrm.c:238:1 has some sub-type changes: CRC value (modversions) changed from 0xd5bde736 to 0xdee9d951 [C] 'function int ufshcd_pltfrm_runtime_idle(device*)' at ufshcd-pltfrm.c:256:1 has some sub-type changes: CRC value (modversions) changed from 0x2bc7f5db to 0x4c8e7eb7 [C] 'function int ufshcd_pltfrm_runtime_resume(device*)' at ufshcd-pltfrm.c:250:1 has some sub-type changes: CRC value (modversions) changed from 0x2bf9bc48 to 0x71180785 [C] 'function int ufshcd_pltfrm_runtime_suspend(device*)' at ufshcd-pltfrm.c:244:1 has some sub-type changes: CRC value (modversions) changed from 0xd5bdc45b to 0x43cda17 [C] 'function void ufshcd_pltfrm_shutdown(platform_device*)' at ufshcd-pltfrm.c:264:1 has some sub-type changes: CRC value (modversions) changed from 0x2b8514ba to 0xfcf2d298 [C] 'function int ufshcd_pltfrm_suspend(device*)' at ufshcd-pltfrm.c:225:1 has some sub-type changes: CRC value (modversions) changed from 0x62fedc3b to 0x852d3d04 [C] 'function void ufshcd_release(ufs_hba*)' at ufshcd.c:1794:1 has some sub-type changes: CRC value (modversions) changed from 0xe030ac28 to 0x60ee7baa [C] 'function void unload_nls(nls_table*)' at nls.h:51:1 has some sub-type changes: CRC value (modversions) changed from 0x2c23355b to 0xb4aa5227 [C] 'function void unlock_page(page*)' at pagemap.h:462:1 has some sub-type changes: CRC value (modversions) changed from 0xdc629512 to 0x22c70652 [C] 'function void unregister_binfmt(linux_binfmt*)' at binfmts.h:118:1 has some sub-type changes: CRC value (modversions) changed from 0x3d2915ac to 0x20502cc0 [C] 'function void unregister_netdev(net_device*)' at netdevice.h:4152:1 has some sub-type changes: CRC value (modversions) changed from 0xad6126c2 to 0xad8b05a1 [C] 'function void unregister_netdevice_queue(net_device*, list_head*)' at netdevice.h:2688:1 has some sub-type changes: CRC value (modversions) changed from 0x5e867c14 to 0xf66bbd99 [C] 'function void unregister_pernet_device(pernet_operations*)' at net_namespace.h:404:1 has some sub-type changes: CRC value (modversions) changed from 0x2664975 to 0x7ece3807 [C] 'function void unregister_pernet_subsys(pernet_operations*)' at net_namespace.h:402:1 has some sub-type changes: CRC value (modversions) changed from 0x580fd2a3 to 0xd8028ab4 [C] 'function void unregister_shrinker(shrinker*)' at vmscan.c:446:1 has some sub-type changes: CRC value (modversions) changed from 0x2377e587 to 0xa26337d4 [C] 'function int unregister_tcf_proto_ops(tcf_proto_ops*)' at pkt_cls.h:26:1 has some sub-type changes: CRC value (modversions) changed from 0x20c45135 to 0xe8602121 [C] 'function void unregister_virtio_device(virtio_device*)' at virtio.c:360:1 has some sub-type changes: CRC value (modversions) changed from 0x17b6724a to 0xce464c36 [C] 'function int update_devfreq(devfreq*)' at devfreq.h:214:1 has some sub-type changes: CRC value (modversions) changed from 0x5cd327c6 to 0x5245e61c [C] 'function int usb_add_function(usb_configuration*, usb_function*)' at composite.c:300:1 has some sub-type changes: CRC value (modversions) changed from 0x1077606d to 0x3446aef1 [C] 'function int usb_add_gadget_udc(device*, usb_gadget*)' at gadget.h:742:1 has some sub-type changes: CRC value (modversions) changed from 0x8fe2b1f3 to 0x3342822f [C] 'function int usb_add_hcd(usb_hcd*, unsigned int, unsigned long int)' at hcd.h:479:1 has some sub-type changes: CRC value (modversions) changed from 0xce3f7637 to 0x93d1d1e1 [C] 'function int usb_add_phy_dev(usb_phy*)' at phy.c:661:1 has some sub-type changes: CRC value (modversions) changed from 0x855360ba to 0x3079326f [C] 'function void* usb_alloc_coherent(usb_device*, unsigned long int, unsigned int, long long unsigned int*)' at usb.h:1788:1 has some sub-type changes: CRC value (modversions) changed from 0x57d74d50 to 0x1de29403 [C] 'function usb_device* usb_alloc_dev(usb_device*, usb_bus*, unsigned int)' at usb.c:575:1 has some sub-type changes: CRC value (modversions) changed from 0x5d48a42f to 0xa8152d6b [C] 'function urb* usb_alloc_urb(int, unsigned int)' at usb.h:1736:1 has some sub-type changes: CRC value (modversions) changed from 0x7ca348be to 0x34486114 [C] 'function void usb_anchor_urb(urb*, usb_anchor*)' at usb.h:1752:1 has some sub-type changes: CRC value (modversions) changed from 0x8c620a5b to 0xaf121efb [C] 'function int usb_assign_descriptors(usb_function*, usb_descriptor_header**, usb_descriptor_header**, usb_descriptor_header**, usb_descriptor_header**)' at gadget.h:810:1 has some sub-type changes: CRC value (modversions) changed from 0x5a301101 to 0x42be917b [C] 'function int usb_bulk_msg(usb_device*, unsigned int, void*, int, int*, int)' at message.c:229:1 has some sub-type changes: CRC value (modversions) changed from 0xde961f3c to 0xcdf87b0f [C] 'function int usb_clear_halt(usb_device*, int)' at usb.h:1845:1 has some sub-type changes: CRC value (modversions) changed from 0x5402713f to 0x89160647 [C] 'function void usb_composite_setup_continue(usb_composite_dev*)' at composite.c:2447:1 has some sub-type changes: CRC value (modversions) changed from 0xd53cb07e to 0x597c321b [C] 'function int usb_control_msg(usb_device*, unsigned int, unsigned char, unsigned char, unsigned short int, unsigned short int, void*, unsigned short int, int)' at usb.h:1813:1 has some sub-type changes: CRC value (modversions) changed from 0xab751977 to 0xd057db6e [C] 'function usb_hcd* usb_create_hcd(const hc_driver*, device*, const char*)' at hcd.h:471:1 has some sub-type changes: CRC value (modversions) changed from 0x501494f8 to 0x9d9443f3 [C] 'function usb_hcd* usb_create_shared_hcd(const hc_driver*, device*, const char*, usb_hcd*)' at hcd.h:473:1 has some sub-type changes: CRC value (modversions) changed from 0x9c618cc to 0xf6897f5f [C] 'function void usb_del_gadget_udc(usb_gadget*)' at gadget.h:743:1 has some sub-type changes: CRC value (modversions) changed from 0x4f3aefe0 to 0xee4091f6 [C] 'function usb_ep* usb_ep_autoconfig(usb_gadget*, usb_endpoint_descriptor*)' at gadget.h:891:1 has some sub-type changes: CRC value (modversions) changed from 0x2ea0be9d to 0x4b9bbcb4 [C] 'function void usb_free_all_descriptors(usb_function*)' at gadget.h:815:1 has some sub-type changes: CRC value (modversions) changed from 0x1730eb94 to 0x5890d3fb [C] 'function void usb_free_coherent(usb_device*, unsigned long int, void*, long long unsigned int)' at usb.h:1790:1 has some sub-type changes: CRC value (modversions) changed from 0x2d63313b to 0x13d5d135 [C] 'function void usb_free_urb(urb*)' at usb.h:1737:1 has some sub-type changes: CRC value (modversions) changed from 0xf87ff4cf to 0x5dd12d01 [C] 'function int usb_function_register(usb_function_driver*)' at composite.h:600:1 has some sub-type changes: CRC value (modversions) changed from 0x676d5e8 to 0x6cbe72e7 [C] 'function void usb_function_unregister(usb_function_driver*)' at composite.h:599:1 has some sub-type changes: CRC value (modversions) changed from 0xa5a231ce to 0x5acbe643 [C] 'function int usb_gadget_map_request_by_dev(device*, usb_request*, int)' at core.c:814:1 has some sub-type changes: CRC value (modversions) changed from 0x4b94a99 to 0x7ae5588 [C] 'function int usb_gadget_probe_driver(usb_gadget_driver*)' at gadget.h:723:1 has some sub-type changes: CRC value (modversions) changed from 0x4fa06015 to 0x3da3b3d2 [C] 'function void usb_gadget_set_state(usb_gadget*, usb_device_state)' at gadget.h:851:1 has some sub-type changes: CRC value (modversions) changed from 0x9bd9db2a to 0xb3a465f3 [C] 'function void usb_gadget_udc_reset(usb_gadget*, usb_gadget_driver*)' at gadget.h:857:1 has some sub-type changes: CRC value (modversions) changed from 0x2ece0b1b to 0xa1a354a3 [C] 'function void usb_gadget_unmap_request_by_dev(device*, usb_request*, int)' at core.c:862:1 has some sub-type changes: CRC value (modversions) changed from 0x86114005 to 0x9df3d0b0 [C] 'function int usb_gadget_unregister_driver(usb_gadget_driver*)' at gadget.h:738:1 has some sub-type changes: CRC value (modversions) changed from 0x41feb3e7 to 0x44d1daab [C] 'function int usb_gadget_vbus_connect(usb_gadget*)' at core.c:577:1 has some sub-type changes: CRC value (modversions) changed from 0xe18fbca4 to 0xe7cc2741 [C] 'function int usb_gadget_vbus_disconnect(usb_gadget*)' at core.c:638:1 has some sub-type changes: CRC value (modversions) changed from 0x612b7314 to 0xa17a51e2 [C] 'function int usb_gadget_vbus_draw(usb_gadget*, unsigned int)' at gadget.h:574:1 has some sub-type changes: CRC value (modversions) changed from 0xa29d8c48 to 0xd1d9fbc9 [C] 'function int usb_gadget_wakeup(usb_gadget*)' at core.c:491:1 has some sub-type changes: CRC value (modversions) changed from 0x7413ed29 to 0x8c99a8b9 [C] 'function int usb_get_current_frame_number(usb_device*)' at usb.c:841:1 has some sub-type changes: CRC value (modversions) changed from 0x8ffdfeb6 to 0x48ec7eff [C] 'function usb_device* usb_get_dev(usb_device*)' at usb.h:740:1 has some sub-type changes: CRC value (modversions) changed from 0x1a6cf832 to 0xe67b4015 [C] 'function usb_dr_mode usb_get_dr_mode(device*)' at common.c:131:1 has some sub-type changes: CRC value (modversions) changed from 0xcd1e123c to 0x9738ac08 [C] 'function urb* usb_get_from_anchor(usb_anchor*)' at usb.h:1756:1 has some sub-type changes: CRC value (modversions) changed from 0xee05566 to 0xf3a70696 [C] 'function usb_interface* usb_get_intf(usb_interface*)' at usb.c:741:1 has some sub-type changes: CRC value (modversions) changed from 0x30793fb2 to 0xd643cc0a [C] 'function usb_device_speed usb_get_maximum_speed(device*)' at common.c:80:1 has some sub-type changes: CRC value (modversions) changed from 0xf2bd62ea to 0xdf1a79a0 [C] 'function urb* usb_get_urb(urb*)' at usb.h:1739:1 has some sub-type changes: CRC value (modversions) changed from 0x5b651912 to 0x27af8b5 [C] 'function usb_string* usb_gstrings_attach(usb_composite_dev*, usb_gadget_strings**, unsigned int)' at composite.h:522:1 has some sub-type changes: CRC value (modversions) changed from 0x44eac561 to 0x195e1732 [C] 'function void usb_hc_died(usb_hcd*)' at hcd.c:2360:1 has some sub-type changes: CRC value (modversions) changed from 0x76a32628 to 0x3c0ef14 [C] 'function int usb_hcd_check_unlink_urb(usb_hcd*, urb*, int)' at hcd.h:443:1 has some sub-type changes: CRC value (modversions) changed from 0x1da65cad to 0xc464dcf6 [C] 'function void usb_hcd_end_port_resume(usb_bus*, int)' at hcd.c:1059:1 has some sub-type changes: CRC value (modversions) changed from 0x1f745f23 to 0xe80a1266 [C] 'function void usb_hcd_giveback_urb(usb_hcd*, urb*, int)' at hcd.h:449:1 has some sub-type changes: CRC value (modversions) changed from 0xb9567254 to 0xf43eb072 [C] 'function int usb_hcd_is_primary_hcd(usb_hcd*)' at hcd.h:478:1 has some sub-type changes: CRC value (modversions) changed from 0x6dc5fdd5 to 0xbe792a14 [C] 'function int usb_hcd_link_urb_to_ep(usb_hcd*, urb*)' at hcd.h:442:1 has some sub-type changes: CRC value (modversions) changed from 0xb1cfdf4c to 0x5963856 [C] 'function int usb_hcd_map_urb_for_dma(usb_hcd*, urb*, gfp_t)' at hcd.c:1397:1 has some sub-type changes: CRC value (modversions) changed from 0xf0c795b6 to 0xd080bf13 [C] 'function int usb_hcd_pci_probe(pci_dev*, const pci_device_id*)' at hcd.h:492:1 has some sub-type changes: CRC value (modversions) changed from 0xfe9185a1 to 0xaab3ba01 [C] 'function void usb_hcd_pci_remove(pci_dev*)' at hcd.h:494:1 has some sub-type changes: CRC value (modversions) changed from 0x33e87877 to 0x4993eb4b [C] 'function void usb_hcd_pci_shutdown(pci_dev*)' at hcd-pci.c:353:1 has some sub-type changes: CRC value (modversions) changed from 0xb0ee93cb to 0xc28db2b9 [C] 'function void usb_hcd_platform_shutdown(platform_device*)' at hcd.c:2909:1 has some sub-type changes: CRC value (modversions) changed from 0x5ad8f86 to 0x2d7e2b5c [C] 'function void usb_hcd_poll_rh_status(usb_hcd*)' at hcd.h:518:1 has some sub-type changes: CRC value (modversions) changed from 0xf910cf5a to 0xbf71c93d [C] 'function void usb_hcd_resume_root_hub(usb_hcd*)' at hcd.h:690:1 has some sub-type changes: CRC value (modversions) changed from 0x6fd74931 to 0x36960e42 [C] 'function void usb_hcd_start_port_resume(usb_bus*, int)' at hcd.c:1037:1 has some sub-type changes: CRC value (modversions) changed from 0xb4ede254 to 0x38b0adce [C] 'function void usb_hcd_unlink_urb_from_ep(usb_hcd*, urb*)' at hcd.h:445:1 has some sub-type changes: CRC value (modversions) changed from 0x1766b3b9 to 0x43c56f39 [C] 'function void usb_hcd_unmap_urb_for_dma(usb_hcd*, urb*)' at hcd.c:1350:1 has some sub-type changes: CRC value (modversions) changed from 0xaab981db to 0xd67e11c [C] 'function int usb_hub_clear_tt_buffer(urb*)' at hub.c:858:1 has some sub-type changes: CRC value (modversions) changed from 0x8efae52d to 0xa8c1abd [C] 'function usb_device* usb_hub_find_child(usb_device*, int)' at hub.c:6010:1 has some sub-type changes: CRC value (modversions) changed from 0xef988641 to 0x3850b415 [C] 'function usb_interface* usb_ifnum_to_if(const usb_device*, unsigned int)' at usb.c:273:1 has some sub-type changes: CRC value (modversions) changed from 0x2cdd07c5 to 0xe61fafcc [C] 'function int usb_interface_id(usb_configuration*, usb_function*)' at composite.h:250:1 has some sub-type changes: CRC value (modversions) changed from 0xcfb415b7 to 0x4f42d14e [C] 'function void usb_kill_urb(urb*)' at usb.h:1742:1 has some sub-type changes: CRC value (modversions) changed from 0xfb918de0 to 0x668d452c [C] 'function int usb_lock_device_for_reset(usb_device*, const usb_interface*)' at usb.h:762:1 has some sub-type changes: CRC value (modversions) changed from 0xc840cc6d to 0x564a2195 [C] 'function void usb_phy_get_charger_current(usb_phy*, unsigned int*, unsigned int*)' at phy.c:231:1 has some sub-type changes: CRC value (modversions) changed from 0x1a303a72 to 0x57fa29e0 [C] 'function void usb_phy_set_charger_current(usb_phy*, unsigned int)' at phy.c:182:1 has some sub-type changes: CRC value (modversions) changed from 0xcaba49c9 to 0x94af9343 [C] 'function void usb_phy_set_charger_state(usb_phy*, usb_charger_state)' at phy.c:268:1 has some sub-type changes: CRC value (modversions) changed from 0xa77e60eb to 0x638c112e [C] 'function void usb_poison_urb(urb*)' at urb.c:729:1 has some sub-type changes: CRC value (modversions) changed from 0x8ff023af to 0x651374c2 [C] 'function void usb_put_dev(usb_device*)' at usb.h:741:1 has some sub-type changes: CRC value (modversions) changed from 0xeb9609ee to 0x6e1cd591 [C] 'function void usb_put_function_instance(usb_function_instance*)' at composite.h:601:1 has some sub-type changes: CRC value (modversions) changed from 0xc7d0e3c5 to 0x58c3600a [C] 'function void usb_put_hcd(usb_hcd*)' at hcd.h:477:1 has some sub-type changes: CRC value (modversions) changed from 0x4d59c804 to 0x5fec3b09 [C] 'function void usb_put_intf(usb_interface*)' at usb.c:757:1 has some sub-type changes: CRC value (modversions) changed from 0xda02b3a9 to 0x12163e53 [C] 'function void usb_remove_hcd(usb_hcd*)' at hcd.h:481:1 has some sub-type changes: CRC value (modversions) changed from 0xc0a01ade to 0xc935f9c3 [C] 'function void usb_remove_phy(usb_phy*)' at phy.c:692:1 has some sub-type changes: CRC value (modversions) changed from 0x257bc253 to 0xabca833b [C] 'function int usb_reset_configuration(usb_device*)' at message.c:1525:1 has some sub-type changes: CRC value (modversions) changed from 0xf8ebb401 to 0x81d529f3 [C] 'function int usb_reset_device(usb_device*)' at usb.h:766:1 has some sub-type changes: CRC value (modversions) changed from 0x601134ef to 0xc8e64992 [C] 'function void usb_reset_endpoint(usb_device*, unsigned int)' at message.c:1170:1 has some sub-type changes: CRC value (modversions) changed from 0x24f3a5d1 to 0xb4d7acb0 [C] 'function usb_role_switch* usb_role_switch_register(device*, const usb_role_switch_desc*)' at class.c:285:1 has some sub-type changes: CRC value (modversions) changed from 0x62b367ac to 0xba91b589 [C] 'function void usb_root_hub_lost_power(usb_device*)' at hub.c:3822:1 has some sub-type changes: CRC value (modversions) changed from 0xad26ccdc to 0x33662ccc [C] 'function void usb_set_device_state(usb_device*, usb_device_state)' at hub.c:2036:1 has some sub-type changes: CRC value (modversions) changed from 0x8ff737fa to 0x55258ad9 [C] 'function int usb_set_interface(usb_device*, int, int)' at usb.h:1847:1 has some sub-type changes: CRC value (modversions) changed from 0x5d5984d0 to 0x46a384d2 [C] 'function void usb_sg_cancel(usb_sg_request*)' at message.c:585:1 has some sub-type changes: CRC value (modversions) changed from 0x5d6296b4 to 0x26a88634 [C] 'function int usb_sg_init(usb_sg_request*, usb_device*, unsigned int, unsigned int, scatterlist*, int, size_t, gfp_t)' at message.c:367:1 has some sub-type changes: CRC value (modversions) changed from 0x6a59d1f8 to 0x34c54edd [C] 'function void usb_sg_wait(usb_sg_request*)' at message.c:515:1 has some sub-type changes: CRC value (modversions) changed from 0x85c6fee4 to 0x1a7d1573 [C] 'function int usb_string(usb_device*, int, char*, unsigned long int)' at usb.h:1841:1 has some sub-type changes: CRC value (modversions) changed from 0xb0296680 to 0x6c73f525 [C] 'function int usb_string_id(usb_composite_dev*)' at composite.h:519:1 has some sub-type changes: CRC value (modversions) changed from 0xbe575b7c to 0x42b2c42c [C] 'function int usb_submit_urb(urb*, unsigned int)' at usb.h:1740:1 has some sub-type changes: CRC value (modversions) changed from 0x930247f5 to 0xdae45277 [C] 'function int usb_unlink_urb(urb*)' at usb.h:1741:1 has some sub-type changes: CRC value (modversions) changed from 0xc7613d5f to 0x306061c8 [C] 'function void usb_unpoison_urb(urb*)' at urb.c:744:1 has some sub-type changes: CRC value (modversions) changed from 0x30d2577e to 0xfdcb37c7 [C] 'function void usb_wakeup_notification(usb_device*, unsigned int)' at hub.c:689:1 has some sub-type changes: CRC value (modversions) changed from 0x5bc02302 to 0x9cfd3e70 [C] 'function int usbnet_change_mtu(net_device*, int)' at usbnet.c:378:1 has some sub-type changes: CRC value (modversions) changed from 0x33481a81 to 0x93fb328 [C] 'function void usbnet_disconnect(usb_interface*)' at usbnet.c:1592:1 has some sub-type changes: CRC value (modversions) changed from 0x88bd7d62 to 0xa37a3b7d [C] 'function void usbnet_get_drvinfo(net_device*, ethtool_drvinfo*)' at usbnet.c:1045:1 has some sub-type changes: CRC value (modversions) changed from 0x3637f61d to 0x5681733b [C] 'function int usbnet_get_endpoints(usbnet*, usb_interface*)' at usbnet.c:81:1 has some sub-type changes: CRC value (modversions) changed from 0xd25a20f5 to 0x9fc747bb [C] 'function u32 usbnet_get_link(net_device*)' at usbnet.c:1017:1 has some sub-type changes: CRC value (modversions) changed from 0x9668e176 to 0x9ab5d207 [C] 'function int usbnet_get_link_ksettings(net_device*, ethtool_link_ksettings*)' at usbnet.c:950:1 has some sub-type changes: CRC value (modversions) changed from 0xe511884a to 0x6bd7afbf [C] 'function u32 usbnet_get_msglevel(net_device*)' at usbnet.c:1057:1 has some sub-type changes: CRC value (modversions) changed from 0x1a09976e to 0xa321398b [C] 'function void usbnet_get_stats64(net_device*, rtnl_link_stats64*)' at usbnet.c:986:1 has some sub-type changes: CRC value (modversions) changed from 0xf674c4ca to 0x4baa27a4 [C] 'function void usbnet_link_change(usbnet*, bool, bool)' at usbnet.c:1965:1 has some sub-type changes: CRC value (modversions) changed from 0xe82fd893 to 0x5f6f1201 [C] 'function int usbnet_nway_reset(net_device*)' at usbnet.c:1034:1 has some sub-type changes: CRC value (modversions) changed from 0x6bc49bf3 to 0xa2e0a982 [C] 'function int usbnet_open(net_device*)' at usbnet.c:861:1 has some sub-type changes: CRC value (modversions) changed from 0xc2e079a to 0x982ef978 [C] 'function int usbnet_probe(usb_interface*, const usb_device_id*)' at usbnet.c:1654:1 has some sub-type changes: CRC value (modversions) changed from 0x96554c59 to 0xc6c1670d [C] 'function int usbnet_read_cmd(usbnet*, u8, u8, u16, u16, void*, u16)' at usbnet.c:2048:1 has some sub-type changes: CRC value (modversions) changed from 0x5e704c77 to 0xe2c83499 [C] 'function int usbnet_read_cmd_nopm(usbnet*, u8, u8, u16, u16, void*, u16)' at usbnet.c:2084:1 has some sub-type changes: CRC value (modversions) changed from 0xa3977124 to 0xd8d49dd8 [C] 'function int usbnet_resume(usb_interface*)' at usbnet.c:1888:1 has some sub-type changes: CRC value (modversions) changed from 0x9f36cb01 to 0x42cfd517 [C] 'function int usbnet_set_link_ksettings(net_device*, const ethtool_link_ksettings*)' at usbnet.c:964:1 has some sub-type changes: CRC value (modversions) changed from 0xbc99cf97 to 0x60acdbdc [C] 'function void usbnet_set_msglevel(net_device*, u32)' at usbnet.c:1065:1 has some sub-type changes: CRC value (modversions) changed from 0x716ea83f to 0x7551d35c [C] 'function void usbnet_skb_return(usbnet*, sk_buff*)' at usbnet.c:308:1 has some sub-type changes: CRC value (modversions) changed from 0x36633c82 to 0x7b6ff35a [C] 'function netdev_tx_t usbnet_start_xmit(sk_buff*, net_device*)' at usbnet.c:1346:1 has some sub-type changes: CRC value (modversions) changed from 0xec98af67 to 0xfe25cbc6 [C] 'function int usbnet_stop(net_device*)' at usbnet.c:799:1 has some sub-type changes: CRC value (modversions) changed from 0xcd529c6e to 0xd0a2b407 [C] 'function int usbnet_suspend(usb_interface*, pm_message_t)' at usbnet.c:1855:1 has some sub-type changes: CRC value (modversions) changed from 0xd753d4c1 to 0xd31b38e [C] 'function void usbnet_tx_timeout(net_device*)' at usbnet.c:1296:1 has some sub-type changes: CRC value (modversions) changed from 0x8b3eeb1 to 0x119b8ea6 [C] 'function void usbnet_unlink_rx_urbs(usbnet*)' at usbnet.c:752:1 has some sub-type changes: CRC value (modversions) changed from 0x1841c8ae to 0x60a59e0d [C] 'function void usbnet_update_max_qlen(usbnet*)' at usbnet.c:343:1 has some sub-type changes: CRC value (modversions) changed from 0x64bece33 to 0x73c6b569 [C] 'function int usbnet_write_cmd(usbnet*, u8, u8, u16, u16, void*, u16)' at usbnet.c:2066:1 has some sub-type changes: CRC value (modversions) changed from 0x34bf9a64 to 0xe712748 [C] 'function int usbnet_write_cmd_async(usbnet*, u8, u8, u16, u16, void*, u16)' at usbnet.c:2122:1 has some sub-type changes: CRC value (modversions) changed from 0xfdadd594 to 0xae9cf608 [C] 'function int usbnet_write_cmd_nopm(usbnet*, u8, u8, u16, u16, void*, u16)' at usbnet.c:2096:1 has some sub-type changes: CRC value (modversions) changed from 0x7d8a7416 to 0x94722a19 [C] 'function int user_path_at_empty(int, const char*, unsigned int, path*, int*)' at namei.c:2680:1 has some sub-type changes: CRC value (modversions) changed from 0x4c5ad447 to 0x3fffaecf [C] 'function void vb2_ops_wait_finish(vb2_queue*)' at videobuf2-v4l2.c:1156:1 has some sub-type changes: CRC value (modversions) changed from 0xc4d5db0d to 0x65b8d8b7 [C] 'function void vb2_ops_wait_prepare(vb2_queue*)' at videobuf2-v4l2.c:1150:1 has some sub-type changes: CRC value (modversions) changed from 0xacea6e7d to 0xb1819b2d [C] 'function void vb2_queue_release(vb2_queue*)' at videobuf2-v4l2.c:866:1 has some sub-type changes: CRC value (modversions) changed from 0x9b207ab8 to 0xca32152b [C] 'function void vchan_dma_desc_free_list(virt_dma_chan*, list_head*)' at virt-dma.c:112:1 has some sub-type changes: CRC value (modversions) changed from 0x81b06bb7 to 0x8a09a18f [C] 'function virt_dma_desc* vchan_find_desc(virt_dma_chan*, dma_cookie_t)' at virt-dma.c:66:1 has some sub-type changes: CRC value (modversions) changed from 0xa3d03685 to 0x4cec823 [C] 'function void vchan_init(virt_dma_chan*, dma_device*)' at virt-dma.c:128:1 has some sub-type changes: CRC value (modversions) changed from 0x25010535 to 0xb085500b [C] 'function int vchan_tx_desc_free(dma_async_tx_descriptor*)' at virt-dma.c:49:1 has some sub-type changes: CRC value (modversions) changed from 0xdc3bec7b to 0xf083c27e [C] 'function dma_cookie_t vchan_tx_submit(dma_async_tx_descriptor*)' at virt-dma.c:19:1 has some sub-type changes: CRC value (modversions) changed from 0x12b4e6c7 to 0x9aaf08e0 [C] 'function int vfs_getattr(const path*, kstat*, u32, unsigned int)' at stat.c:110:1 has some sub-type changes: CRC value (modversions) changed from 0x65bdcb43 to 0xf2bf832c [C] 'function void virtio_break_device(virtio_device*)' at virtio_ring.c:2270:1 has some sub-type changes: CRC value (modversions) changed from 0x78ce433b to 0x11a51e39 [C] 'function void* vm_map_ram(page**, unsigned int, int, pgprot_t)' at vmalloc.c:1778:1 has some sub-type changes: CRC value (modversions) changed from 0x26931c8b to 0x86220298 [C] 'function page* vmalloc_to_page(void*)' at mm.h:645:1 has some sub-type changes: CRC value (modversions) changed from 0x7fd57a4b to 0xb9476c6f [C] 'function void* vmap(page**, unsigned int, unsigned long int, pgprot_t)' at vmalloc.c:2370:1 has some sub-type changes: CRC value (modversions) changed from 0xab86e81d to 0x8ac4deb1 [C] 'function int wake_up_process(task_struct*)' at sched.h:1706:1 has some sub-type changes: CRC value (modversions) changed from 0xbf64e71c to 0x83e27188 [C] 'function void wakeup_source_add(wakeup_source*)' at wakeup.c:171:1 has some sub-type changes: CRC value (modversions) changed from 0x1e043fc1 to 0xc12a6657 [C] 'function wakeup_source* wakeup_source_create(const char*)' at wakeup.c:84:1 has some sub-type changes: CRC value (modversions) changed from 0x22bd4d0c to 0x64f80df7 [C] 'function void wakeup_source_destroy(wakeup_source*)' at wakeup.c:156:1 has some sub-type changes: CRC value (modversions) changed from 0x41fdf536 to 0xd4e556d3 [C] 'function wakeup_source* wakeup_source_register(device*, const char*)' at pm_wakeup.h:92:1 has some sub-type changes: CRC value (modversions) changed from 0x257b1972 to 0x5a37b64d [C] 'function void wakeup_source_remove(wakeup_source*)' at wakeup.c:192:1 has some sub-type changes: CRC value (modversions) changed from 0xb42c7210 to 0x341ba162 [C] 'function void wakeup_source_unregister(wakeup_source*)' at pm_wakeup.h:94:1 has some sub-type changes: CRC value (modversions) changed from 0xe226a9e4 to 0xdad1ed1a [C] 'function int watchdog_init_timeout(watchdog_device*, unsigned int, device*)' at watchdog_core.c:110:1 has some sub-type changes: CRC value (modversions) changed from 0x534e1a94 to 0x9db57af0 [C] 'function int watchdog_register_device(watchdog_device*)' at watchdog_core.c:293:1 has some sub-type changes: CRC value (modversions) changed from 0x1ac755e5 to 0xc5efd208 [C] 'function void watchdog_set_restart_priority(watchdog_device*, int)' at watchdog_core.c:198:1 has some sub-type changes: CRC value (modversions) changed from 0xba751503 to 0x21898427 [C] 'function void watchdog_unregister_device(watchdog_device*)' at watchdog_core.c:339:1 has some sub-type changes: CRC value (modversions) changed from 0x76fe7f79 to 0xc335321c [C] 'function xdp_frame* xdp_convert_zc_to_xdp_frame(xdp_buff*)' at xdp.h:94:1 has some sub-type changes: CRC value (modversions) changed from 0xbd91fac9 to 0x71c99b52 [C] 'function void xdp_return_frame(xdp_frame*)' at xdp.h:128:1 has some sub-type changes: CRC value (modversions) changed from 0xc02fbe90 to 0x78776743 [C] 'function void xdp_return_frame_rx_napi(xdp_frame*)' at xdp.h:129:1 has some sub-type changes: CRC value (modversions) changed from 0x1fbc9309 to 0x417a26fa [C] 'function int xdp_rxq_info_reg(xdp_rxq_info*, net_device*, unsigned int)' at xdp.h:147:1 has some sub-type changes: CRC value (modversions) changed from 0x5bc7d8b2 to 0x7d46fa13 [C] 'function int xdp_rxq_info_reg_mem_model(xdp_rxq_info*, xdp_mem_type, void*)' at xdp.h:152:1 has some sub-type changes: CRC value (modversions) changed from 0x8886a0fa to 0x42a6cd05 [C] 'function void xdp_rxq_info_unreg(xdp_rxq_info*)' at xdp.h:149:1 has some sub-type changes: CRC value (modversions) changed from 0xda104409 to 0xa011d3e6 [C] 'function int xfrm4_protocol_deregister(xfrm4_protocol*, unsigned char)' at xfrm.h:1582:1 has some sub-type changes: CRC value (modversions) changed from 0x3b19d72e to 0xb9584ef3 [C] 'function int xfrm4_protocol_register(xfrm4_protocol*, unsigned char)' at xfrm.h:1581:1 has some sub-type changes: CRC value (modversions) changed from 0xd00a5e26 to 0x64411f08 [C] 'function int xfrm4_rcv(sk_buff*)' at xfrm4_input.c:173:1 has some sub-type changes: CRC value (modversions) changed from 0x1c436c95 to 0xd5140ab1 [C] 'function int xfrm4_tunnel_deregister(xfrm_tunnel*, unsigned short int)' at xfrm.h:1584:1 has some sub-type changes: CRC value (modversions) changed from 0x486609e9 to 0xc7b82020 [C] 'function int xfrm4_tunnel_register(xfrm_tunnel*, unsigned short int)' at xfrm.h:1583:1 has some sub-type changes: CRC value (modversions) changed from 0x79bac081 to 0xe6afe2b9 [C] 'function int xfrm6_find_1stfragopt(xfrm_state*, sk_buff*, u8**)' at xfrm6_output.c:19:1 has some sub-type changes: CRC value (modversions) changed from 0xc9d6adca to 0xccadecd2 [C] 'function int xfrm6_protocol_deregister(xfrm6_protocol*, unsigned char)' at xfrm.h:1597:1 has some sub-type changes: CRC value (modversions) changed from 0x5b2d215d to 0xc6d43ecb [C] 'function int xfrm6_protocol_register(xfrm6_protocol*, unsigned char)' at xfrm.h:1596:1 has some sub-type changes: CRC value (modversions) changed from 0xe6058fea to 0xf101171 [C] 'function int xfrm6_rcv(sk_buff*)' at xfrm6_input.c:79:1 has some sub-type changes: CRC value (modversions) changed from 0x7d19895d to 0x678371ef [C] 'function int xfrm_init_state(xfrm_state*)' at xfrm.h:1548:1 has some sub-type changes: CRC value (modversions) changed from 0x25a84c96 to 0xd062efb6 [C] 'function int xfrm_input(sk_buff*, int, unsigned int, int)' at xfrm.h:1549:1 has some sub-type changes: CRC value (modversions) changed from 0x8ee5dfa2 to 0x570df5ee [C] 'function int xfrm_input_resume(sk_buff*, int)' at xfrm_input.c:753:1 has some sub-type changes: CRC value (modversions) changed from 0x51f3efeb to 0x7a4459b3 [C] 'function int xfrm_output_resume(sk_buff*, int)' at xfrm.h:1554:1 has some sub-type changes: CRC value (modversions) changed from 0x3bfd11d9 to 0xfcced58 [C] 'function int xfrm_register_type(const xfrm_type*, unsigned short int)' at xfrm.h:409:1 has some sub-type changes: CRC value (modversions) changed from 0xf4184957 to 0xcfa57ac9 [C] 'function xfrm_state* xfrm_state_alloc(net*)' at xfrm.h:1477:1 has some sub-type changes: CRC value (modversions) changed from 0x908c367a to 0xa60eedf6 [C] 'function void xfrm_state_insert(xfrm_state*)' at xfrm.h:1493:1 has some sub-type changes: CRC value (modversions) changed from 0x1b36df2 to 0x1dd5d2c2 [C] 'function xfrm_state* xfrm_state_lookup(net*, unsigned int, const __anonymous_union__8*, unsigned int, unsigned char, unsigned short int)' at xfrm.h:1496:1 has some sub-type changes: CRC value (modversions) changed from 0xf0c5987b to 0xbd4befd [C] 'function void xfrm_unregister_type(const xfrm_type*, unsigned short int)' at xfrm.h:410:1 has some sub-type changes: CRC value (modversions) changed from 0xa561a69b to 0x7584f3f2 [C] 'function int xt_register_target(xt_target*)' at x_tables.h:270:1 has some sub-type changes: CRC value (modversions) changed from 0xf6a38edf to 0xe17407af [C] 'function int xt_register_targets(xt_target*, unsigned int)' at x_tables.h:272:1 has some sub-type changes: CRC value (modversions) changed from 0x81deacae to 0x703ed51f [C] 'function void xt_unregister_target(xt_target*)' at x_tables.h:271:1 has some sub-type changes: CRC value (modversions) changed from 0xb087b883 to 0xd4431bc9 [C] 'function void xt_unregister_targets(xt_target*, unsigned int)' at x_tables.h:273:1 has some sub-type changes: CRC value (modversions) changed from 0xc9587b94 to 0xcf34b79f 33 Changed variables: [C] 'bus_type amba_bustype' was changed at bus.c:215:1: CRC value (modversions) changed from 0xe0a22439 to 0xd71319be [C] 'neigh_table arp_tbl' was changed at arp.c:151:1: CRC value (modversions) changed from 0xbd81f677 to 0xa43ec7c9 [C] 'bus_type cpu_subsys' was changed at cpu.c:128:1: CRC value (modversions) changed from 0xfbbeb108 to 0xbb96e93a [C] 'freq_attr cpufreq_freq_attr_scaling_available_freqs' was changed at freq_table.c:272:1: CRC value (modversions) changed from 0xf632680b to 0xa3f2d54f [C] 'freq_attr cpufreq_freq_attr_scaling_boost_freqs' was changed at freq_table.c:284:1: CRC value (modversions) changed from 0x4fdb1e56 to 0xbc1921da [C] 'freq_attr* cpufreq_generic_attr[2]' was changed at freq_table.c:287:1: CRC value (modversions) changed from 0xc1565b95 to 0x84e9cf1d [C] 'const crypto_type crypto_ablkcipher_type' was changed at ablkcipher.c:399:1: CRC value (modversions) changed from 0x8551254d to 0x4745d613 [C] 'kobject* fs_kobj' was changed at namespace.c:77:1: CRC value (modversions) changed from 0x5093bcea to 0xb3a4f729 [C] 'device_type i2c_adapter_type' was changed at i2c-core-base.c:1181:1: CRC value (modversions) changed from 0x77d0874a to 0xdf5135ed [C] 'bus_type i2c_bus_type' was changed at i2c-core-base.c:502:1: CRC value (modversions) changed from 0x844e7729 to 0xdc59117f [C] 'net init_net' was changed at net_namespace.c:46:1: CRC value (modversions) changed from 0xc4a9a5d5 to 0xcde6a5a8 [C] 'task_struct init_task' was changed at init_task.c:57:1: CRC value (modversions) changed from 0xd25e2e41 to 0x56c521c8 [C] 'kmem_cache* kmalloc_caches[2][14]' was changed at slab_common.c:1112:1: CRC value (modversions) changed from 0x64017038 to 0x1c697db [C] 'neigh_table nd_tbl' was changed at ndisc.c:108:1: CRC value (modversions) changed from 0xbc270bf3 to 0x32dcba2a [C] 'device_node* of_root' was changed at base.c:36:1: CRC value (modversions) changed from 0x4db9862d to 0xb1873395 [C] 'const kernel_param_ops param_array_ops' was changed at params.c:484:1: CRC value (modversions) changed from 0xbc188738 to 0x8a042659 [C] 'const kernel_param_ops param_ops_bint' was changed at params.c:386:1: CRC value (modversions) changed from 0x36324da2 to 0x29d9da08 [C] 'const kernel_param_ops param_ops_bool' was changed at params.c:305:1: CRC value (modversions) changed from 0x9080e010 to 0x8f6b77ba [C] 'const kernel_param_ops param_ops_byte' was changed at params.c:236:1: CRC value (modversions) changed from 0x24431f8b to 0x3ba88821 [C] 'const kernel_param_ops param_ops_charp' was changed at params.c:280:1: CRC value (modversions) changed from 0xc1ebf469 to 0xf7f75508 [C] 'const kernel_param_ops param_ops_int' was changed at params.c:239:1: CRC value (modversions) changed from 0x3008da1e to 0x11c1ecd [C] 'const kernel_param_ops param_ops_long' was changed at params.c:241:1: CRC value (modversions) changed from 0xcd86ed8d to 0xd26d7a27 [C] 'const kernel_param_ops param_ops_string' was changed at params.c:512:1: CRC value (modversions) changed from 0xc7d1c917 to 0xfd528478 [C] 'const kernel_param_ops param_ops_uint' was changed at params.c:240:1: CRC value (modversions) changed from 0xe4f20630 to 0xfb19919a [C] 'const kernel_param_ops param_ops_ullong' was changed at params.c:243:1: CRC value (modversions) changed from 0xb13f0ae4 to 0x8bbc478b [C] 'const kernel_param_ops param_ops_ulong' was changed at params.c:242:1: CRC value (modversions) changed from 0x11841a9e to 0x2798bbff [C] 'const kernel_param_ops param_ops_ushort' was changed at params.c:238:1: CRC value (modversions) changed from 0xc2ec07ec to 0xf86f4a83 [C] 'bus_type pci_bus_type' was changed at pci-driver.c:1655:1: CRC value (modversions) changed from 0x3a597b60 to 0x77f72b24 [C] 'bus_type platform_bus_type' was changed at platform.c:1262:1: CRC value (modversions) changed from 0x4059ee96 to 0xa5d58fb6 [C] 'const dev_pm_ops snd_soc_pm_ops' was changed at soc-core.c:2231:1: CRC value (modversions) changed from 0x992191de to 0xacd7898 [C] 'softnet_data softnet_data' was changed at dev.c:277:1: CRC value (modversions) changed from 0xf4fb40e8 to 0xa5540ee3 [C] 'bus_type spi_bus_type' was changed at spi.c:377:1: CRC value (modversions) changed from 0x469e640c to 0xdb81f06 [C] 'const dev_pm_ops usb_hcd_pci_pm_ops' was changed at hcd-pci.c:602:1: CRC value (modversions) changed from 0xcce0e232 to 0x76669823 'struct rcu_segcblist at rcu_segcblist.h:67:1' changed: type size hasn't changed there are data member changes: type 'long int' of 'rcu_segcblist::len' changed: entity changed from 'long int' to 'typedef atomic_long_t' at atomic-long.h:12:1 type size hasn't changed 2653 impacted interfaces 'struct srcu_data at srcutree.h:24:1' changed (indirectly): type size hasn't changed there are data member changes: type 'struct rcu_segcblist' of 'srcu_data::srcu_cblist' changed, as reported earlier 2653 impacted interfaces Bug: 162753392 Signed-off-by: Todd Kjos Change-Id: I6f6d280b20aa79c476d52e7d2336927e383e0fbf --- android/abi_gki_aarch64.xml | 5195 ++++++++++++++++++----------------- 1 file changed, 2708 insertions(+), 2487 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index ae5205e771a9..99d7e3224acc 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2,13 +2,13 @@ - - + + - - + + - + @@ -22,32 +22,32 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - + + + + - + @@ -55,19 +55,19 @@ - - - - - - - - - + + + + + + + + + - - + + @@ -83,35 +83,35 @@ - + - - - + + + - - + + - - - - - + + + + + - + - + - + @@ -122,130 +122,130 @@ - - - - + + + + - + - - + + - - + + - - - - + + + + - - - - - - - + + + + + + + - + - - + + - - - + + + - - + + - - - - + + + + - - - - - + + + + + - + - + - - - - - + + + + + - - - - + + + + - + - + - - + + - + - + - + - + - + - - - - - - + + + + + + @@ -273,13 +273,13 @@ - + - + @@ -287,24 +287,24 @@ - + - + - - + + - + - - - - - - + + + + + + - + @@ -312,229 +312,229 @@ - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - + + - + - + - - - + + + - + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -546,26 +546,26 @@ - + - - - - - - - - - + + + + + + + + + - + - - - + + + @@ -573,73 +573,73 @@ - + - - + + - + - - + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - + + - + - - - - + + + + - - + + - - + + - - + + - - - + + + @@ -651,62 +651,62 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -722,34 +722,34 @@ - - - + + + - + - + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - + @@ -786,176 +786,176 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + @@ -965,28 +965,28 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -1013,17 +1013,17 @@ - - + + - - - + + + @@ -1034,11 +1034,11 @@ - + - + @@ -1050,13 +1050,13 @@ - - - - - - - + + + + + + + @@ -1109,21 +1109,21 @@ - - - - - - - - + + + + + + + + - - - + + + @@ -1153,35 +1153,35 @@ - + - - - - + + + + - + - - + + - - - + + + - - - - + + + + @@ -1203,8 +1203,8 @@ - - + + @@ -1222,39 +1222,39 @@ - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - + - + @@ -1305,20 +1305,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1327,7 +1327,7 @@ - + @@ -1340,15 +1340,15 @@ - - + + - + - - + + @@ -1360,8 +1360,8 @@ - - + + @@ -1372,63 +1372,63 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - + - + - + - + @@ -1437,12 +1437,12 @@ - - - - - - + + + + + + @@ -1456,44 +1456,44 @@ - - + + - + - - - - - - - + + + + + + + - + - - - - - - - - - + + + + + + + + + - + - - + + - + @@ -1502,79 +1502,79 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - + @@ -1597,51 +1597,51 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + @@ -1654,10 +1654,10 @@ - - - - + + + + @@ -1666,70 +1666,70 @@ - + - - + + - - - + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - - - - - + + + + + - + - - + + - - + + - - - - - - - + + + + + + + @@ -1738,163 +1738,163 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + - - - - + + + + - - - - - + + + + + - - + + - - - + + + - + - + - - - - - - + + + + + + - + - - - + + + - + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - + + @@ -1904,27 +1904,27 @@ - - + + - - - - + + + + - - + + - - - + + + - + @@ -1939,22 +1939,22 @@ - - + + - + - - + + - - - - - - - + + + + + + + @@ -1966,8 +1966,8 @@ - - + + @@ -2024,26 +2024,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -2052,32 +2052,32 @@ - - - - + + + + - + - - + + - - - - - - - - - - - + + + + + + + + + + + @@ -2117,96 +2117,96 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + - + - - - - - - + + + + + + - + - + - + - - + + - - - + + + - + - - + + - - - + + + @@ -2215,187 +2215,187 @@ - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - + + - - - + + + - - - + + + - - + + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -2409,141 +2409,141 @@ - - + + - + - - - + + + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - + + + - - + + - - + + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + @@ -2563,27 +2563,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -2599,7 +2599,7 @@ - + @@ -2610,84 +2610,84 @@ - + - - - - + + + + - - - - + + + + - - - + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + @@ -2709,9 +2709,9 @@ - - - + + + @@ -2726,117 +2726,117 @@ - + - + - - - + + + - - + + - + - + - - - + + + - - - + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - - - + + + + + - + - - + + @@ -2847,102 +2847,102 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - + - + - - + + - + - + - - + + - - - - + + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -2968,13 +2968,13 @@ - + - + @@ -2988,34 +2988,34 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + @@ -3034,16 +3034,16 @@ - + - - - - - + + + + + @@ -3066,47 +3066,47 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3117,48 +3117,48 @@ - - - - - - - - + + + + + + + + - - + + - + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + @@ -3172,7 +3172,7 @@ - + @@ -3180,28 +3180,28 @@ - + - - - - - - + + + + + + - - - - + + + + - - + + @@ -3213,141 +3213,141 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - + @@ -3355,7 +3355,7 @@ - + @@ -3377,57 +3377,57 @@ - - - - + + + + - - + + - - + + - + - - - - + + + + - - - - - - + + + + + + - + - - - - - + + + + + - - - - - + + + + + - + @@ -3435,20 +3435,20 @@ - + - - - - - - + + + + + + - + @@ -3456,201 +3456,201 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - + - + - + - + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - + + + - + - + - - + + - - + + - - - + + + - - - - - - - - + + + + + + + + - + - + - + - - - + + + - - + + - + @@ -3659,7 +3659,7 @@ - + @@ -3672,121 +3672,121 @@ - - - - - + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -3810,13 +3810,13 @@ - - - - - - - + + + + + + + @@ -3832,119 +3832,119 @@ - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + + - - + + @@ -3958,27 +3958,27 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + - - + + @@ -3987,43 +3987,43 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -4048,9 +4048,9 @@ - + - + @@ -4063,14 +4063,14 @@ - + - - - + + + - + @@ -4081,51 +4081,51 @@ - - + + - - + + - - + + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + @@ -4139,9 +4139,9 @@ - - - + + + @@ -4153,13 +4153,13 @@ - + - - + + - + @@ -11736,7 +11736,7 @@ - + @@ -48946,14 +48946,6 @@ - - - - - - - - @@ -50911,8 +50903,6 @@ - - @@ -50947,8 +50937,6 @@ - - @@ -51573,6 +51561,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -52125,7 +52282,7 @@ - + @@ -53466,14 +53623,6 @@ - - - - - - - - @@ -53501,7 +53650,7 @@ - + @@ -56242,7 +56391,7 @@ - + @@ -56327,7 +56476,7 @@ - + @@ -61032,7 +61181,7 @@ - + @@ -61072,7 +61221,7 @@ - + @@ -61372,7 +61521,7 @@ - + @@ -66231,10 +66380,10 @@ - + - + @@ -66515,7 +66664,7 @@ - + @@ -67400,7 +67549,7 @@ - + @@ -67555,7 +67704,7 @@ - + @@ -69913,10 +70062,10 @@ - + - + @@ -70616,7 +70765,7 @@ - + @@ -70641,7 +70790,7 @@ - + @@ -70660,7 +70809,7 @@ - + @@ -70669,7 +70818,7 @@ - + @@ -71271,7 +71420,7 @@ - + @@ -71318,7 +71467,7 @@ - + @@ -71578,7 +71727,7 @@ - + @@ -72873,7 +73022,7 @@ - + @@ -72894,7 +73043,7 @@ - + @@ -77571,17 +77720,6 @@ - - - - - - - - - - - @@ -77756,6 +77894,17 @@ + + + + + + + + + + + @@ -78468,7 +78617,7 @@ - + @@ -82207,7 +82356,7 @@ - + @@ -82241,7 +82390,7 @@ - + @@ -82862,7 +83011,7 @@ - + @@ -82881,7 +83030,7 @@ - + @@ -83383,7 +83532,7 @@ - + @@ -84021,7 +84170,7 @@ - + @@ -84380,10 +84529,10 @@ - + - + @@ -84410,15 +84559,15 @@ - + - + - + @@ -84438,7 +84587,7 @@ - + @@ -84663,7 +84812,7 @@ - + @@ -84679,7 +84828,7 @@ - + @@ -84757,7 +84906,7 @@ - + @@ -84765,7 +84914,7 @@ - + @@ -84793,7 +84942,7 @@ - + @@ -85044,7 +85193,7 @@ - + @@ -85056,7 +85205,7 @@ - + @@ -85212,7 +85361,7 @@ - + @@ -85326,7 +85475,7 @@ - + @@ -85341,7 +85490,7 @@ - + @@ -85400,7 +85549,7 @@ - + @@ -86023,7 +86172,7 @@ - + @@ -86595,6 +86744,8 @@ + + @@ -86735,7 +86886,7 @@ - + @@ -86783,7 +86934,7 @@ - + @@ -87426,7 +87577,7 @@ - + @@ -87840,7 +87991,7 @@ - + @@ -87923,6 +88074,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -88111,6 +88305,10 @@ + + + + @@ -90440,7 +90638,7 @@ - + @@ -90464,7 +90662,7 @@ - + @@ -90819,7 +91017,7 @@ - + @@ -90843,7 +91041,7 @@ - + @@ -98627,7 +98825,7 @@ - + @@ -98641,7 +98839,7 @@ - + @@ -98917,7 +99115,7 @@ - + @@ -99546,10 +99744,6 @@ - - - - @@ -99710,7 +99904,7 @@ - + @@ -99890,7 +100084,7 @@ - + @@ -99935,7 +100129,7 @@ - + @@ -100272,10 +100466,10 @@ - + - + @@ -100793,6 +100987,8 @@ + + @@ -100936,16 +101132,16 @@ - + - + - + @@ -100953,7 +101149,7 @@ - + @@ -101031,7 +101227,7 @@ - + @@ -101287,7 +101483,7 @@ - + @@ -101408,7 +101604,7 @@ - + @@ -101497,7 +101693,7 @@ - + @@ -101515,10 +101711,10 @@ - + - + @@ -101537,7 +101733,7 @@ - + @@ -101567,7 +101763,7 @@ - + @@ -102349,7 +102545,7 @@ - + @@ -102589,6 +102785,14 @@ + + + + + + + + @@ -103296,7 +103500,7 @@ - + @@ -103963,7 +104167,7 @@ - + @@ -104222,10 +104426,10 @@ - + - + @@ -104276,6 +104480,17 @@ + + + + + + + + + + + @@ -104518,7 +104733,7 @@ - + @@ -104529,6 +104744,14 @@ + + + + + + + + @@ -104554,7 +104777,7 @@ - + @@ -105174,7 +105397,7 @@ - + @@ -105244,7 +105467,7 @@ - + @@ -105252,7 +105475,7 @@ - + @@ -105266,7 +105489,7 @@ - + @@ -105307,7 +105530,7 @@ - + @@ -105326,7 +105549,7 @@ - + @@ -106179,7 +106402,7 @@ - + @@ -106197,7 +106420,7 @@ - + @@ -107054,7 +107277,7 @@ - + @@ -107086,7 +107309,7 @@ - + @@ -107162,7 +107385,7 @@ - + @@ -107391,13 +107614,13 @@ - + - + @@ -107409,7 +107632,7 @@ - + @@ -107419,7 +107642,7 @@ - + @@ -107445,7 +107668,7 @@ - + @@ -107454,7 +107677,7 @@ - + @@ -108357,10 +108580,10 @@ - + - + @@ -108724,7 +108947,7 @@ - + @@ -108884,6 +109107,14 @@ + + + + + + + + @@ -109383,17 +109614,6 @@ - - - - - - - - - - - @@ -109759,7 +109979,7 @@ - + @@ -109886,10 +110106,10 @@ - + - + @@ -111500,7 +111720,7 @@ - + @@ -111519,10 +111739,10 @@ - + - + @@ -111549,10 +111769,10 @@ - + - + @@ -114636,7 +114856,7 @@ - + @@ -114644,7 +114864,7 @@ - + @@ -114652,7 +114872,7 @@ - + @@ -114665,7 +114885,7 @@ - + @@ -115541,10 +115761,10 @@ - + - + @@ -115552,7 +115772,7 @@ - + @@ -115598,7 +115818,7 @@ - + @@ -115680,10 +115900,10 @@ - + - + @@ -116615,7 +116835,7 @@ - + @@ -117349,17 +117569,17 @@ - + - + - + @@ -117367,7 +117587,7 @@ - + @@ -117395,7 +117615,7 @@ - + @@ -117412,7 +117632,7 @@ - + @@ -117429,7 +117649,7 @@ - + @@ -117438,7 +117658,7 @@ - + @@ -117449,7 +117669,7 @@ - + @@ -117479,7 +117699,7 @@ - + @@ -117502,7 +117722,7 @@ - + @@ -118264,6 +118484,7 @@ + @@ -118484,7 +118705,7 @@ - + @@ -118652,7 +118873,7 @@ - + @@ -119453,10 +119674,10 @@ - + - + @@ -119541,10 +119762,10 @@ - + - + @@ -119563,10 +119784,10 @@ - + - + @@ -121623,7 +121844,7 @@ - + @@ -122238,7 +122459,7 @@ - + @@ -122254,6 +122475,6 @@ From 95ab0b827c72194d7987bb32011ed961ac9073ec Mon Sep 17 00:00:00 2001 From: Sami Tolvanen Date: Thu, 20 Feb 2020 14:47:59 -0800 Subject: [PATCH 10/99] ANDROID: kallsyms: increase KSYM_NAME_LEN Clang generates __typeid__ symbols that are longer than 128 characters when CFI is enabled. Increase KSYM_NAME_LEN to accommodate for this. Bug: 148470764 Bug: 154088315 Change-Id: I3be253b844d48948ae85b912c432d7234ff33c48 Signed-off-by: Sami Tolvanen --- arch/x86/kernel/livepatch.c | 4 ++-- include/linux/kallsyms.h | 2 +- kernel/livepatch/core.c | 4 ++-- scripts/kallsyms.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/livepatch.c b/arch/x86/kernel/livepatch.c index 6a68e41206e7..35fa60d949f9 100644 --- a/arch/x86/kernel/livepatch.c +++ b/arch/x86/kernel/livepatch.c @@ -24,12 +24,12 @@ void arch_klp_init_object_loaded(struct klp_patch *patch, objname = obj->name ? obj->name : "vmlinux"; /* See livepatch core code for BUILD_BUG_ON() explanation */ - BUILD_BUG_ON(MODULE_NAME_LEN < 56 || KSYM_NAME_LEN != 128); + BUILD_BUG_ON(MODULE_NAME_LEN < 56 || KSYM_NAME_LEN != 192); for (s = info->sechdrs; s < info->sechdrs + info->hdr.e_shnum; s++) { /* Apply per-object .klp.arch sections */ cnt = sscanf(info->secstrings + s->sh_name, - ".klp.arch.%55[^.].%127s", + ".klp.arch.%55[^.].%191s", sec_objname, secname); if (cnt != 2) continue; diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index 1f96ce2b47df..a45f5c0bc585 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h @@ -14,7 +14,7 @@ #include -#define KSYM_NAME_LEN 128 +#define KSYM_NAME_LEN 192 #define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \ 2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1) diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c index ab4a4606d19b..1a9827a11bd4 100644 --- a/kernel/livepatch/core.c +++ b/kernel/livepatch/core.c @@ -210,7 +210,7 @@ static int klp_resolve_symbols(Elf_Shdr *relasec, struct module *pmod) * we use the smallest/strictest upper bound possible (56, based on * the current definition of MODULE_NAME_LEN) to prevent overflows. */ - BUILD_BUG_ON(MODULE_NAME_LEN < 56 || KSYM_NAME_LEN != 128); + BUILD_BUG_ON(MODULE_NAME_LEN < 56 || KSYM_NAME_LEN != 192); relas = (Elf_Rela *) relasec->sh_addr; /* For each rela in this klp relocation section */ @@ -224,7 +224,7 @@ static int klp_resolve_symbols(Elf_Shdr *relasec, struct module *pmod) /* Format: .klp.sym.objname.symname,sympos */ cnt = sscanf(strtab + sym->st_name, - ".klp.sym.%55[^.].%127[^,],%lu", + ".klp.sym.%55[^.].%191[^,],%lu", objname, symname, &sympos); if (cnt != 3) { pr_err("symbol %s has an incorrectly formatted name\n", diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index fb15f09e0e38..4a4a05a744ef 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c @@ -28,7 +28,7 @@ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) #endif -#define KSYM_NAME_LEN 128 +#define KSYM_NAME_LEN 192 struct sym_entry { unsigned long long addr; From c208f5583f76186752ce9a637b335059d9487347 Mon Sep 17 00:00:00 2001 From: Murali Nalajala Date: Sun, 2 Aug 2020 19:02:29 -0700 Subject: [PATCH 11/99] Revert "ANDROID: GKI: update abi symbol lists now that CONFIG_DWC3 is enabled." This reverts commit bd3a005d6040f16ea7ef241e6c66bbbbc0bf0cf4. Reverting this commit because now CONFIG_DWC3 become "m". So add back the symbols required for vendor modules. Leaf changes summary: 15 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 15 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 15 Added functions: [A] 'function usb_phy* devm_usb_get_phy(device*, usb_phy_type)' [A] 'function extcon_dev* extcon_find_edev_by_node(device_node*)' [A] 'function extcon_dev* extcon_get_extcon_dev(const char*)' [A] 'function int usb_add_gadget_udc(device*, usb_gadget*)' [A] 'function const char* usb_decode_ctrl(char*, size_t, __u8, __u8, __u16, __u16, __u16)' [A] 'function void usb_del_gadget_udc(usb_gadget*)' [A] 'function void usb_ep_set_maxpacket_limit(usb_ep*, unsigned int)' [A] 'function void usb_gadget_giveback_request(usb_ep*, usb_request*)' [A] 'function int usb_gadget_map_request_by_dev(device*, usb_request*, int)' [A] 'function void usb_gadget_set_state(usb_gadget*, usb_device_state)' [A] 'function void usb_gadget_udc_reset(usb_gadget*, usb_gadget_driver*)' [A] 'function void usb_gadget_unmap_request_by_dev(device*, usb_request*, int)' [A] 'function usb_device_speed usb_get_maximum_speed(device*)' [A] 'function usb_role_switch* usb_role_switch_register(device*, const usb_role_switch_desc*)' [A] 'function void usb_role_switch_unregister(usb_role_switch*)' Bug: 162701590 Change-Id: Iea7dc8d58f3a75973a3da4d5b6bfc9b4e733845d Signed-off-by: Murali Nalajala --- android/abi_gki_aarch64.xml | 1279 +++++++++++++++--------------- android/abi_gki_aarch64_exynos | 11 + android/abi_gki_aarch64_hikey960 | 46 ++ android/abi_gki_aarch64_qcom | 15 + android/abi_gki_aarch64_unisoc | 50 ++ 5 files changed, 747 insertions(+), 654 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 99d7e3224acc..ee9c9634cdee 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -35024,6 +35024,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -35126,55 +35165,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -35283,6 +35273,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -35409,6 +35485,25 @@ + + + + + + + + + + + + + + + + + + + @@ -36773,7 +36868,7 @@ - + @@ -36796,7 +36891,7 @@ - + @@ -41242,10 +41337,10 @@ - + - + @@ -41262,7 +41357,7 @@ - + @@ -41270,7 +41365,7 @@ - + @@ -41856,13 +41951,13 @@ - + - + @@ -44537,7 +44632,7 @@ - + @@ -44724,7 +44819,7 @@ - + @@ -46345,7 +46440,7 @@ - + @@ -46356,7 +46451,7 @@ - + @@ -47077,7 +47172,7 @@ - + @@ -47125,7 +47220,7 @@ - + @@ -47134,7 +47229,7 @@ - + @@ -47145,7 +47240,7 @@ - + @@ -47204,10 +47299,10 @@ - + - + @@ -47386,7 +47481,7 @@ - + @@ -47404,7 +47499,7 @@ - + @@ -47420,10 +47515,10 @@ - + - + @@ -50790,7 +50885,7 @@ - + @@ -50903,6 +50998,8 @@ + + @@ -50937,6 +51034,8 @@ + + @@ -51550,7 +51649,18 @@ - + + + + + + + + + + + + @@ -51561,175 +51671,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51757,17 +51698,6 @@ - - - - - - - - - - - @@ -53623,6 +53553,14 @@ + + + + + + + + @@ -53650,15 +53588,15 @@ - + - + - + @@ -54925,17 +54863,6 @@ - - - - - - - - - - - @@ -56467,7 +56394,7 @@ - + @@ -56857,7 +56784,7 @@ - + @@ -61186,7 +61113,7 @@ - + @@ -61521,7 +61448,7 @@ - + @@ -66388,7 +66315,7 @@ - + @@ -66399,7 +66326,7 @@ - + @@ -68457,7 +68384,7 @@ - + @@ -70022,7 +69949,7 @@ - + @@ -70762,7 +70689,7 @@ - + @@ -70779,7 +70706,7 @@ - + @@ -77894,17 +77821,6 @@ - - - - - - - - - - - @@ -78024,6 +77940,17 @@ + + + + + + + + + + + @@ -81969,7 +81896,7 @@ - + @@ -82382,7 +82309,7 @@ - + @@ -84170,25 +84097,6 @@ - - - - - - - - - - - - - - - - - - - @@ -84559,12 +84467,12 @@ - + - + - + @@ -84573,7 +84481,7 @@ - + @@ -84812,7 +84720,7 @@ - + @@ -84828,7 +84736,7 @@ - + @@ -84871,10 +84779,10 @@ - + - + @@ -84906,7 +84814,7 @@ - + @@ -84914,7 +84822,7 @@ - + @@ -86172,7 +86080,7 @@ - + @@ -86272,7 +86180,7 @@ - + @@ -86744,8 +86652,6 @@ - - @@ -86939,10 +86845,10 @@ - + - + @@ -88074,49 +87980,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -90579,7 +90442,7 @@ - + @@ -90617,7 +90480,7 @@ - + @@ -91017,7 +90880,7 @@ - + @@ -91041,7 +90904,7 @@ - + @@ -92321,7 +92184,7 @@ - + @@ -93114,7 +92977,7 @@ - + @@ -93161,7 +93024,7 @@ - + @@ -93209,10 +93072,10 @@ - + - + @@ -94588,7 +94451,7 @@ - + @@ -98761,7 +98624,7 @@ - + @@ -98839,7 +98702,7 @@ - + @@ -100987,8 +100850,6 @@ - - @@ -101138,7 +100999,7 @@ - + @@ -101149,7 +101010,7 @@ - + @@ -101227,7 +101088,7 @@ - + @@ -101249,7 +101110,7 @@ - + @@ -101483,12 +101344,12 @@ - + - + @@ -101693,7 +101554,7 @@ - + @@ -101711,10 +101572,10 @@ - + - + @@ -101733,7 +101594,7 @@ - + @@ -101763,7 +101624,7 @@ - + @@ -101848,7 +101709,7 @@ - + @@ -102180,7 +102041,7 @@ - + @@ -102224,7 +102085,7 @@ - + @@ -102295,6 +102156,17 @@ + + + + + + + + + + + @@ -102643,6 +102515,17 @@ + + + + + + + + + + + @@ -102785,15 +102668,184 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -103024,7 +103076,7 @@ - + @@ -103035,7 +103087,7 @@ - + @@ -103122,6 +103174,25 @@ + + + + + + + + + + + + + + + + + + + @@ -103204,7 +103275,7 @@ - + @@ -103497,7 +103568,7 @@ - + @@ -103639,7 +103710,7 @@ - + @@ -103719,7 +103790,7 @@ - + @@ -103856,7 +103927,7 @@ - + @@ -103919,7 +103990,7 @@ - + @@ -104138,7 +104209,7 @@ - + @@ -104480,17 +104551,6 @@ - - - - - - - - - - - @@ -104514,15 +104574,7 @@ - - - - - - - - - + @@ -104530,7 +104582,7 @@ - + @@ -104541,22 +104593,6 @@ - - - - - - - - - - - - - - - - @@ -104733,23 +104769,28 @@ - + - + - - - - + - + - + - + + + + + + + + + @@ -104777,7 +104818,7 @@ - + @@ -105305,7 +105346,7 @@ - + @@ -105397,7 +105438,7 @@ - + @@ -105467,7 +105508,7 @@ - + @@ -105475,7 +105516,7 @@ - + @@ -105489,7 +105530,7 @@ - + @@ -105530,7 +105571,7 @@ - + @@ -105549,7 +105590,7 @@ - + @@ -105982,7 +106023,7 @@ - + @@ -106397,10 +106438,10 @@ - + - + @@ -106569,7 +106610,7 @@ - + @@ -106579,7 +106620,7 @@ - + @@ -107277,7 +107318,7 @@ - + @@ -107309,7 +107350,7 @@ - + @@ -107385,7 +107426,7 @@ - + @@ -107614,10 +107655,10 @@ - + - + @@ -107632,12 +107673,12 @@ - + - + @@ -107668,7 +107709,7 @@ - + @@ -107677,7 +107718,7 @@ - + @@ -108580,10 +108621,10 @@ - + - + @@ -108947,17 +108988,6 @@ - - - - - - - - - - - @@ -109132,7 +109162,7 @@ - + @@ -109140,7 +109170,7 @@ - + @@ -109281,10 +109311,10 @@ - + - + @@ -109299,7 +109329,7 @@ - + @@ -109397,7 +109427,7 @@ - + @@ -109505,6 +109535,17 @@ + + + + + + + + + + + @@ -109614,6 +109655,17 @@ + + + + + + + + + + + @@ -109622,7 +109674,7 @@ - + @@ -109979,7 +110031,7 @@ - + @@ -110036,110 +110088,29 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - + - + - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -111720,9 +111691,9 @@ - + - + @@ -111731,7 +111702,7 @@ - + @@ -111739,10 +111710,10 @@ - + - + @@ -111769,10 +111740,10 @@ - + - + @@ -113330,7 +113301,7 @@ - + @@ -113342,7 +113313,7 @@ - + @@ -114856,7 +114827,7 @@ - + @@ -114864,12 +114835,12 @@ - + - + @@ -114880,7 +114851,7 @@ - + @@ -114888,7 +114859,7 @@ - + @@ -114896,7 +114867,7 @@ - + @@ -114910,7 +114881,7 @@ - + @@ -114929,7 +114900,7 @@ - + @@ -115769,10 +115740,10 @@ - + - + @@ -115813,12 +115784,12 @@ - + - + @@ -115900,10 +115871,10 @@ - + - + @@ -116479,6 +116450,17 @@ + + + + + + + + + + + @@ -116620,17 +116602,6 @@ - - - - - - - - - - - @@ -116645,13 +116616,13 @@ - + - + @@ -116835,7 +116806,7 @@ - + @@ -117569,25 +117540,25 @@ - + - + - + - + - + @@ -117604,7 +117575,7 @@ - + @@ -117615,7 +117586,7 @@ - + @@ -117632,7 +117603,7 @@ - + @@ -117649,7 +117620,7 @@ - + @@ -117658,7 +117629,7 @@ - + @@ -117669,7 +117640,7 @@ - + @@ -117699,7 +117670,7 @@ - + @@ -117800,13 +117771,13 @@ - + - + @@ -118705,7 +118676,7 @@ - + @@ -118873,7 +118844,7 @@ - + @@ -119674,10 +119645,10 @@ - + - + @@ -119762,10 +119733,10 @@ - + - + @@ -119784,10 +119755,10 @@ - + - + @@ -121844,7 +121815,7 @@ - + @@ -122459,9 +122430,9 @@ - + - + @@ -122475,6 +122446,6 @@ diff --git a/android/abi_gki_aarch64_exynos b/android/abi_gki_aarch64_exynos index c0ff0a6cc7b5..920675645d63 100644 --- a/android/abi_gki_aarch64_exynos +++ b/android/abi_gki_aarch64_exynos @@ -239,6 +239,7 @@ devm_snd_dmaengine_pcm_register devm_snd_soc_register_card devm_snd_soc_register_component + devm_usb_get_phy devm_usb_get_phy_by_phandle _dev_notice dev_pm_opp_add @@ -1203,8 +1204,11 @@ up_read up_write usb_add_function + usb_add_gadget_udc usb_assign_descriptors usb_copy_descriptors + usb_decode_ctrl + usb_del_gadget_udc usb_ep_alloc_request usb_ep_autoconfig usb_ep_dequeue @@ -1213,12 +1217,19 @@ usb_ep_free_request usb_ep_queue usb_ep_set_halt + usb_ep_set_maxpacket_limit usb_free_all_descriptors usb_function_register usb_function_unregister + usb_gadget_giveback_request + usb_gadget_map_request_by_dev + usb_gadget_set_state + usb_gadget_udc_reset + usb_gadget_unmap_request_by_dev usb_gadget_vbus_connect usb_gadget_vbus_disconnect usb_get_dr_mode + usb_get_maximum_speed usb_gstrings_attach usb_hub_find_child usb_interface_id diff --git a/android/abi_gki_aarch64_hikey960 b/android/abi_gki_aarch64_hikey960 index 8c6ea2acdc44..3903a3d5ce04 100644 --- a/android/abi_gki_aarch64_hikey960 +++ b/android/abi_gki_aarch64_hikey960 @@ -474,6 +474,7 @@ usb_calc_bus_time usb_create_hcd usb_disabled + usb_gadget_set_state usb_get_dr_mode usb_hc_died usb_hub_clear_tt_buffer @@ -1051,6 +1052,51 @@ serial8250_suspend_port serial8250_unregister_port +# required by dwc3-haps.ko + pcim_enable_device + +# required by dwc3-of-simple.ko + clk_bulk_get_all + clk_bulk_put_all + of_reset_control_array_get + reset_control_put + reset_control_reset + +# required by dwc3-qcom.ko + devm_extcon_register_notifier + irq_modify_status + of_clk_get_parent_count + +# required by dwc3.ko + bpf_trace_run4 + device_property_read_u8_array + devm_clk_bulk_get_all + devm_phy_get + devm_usb_get_phy + extcon_find_edev_by_node + extcon_get_extcon_dev + extcon_register_notifier + extcon_unregister_notifier + of_usb_get_phy_mode + phy_exit + phy_init + phy_pm_runtime_get_sync + phy_pm_runtime_put_sync + phy_power_off + phy_power_on + phy_set_mode_ext + platform_get_irq_byname_optional + system_freezable_wq + usb_add_gadget_udc + usb_decode_ctrl + usb_del_gadget_udc + usb_ep_set_maxpacket_limit + usb_gadget_giveback_request + usb_gadget_map_request_by_dev + usb_gadget_udc_reset + usb_gadget_unmap_request_by_dev + usb_get_maximum_speed + # required by gadgetfs.ko _copy_to_iter current_time diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 011386a7e6eb..caef0b77bf7f 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -445,6 +445,7 @@ devm_rtc_device_register devm_snd_soc_register_card devm_thermal_zone_of_sensor_register + devm_usb_get_phy devm_usb_get_phy_by_phandle _dev_notice dev_open @@ -831,13 +832,17 @@ eth_type_trans eth_validate_addr event_triggers_call + extcon_find_edev_by_node extcon_get_edev_by_phandle extcon_get_edev_name + extcon_get_extcon_dev extcon_get_property extcon_get_state + extcon_register_notifier extcon_set_property extcon_set_property_capability extcon_set_state_sync + extcon_unregister_notifier fasync_helper fd_install fget @@ -2316,6 +2321,7 @@ update_devfreq up_read up_write + usb_add_gadget_udc usb_add_hcd usb_add_phy_dev usb_alloc_coherent @@ -2340,6 +2346,8 @@ usb_create_hcd usb_create_shared_hcd usb_debug_root + usb_decode_ctrl + usb_del_gadget_udc usb_deregister usb_disabled usb_disable_xhci_ports @@ -2357,6 +2365,7 @@ usb_ep_free_request usb_ep_queue usb_ep_set_halt + usb_ep_set_maxpacket_limit usb_ep_set_wedge usb_find_common_endpoints usb_free_all_descriptors @@ -2364,6 +2373,11 @@ usb_free_urb usb_function_register usb_function_unregister + usb_gadget_giveback_request + usb_gadget_map_request_by_dev + usb_gadget_set_state + usb_gadget_udc_reset + usb_gadget_unmap_request_by_dev usb_gadget_vbus_connect usb_gadget_vbus_disconnect usb_gadget_vbus_draw @@ -2372,6 +2386,7 @@ usb_get_dev usb_get_dr_mode usb_get_intf + usb_get_maximum_speed usb_get_urb usb_gstrings_attach usb_hcd_check_unlink_urb diff --git a/android/abi_gki_aarch64_unisoc b/android/abi_gki_aarch64_unisoc index 815caa09c7bf..d6920827522a 100644 --- a/android/abi_gki_aarch64_unisoc +++ b/android/abi_gki_aarch64_unisoc @@ -145,6 +145,7 @@ devm_regulator_register devm_request_threaded_irq devm_spi_register_controller + devm_usb_get_phy devm_usb_get_phy_by_phandle dev_queue_xmit dev_set_name @@ -677,12 +678,14 @@ unregister_chrdev_region unregister_pernet_subsys up + usb_add_gadget_udc usb_alloc_coherent usb_alloc_urb usb_autopm_get_interface usb_autopm_get_interface_no_resume usb_autopm_put_interface usb_control_msg + usb_del_gadget_udc usb_deregister usb_ep_alloc_request usb_ep_autoconfig @@ -690,11 +693,14 @@ usb_ep_enable usb_ep_free_request usb_ep_queue + usb_ep_set_maxpacket_limit usb_find_common_endpoints usb_free_coherent usb_free_urb usb_function_register usb_function_unregister + usb_gadget_giveback_request + usb_gadget_udc_reset usb_get_dr_mode usb_get_intf usb_hcd_is_primary_hcd @@ -799,6 +805,50 @@ cpufreq_register_governor cpufreq_unregister_governor +# required by dwc3-haps.ko + pcim_enable_device + +# required by dwc3-of-simple.ko + clk_bulk_get_all + clk_bulk_put_all + of_reset_control_array_get + reset_control_put + reset_control_reset + +# required by dwc3-qcom.ko + devm_extcon_register_notifier + devm_reset_control_array_get + +# required by dwc3.ko + device_property_read_string + device_property_read_u8_array + devm_clk_bulk_get + devm_phy_get + __devm_reset_control_get + extcon_find_edev_by_node + extcon_get_extcon_dev + extcon_register_notifier + extcon_unregister_notifier + of_usb_get_phy_mode + phy_exit + phy_init + phy_pm_runtime_get_sync + phy_pm_runtime_put_sync + phy_power_off + phy_power_on + phy_set_mode_ext + pinctrl_pm_select_default_state + pinctrl_pm_select_sleep_state + platform_get_irq_byname_optional + synchronize_irq + usb_decode_ctrl + usb_gadget_map_request_by_dev + usb_gadget_set_state + usb_gadget_unmap_request_by_dev + usb_get_maximum_speed + usb_role_switch_register + usb_role_switch_unregister + # required by exfat.ko __blockdev_direct_IO block_write_full_page From 5bf32f1a9bcc3a2ec284b4226b277b072b06784e Mon Sep 17 00:00:00 2001 From: Murali Nalajala Date: Fri, 31 Jul 2020 23:53:51 -0700 Subject: [PATCH 12/99] ANDROID: ABI: Update allowed list for QCOM Leaf changes summary: 31 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 30 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable 30 Added functions: [A] 'function unsigned long int _snd_pcm_stream_lock_irqsave(snd_pcm_substream*)' [A] 'function usb_role_switch* fwnode_usb_role_switch_get(fwnode_handle*)' [A] 'function void int_to_scsilun(long long unsigned int, scsi_lun*)' [A] 'function int irq_get_irqchip_state(unsigned int, irqchip_irq_state, bool*)' [A] 'function int kernel_setsockopt(socket*, int, int, char*, unsigned int)' [A] 'function const cred* override_creds(const cred*)' [A] 'function int param_get_ullong(char*, const kernel_param*)' [A] 'function int pm_clk_add(device*, const char*)' [A] 'function int pm_clk_create(device*)' [A] 'function void pm_clk_destroy(device*)' [A] 'function int pm_clk_resume(device*)' [A] 'function int pm_clk_suspend(device*)' [A] 'function rpmsg_endpoint* rpmsg_create_ept(rpmsg_device*, int (rpmsg_device*, void*, int, void*, unsigned int)*, void*, rpmsg_channel_info)' [A] 'function void rpmsg_destroy_ept(rpmsg_endpoint*)' [A] 'function int rpmsg_get_signals(rpmsg_endpoint*)' [A] 'function unsigned int rpmsg_poll(rpmsg_endpoint*, file*, poll_table_struct*)' [A] 'function int rpmsg_register_device(rpmsg_device*)' [A] 'function int rpmsg_send(rpmsg_endpoint*, void*, int)' [A] 'function int rpmsg_set_signals(rpmsg_endpoint*, u32, u32)' [A] 'function int rpmsg_trysend(rpmsg_endpoint*, void*, int)' [A] 'function int rpmsg_unregister_device(device*, rpmsg_channel_info*)' [A] 'function void scmd_printk(const char*, const scsi_cmnd*, const char*, ...)' [A] 'function void scsi_block_requests(Scsi_Host*)' [A] 'function int scsi_change_queue_depth(scsi_device*, int)' [A] 'function void scsi_print_command(scsi_cmnd*)' [A] 'function void scsi_unblock_requests(Scsi_Host*)' [A] 'function void snd_pcm_stream_unlock_irqrestore(snd_pcm_substream*, unsigned long int)' [A] 'function int usb_role_switch_set_role(usb_role_switch*, usb_role)' [A] 'function frame_vector* vb2_create_framevec(unsigned long int, unsigned long int)' [A] 'function void vb2_destroy_framevec(frame_vector*)' 1 Added variable: [A] 'const vm_operations_struct vb2_common_vm_ops' Bug: 162487581 Change-Id: If966a421122c0e2f69fcdbbe9e47acbc6e44cece Signed-off-by: Mukesh Ojha Signed-off-by: Murali Nalajala --- android/abi_gki_aarch64.xml | 977 ++++++++++++++++++++++++----------- android/abi_gki_aarch64_qcom | 111 ++++ 2 files changed, 772 insertions(+), 316 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index ee9c9634cdee..d32a00e62cb1 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -273,6 +273,7 @@ + @@ -1443,6 +1444,7 @@ + @@ -1776,6 +1778,7 @@ + @@ -1889,6 +1892,7 @@ + @@ -1923,6 +1927,7 @@ + @@ -2423,10 +2428,12 @@ + + @@ -2584,6 +2591,11 @@ + + + + + @@ -2861,6 +2873,15 @@ + + + + + + + + + @@ -2898,13 +2919,16 @@ + + + @@ -2916,6 +2940,7 @@ + @@ -2923,6 +2948,7 @@ + @@ -3187,6 +3213,7 @@ + @@ -3740,6 +3767,7 @@ + @@ -3841,6 +3869,8 @@ + + @@ -4162,6 +4192,7 @@ + @@ -14980,6 +15011,7 @@ + @@ -14988,14 +15020,6 @@ - - - - - - - - @@ -16552,7 +16576,7 @@ - + @@ -22156,6 +22180,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -22281,7 +22328,7 @@ - + @@ -22339,7 +22386,7 @@ - + @@ -23509,7 +23556,7 @@ - + @@ -24304,7 +24351,7 @@ - + @@ -28887,13 +28934,13 @@ - + - + @@ -35284,23 +35331,7 @@ - - - - - - - - - - - - - - - - - + @@ -35311,7 +35342,7 @@ - + @@ -35319,45 +35350,12 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -35485,7 +35483,7 @@ - + @@ -35493,17 +35491,6 @@ - - - - - - - - - - - @@ -36865,13 +36852,13 @@ - + - + - + @@ -36891,7 +36878,7 @@ - + @@ -37168,7 +37155,7 @@ - + @@ -38959,7 +38946,7 @@ - + @@ -39051,7 +39038,7 @@ - + @@ -40011,7 +39998,7 @@ - + @@ -40030,7 +40017,7 @@ - + @@ -41315,7 +41302,7 @@ - + @@ -41332,21 +41319,21 @@ - + - + - + - + - + @@ -41357,7 +41344,7 @@ - + @@ -41365,7 +41352,7 @@ - + @@ -41466,7 +41453,7 @@ - + @@ -41932,9 +41919,9 @@ - + - + @@ -41946,18 +41933,18 @@ - + - + - + @@ -44161,6 +44148,18 @@ + + + + + + + + + + + + @@ -44309,7 +44308,7 @@ - + @@ -44455,7 +44454,7 @@ - + @@ -44573,7 +44572,7 @@ - + @@ -44588,7 +44587,7 @@ - + @@ -44632,7 +44631,7 @@ - + @@ -44819,7 +44818,7 @@ - + @@ -46437,13 +46436,13 @@ - + - + - + @@ -46451,7 +46450,7 @@ - + @@ -47299,10 +47298,10 @@ - + - + @@ -47481,7 +47480,7 @@ - + @@ -47499,7 +47498,7 @@ - + @@ -47515,10 +47514,10 @@ - + - + @@ -49215,7 +49214,7 @@ - + @@ -49879,7 +49878,7 @@ - + @@ -50860,13 +50859,13 @@ - + - + @@ -50885,7 +50884,7 @@ - + @@ -51638,7 +51637,7 @@ - + @@ -51649,7 +51648,7 @@ - + @@ -51671,6 +51670,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -52212,7 +52372,7 @@ - + @@ -53590,13 +53750,13 @@ - + - + @@ -56318,7 +56478,7 @@ - + @@ -56394,7 +56554,7 @@ - + @@ -56784,7 +56944,7 @@ - + @@ -61108,12 +61268,12 @@ - + - + @@ -66307,15 +66467,15 @@ - + - + - + @@ -66326,7 +66486,7 @@ - + @@ -66591,43 +66751,30 @@ - - - - - - - - - - - - - - - + - + - - + + - - + + - - + + - - + + - - + + - - - - + + + + + @@ -66656,33 +66803,34 @@ - + - + + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -66717,26 +66865,38 @@ - + + + + + + + + + + + + + + + - + - - + + - - + + - - - - + + - - + + - - + + @@ -66748,6 +66908,7 @@ + @@ -66794,6 +66955,10 @@ + + + + @@ -66804,6 +66969,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -66825,6 +67015,14 @@ + + + + + + + + @@ -66886,6 +67084,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -67476,7 +67694,6 @@ - @@ -68384,7 +68601,7 @@ - + @@ -69949,7 +70166,7 @@ - + @@ -70689,7 +70906,7 @@ - + @@ -70706,7 +70923,7 @@ - + @@ -80329,41 +80546,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -80393,12 +80575,15 @@ - + + + + @@ -80414,10 +80599,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -80443,6 +80655,17 @@ + + + + + + + + + + + @@ -80459,6 +80682,14 @@ + + + + + + + + @@ -80472,6 +80703,11 @@ + + + + + @@ -80498,6 +80734,11 @@ + + + + + @@ -80973,6 +81214,21 @@ + + + + + + + + + + + + + + + @@ -81896,7 +82152,7 @@ - + @@ -82309,7 +82565,7 @@ - + @@ -83461,7 +83717,7 @@ - + @@ -84472,7 +84728,7 @@ - + @@ -84481,7 +84737,7 @@ - + @@ -84754,13 +85010,13 @@ - + - + @@ -84779,10 +85035,10 @@ - + - + @@ -85118,7 +85374,7 @@ - + @@ -85138,7 +85394,7 @@ - + @@ -86180,7 +86436,7 @@ - + @@ -86609,6 +86865,10 @@ + + + + @@ -86845,10 +87105,10 @@ - + - + @@ -87475,6 +87735,12 @@ + + + + + + @@ -87936,6 +88202,11 @@ + + + + + @@ -87980,6 +88251,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -89453,7 +89767,7 @@ - + @@ -90442,7 +90756,7 @@ - + @@ -90480,7 +90794,7 @@ - + @@ -92977,7 +93291,7 @@ - + @@ -93024,7 +93338,7 @@ - + @@ -93072,10 +93386,10 @@ - + - + @@ -98594,7 +98908,7 @@ - + @@ -100999,7 +101313,7 @@ - + @@ -101010,7 +101324,7 @@ - + @@ -101110,7 +101424,7 @@ - + @@ -101344,12 +101658,12 @@ - + - + @@ -101554,7 +101868,7 @@ - + @@ -102041,7 +102355,7 @@ - + @@ -102085,7 +102399,7 @@ - + @@ -102668,7 +102982,7 @@ - + @@ -102684,7 +102998,7 @@ - + @@ -103182,7 +103496,7 @@ - + @@ -103568,7 +103882,7 @@ - + @@ -104209,7 +104523,7 @@ - + @@ -104574,7 +104888,7 @@ - + @@ -104582,7 +104896,7 @@ - + @@ -104818,7 +105132,7 @@ - + @@ -105346,7 +105660,7 @@ - + @@ -105516,7 +105830,7 @@ - + @@ -105530,7 +105844,7 @@ - + @@ -106023,7 +106337,7 @@ - + @@ -107318,7 +107632,7 @@ - + @@ -107426,7 +107740,7 @@ - + @@ -107658,7 +107972,7 @@ - + @@ -107678,7 +107992,7 @@ - + @@ -108621,10 +108935,10 @@ - + - + @@ -109311,10 +109625,10 @@ - + - + @@ -109329,7 +109643,7 @@ - + @@ -109427,7 +109741,7 @@ - + @@ -110088,14 +110402,28 @@ - + - + + + + + + + + + + + + + + + @@ -110174,6 +110502,14 @@ + + + + + + + + @@ -111691,7 +112027,7 @@ - + @@ -111710,10 +112046,10 @@ - + - + @@ -113301,7 +113637,7 @@ - + @@ -113313,7 +113649,7 @@ - + @@ -114827,7 +115163,7 @@ - + @@ -114840,7 +115176,7 @@ - + @@ -114867,7 +115203,7 @@ - + @@ -115871,10 +116207,10 @@ - + - + @@ -116616,13 +116952,13 @@ - + - + @@ -117543,7 +117879,7 @@ - + @@ -117603,7 +117939,7 @@ - + @@ -117620,7 +117956,7 @@ - + @@ -117629,7 +117965,7 @@ - + @@ -118618,6 +118954,15 @@ + + + + + + + + + @@ -119733,10 +120078,10 @@ - + - + @@ -119755,10 +120100,10 @@ - + - + @@ -122432,7 +122777,7 @@ - + diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index caef0b77bf7f..50eb5ee8caef 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -116,6 +116,7 @@ bpf_trace_run8 bpf_warn_invalid_xdp_action bprm_change_interp + __break_lease build_skb bus_find_device bus_for_each_dev @@ -173,6 +174,7 @@ __class_register class_unregister cleanup_srcu_struct + clear_inode clear_page clk_bulk_disable clk_bulk_enable @@ -289,6 +291,7 @@ crypto_init_queue crypto_register_alg crypto_register_rngs + crypto_shash_digest crypto_shash_final crypto_shash_setkey crypto_shash_update @@ -302,12 +305,16 @@ _ctype current_time datagram_poll + d_add + d_drop + deactivate_locked_super default_llseek default_wake_function delayed_work_timer_fn del_gendisk del_timer del_timer_sync + dentry_open dequeue_signal desc_to_gpio destroy_workqueue @@ -354,6 +361,7 @@ device_match_name device_property_present device_property_read_string + device_property_read_u16_array device_property_read_u32_array device_property_read_u8_array device_register @@ -455,6 +463,7 @@ dev_pm_opp_find_freq_ceil dev_pm_opp_find_freq_exact dev_pm_opp_find_freq_floor + dev_pm_opp_get_level dev_pm_opp_get_opp_count dev_pm_opp_get_opp_table dev_pm_opp_get_voltage @@ -483,6 +492,7 @@ dev_uc_sync_multiple dev_uc_unsync _dev_warn + dget_parent d_instantiate disable_irq disable_irq_nosync @@ -540,6 +550,7 @@ dma_get_merge_boundary dma_get_sgtable_attrs dma_get_slave_channel + d_make_root dmam_alloc_attrs dmam_free_coherent dma_max_mapping_size @@ -565,6 +576,7 @@ down down_read down_write + dput drain_workqueue driver_find_device driver_register @@ -877,6 +889,8 @@ freq_qos_remove_request freq_qos_update_request fsl8250_handle_irq + fs_kobj + fsstack_copy_attr_all fwnode_connection_find_match fwnode_get_parent fwnode_handle_put @@ -884,9 +898,17 @@ fwnode_property_read_string fwnode_property_read_u16_array fwnode_property_read_u32_array + fwnode_usb_role_switch_get gcd + generic_delete_inode generic_device_group + generic_file_llseek + generic_file_mmap + generic_file_read_iter + generic_file_splice_read generic_handle_irq + generic_read_dir + generic_shutdown_super genlmsg_put genl_register_family genl_unregister_family @@ -939,6 +961,7 @@ gpiochip_generic_free gpiochip_generic_request gpiochip_get_data + gpiochip_line_is_valid gpiochip_remove gpiod_cansleep gpiod_direction_input @@ -964,6 +987,7 @@ gro_cells_destroy gro_cells_init gro_cells_receive + handle_bad_irq handle_edge_irq handle_level_irq handle_nested_irq @@ -1027,6 +1051,8 @@ ieee80211_frequency_to_channel ieee80211_get_channel ieee80211_hdrlen + iget5_locked + ihold iio_channel_get iio_channel_release iio_read_channel_processed @@ -1039,6 +1065,8 @@ init_uts_ns init_wait_entry __init_waitqueue_head + inode_init_once + inode_init_owner input_alloc_absinfo input_allocate_device input_close_device @@ -1058,6 +1086,7 @@ input_unregister_device input_unregister_handle input_unregister_handler + int_to_scsilun invalidate_mapping_pages iomem_resource iommu_alloc_resv_region @@ -1101,6 +1130,7 @@ iounmap __iowrite32_copy ip_compute_csum + iput __ipv6_addr_type ipv6_ext_hdr ipv6_skip_exthdr @@ -1134,6 +1164,7 @@ irq_domain_xlate_twocell irq_find_mapping irq_find_matching_fwspec + irq_get_irqchip_state irq_get_irq_data irq_modify_status irq_of_parse_and_map @@ -1147,6 +1178,7 @@ irq_set_irq_wake irq_set_parent irq_to_desc + iterate_dir iterate_fd jiffies jiffies_to_msecs @@ -1156,12 +1188,16 @@ kernel_connect kernel_getsockname kernel_kobj + kernel_read kernel_recvmsg kernel_sendmsg + kernel_setsockopt kernel_sigaction + kernel_write kernfs_find_and_get_ns kernfs_notify kernfs_put + kern_path keyslot_manager_create keyslot_manager_private __kfifo_in @@ -1254,11 +1290,16 @@ llist_add_batch llist_reverse_order __local_bh_enable_ip + lockref_get + lock_rename lock_sock_nested lookup_one_len + LZ4_decompress_safe mac_pton mark_page_accessed + match_int match_string + match_token mbox_chan_received_data mbox_chan_txdone mbox_client_txdone @@ -1369,6 +1410,7 @@ no_llseek nonseekable_open noop_llseek + notify_change nr_cpu_ids nr_swap_pages ns_capable @@ -1481,12 +1523,15 @@ of_usb_get_phy_mode of_usb_host_tpl_support oops_in_progress + override_creds + pagecache_get_page panic panic_notifier_list panic_timeout param_array_ops param_get_int param_get_string + param_get_ullong param_ops_bool param_ops_byte param_ops_charp @@ -1500,6 +1545,8 @@ param_set_copystring param_set_int passthru_features_check + path_get + path_put pci_alloc_irq_vectors_affinity pci_assign_resource pci_assign_unassigned_bus_resources @@ -1564,6 +1611,8 @@ physvirt_offset pinconf_generic_dt_node_to_map pinctrl_dev_get_drvdata + pinctrl_force_default + pinctrl_force_sleep pinctrl_get pinctrl_lookup_state pinctrl_pm_select_default_state @@ -1593,6 +1642,11 @@ platform_get_resource platform_get_resource_byname platform_irq_count + pm_clk_add + pm_clk_create + pm_clk_destroy + pm_clk_resume + pm_clk_suspend pm_generic_resume pm_generic_runtime_resume pm_generic_runtime_suspend @@ -1739,6 +1793,7 @@ register_blkdev __register_chrdev register_chrdev_region + register_filesystem register_inet6addr_notifier register_inetaddr_notifier register_netdev @@ -1830,6 +1885,15 @@ rndis_signal_connect rndis_uninit round_jiffies + rpmsg_create_ept + rpmsg_destroy_ept + rpmsg_get_signals + rpmsg_poll + rpmsg_register_device + rpmsg_send + rpmsg_set_signals + rpmsg_trysend + rpmsg_unregister_device rtc_class_close rtc_class_open rtc_read_time @@ -1856,11 +1920,14 @@ schedule_timeout schedule_timeout_interruptible schedule_timeout_uninterruptible + scmd_printk scnprintf scsi_add_host_with_dma scsi_autopm_get_device scsi_autopm_put_device + scsi_block_requests scsi_block_when_processing_errors + scsi_change_queue_depth scsi_command_size_tbl scsi_device_get scsi_device_put @@ -1873,6 +1940,7 @@ scsi_ioctl_block_when_processing_errors scsi_is_host_device scsi_normalize_sense + scsi_print_command __scsi_print_sense scsi_register_interface scsi_remove_host @@ -1880,6 +1948,7 @@ scsi_report_device_reset scsi_scan_host scsi_sense_desc_find + scsi_unblock_requests sdev_prefix_printk __sdhci_add_host sdhci_add_host @@ -1921,6 +1990,7 @@ serial8250_resume_port serial8250_suspend_port serial8250_unregister_port + set_anon_super set_cpus_allowed_ptr set_disk_ro set_freezable @@ -1948,6 +2018,7 @@ sg_pcopy_from_buffer sg_pcopy_to_buffer sg_scsi_ioctl + sget shmem_file_setup shmem_read_mapping_page_gfp shmem_truncate_range @@ -1959,10 +2030,12 @@ simple_attr_release simple_attr_write simple_fill_super + simple_getattr simple_open simple_pin_fs simple_read_from_buffer simple_release_fs + simple_setattr simple_statfs simple_strtoul simple_write_to_buffer @@ -2003,6 +2076,9 @@ skip_spaces smp_call_function smp_call_function_single + snd_card_free + snd_card_new + snd_card_register snd_ctl_add snd_ctl_boolean_mono_info snd_ctl_enum_info @@ -2020,10 +2096,17 @@ snd_pcm_hw_constraint_list snd_pcm_hw_constraint_minmax snd_pcm_hw_constraint_step + snd_pcm_lib_free_pages snd_pcm_lib_ioctl + snd_pcm_lib_malloc_pages + snd_pcm_lib_preallocate_pages_for_all + snd_pcm_new snd_pcm_period_elapsed + snd_pcm_set_ops snd_pcm_std_chmaps snd_pcm_stop + _snd_pcm_stream_lock_irqsave + snd_pcm_stream_unlock_irqrestore snd_soc_add_component_controls snd_soc_bytes_tlv_callback snd_soc_card_get_kcontrol @@ -2152,6 +2235,7 @@ strnchr strncmp strncpy + strndup_user strnlen strnstr strpbrk @@ -2166,6 +2250,7 @@ swiotlb_max_segment sync_file_create sync_file_get_fence + sync_filesystem synchronize_hardirq synchronize_irq synchronize_net @@ -2231,6 +2316,7 @@ trace_raw_output_prep trace_seq_printf tracing_off + truncate_inode_pages try_module_get try_wait_for_completion tty_flip_buffer_push @@ -2294,7 +2380,9 @@ ufshcd_uic_hibern8_exit __uio_register_device uio_unregister_device + unlock_new_inode unlock_page + unlock_rename unmap_mapping_range unregister_binfmt unregister_blkdev @@ -2313,6 +2401,7 @@ unregister_pernet_subsys unregister_pm_notifier unregister_reboot_notifier + unregister_restart_handler unregister_rpmsg_driver unregister_shrinker unregister_syscore_ops @@ -2425,6 +2514,9 @@ usb_remove_phy usb_reset_device usb_reset_endpoint + usb_role_switch_register + usb_role_switch_set_role + usb_role_switch_unregister usb_root_hub_lost_power usb_set_device_state usb_set_interface @@ -2439,6 +2531,7 @@ usb_unregister_notify usb_wakeup_notification __usecs_to_jiffies + user_path_at_empty usleep_range v4l2_ctrl_find v4l2_ctrl_g_ctrl @@ -2481,7 +2574,10 @@ v4l2_type_names vabits_actual vb2_buffer_done + vb2_common_vm_ops vb2_create_bufs + vb2_create_framevec + vb2_destroy_framevec vb2_dqbuf vb2_expbuf vb2_fop_mmap @@ -2510,7 +2606,22 @@ vb2_reqbufs vb2_streamoff vb2_streamon + vchan_dma_desc_free_list + vchan_init + vchan_tx_desc_free + vchan_tx_submit vfree + vfs_create + vfs_fallocate + vfs_getattr + vfs_getxattr + vfs_link + vfs_listxattr + vfs_mkdir + vfs_rename + vfs_rmdir + vfs_setxattr + vfs_unlink video_devdata video_device_alloc video_device_release From ecfa7fa198fc66731ded5dabefccc8e9e2f3b311 Mon Sep 17 00:00:00 2001 From: Navid Emamdoost Date: Thu, 19 Sep 2019 11:04:48 -0500 Subject: [PATCH 13/99] crypto: ccp - Release all allocated memory if sha type is invalid [ Upstream commit 128c66429247add5128c03dc1e144ca56f05a4e2 ] Release all allocated memory if sha type is invalid: In ccp_run_sha_cmd, if the type of sha is invalid, the allocated hmac_buf should be released. v2: fix the goto. Signed-off-by: Navid Emamdoost Acked-by: Gary R Hook Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin --- drivers/crypto/ccp/ccp-ops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c index c8da8eb160da..422193690fd4 100644 --- a/drivers/crypto/ccp/ccp-ops.c +++ b/drivers/crypto/ccp/ccp-ops.c @@ -1777,8 +1777,9 @@ ccp_run_sha_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd) LSB_ITEM_SIZE); break; default: + kfree(hmac_buf); ret = -EINVAL; - goto e_ctx; + goto e_data; } memset(&hmac_cmd, 0, sizeof(hmac_cmd)); From 84da97713b9112c9529a941b230219b759e6f206 Mon Sep 17 00:00:00 2001 From: Navid Emamdoost Date: Wed, 25 Sep 2019 12:02:41 -0300 Subject: [PATCH 14/99] media: rc: prevent memory leak in cx23888_ir_probe [ Upstream commit a7b2df76b42bdd026e3106cf2ba97db41345a177 ] In cx23888_ir_probe if kfifo_alloc fails the allocated memory for state should be released. Signed-off-by: Navid Emamdoost Signed-off-by: Sean Young Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/pci/cx23885/cx23888-ir.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/media/pci/cx23885/cx23888-ir.c b/drivers/media/pci/cx23885/cx23888-ir.c index e880afe37f15..d59ca3601785 100644 --- a/drivers/media/pci/cx23885/cx23888-ir.c +++ b/drivers/media/pci/cx23885/cx23888-ir.c @@ -1167,8 +1167,11 @@ int cx23888_ir_probe(struct cx23885_dev *dev) return -ENOMEM; spin_lock_init(&state->rx_kfifo_lock); - if (kfifo_alloc(&state->rx_kfifo, CX23888_IR_RX_KFIFO_SIZE, GFP_KERNEL)) + if (kfifo_alloc(&state->rx_kfifo, CX23888_IR_RX_KFIFO_SIZE, + GFP_KERNEL)) { + kfree(state); return -ENOMEM; + } state->dev = dev; sd = &state->sd; From 98cef10fbcca40e70f9f389a4bea42384376376b Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 30 Jul 2020 18:55:53 -0400 Subject: [PATCH 15/99] sunrpc: check that domain table is empty at module unload. [ Upstream commit f45db2b909c7e76f35850e78f017221f30282b8e ] The domain table should be empty at module unload. If it isn't there is a bug somewhere. So check and report. Link: https://bugzilla.kernel.org/show_bug.cgi?id=206651 Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields Signed-off-by: Sasha Levin --- net/sunrpc/sunrpc.h | 1 + net/sunrpc/sunrpc_syms.c | 2 ++ net/sunrpc/svcauth.c | 27 +++++++++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/net/sunrpc/sunrpc.h b/net/sunrpc/sunrpc.h index c9bacb3c930f..82035fa65b8f 100644 --- a/net/sunrpc/sunrpc.h +++ b/net/sunrpc/sunrpc.h @@ -56,4 +56,5 @@ int svc_send_common(struct socket *sock, struct xdr_buf *xdr, int rpc_clients_notifier_register(void); void rpc_clients_notifier_unregister(void); +void auth_domain_cleanup(void); #endif /* _NET_SUNRPC_SUNRPC_H */ diff --git a/net/sunrpc/sunrpc_syms.c b/net/sunrpc/sunrpc_syms.c index f9edaa9174a4..236fadc4a439 100644 --- a/net/sunrpc/sunrpc_syms.c +++ b/net/sunrpc/sunrpc_syms.c @@ -23,6 +23,7 @@ #include #include +#include "sunrpc.h" #include "netns.h" unsigned int sunrpc_net_id; @@ -131,6 +132,7 @@ cleanup_sunrpc(void) unregister_rpc_pipefs(); rpc_destroy_mempool(); unregister_pernet_subsys(&sunrpc_net_ops); + auth_domain_cleanup(); #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) rpc_unregister_sysctl(); #endif diff --git a/net/sunrpc/svcauth.c b/net/sunrpc/svcauth.c index 550b214cb001..998b196b6176 100644 --- a/net/sunrpc/svcauth.c +++ b/net/sunrpc/svcauth.c @@ -19,6 +19,10 @@ #include #include +#include + +#include "sunrpc.h" + #define RPCDBG_FACILITY RPCDBG_AUTH @@ -203,3 +207,26 @@ struct auth_domain *auth_domain_find(char *name) return NULL; } EXPORT_SYMBOL_GPL(auth_domain_find); + +/** + * auth_domain_cleanup - check that the auth_domain table is empty + * + * On module unload the auth_domain_table must be empty. To make it + * easier to catch bugs which don't clean up domains properly, we + * warn if anything remains in the table at cleanup time. + * + * Note that we cannot proactively remove the domains at this stage. + * The ->release() function might be in a module that has already been + * unloaded. + */ + +void auth_domain_cleanup(void) +{ + int h; + struct auth_domain *hp; + + for (h = 0; h < DN_HASHMAX; h++) + hlist_for_each_entry(hp, &auth_domain_table[h], hash) + pr_warn("svc: domain %s still present at module unload.\n", + hp->name); +} From 2ff65580d477d4275b652799c472e763bd09992a Mon Sep 17 00:00:00 2001 From: Abhishek Ambure Date: Thu, 3 Oct 2019 16:45:22 +0300 Subject: [PATCH 16/99] ath10k: enable transmit data ack RSSI for QCA9884 commit cc78dc3b790619aa05f22a86a9152986bd73698c upstream. For all data packets transmitted, host gets htt tx completion event. Some QCA9984 firmware releases support WMI_SERVICE_TX_DATA_ACK_RSSI, which gives data ack rssi values to host through htt event of data tx completion. Data ack rssi values are valid if A0 bit is set in HTT rx message. So enable the feature also for QCA9884. Tested HW: QCA9984 Tested FW: 10.4-3.9.0.2-00044 Signed-off-by: Abhishek Ambure Signed-off-by: Balaji Pothunoori [kvalo@codeaurora.org: improve commit log] Signed-off-by: Kalle Valo Signed-off-by: Sathishkumar Muruganandam Signed-off-by: Greg Kroah-Hartman --- drivers/net/wireless/ath/ath10k/hw.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/ath/ath10k/hw.c b/drivers/net/wireless/ath/ath10k/hw.c index c415e971735b..004af89a02b8 100644 --- a/drivers/net/wireless/ath/ath10k/hw.c +++ b/drivers/net/wireless/ath/ath10k/hw.c @@ -1145,6 +1145,7 @@ static bool ath10k_qca99x0_rx_desc_msdu_limit_error(struct htt_rx_desc *rxd) const struct ath10k_hw_ops qca99x0_ops = { .rx_desc_get_l3_pad_bytes = ath10k_qca99x0_rx_desc_get_l3_pad_bytes, .rx_desc_get_msdu_limit_error = ath10k_qca99x0_rx_desc_msdu_limit_error, + .is_rssi_enable = ath10k_htt_tx_rssi_enable, }; const struct ath10k_hw_ops qca6174_ops = { From 14021055427493bb9bf7be6774636dee86c5e02a Mon Sep 17 00:00:00 2001 From: Robert Hancock Date: Tue, 21 Jul 2020 20:18:03 -0600 Subject: [PATCH 17/99] PCI/ASPM: Disable ASPM on ASMedia ASM1083/1085 PCIe-to-PCI bridge commit b361663c5a40c8bc758b7f7f2239f7a192180e7c upstream. Recently ASPM handling was changed to allow ASPM on PCIe-to-PCI/PCI-X bridges. Unfortunately the ASMedia ASM1083/1085 PCIe to PCI bridge device doesn't seem to function properly with ASPM enabled. On an Asus PRIME H270-PRO motherboard, it causes errors like these: pcieport 0000:00:1c.0: AER: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID) pcieport 0000:00:1c.0: AER: device [8086:a292] error status/mask=00003000/00002000 pcieport 0000:00:1c.0: AER: [12] Timeout pcieport 0000:00:1c.0: AER: Corrected error received: 0000:00:1c.0 pcieport 0000:00:1c.0: AER: can't find device of ID00e0 In addition to flooding the kernel log, this also causes the machine to wake up immediately after suspend is initiated. The device advertises ASPM L0s and L1 support in the Link Capabilities register, but the ASMedia web page for ASM1083 [1] claims "No PCIe ASPM support". Windows 10 (build 2004) enables L0s, but it also logs correctable PCIe errors. Add a quirk to disable ASPM for this device. [1] https://www.asmedia.com.tw/eng/e_show_products.php?cate_index=169&item=114 [bhelgaas: commit log] Fixes: 66ff14e59e8a ("PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges") Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=208667 Link: https://lore.kernel.org/r/20200722021803.17958-1-hancockrwd@gmail.com Signed-off-by: Robert Hancock Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman --- drivers/pci/quirks.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index a1ec8a1977d3..4ac4b28e0ebb 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2330,6 +2330,19 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f1, quirk_disable_aspm_l0s); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f4, quirk_disable_aspm_l0s); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1508, quirk_disable_aspm_l0s); +static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev) +{ + pci_info(dev, "Disabling ASPM L0s/L1\n"); + pci_disable_link_state(dev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1); +} + +/* + * ASM1083/1085 PCIe-PCI bridge devices cause AER timeout errors on the + * upstream PCIe root port when ASPM is enabled. At least L0s mode is affected; + * disable both L0s and L1 for now to be safe. + */ +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1); + /* * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain * Link bit cleared after starting the link retrain process to allow this From 47e20933814feeb75543eb514437989cea53ec52 Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Wed, 1 Apr 2020 21:04:40 -0700 Subject: [PATCH 18/99] mm/filemap.c: don't bother dropping mmap_sem for zero size readahead commit 5c72feee3e45b40a3c96c7145ec422899d0e8964 upstream. When handling a page fault, we drop mmap_sem to start async readahead so that we don't block on IO submission with mmap_sem held. However there's no point to drop mmap_sem in case readahead is disabled. Handle that case to avoid pointless dropping of mmap_sem and retrying the fault. This was actually reported to block mlockall(MCL_CURRENT) indefinitely. Fixes: 6b4c9f446981 ("filemap: drop the mmap_sem for all blocking operations") Reported-by: Minchan Kim Reported-by: Robert Stupp Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Reviewed-by: Josef Bacik Reviewed-by: Minchan Kim Link: http://lkml.kernel.org/r/20200212101356.30759-1-jack@suse.cz Signed-off-by: Linus Torvalds Cc: SeongJae Park Signed-off-by: Greg Kroah-Hartman --- mm/filemap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/filemap.c b/mm/filemap.c index 1f5731768222..18c1f5830074 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2438,7 +2438,7 @@ static struct file *do_async_mmap_readahead(struct vm_fault *vmf, pgoff_t offset = vmf->pgoff; /* If we don't want any read-ahead, don't bother */ - if (vmf->vma->vm_flags & VM_RAND_READ) + if (vmf->vma->vm_flags & VM_RAND_READ || !ra->ra_pages) return fpin; if (ra->mmap_miss > 0) ra->mmap_miss--; From 6d84a8cf8a02d60312fe6a955f43604132860c99 Mon Sep 17 00:00:00 2001 From: Laurence Tratt Date: Sun, 21 Jun 2020 08:50:05 +0100 Subject: [PATCH 19/99] ALSA: usb-audio: Add implicit feedback quirk for SSL2 commit 3da87ec67a491b9633a82045896c076b794bf938 upstream. As expected, this requires the same quirk as the SSL2+ in order for the clock to sync. This was suggested by, and tested on an SSL2, by Dmitry. Suggested-by: Dmitry Signed-off-by: Laurence Tratt Cc: Link: https://lore.kernel.org/r/20200621075005.52mjjfc6dtdjnr3h@overdrive.tratt.net Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/usb/pcm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index 086244c70743..d11d00efc574 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -354,6 +354,7 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs, ifnum = 0; goto add_sync_ep_from_ifnum; case USB_ID(0x07fd, 0x0008): /* MOTU M Series */ + case USB_ID(0x31e9, 0x0001): /* Solid State Logic SSL2 */ case USB_ID(0x31e9, 0x0002): /* Solid State Logic SSL2+ */ case USB_ID(0x0d9a, 0x00df): /* RTX6001 */ ep = 0x81; From cd76d30f51fb55b4b493e77a555ddf90f2dd33e0 Mon Sep 17 00:00:00 2001 From: Armas Spann Date: Fri, 24 Jul 2020 16:06:16 +0200 Subject: [PATCH 20/99] ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G15(GA502) series with ALC289 commit 4b43d05a1978a93a19374c6e6b817c9c1ff4ba4b upstream. This patch adds support for headset mic to the ASUS ROG Zephyrus G15(GA502) notebook series by adding the corresponding vendor/pci_device id, as well as adding a new fixup for the used realtek ALC289. The fixup stets the correct pin to get the headset mic correctly recognized on audio-jack. Signed-off-by: Armas Spann Cc: Link: https://lore.kernel.org/r/20200724140616.298892-1-zappel@retarded.farm Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/patch_realtek.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index bf205621d7ac..e1609e81a3e5 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6118,6 +6118,7 @@ enum { ALC269VC_FIXUP_ACER_HEADSET_MIC, ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE, ALC289_FIXUP_ASUS_G401, + ALC289_FIXUP_ASUS_GA502, ALC256_FIXUP_ACER_MIC_NO_PRESENCE, }; @@ -7335,6 +7336,13 @@ static const struct hda_fixup alc269_fixups[] = { { } }, }, + [ALC289_FIXUP_ASUS_GA502] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x03a11020 }, /* headset mic with jack detect */ + { } + }, + }, [ALC256_FIXUP_ACER_MIC_NO_PRESENCE] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { @@ -7526,6 +7534,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC), + SND_PCI_QUIRK(0x1043, 0x1e11, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA502), SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_G401), SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2), SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), From e9f147c937a5cab7288d1c988631d4dfa95effd0 Mon Sep 17 00:00:00 2001 From: Armas Spann Date: Fri, 24 Jul 2020 16:08:37 +0200 Subject: [PATCH 21/99] ALSA: hda/realtek: typo_fix: enable headset mic of ASUS ROG Zephyrus G14(GA401) series with ALC289 commit 293a92c1d9913248b9987b68f3a5d6d2f0aae62b upstream. This patch fixes a small typo I accidently submitted with the initial patch. The board should be named GA401 not G401. Fixes: ff53664daff2 ("ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289") Signed-off-by: Armas Spann Cc: Link: https://lore.kernel.org/r/20200724140837.302763-1-zappel@retarded.farm Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/patch_realtek.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index e1609e81a3e5..66200e529f18 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6117,7 +6117,7 @@ enum { ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS, ALC269VC_FIXUP_ACER_HEADSET_MIC, ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE, - ALC289_FIXUP_ASUS_G401, + ALC289_FIXUP_ASUS_GA401, ALC289_FIXUP_ASUS_GA502, ALC256_FIXUP_ACER_MIC_NO_PRESENCE, }; @@ -7329,7 +7329,7 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC269_FIXUP_HEADSET_MIC }, - [ALC289_FIXUP_ASUS_G401] = { + [ALC289_FIXUP_ASUS_GA401] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { { 0x19, 0x03a11020 }, /* headset mic with jack detect */ @@ -7535,7 +7535,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x1e11, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA502), - SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_G401), + SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2), SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x1043, 0x834a, "ASUS S101", ALC269_FIXUP_STEREO_DMIC), From 09832a9e0b762585a744b4ee393bc7978b03581b Mon Sep 17 00:00:00 2001 From: PeiSen Hou Date: Mon, 27 Jul 2020 13:56:47 +0200 Subject: [PATCH 22/99] ALSA: hda/realtek: Fix add a "ultra_low_power" function for intel reference board (alc256) commit 6fa38ef1534e7e9320aa15e329eb1404ab2f70ac upstream. Intel requires to enable power saving mode for intel reference board (alc256) Signed-off-by: PeiSen Hou Cc: Link: https://lore.kernel.org/r/20200727115647.10967-1-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/patch_realtek.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 66200e529f18..272c62e34b11 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -7555,7 +7555,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x10cf, 0x1629, "Lifebook U7x7", ALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC), SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC), SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE), - SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC225_FIXUP_HEADSET_JACK), + SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK), SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-SZ6", ALC269_FIXUP_HEADSET_MODE), SND_PCI_QUIRK(0x144d, 0xc109, "Samsung Ativ book 9 (NP900X3G)", ALC269_FIXUP_INV_DMIC), SND_PCI_QUIRK(0x144d, 0xc169, "Samsung Notebook 9 Pen (NP930SBE-K01US)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), From 6a67b05c6f30d85ba19440c1339507d8356f68f7 Mon Sep 17 00:00:00 2001 From: Kailang Yang Date: Wed, 29 Jul 2020 15:09:27 +0800 Subject: [PATCH 23/99] ALSA: hda/realtek - Fixed HP right speaker no sound commit 5649625344fe1f4695eace7c37d011e317bf66d5 upstream. HP NB right speaker had no sound output. This platform was connected to I2S Amp for speaker out.(None Realtek I2S Amp IC) EC need to check codec GPIO1 pin to initial I2S Amp. Signed-off-by: Kailang Yang Cc: Link: https://lore.kernel.org/r/01285f623ac7447187482fb4a8ecaa7c@realtek.com Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/patch_realtek.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 272c62e34b11..f50d71da1226 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5940,6 +5940,16 @@ static void alc_fixup_disable_mic_vref(struct hda_codec *codec, snd_hda_codec_set_pin_target(codec, 0x19, PIN_VREFHIZ); } +static void alc285_fixup_hp_gpio_amp_init(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action != HDA_FIXUP_ACT_INIT) + return; + + msleep(100); + alc_write_coef_idx(codec, 0x65, 0x0); +} + /* for hda_fixup_thinkpad_acpi() */ #include "thinkpad_helper.c" @@ -6120,6 +6130,7 @@ enum { ALC289_FIXUP_ASUS_GA401, ALC289_FIXUP_ASUS_GA502, ALC256_FIXUP_ACER_MIC_NO_PRESENCE, + ALC285_FIXUP_HP_GPIO_AMP_INIT, }; static const struct hda_fixup alc269_fixups[] = { @@ -7352,6 +7363,12 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE }, + [ALC285_FIXUP_HP_GPIO_AMP_INIT] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc285_fixup_hp_gpio_amp_init, + .chained = true, + .chain_id = ALC285_FIXUP_HP_GPIO_LED + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7502,7 +7519,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x8729, "HP", ALC285_FIXUP_HP_GPIO_LED), - SND_PCI_QUIRK(0x103c, 0x8736, "HP", ALC285_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x8736, "HP", ALC285_FIXUP_HP_GPIO_AMP_INIT), SND_PCI_QUIRK(0x103c, 0x877a, "HP", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x877d, "HP", ALC236_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), From dc731d26281161d543875afa1fa6cee88431163b Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 28 Jul 2020 10:20:33 +0200 Subject: [PATCH 24/99] ALSA: hda/hdmi: Fix keep_power assignment for non-component devices commit c2c3657f0aedb8736a0fb7b2b1985adfb86e7802 upstream. It's been reported that, when neither nouveau nor Nvidia graphics driver is used, the screen starts flickering. And, after comparing between the working case (stable 4.4.x) and the broken case, it turned out that the problem comes from the audio component binding. The Nvidia and AMD audio binding code clears the bus->keep_power flag whenever snd_hdac_acomp_init() succeeds. But this doesn't mean that the component is actually bound, but it merely indicates that it's ready for binding. So, when both nouveau and Nvidia are blacklisted or not ready, the driver keeps running without the audio component but also with bus->keep_power = false. This made the driver runtime PM kicked in and powering down when unused, which results in flickering in the graphics side, as it seems. For fixing the bug, this patch moves the bus->keep_power flag change into generic_acomp_notifier_set() that is the function called from the master_bind callback of component ops; i.e. it's guaranteed that the binding succeeded. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=208609 Fixes: 5a858e79c911 ("ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs") Cc: Link: https://lore.kernel.org/r/20200728082033.23933-1-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/patch_hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index 820f534a67b1..908b68fda24c 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c @@ -2483,6 +2483,7 @@ static void generic_acomp_notifier_set(struct drm_audio_component *acomp, mutex_lock(&spec->bind_lock); spec->use_acomp_notifier = use_acomp; spec->codec->relaxed_resume = use_acomp; + spec->codec->bus->keep_power = 0; /* reprogram each jack detection logic depending on the notifier */ if (spec->use_jack_detect) { for (i = 0; i < spec->num_pins; i++) @@ -2578,7 +2579,6 @@ static void generic_acomp_init(struct hda_codec *codec, if (!snd_hdac_acomp_init(&codec->bus->core, &spec->drm_audio_ops, match_bound_vga, 0)) { spec->acomp_registered = true; - codec->bus->keep_power = 0; } } From 951117a2079bf0f725e0f297d4bfb5a9a1371864 Mon Sep 17 00:00:00 2001 From: Mike Marciniszyn Date: Tue, 28 Jul 2020 14:38:48 -0400 Subject: [PATCH 25/99] IB/rdmavt: Fix RQ counting issues causing use of an invalid RWQE commit 54a485e9ec084da1a4b32dcf7749c7d760ed8aa5 upstream. The lookaside count is improperly initialized to the size of the Receive Queue with the additional +1. In the traces below, the RQ size is 384, so the count was set to 385. The lookaside count is then rarely refreshed. Note the high and incorrect count in the trace below: rvt_get_rwqe: [hfi1_0] wqe ffffc900078e9008 wr_id 55c7206d75a0 qpn c qpt 2 pid 3018 num_sge 1 head 1 tail 0, count 385 rvt_get_rwqe: (hfi1_rc_rcv+0x4eb/0x1480 [hfi1] <- rvt_get_rwqe) ret=0x1 The head,tail indicate there is only one RWQE posted although the count says 385 and we correctly return the element 0. The next call to rvt_get_rwqe with the decremented count: rvt_get_rwqe: [hfi1_0] wqe ffffc900078e9058 wr_id 0 qpn c qpt 2 pid 3018 num_sge 0 head 1 tail 1, count 384 rvt_get_rwqe: (hfi1_rc_rcv+0x4eb/0x1480 [hfi1] <- rvt_get_rwqe) ret=0x1 Note that the RQ is empty (head == tail) yet we return the RWQE at tail 1, which is not valid because of the bogus high count. Best case, the RWQE has never been posted and the rc logic sees an RWQE that is too small (all zeros) and puts the QP into an error state. In the worst case, a server slow at posting receive buffers might fool rvt_get_rwqe() into fetching an old RWQE and corrupt memory. Fix by deleting the faulty initialization code and creating an inline to fetch the posted count and convert all callers to use new inline. Fixes: f592ae3c999f ("IB/rdmavt: Fracture single lock used for posting and processing RWQEs") Link: https://lore.kernel.org/r/20200728183848.22226.29132.stgit@awfm-01.aw.intel.com Reported-by: Zhaojuan Guo Cc: # 5.4.x Reviewed-by: Kaike Wan Signed-off-by: Mike Marciniszyn Tested-by: Honggang Li Signed-off-by: Jason Gunthorpe Signed-off-by: Greg Kroah-Hartman --- drivers/infiniband/sw/rdmavt/qp.c | 33 ++++--------------------------- drivers/infiniband/sw/rdmavt/rc.c | 4 +--- include/rdma/rdmavt_qp.h | 19 ++++++++++++++++++ 3 files changed, 24 insertions(+), 32 deletions(-) diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c index 19556c62c7ea..d14ad523f96c 100644 --- a/drivers/infiniband/sw/rdmavt/qp.c +++ b/drivers/infiniband/sw/rdmavt/qp.c @@ -898,8 +898,6 @@ static void rvt_init_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp, qp->s_tail_ack_queue = 0; qp->s_acked_ack_queue = 0; qp->s_num_rd_atomic = 0; - if (qp->r_rq.kwq) - qp->r_rq.kwq->count = qp->r_rq.size; qp->r_sge.num_sge = 0; atomic_set(&qp->s_reserved_used, 0); } @@ -2352,31 +2350,6 @@ bad_lkey: return 0; } -/** - * get_count - count numbers of request work queue entries - * in circular buffer - * @rq: data structure for request queue entry - * @tail: tail indices of the circular buffer - * @head: head indices of the circular buffer - * - * Return - total number of entries in the circular buffer - */ -static u32 get_count(struct rvt_rq *rq, u32 tail, u32 head) -{ - u32 count; - - count = head; - - if (count >= rq->size) - count = 0; - if (count < tail) - count += rq->size - tail; - else - count -= tail; - - return count; -} - /** * get_rvt_head - get head indices of the circular buffer * @rq: data structure for request queue entry @@ -2451,7 +2424,7 @@ int rvt_get_rwqe(struct rvt_qp *qp, bool wr_id_only) if (kwq->count < RVT_RWQ_COUNT_THRESHOLD) { head = get_rvt_head(rq, ip); - kwq->count = get_count(rq, tail, head); + kwq->count = rvt_get_rq_count(rq, head, tail); } if (unlikely(kwq->count == 0)) { ret = 0; @@ -2486,7 +2459,9 @@ int rvt_get_rwqe(struct rvt_qp *qp, bool wr_id_only) * the number of remaining WQEs. */ if (kwq->count < srq->limit) { - kwq->count = get_count(rq, tail, get_rvt_head(rq, ip)); + kwq->count = + rvt_get_rq_count(rq, + get_rvt_head(rq, ip), tail); if (kwq->count < srq->limit) { struct ib_event ev; diff --git a/drivers/infiniband/sw/rdmavt/rc.c b/drivers/infiniband/sw/rdmavt/rc.c index 890d7b760d2e..27415185d862 100644 --- a/drivers/infiniband/sw/rdmavt/rc.c +++ b/drivers/infiniband/sw/rdmavt/rc.c @@ -127,9 +127,7 @@ __be32 rvt_compute_aeth(struct rvt_qp *qp) * not atomic, which is OK, since the fuzziness is * resolved as further ACKs go out. */ - credits = head - tail; - if ((int)credits < 0) - credits += qp->r_rq.size; + credits = rvt_get_rq_count(&qp->r_rq, head, tail); } /* * Binary search the credit table to find the code to diff --git a/include/rdma/rdmavt_qp.h b/include/rdma/rdmavt_qp.h index b550ae89bf85..6dd3b5284fd1 100644 --- a/include/rdma/rdmavt_qp.h +++ b/include/rdma/rdmavt_qp.h @@ -278,6 +278,25 @@ struct rvt_rq { spinlock_t lock ____cacheline_aligned_in_smp; }; +/** + * rvt_get_rq_count - count numbers of request work queue entries + * in circular buffer + * @rq: data structure for request queue entry + * @head: head indices of the circular buffer + * @tail: tail indices of the circular buffer + * + * Return - total number of entries in the Receive Queue + */ + +static inline u32 rvt_get_rq_count(struct rvt_rq *rq, u32 head, u32 tail) +{ + u32 count = head - tail; + + if ((s32)count < 0) + count += rq->size; + return count; +} + /* * This structure holds the information that the send tasklet needs * to send a RDMA read response or atomic operation. From 96f105943cff8816436fc814b3e150b2bfc5a991 Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Fri, 10 Jul 2020 06:36:16 -0400 Subject: [PATCH 26/99] vhost/scsi: fix up req type endian-ness commit 295c1b9852d000580786375304a9800bd9634d15 upstream. vhost/scsi doesn't handle type conversion correctly for request type when using virtio 1.0 and up for BE, or cross-endian platforms. Fix it up using vhost_32_to_cpu. Cc: stable@vger.kernel.org Signed-off-by: Michael S. Tsirkin Acked-by: Jason Wang Reviewed-by: Stefan Hajnoczi Signed-off-by: Greg Kroah-Hartman --- drivers/vhost/scsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c index 88ce114790d7..f63f84a25725 100644 --- a/drivers/vhost/scsi.c +++ b/drivers/vhost/scsi.c @@ -1215,7 +1215,7 @@ vhost_scsi_ctl_handle_vq(struct vhost_scsi *vs, struct vhost_virtqueue *vq) continue; } - switch (v_req.type) { + switch (vhost32_to_cpu(vq, v_req.type)) { case VIRTIO_SCSI_T_TMF: vc.req = &v_req.tmf; vc.req_size = sizeof(struct virtio_scsi_ctrl_tmf_req); From d3472f74d229b499bbec854c2ebca802326f9007 Mon Sep 17 00:00:00 2001 From: Wang Hai Date: Fri, 12 Jun 2020 17:08:33 +0800 Subject: [PATCH 27/99] 9p/trans_fd: Fix concurrency del of req_list in p9_fd_cancelled/p9_read_work commit 74d6a5d5662975aed7f25952f62efbb6f6dadd29 upstream. p9_read_work and p9_fd_cancelled may be called concurrently. In some cases, req->req_list may be deleted by both p9_read_work and p9_fd_cancelled. We can fix it by ignoring replies associated with a cancelled request and ignoring cancelled request if message has been received before lock. Link: http://lkml.kernel.org/r/20200612090833.36149-1-wanghai38@huawei.com Fixes: 60ff779c4abb ("9p: client: remove unused code and any reference to "cancelled" function") Cc: # v3.12+ Reported-by: syzbot+77a25acfa0382e06ab23@syzkaller.appspotmail.com Signed-off-by: Wang Hai Signed-off-by: Dominique Martinet Signed-off-by: Greg Kroah-Hartman --- net/9p/trans_fd.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c index 13cd683a658a..3f67803123be 100644 --- a/net/9p/trans_fd.c +++ b/net/9p/trans_fd.c @@ -362,6 +362,10 @@ static void p9_read_work(struct work_struct *work) if (m->rreq->status == REQ_STATUS_SENT) { list_del(&m->rreq->req_list); p9_client_cb(m->client, m->rreq, REQ_STATUS_RCVD); + } else if (m->rreq->status == REQ_STATUS_FLSHD) { + /* Ignore replies associated with a cancelled request. */ + p9_debug(P9_DEBUG_TRANS, + "Ignore replies associated with a cancelled request\n"); } else { spin_unlock(&m->client->lock); p9_debug(P9_DEBUG_ERROR, @@ -703,11 +707,20 @@ static int p9_fd_cancelled(struct p9_client *client, struct p9_req_t *req) { p9_debug(P9_DEBUG_TRANS, "client %p req %p\n", client, req); + spin_lock(&client->lock); + /* Ignore cancelled request if message has been received + * before lock. + */ + if (req->status == REQ_STATUS_RCVD) { + spin_unlock(&client->lock); + return 0; + } + /* we haven't received a response for oldreq, * remove it from the list. */ - spin_lock(&client->lock); list_del(&req->req_list); + req->status = REQ_STATUS_FLSHD; spin_unlock(&client->lock); p9_req_put(req); From b8fa0b0370474e51335a4f274cda70c976c73230 Mon Sep 17 00:00:00 2001 From: Pi-Hsun Shih Date: Wed, 4 Dec 2019 16:13:07 +0800 Subject: [PATCH 28/99] wireless: Use offsetof instead of custom macro. commit 6989310f5d4327e8595664954edd40a7f99ddd0d upstream. Use offsetof to calculate offset of a field to take advantage of compiler built-in version when possible, and avoid UBSAN warning when compiling with Clang: ================================================================== UBSAN: Undefined behaviour in net/wireless/wext-core.c:525:14 member access within null pointer of type 'struct iw_point' CPU: 3 PID: 165 Comm: kworker/u16:3 Tainted: G S W 4.19.23 #43 Workqueue: cfg80211 __cfg80211_scan_done [cfg80211] Call trace: dump_backtrace+0x0/0x194 show_stack+0x20/0x2c __dump_stack+0x20/0x28 dump_stack+0x70/0x94 ubsan_epilogue+0x14/0x44 ubsan_type_mismatch_common+0xf4/0xfc __ubsan_handle_type_mismatch_v1+0x34/0x54 wireless_send_event+0x3cc/0x470 ___cfg80211_scan_done+0x13c/0x220 [cfg80211] __cfg80211_scan_done+0x28/0x34 [cfg80211] process_one_work+0x170/0x35c worker_thread+0x254/0x380 kthread+0x13c/0x158 ret_from_fork+0x10/0x18 =================================================================== Signed-off-by: Pi-Hsun Shih Reviewed-by: Nick Desaulniers Link: https://lore.kernel.org/r/20191204081307.138765-1-pihsun@chromium.org Signed-off-by: Johannes Berg Signed-off-by: Nick Desaulniers Signed-off-by: Greg Kroah-Hartman --- include/uapi/linux/wireless.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/uapi/linux/wireless.h b/include/uapi/linux/wireless.h index 86eca3208b6b..a2c006a364e0 100644 --- a/include/uapi/linux/wireless.h +++ b/include/uapi/linux/wireless.h @@ -74,6 +74,8 @@ #include /* for "struct sockaddr" et al */ #include /* for IFNAMSIZ and co... */ +#include /* for offsetof */ + /***************************** VERSION *****************************/ /* * This constant is used to know the availability of the wireless @@ -1090,8 +1092,7 @@ struct iw_event { /* iw_point events are special. First, the payload (extra data) come at * the end of the event, so they are bigger than IW_EV_POINT_LEN. Second, * we omit the pointer, so start at an offset. */ -#define IW_EV_POINT_OFF (((char *) &(((struct iw_point *) NULL)->length)) - \ - (char *) NULL) +#define IW_EV_POINT_OFF offsetof(struct iw_point, length) #define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) - \ IW_EV_POINT_OFF) From 3b7e4a5ba95d52ffb8d97a4761bdf118ac1e43af Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Thu, 18 Jun 2020 11:16:45 +0100 Subject: [PATCH 29/99] ARM: 8986/1: hw_breakpoint: Don't invoke overflow handler on uaccess watchpoints commit eec13b42d41b0f3339dcf0c4da43734427c68620 upstream. Unprivileged memory accesses generated by the so-called "translated" instructions (e.g. LDRT) in kernel mode can cause user watchpoints to fire unexpectedly. In such cases, the hw_breakpoint logic will invoke the user overflow handler which will typically raise a SIGTRAP back to the current task. This is futile when returning back to the kernel because (a) the signal won't have been delivered and (b) userspace can't handle the thing anyway. Avoid invoking the user overflow handler for watchpoints triggered by kernel uaccess routines, and instead single-step over the faulting instruction as we would if no overflow handler had been installed. Cc: Fixes: f81ef4a920c8 ("ARM: 6356/1: hw-breakpoint: add ARM backend for the hw-breakpoint framework") Reported-by: Luis Machado Tested-by: Luis Machado Signed-off-by: Will Deacon Signed-off-by: Russell King Signed-off-by: Greg Kroah-Hartman --- arch/arm/kernel/hw_breakpoint.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/arch/arm/kernel/hw_breakpoint.c b/arch/arm/kernel/hw_breakpoint.c index b0c195e3a06d..5f95e4b911a0 100644 --- a/arch/arm/kernel/hw_breakpoint.c +++ b/arch/arm/kernel/hw_breakpoint.c @@ -680,6 +680,12 @@ static void disable_single_step(struct perf_event *bp) arch_install_hw_breakpoint(bp); } +static int watchpoint_fault_on_uaccess(struct pt_regs *regs, + struct arch_hw_breakpoint *info) +{ + return !user_mode(regs) && info->ctrl.privilege == ARM_BREAKPOINT_USER; +} + static void watchpoint_handler(unsigned long addr, unsigned int fsr, struct pt_regs *regs) { @@ -739,16 +745,27 @@ static void watchpoint_handler(unsigned long addr, unsigned int fsr, } pr_debug("watchpoint fired: address = 0x%x\n", info->trigger); + + /* + * If we triggered a user watchpoint from a uaccess routine, + * then handle the stepping ourselves since userspace really + * can't help us with this. + */ + if (watchpoint_fault_on_uaccess(regs, info)) + goto step; + perf_bp_event(wp, regs); /* - * If no overflow handler is present, insert a temporary - * mismatch breakpoint so we can single-step over the - * watchpoint trigger. + * Defer stepping to the overflow handler if one is installed. + * Otherwise, insert a temporary mismatch breakpoint so that + * we can single-step over the watchpoint trigger. */ - if (is_default_overflow_handler(wp)) - enable_single_step(wp, instruction_pointer(regs)); + if (!is_default_overflow_handler(wp)) + goto unlock; +step: + enable_single_step(wp, instruction_pointer(regs)); unlock: rcu_read_unlock(); } From c4738c67a5696a3e91f2352b8ac881577ee7bb71 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 13 Jul 2020 11:23:25 -0300 Subject: [PATCH 30/99] ARM: dts: imx6sx-sabreauto: Fix the phy-mode on fec2 commit d36f260718d83928e6012247a7e1b9791cdb12ff upstream. Commit 0672d22a1924 ("ARM: dts: imx: Fix the AR803X phy-mode") fixed the phy-mode for fec1, but missed to fix it for the fec2 node. Fix fec2 to also use "rgmii-id" as the phy-mode. Cc: Fixes: 0672d22a1924 ("ARM: dts: imx: Fix the AR803X phy-mode") Signed-off-by: Fabio Estevam Signed-off-by: Shawn Guo Signed-off-by: Greg Kroah-Hartman --- arch/arm/boot/dts/imx6sx-sabreauto.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/imx6sx-sabreauto.dts b/arch/arm/boot/dts/imx6sx-sabreauto.dts index 315044ccd65f..e4719566133c 100644 --- a/arch/arm/boot/dts/imx6sx-sabreauto.dts +++ b/arch/arm/boot/dts/imx6sx-sabreauto.dts @@ -99,7 +99,7 @@ &fec2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet2>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <ðphy0>; fsl,magic-packet; status = "okay"; From b9274613114a80e460351efa703a018386a6660f Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 13 Jul 2020 11:23:24 -0300 Subject: [PATCH 31/99] ARM: dts: imx6sx-sdb: Fix the phy-mode on fec2 commit c696afd331be1acb39206aba53048f2386b781fc upstream. Commit 0672d22a1924 ("ARM: dts: imx: Fix the AR803X phy-mode") fixed the phy-mode for fec1, but missed to fix it for the fec2 node. Fix fec2 to also use "rgmii-id" as the phy-mode. Cc: Fixes: 0672d22a1924 ("ARM: dts: imx: Fix the AR803X phy-mode") Signed-off-by: Fabio Estevam Signed-off-by: Shawn Guo Signed-off-by: Greg Kroah-Hartman --- arch/arm/boot/dts/imx6sx-sdb.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/imx6sx-sdb.dtsi b/arch/arm/boot/dts/imx6sx-sdb.dtsi index f6972deb5e39..865528b134d8 100644 --- a/arch/arm/boot/dts/imx6sx-sdb.dtsi +++ b/arch/arm/boot/dts/imx6sx-sdb.dtsi @@ -213,7 +213,7 @@ &fec2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet2>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; phy-handle = <ðphy2>; status = "okay"; }; From c2f787f904e0c40b15e60eff142c647cd4d43ce8 Mon Sep 17 00:00:00 2001 From: Michael Trimarchi Date: Fri, 17 Jul 2020 13:33:52 +0530 Subject: [PATCH 32/99] ARM: dts: imx6qdl-icore: Fix OTG_ID pin and sdcard detect commit 4a601da92c2a782e5c022680d476104586b74994 upstream. The current pin muxing scheme muxes GPIO_1 pad for USB_OTG_ID because of which when card is inserted, usb otg is enumerated and the card is never detected. [ 64.492645] cfg80211: failed to load regulatory.db [ 64.492657] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware [ 76.343711] ci_hdrc ci_hdrc.0: EHCI Host Controller [ 76.349742] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 2 [ 76.388862] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 [ 76.396650] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08 [ 76.405412] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 76.412763] usb usb2: Product: EHCI Host Controller [ 76.417666] usb usb2: Manufacturer: Linux 5.8.0-rc1-next-20200618 ehci_hcd [ 76.424623] usb usb2: SerialNumber: ci_hdrc.0 [ 76.431755] hub 2-0:1.0: USB hub found [ 76.435862] hub 2-0:1.0: 1 port detected The TRM mentions GPIO_1 pad should be muxed/assigned for card detect and ENET_RX_ER pad for USB_OTG_ID for proper operation. This patch fixes pin muxing as per TRM and is tested on a i.Core 1.5 MX6 DL SOM. [ 22.449165] mmc0: host does not support reading read-only switch, assuming write-enable [ 22.459992] mmc0: new high speed SDHC card at address 0001 [ 22.469725] mmcblk0: mmc0:0001 EB1QT 29.8 GiB [ 22.478856] mmcblk0: p1 p2 Fixes: 6df11287f7c9 ("ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual initial support") Cc: stable@vger.kernel.org Signed-off-by: Michael Trimarchi Signed-off-by: Suniel Mahesh Signed-off-by: Shawn Guo Signed-off-by: Greg Kroah-Hartman --- arch/arm/boot/dts/imx6qdl-icore.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi index 7814f1ef0804..fde56f98398d 100644 --- a/arch/arm/boot/dts/imx6qdl-icore.dtsi +++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi @@ -384,7 +384,7 @@ pinctrl_usbotg: usbotggrp { fsl,pins = < - MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 + MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059 >; }; @@ -396,6 +396,7 @@ MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17070 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17070 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070 + MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x1b0b0 >; }; From cea6633d5382ca93bf49e817f903b705820a5d77 Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Mon, 27 Jul 2020 12:01:27 -0400 Subject: [PATCH 33/99] virtio_balloon: fix up endian-ness for free cmd id commit 168c358af2f8c5a37f8b5f877ba2cc93995606ee upstream. free cmd id is read using virtio endian, spec says all fields in balloon are LE. Fix it up. Fixes: 86a559787e6f ("virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT") Cc: stable@vger.kernel.org Signed-off-by: Michael S. Tsirkin Acked-by: Jason Wang Reviewed-by: Wei Wang Acked-by: David Hildenbrand Signed-off-by: Greg Kroah-Hartman --- drivers/virtio/virtio_balloon.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index 7aaf150f89ba..1e444826a66e 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c @@ -529,10 +529,14 @@ static int init_vqs(struct virtio_balloon *vb) static u32 virtio_balloon_cmd_id_received(struct virtio_balloon *vb) { if (test_and_clear_bit(VIRTIO_BALLOON_CONFIG_READ_CMD_ID, - &vb->config_read_bitmap)) + &vb->config_read_bitmap)) { virtio_cread(vb->vdev, struct virtio_balloon_config, free_page_report_cmd_id, &vb->cmd_id_received_cache); + /* Legacy balloon config space is LE, unlike all other devices. */ + if (!virtio_has_feature(vb->vdev, VIRTIO_F_VERSION_1)) + vb->cmd_id_received_cache = le32_to_cpu((__force __le32)vb->cmd_id_received_cache); + } return vb->cmd_id_received_cache; } From 22d3202e51a7fe6551efc45ed77b4e7c015f5709 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 30 Jul 2020 11:02:30 -0400 Subject: [PATCH 34/99] Revert "drm/amdgpu: Fix NULL dereference in dpm sysfs handlers" commit 87004abfbc27261edd15716515d89ab42198b405 upstream. This regressed some working configurations so revert it. Will fix this properly for 5.9 and backport then. This reverts commit 38e0c89a19fd13f28d2b4721035160a3e66e270b. Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c index b66554b40db4..3f744e72912f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c @@ -691,7 +691,8 @@ static ssize_t amdgpu_set_pp_od_clk_voltage(struct device *dev, tmp_str++; while (isspace(*++tmp_str)); - while ((sub_str = strsep(&tmp_str, delimiter)) != NULL) { + while (tmp_str[0]) { + sub_str = strsep(&tmp_str, delimiter); ret = kstrtol(sub_str, 0, ¶meter[parameter_size]); if (ret) return -EINVAL; @@ -882,7 +883,8 @@ static ssize_t amdgpu_read_mask(const char *buf, size_t count, uint32_t *mask) memcpy(buf_cpy, buf, bytes); buf_cpy[bytes] = '\0'; tmp = buf_cpy; - while ((sub_str = strsep(&tmp, delimiter)) != NULL) { + while (tmp[0]) { + sub_str = strsep(&tmp, delimiter); if (strlen(sub_str)) { ret = kstrtol(sub_str, 0, &level); if (ret) @@ -1298,7 +1300,8 @@ static ssize_t amdgpu_set_pp_power_profile_mode(struct device *dev, i++; memcpy(buf_cpy, buf, count-i); tmp_str = buf_cpy; - while ((sub_str = strsep(&tmp_str, delimiter)) != NULL) { + while (tmp_str[0]) { + sub_str = strsep(&tmp_str, delimiter); ret = kstrtol(sub_str, 0, ¶meter[parameter_size]); if (ret) { count = -EINVAL; From f1b4bdde2bdcc0dd89d7ab193b3da5093d8ff79a Mon Sep 17 00:00:00 2001 From: Mazin Rezk Date: Mon, 27 Jul 2020 05:40:46 +0000 Subject: [PATCH 35/99] drm/amd/display: Clear dm_state for fast updates commit fde9f39ac7f1ffd799a96ffa1e06b2051f0898f1 upstream. This patch fixes a race condition that causes a use-after-free during amdgpu_dm_atomic_commit_tail. This can occur when 2 non-blocking commits are requested and the second one finishes before the first. Essentially, this bug occurs when the following sequence of events happens: 1. Non-blocking commit #1 is requested w/ a new dm_state #1 and is deferred to the workqueue. 2. Non-blocking commit #2 is requested w/ a new dm_state #2 and is deferred to the workqueue. 3. Commit #2 starts before commit #1, dm_state #1 is used in the commit_tail and commit #2 completes, freeing dm_state #1. 4. Commit #1 starts after commit #2 completes, uses the freed dm_state 1 and dereferences a freelist pointer while setting the context. Since this bug has only been spotted with fast commits, this patch fixes the bug by clearing the dm_state instead of using the old dc_state for fast updates. In addition, since dm_state is only used for its dc_state and amdgpu_dm_atomic_commit_tail will retain the dc_state if none is found, removing the dm_state should not have any consequences in fast updates. This use-after-free bug has existed for a while now, but only caused a noticeable issue starting from 5.7-rc1 due to 3202fa62f ("slub: relocate freelist pointer to middle of object") moving the freelist pointer from dm_state->base (which was unused) to dm_state->context (which is dereferenced). Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207383 Fixes: bd200d190f45 ("drm/amd/display: Don't replace the dc_state for fast updates") Reported-by: Duncan <1i5t5.duncan@cox.net> Signed-off-by: Mazin Rezk Reviewed-by: Nicholas Kazlauskas Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index c7d8edf450d3..6091194a3955 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -7464,20 +7464,38 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, * the same resource. If we have a new DC context as part of * the DM atomic state from validation we need to free it and * retain the existing one instead. + * + * Furthermore, since the DM atomic state only contains the DC + * context and can safely be annulled, we can free the state + * and clear the associated private object now to free + * some memory and avoid a possible use-after-free later. */ - struct dm_atomic_state *new_dm_state, *old_dm_state; - new_dm_state = dm_atomic_get_new_state(state); - old_dm_state = dm_atomic_get_old_state(state); + for (i = 0; i < state->num_private_objs; i++) { + struct drm_private_obj *obj = state->private_objs[i].ptr; - if (new_dm_state && old_dm_state) { - if (new_dm_state->context) - dc_release_state(new_dm_state->context); + if (obj->funcs == adev->dm.atomic_obj.funcs) { + int j = state->num_private_objs-1; - new_dm_state->context = old_dm_state->context; + dm_atomic_destroy_state(obj, + state->private_objs[i].state); - if (old_dm_state->context) - dc_retain_state(old_dm_state->context); + /* If i is not at the end of the array then the + * last element needs to be moved to where i was + * before the array can safely be truncated. + */ + if (i != j) + state->private_objs[i] = + state->private_objs[j]; + + state->private_objs[j].ptr = NULL; + state->private_objs[j].state = NULL; + state->private_objs[j].old_state = NULL; + state->private_objs[j].new_state = NULL; + + state->num_private_objs = j; + break; + } } } From 8ea180f1c7ec137310ea2e66300485dbda93baad Mon Sep 17 00:00:00 2001 From: Peilin Ye Date: Tue, 28 Jul 2020 15:29:24 -0400 Subject: [PATCH 36/99] drm/amdgpu: Prevent kernel-infoleak in amdgpu_info_ioctl() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 543e8669ed9bfb30545fd52bc0e047ca4df7fb31 upstream. Compiler leaves a 4-byte hole near the end of `dev_info`, causing amdgpu_info_ioctl() to copy uninitialized kernel stack memory to userspace when `size` is greater than 356. In 2015 we tried to fix this issue by doing `= {};` on `dev_info`, which unfortunately does not initialize that 4-byte hole. Fix it by using memset() instead. Cc: stable@vger.kernel.org Fixes: c193fa91b918 ("drm/amdgpu: information leak in amdgpu_info_ioctl()") Fixes: d38ceaf99ed0 ("drm/amdgpu: add core driver (v4)") Suggested-by: Dan Carpenter Reviewed-by: Christian König Signed-off-by: Peilin Ye Signed-off-by: Alex Deucher Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index a73206784cba..2a7da26008a2 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c @@ -667,9 +667,10 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file return n ? -EFAULT : 0; } case AMDGPU_INFO_DEV_INFO: { - struct drm_amdgpu_info_device dev_info = {}; + struct drm_amdgpu_info_device dev_info; uint64_t vm_size; + memset(&dev_info, 0, sizeof(dev_info)); dev_info.device_id = dev->pdev->device; dev_info.chip_rev = adev->rev_id; dev_info.external_rev = adev->external_rev_id; From 7eef3b463d88256b0fc5adc74f8d7859dae3cc07 Mon Sep 17 00:00:00 2001 From: Paul Cercueil Date: Fri, 3 Jul 2020 16:13:41 +0200 Subject: [PATCH 37/99] drm/dbi: Fix SPI Type 1 (9-bit) transfer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 900ab59e2621053b009f707f80b2c19ce0af5dee upstream. The function mipi_dbi_spi1_transfer() will transfer its payload as 9-bit data, the 9th (MSB) bit being the data/command bit. In order to do that, it unpacks the 8-bit values into 16-bit values, then sets the 9th bit if the byte corresponds to data, clears it otherwise. The 7 MSB are padding. The array of now 16-bit values is then passed to the SPI core for transfer. This function was broken since its introduction, as the length of the SPI transfer was set to the payload size before its conversion, but the payload doubled in size due to the 8-bit -> 16-bit conversion. Fixes: 02dd95fe3169 ("drm/tinydrm: Add MIPI DBI support") Cc: # 5.4+ Signed-off-by: Paul Cercueil Reviewed-by: Sam Ravnborg Reviewed-by: Noralf Trønnes Signed-off-by: Sam Ravnborg Link: https://patchwork.freedesktop.org/patch/msgid/20200703141341.1266263-1-paul@crapouillou.net Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/drm_mipi_dbi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c index a05e64e3d80b..4042f5b39765 100644 --- a/drivers/gpu/drm/drm_mipi_dbi.c +++ b/drivers/gpu/drm/drm_mipi_dbi.c @@ -937,7 +937,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc, } } - tr.len = chunk; + tr.len = chunk * 2; len -= chunk; ret = spi_sync(spi, &m); From 6a9428427da1775ae79baa8414fdb31db546a384 Mon Sep 17 00:00:00 2001 From: Steve Cohen Date: Mon, 20 Jul 2020 18:30:50 -0400 Subject: [PATCH 38/99] drm: hold gem reference until object is no longer accessed commit 8490d6a7e0a0a6fab5c2d82d57a3937306660864 upstream. A use-after-free in drm_gem_open_ioctl can happen if the GEM object handle is closed between the idr lookup and retrieving the size from said object since a local reference is not being held at that point. Hold the local reference while the object can still be accessed to fix this and plug the potential security hole. Signed-off-by: Steve Cohen Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter Link: https://patchwork.freedesktop.org/patch/msgid/1595284250-31580-1-git-send-email-cohens@codeaurora.org Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/drm_gem.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 6854f5867d51..46ad14470d06 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -872,9 +872,6 @@ err: * @file_priv: drm file-private structure * * Open an object using the global name, returning a handle and the size. - * - * This handle (of course) holds a reference to the object, so the object - * will not go away until the handle is deleted. */ int drm_gem_open_ioctl(struct drm_device *dev, void *data, @@ -899,14 +896,15 @@ drm_gem_open_ioctl(struct drm_device *dev, void *data, /* drm_gem_handle_create_tail unlocks dev->object_name_lock. */ ret = drm_gem_handle_create_tail(file_priv, obj, &handle); - drm_gem_object_put_unlocked(obj); if (ret) - return ret; + goto err; args->handle = handle; args->size = obj->size; - return 0; +err: + drm_gem_object_put_unlocked(obj); + return ret; } /** From 2ec69499b7589d8701eb7563d11a4efffd6252bc Mon Sep 17 00:00:00 2001 From: Peilin Ye Date: Thu, 30 Jul 2020 15:20:26 -0400 Subject: [PATCH 39/99] rds: Prevent kernel-infoleak in rds_notify_queue_get() commit bbc8a99e952226c585ac17477a85ef1194501762 upstream. rds_notify_queue_get() is potentially copying uninitialized kernel stack memory to userspace since the compiler may leave a 4-byte hole at the end of `cmsg`. In 2016 we tried to fix this issue by doing `= { 0 };` on `cmsg`, which unfortunately does not always initialize that 4-byte hole. Fix it by using memset() instead. Cc: stable@vger.kernel.org Fixes: f037590fff30 ("rds: fix a leak of kernel memory") Fixes: bdbe6fbc6a2f ("RDS: recv.c") Suggested-by: Dan Carpenter Signed-off-by: Peilin Ye Acked-by: Santosh Shilimkar Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/rds/recv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/rds/recv.c b/net/rds/recv.c index c8404971d5ab..aba4afe4dfed 100644 --- a/net/rds/recv.c +++ b/net/rds/recv.c @@ -450,12 +450,13 @@ static int rds_still_queued(struct rds_sock *rs, struct rds_incoming *inc, int rds_notify_queue_get(struct rds_sock *rs, struct msghdr *msghdr) { struct rds_notifier *notifier; - struct rds_rdma_notify cmsg = { 0 }; /* fill holes with zero */ + struct rds_rdma_notify cmsg; unsigned int count = 0, max_messages = ~0U; unsigned long flags; LIST_HEAD(copy); int err = 0; + memset(&cmsg, 0, sizeof(cmsg)); /* fill holes with zero */ /* put_cmsg copies to user space and thus may sleep. We can't do this * with rs_lock held, so first grab as many notifications as we can stuff From c2fd34d4311033120fa502aa8bd4723cdeee0103 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 25 Jul 2020 02:06:23 +0100 Subject: [PATCH 40/99] libtraceevent: Fix build with binutils 2.35 commit 39efdd94e314336f4acbac4c07e0f37bdc3bef71 upstream. In binutils 2.35, 'nm -D' changed to show symbol versions along with symbol names, with the usual @@ separator. When generating libtraceevent-dynamic-list we need just the names, so strip off the version suffix if present. Signed-off-by: Ben Hutchings Tested-by: Salvatore Bonaccorso Reviewed-by: Steven Rostedt Cc: linux-trace-devel@vger.kernel.org Cc: stable@vger.kernel.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman --- tools/lib/traceevent/plugins/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/lib/traceevent/plugins/Makefile b/tools/lib/traceevent/plugins/Makefile index f440989fa55e..23c3535bcbd6 100644 --- a/tools/lib/traceevent/plugins/Makefile +++ b/tools/lib/traceevent/plugins/Makefile @@ -196,7 +196,7 @@ define do_generate_dynamic_list_file xargs echo "U w W" | tr 'w ' 'W\n' | sort -u | xargs echo`;\ if [ "$$symbol_type" = "U W" ];then \ (echo '{'; \ - $(NM) -u -D $1 | awk 'NF>1 {print "\t"$$2";"}' | sort -u;\ + $(NM) -u -D $1 | awk 'NF>1 {sub("@.*", "", $$2); print "\t"$$2";"}' | sort -u;\ echo '};'; \ ) > $2; \ else \ From 69cd304cfa5cfb0f130488af579c143382432766 Mon Sep 17 00:00:00 2001 From: Xiyu Yang Date: Sat, 25 Apr 2020 21:06:25 +0800 Subject: [PATCH 41/99] net/x25: Fix x25_neigh refcnt leak when x25 disconnect commit 4becb7ee5b3d2829ed7b9261a245a77d5b7de902 upstream. x25_connect() invokes x25_get_neigh(), which returns a reference of the specified x25_neigh object to "x25->neighbour" with increased refcnt. When x25 connect success and returns, the reference still be hold by "x25->neighbour", so the refcount should be decreased in x25_disconnect() to keep refcount balanced. The reference counting issue happens in x25_disconnect(), which forgets to decrease the refcnt increased by x25_get_neigh() in x25_connect(), causing a refcnt leak. Fix this issue by calling x25_neigh_put() before x25_disconnect() returns. Signed-off-by: Xiyu Yang Signed-off-by: Xin Tan Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/x25/x25_subr.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/x25/x25_subr.c b/net/x25/x25_subr.c index 8aa415a38814..8b1b06cabcbf 100644 --- a/net/x25/x25_subr.c +++ b/net/x25/x25_subr.c @@ -357,6 +357,10 @@ void x25_disconnect(struct sock *sk, int reason, unsigned char cause, sk->sk_state_change(sk); sock_set_flag(sk, SOCK_DEAD); } + read_lock_bh(&x25_list_lock); + x25_neigh_put(x25->neighbour); + x25->neighbour = NULL; + read_unlock_bh(&x25_list_lock); } /* From bbb13adb07affddc2cf2559ef0697cf0ef2c1974 Mon Sep 17 00:00:00 2001 From: YueHaibing Date: Tue, 28 Apr 2020 16:12:08 +0800 Subject: [PATCH 42/99] net/x25: Fix null-ptr-deref in x25_disconnect commit 8999dc89497ab1c80d0718828e838c7cd5f6bffe upstream. We should check null before do x25_neigh_put in x25_disconnect, otherwise may cause null-ptr-deref like this: #include #include int main() { int sck_x25; sck_x25 = socket(AF_X25, SOCK_SEQPACKET, 0); close(sck_x25); return 0; } BUG: kernel NULL pointer dereference, address: 00000000000000d8 CPU: 0 PID: 4817 Comm: t2 Not tainted 5.7.0-rc3+ #159 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3- RIP: 0010:x25_disconnect+0x91/0xe0 Call Trace: x25_release+0x18a/0x1b0 __sock_release+0x3d/0xc0 sock_close+0x13/0x20 __fput+0x107/0x270 ____fput+0x9/0x10 task_work_run+0x6d/0xb0 exit_to_usermode_loop+0x102/0x110 do_syscall_64+0x23c/0x260 entry_SYSCALL_64_after_hwframe+0x49/0xb3 Reported-by: syzbot+6db548b615e5aeefdce2@syzkaller.appspotmail.com Fixes: 4becb7ee5b3d ("net/x25: Fix x25_neigh refcnt leak when x25 disconnect") Signed-off-by: YueHaibing Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/x25/x25_subr.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/net/x25/x25_subr.c b/net/x25/x25_subr.c index 8b1b06cabcbf..0285aaa1e93c 100644 --- a/net/x25/x25_subr.c +++ b/net/x25/x25_subr.c @@ -357,10 +357,12 @@ void x25_disconnect(struct sock *sk, int reason, unsigned char cause, sk->sk_state_change(sk); sock_set_flag(sk, SOCK_DEAD); } - read_lock_bh(&x25_list_lock); - x25_neigh_put(x25->neighbour); - x25->neighbour = NULL; - read_unlock_bh(&x25_list_lock); + if (x25->neighbour) { + read_lock_bh(&x25_list_lock); + x25_neigh_put(x25->neighbour); + x25->neighbour = NULL; + read_unlock_bh(&x25_list_lock); + } } /* From 0307da6866606b8cfacda062c47cdf6588b6dfac Mon Sep 17 00:00:00 2001 From: Xin Long Date: Mon, 22 Jun 2020 16:40:29 +0800 Subject: [PATCH 43/99] xfrm: policy: match with both mark and mask on user interfaces [ Upstream commit 4f47e8ab6ab796b5380f74866fa5287aca4dcc58 ] In commit ed17b8d377ea ("xfrm: fix a warning in xfrm_policy_insert_list"), it would take 'priority' to make a policy unique, and allow duplicated policies with different 'priority' to be added, which is not expected by userland, as Tobias reported in strongswan. To fix this duplicated policies issue, and also fix the issue in commit ed17b8d377ea ("xfrm: fix a warning in xfrm_policy_insert_list"), when doing add/del/get/update on user interfaces, this patch is to change to look up a policy with both mark and mask by doing: mark.v == pol->mark.v && mark.m == pol->mark.m and leave the check: (mark & pol->mark.m) == pol->mark.v for tx/rx path only. As the userland expects an exact mark and mask match to manage policies. v1->v2: - make xfrm_policy_mark_match inline and fix the changelog as Tobias suggested. Fixes: 295fae568885 ("xfrm: Allow user space manipulation of SPD mark") Fixes: ed17b8d377ea ("xfrm: fix a warning in xfrm_policy_insert_list") Reported-by: Tobias Brunner Tested-by: Tobias Brunner Signed-off-by: Xin Long Signed-off-by: Steffen Klassert Signed-off-by: Sasha Levin --- include/net/xfrm.h | 11 +++++++---- net/key/af_key.c | 4 ++-- net/xfrm/xfrm_policy.c | 39 ++++++++++++++++----------------------- net/xfrm/xfrm_user.c | 18 +++++++++++------- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/include/net/xfrm.h b/include/net/xfrm.h index fb391c00c19a..e7a480a4ffb9 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -1636,13 +1636,16 @@ int xfrm_policy_walk(struct net *net, struct xfrm_policy_walk *walk, void *); void xfrm_policy_walk_done(struct xfrm_policy_walk *walk, struct net *net); int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl); -struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u32 mark, u32 if_id, - u8 type, int dir, +struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, + const struct xfrm_mark *mark, + u32 if_id, u8 type, int dir, struct xfrm_selector *sel, struct xfrm_sec_ctx *ctx, int delete, int *err); -struct xfrm_policy *xfrm_policy_byid(struct net *net, u32 mark, u32 if_id, u8, - int dir, u32 id, int delete, int *err); +struct xfrm_policy *xfrm_policy_byid(struct net *net, + const struct xfrm_mark *mark, u32 if_id, + u8 type, int dir, u32 id, int delete, + int *err); int xfrm_policy_flush(struct net *net, u8 type, bool task_valid); void xfrm_policy_hash_rebuild(struct net *net); u32 xfrm_get_acqseq(void); diff --git a/net/key/af_key.c b/net/key/af_key.c index b67ed3a8486c..979c579afc63 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -2400,7 +2400,7 @@ static int pfkey_spddelete(struct sock *sk, struct sk_buff *skb, const struct sa return err; } - xp = xfrm_policy_bysel_ctx(net, DUMMY_MARK, 0, XFRM_POLICY_TYPE_MAIN, + xp = xfrm_policy_bysel_ctx(net, &dummy_mark, 0, XFRM_POLICY_TYPE_MAIN, pol->sadb_x_policy_dir - 1, &sel, pol_ctx, 1, &err); security_xfrm_policy_free(pol_ctx); @@ -2651,7 +2651,7 @@ static int pfkey_spdget(struct sock *sk, struct sk_buff *skb, const struct sadb_ return -EINVAL; delete = (hdr->sadb_msg_type == SADB_X_SPDDELETE2); - xp = xfrm_policy_byid(net, DUMMY_MARK, 0, XFRM_POLICY_TYPE_MAIN, + xp = xfrm_policy_byid(net, &dummy_mark, 0, XFRM_POLICY_TYPE_MAIN, dir, pol->sadb_x_policy_id, delete, &err); if (xp == NULL) return -ENOENT; diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 6a1a21ae47bb..2917711ff8ab 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -1430,14 +1430,10 @@ static void xfrm_policy_requeue(struct xfrm_policy *old, spin_unlock_bh(&pq->hold_queue.lock); } -static bool xfrm_policy_mark_match(struct xfrm_policy *policy, - struct xfrm_policy *pol) +static inline bool xfrm_policy_mark_match(const struct xfrm_mark *mark, + struct xfrm_policy *pol) { - if (policy->mark.v == pol->mark.v && - policy->priority == pol->priority) - return true; - - return false; + return mark->v == pol->mark.v && mark->m == pol->mark.m; } static u32 xfrm_pol_bin_key(const void *data, u32 len, u32 seed) @@ -1500,7 +1496,7 @@ static void xfrm_policy_insert_inexact_list(struct hlist_head *chain, if (pol->type == policy->type && pol->if_id == policy->if_id && !selector_cmp(&pol->selector, &policy->selector) && - xfrm_policy_mark_match(policy, pol) && + xfrm_policy_mark_match(&policy->mark, pol) && xfrm_sec_ctx_match(pol->security, policy->security) && !WARN_ON(delpol)) { delpol = pol; @@ -1535,7 +1531,7 @@ static struct xfrm_policy *xfrm_policy_insert_list(struct hlist_head *chain, if (pol->type == policy->type && pol->if_id == policy->if_id && !selector_cmp(&pol->selector, &policy->selector) && - xfrm_policy_mark_match(policy, pol) && + xfrm_policy_mark_match(&policy->mark, pol) && xfrm_sec_ctx_match(pol->security, policy->security) && !WARN_ON(delpol)) { if (excl) @@ -1607,9 +1603,8 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl) EXPORT_SYMBOL(xfrm_policy_insert); static struct xfrm_policy * -__xfrm_policy_bysel_ctx(struct hlist_head *chain, u32 mark, u32 if_id, - u8 type, int dir, - struct xfrm_selector *sel, +__xfrm_policy_bysel_ctx(struct hlist_head *chain, const struct xfrm_mark *mark, + u32 if_id, u8 type, int dir, struct xfrm_selector *sel, struct xfrm_sec_ctx *ctx) { struct xfrm_policy *pol; @@ -1620,7 +1615,7 @@ __xfrm_policy_bysel_ctx(struct hlist_head *chain, u32 mark, u32 if_id, hlist_for_each_entry(pol, chain, bydst) { if (pol->type == type && pol->if_id == if_id && - (mark & pol->mark.m) == pol->mark.v && + xfrm_policy_mark_match(mark, pol) && !selector_cmp(sel, &pol->selector) && xfrm_sec_ctx_match(ctx, pol->security)) return pol; @@ -1629,11 +1624,10 @@ __xfrm_policy_bysel_ctx(struct hlist_head *chain, u32 mark, u32 if_id, return NULL; } -struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u32 mark, u32 if_id, - u8 type, int dir, - struct xfrm_selector *sel, - struct xfrm_sec_ctx *ctx, int delete, - int *err) +struct xfrm_policy * +xfrm_policy_bysel_ctx(struct net *net, const struct xfrm_mark *mark, u32 if_id, + u8 type, int dir, struct xfrm_selector *sel, + struct xfrm_sec_ctx *ctx, int delete, int *err) { struct xfrm_pol_inexact_bin *bin = NULL; struct xfrm_policy *pol, *ret = NULL; @@ -1700,9 +1694,9 @@ struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u32 mark, u32 if_id, } EXPORT_SYMBOL(xfrm_policy_bysel_ctx); -struct xfrm_policy *xfrm_policy_byid(struct net *net, u32 mark, u32 if_id, - u8 type, int dir, u32 id, int delete, - int *err) +struct xfrm_policy * +xfrm_policy_byid(struct net *net, const struct xfrm_mark *mark, u32 if_id, + u8 type, int dir, u32 id, int delete, int *err) { struct xfrm_policy *pol, *ret; struct hlist_head *chain; @@ -1717,8 +1711,7 @@ struct xfrm_policy *xfrm_policy_byid(struct net *net, u32 mark, u32 if_id, ret = NULL; hlist_for_each_entry(pol, chain, byidx) { if (pol->type == type && pol->index == id && - pol->if_id == if_id && - (mark & pol->mark.m) == pol->mark.v) { + pol->if_id == if_id && xfrm_policy_mark_match(mark, pol)) { xfrm_pol_hold(pol); if (delete) { *err = security_xfrm_policy_delete( diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index e6cfaa680ef3..fbb7d9d06478 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -1863,7 +1863,6 @@ static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh, struct km_event c; int delete; struct xfrm_mark m; - u32 mark = xfrm_mark_get(attrs, &m); u32 if_id = 0; p = nlmsg_data(nlh); @@ -1880,8 +1879,11 @@ static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh, if (attrs[XFRMA_IF_ID]) if_id = nla_get_u32(attrs[XFRMA_IF_ID]); + xfrm_mark_get(attrs, &m); + if (p->index) - xp = xfrm_policy_byid(net, mark, if_id, type, p->dir, p->index, delete, &err); + xp = xfrm_policy_byid(net, &m, if_id, type, p->dir, + p->index, delete, &err); else { struct nlattr *rt = attrs[XFRMA_SEC_CTX]; struct xfrm_sec_ctx *ctx; @@ -1898,8 +1900,8 @@ static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh, if (err) return err; } - xp = xfrm_policy_bysel_ctx(net, mark, if_id, type, p->dir, &p->sel, - ctx, delete, &err); + xp = xfrm_policy_bysel_ctx(net, &m, if_id, type, p->dir, + &p->sel, ctx, delete, &err); security_xfrm_policy_free(ctx); } if (xp == NULL) @@ -2166,7 +2168,6 @@ static int xfrm_add_pol_expire(struct sk_buff *skb, struct nlmsghdr *nlh, u8 type = XFRM_POLICY_TYPE_MAIN; int err = -ENOENT; struct xfrm_mark m; - u32 mark = xfrm_mark_get(attrs, &m); u32 if_id = 0; err = copy_from_user_policy_type(&type, attrs); @@ -2180,8 +2181,11 @@ static int xfrm_add_pol_expire(struct sk_buff *skb, struct nlmsghdr *nlh, if (attrs[XFRMA_IF_ID]) if_id = nla_get_u32(attrs[XFRMA_IF_ID]); + xfrm_mark_get(attrs, &m); + if (p->index) - xp = xfrm_policy_byid(net, mark, if_id, type, p->dir, p->index, 0, &err); + xp = xfrm_policy_byid(net, &m, if_id, type, p->dir, p->index, + 0, &err); else { struct nlattr *rt = attrs[XFRMA_SEC_CTX]; struct xfrm_sec_ctx *ctx; @@ -2198,7 +2202,7 @@ static int xfrm_add_pol_expire(struct sk_buff *skb, struct nlmsghdr *nlh, if (err) return err; } - xp = xfrm_policy_bysel_ctx(net, mark, if_id, type, p->dir, + xp = xfrm_policy_bysel_ctx(net, &m, if_id, type, p->dir, &p->sel, ctx, 0, &err); security_xfrm_policy_free(ctx); } From a4c902887f1d8ea3eebbbdfb3b7c85964a3eadec Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Sat, 4 Jul 2020 15:08:29 +0200 Subject: [PATCH 44/99] ARM: dts sunxi: Relax a bit the CMA pool allocation range [ Upstream commit 92025b90f18d45e26b7f17d68756b1abd771b9d3 ] The hardware codec on the A10, A10s, A13 and A20 needs buffer in the first 256MB of RAM. This was solved by setting the CMA pool at a fixed address in that range. However, in recent kernels there's something else that comes in and reserve some range that end up conflicting with our default pool requirement, and thus makes its reservation fail. The video codec will then use buffers from the usual default pool, outside of the range it can access, and will fail to decode anything. Since we're only concerned about that 256MB, we can however relax the allocation to just specify the range that's allowed, and not try to enforce a specific address. Fixes: 5949bc5602cc ("ARM: dts: sun4i-a10: Add Video Engine and reserved memory nodes") Fixes: 960432010156 ("ARM: dts: sun5i: Add Video Engine and reserved memory nodes") Fixes: c2a641a74850 ("ARM: dts: sun7i-a20: Add Video Engine and reserved memory nodes") Signed-off-by: Maxime Ripard Acked-by: Chen-Yu Tsai Link: https://lore.kernel.org/r/20200704130829.34297-1-maxime@cerno.tech Signed-off-by: Sasha Levin --- arch/arm/boot/dts/sun4i-a10.dtsi | 2 +- arch/arm/boot/dts/sun5i.dtsi | 2 +- arch/arm/boot/dts/sun7i-a20.dtsi | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index 4c268b70b735..e0a9b371c248 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi @@ -198,7 +198,7 @@ default-pool { compatible = "shared-dma-pool"; size = <0x6000000>; - alloc-ranges = <0x4a000000 0x6000000>; + alloc-ranges = <0x40000000 0x10000000>; reusable; linux,cma-default; }; diff --git a/arch/arm/boot/dts/sun5i.dtsi b/arch/arm/boot/dts/sun5i.dtsi index 6befa236ba99..fd31da8fd311 100644 --- a/arch/arm/boot/dts/sun5i.dtsi +++ b/arch/arm/boot/dts/sun5i.dtsi @@ -117,7 +117,7 @@ default-pool { compatible = "shared-dma-pool"; size = <0x6000000>; - alloc-ranges = <0x4a000000 0x6000000>; + alloc-ranges = <0x40000000 0x10000000>; reusable; linux,cma-default; }; diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index 8aebefd6accf..1f8b45f07e58 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi @@ -180,7 +180,7 @@ default-pool { compatible = "shared-dma-pool"; size = <0x6000000>; - alloc-ranges = <0x4a000000 0x6000000>; + alloc-ranges = <0x40000000 0x10000000>; reusable; linux,cma-default; }; From 731e013e33b3d8ba075b06aedb5264a0fc4b77e4 Mon Sep 17 00:00:00 2001 From: Steffen Klassert Date: Fri, 17 Jul 2020 10:34:27 +0200 Subject: [PATCH 45/99] xfrm: Fix crash when the hold queue is used. [ Upstream commit 101dde4207f1daa1fda57d714814a03835dccc3f ] The commits "xfrm: Move dst->path into struct xfrm_dst" and "net: Create and use new helper xfrm_dst_child()." changed xfrm bundle handling under the assumption that xdst->path and dst->child are not a NULL pointer only if dst->xfrm is not a NULL pointer. That is true with one exception. If the xfrm hold queue is used to wait until a SA is installed by the key manager, we create a dummy bundle without a valid dst->xfrm pointer. The current xfrm bundle handling crashes in that case. Fix this by extending the NULL check of dst->xfrm with a test of the DST_XFRM_QUEUE flag. Fixes: 0f6c480f23f4 ("xfrm: Move dst->path into struct xfrm_dst") Fixes: b92cf4aab8e6 ("net: Create and use new helper xfrm_dst_child().") Signed-off-by: Steffen Klassert Signed-off-by: Sasha Levin --- include/net/xfrm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/net/xfrm.h b/include/net/xfrm.h index e7a480a4ffb9..12aa6e15e43f 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -945,7 +945,7 @@ struct xfrm_dst { static inline struct dst_entry *xfrm_dst_path(const struct dst_entry *dst) { #ifdef CONFIG_XFRM - if (dst->xfrm) { + if (dst->xfrm || (dst->flags & DST_XFRM_QUEUE)) { const struct xfrm_dst *xdst = (const struct xfrm_dst *) dst; return xdst->path; @@ -957,7 +957,7 @@ static inline struct dst_entry *xfrm_dst_path(const struct dst_entry *dst) static inline struct dst_entry *xfrm_dst_child(const struct dst_entry *dst) { #ifdef CONFIG_XFRM - if (dst->xfrm) { + if (dst->xfrm || (dst->flags & DST_XFRM_QUEUE)) { struct xfrm_dst *xdst = (struct xfrm_dst *) dst; return xdst->child; } From 9a1d0084cbe17cb1b919e48edb854983eafe02fc Mon Sep 17 00:00:00 2001 From: Russell King Date: Tue, 21 Jul 2020 15:40:38 +0100 Subject: [PATCH 46/99] ARM: dts: armada-38x: fix NETA lockup when repeatedly switching speeds [ Upstream commit 09781ba0395c46b1c844f47e405e3ce7856f5989 ] To support the change in "phy: armada-38x: fix NETA lockup when repeatedly switching speeds" we need to update the DT with the additional register. Fixes: 14dc100b4411 ("phy: armada38x: add common phy support") Signed-off-by: Russell King Reviewed-by: Andrew Lunn Signed-off-by: Gregory CLEMENT Signed-off-by: Sasha Levin --- arch/arm/boot/dts/armada-38x.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi index 3f4bb44d85f0..669da3a33d82 100644 --- a/arch/arm/boot/dts/armada-38x.dtsi +++ b/arch/arm/boot/dts/armada-38x.dtsi @@ -339,7 +339,8 @@ comphy: phy@18300 { compatible = "marvell,armada-380-comphy"; - reg = <0x18300 0x100>; + reg-names = "comphy", "conf"; + reg = <0x18300 0x100>, <0x18460 4>; #address-cells = <1>; #size-cells = <0>; From 831c904a0f6837619dcbb13bb83f6b6aaf913f61 Mon Sep 17 00:00:00 2001 From: Sagi Grimberg Date: Thu, 23 Jul 2020 16:42:26 -0700 Subject: [PATCH 47/99] nvme-tcp: fix possible hang waiting for icresp response [ Upstream commit adc99fd378398f4c58798a1c57889872967d56a6 ] If the controller died exactly when we are receiving icresp we hang because icresp may never return. Make sure to set a high finite limit. Fixes: 3f2304f8c6d6 ("nvme-tcp: add NVMe over TCP host driver") Signed-off-by: Sagi Grimberg Signed-off-by: Christoph Hellwig Signed-off-by: Sasha Levin --- drivers/nvme/host/tcp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c index 7900814355c2..53e113a18a54 100644 --- a/drivers/nvme/host/tcp.c +++ b/drivers/nvme/host/tcp.c @@ -1319,6 +1319,9 @@ static int nvme_tcp_alloc_queue(struct nvme_ctrl *nctrl, } } + /* Set 10 seconds timeout for icresp recvmsg */ + queue->sock->sk->sk_rcvtimeo = 10 * HZ; + queue->sock->sk->sk_allocation = GFP_ATOMIC; if (!qid) n = 0; From 22f84cce95276bb202ccf0dceb3b2bd9de4af1af Mon Sep 17 00:00:00 2001 From: Tanner Love Date: Mon, 27 Jul 2020 12:25:28 -0400 Subject: [PATCH 48/99] selftests/net: rxtimestamp: fix clang issues for target arch PowerPC [ Upstream commit 955cbe91bcf782c09afe369c95a20f0a4b6dcc3c ] The signedness of char is implementation-dependent. Some systems (including PowerPC and ARM) use unsigned char. Clang 9 threw: warning: result of comparison of constant -1 with expression of type \ 'char' is always true [-Wtautological-constant-out-of-range-compare] &arg_index)) != -1) { Tested: make -C tools/testing/selftests TARGETS="net" run_tests Fixes: 16e781224198 ("selftests/net: Add a test to validate behavior of rx timestamps") Signed-off-by: Tanner Love Acked-by: Willem de Bruijn Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- tools/testing/selftests/networking/timestamping/rxtimestamp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/testing/selftests/networking/timestamping/rxtimestamp.c b/tools/testing/selftests/networking/timestamping/rxtimestamp.c index 422e7761254d..bcb79ba1f214 100644 --- a/tools/testing/selftests/networking/timestamping/rxtimestamp.c +++ b/tools/testing/selftests/networking/timestamping/rxtimestamp.c @@ -329,8 +329,7 @@ int main(int argc, char **argv) bool all_tests = true; int arg_index = 0; int failures = 0; - int s, t; - char opt; + int s, t, opt; while ((opt = getopt_long(argc, argv, "", long_options, &arg_index)) != -1) { From d817b2c8d3cf541351c0e7fefecf7b104c47f08b Mon Sep 17 00:00:00 2001 From: Tanner Love Date: Mon, 27 Jul 2020 12:25:29 -0400 Subject: [PATCH 49/99] selftests/net: psock_fanout: fix clang issues for target arch PowerPC [ Upstream commit 64f9ede2274980076423583683d44480909b7a40 ] Clang 9 threw: warning: format specifies type 'unsigned short' but the argument has \ type 'int' [-Wformat] typeflags, PORT_BASE, PORT_BASE + port_off); Tested: make -C tools/testing/selftests TARGETS="net" run_tests Fixes: 77f65ebdca50 ("packet: packet fanout rollover during socket overload") Signed-off-by: Tanner Love Acked-by: Willem de Bruijn Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- tools/testing/selftests/net/psock_fanout.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/psock_fanout.c b/tools/testing/selftests/net/psock_fanout.c index 8c8c7d79c38d..2c522f7a0aec 100644 --- a/tools/testing/selftests/net/psock_fanout.c +++ b/tools/testing/selftests/net/psock_fanout.c @@ -350,7 +350,8 @@ static int test_datapath(uint16_t typeflags, int port_off, int fds[2], fds_udp[2][2], ret; fprintf(stderr, "\ntest: datapath 0x%hx ports %hu,%hu\n", - typeflags, PORT_BASE, PORT_BASE + port_off); + typeflags, (uint16_t)PORT_BASE, + (uint16_t)(PORT_BASE + port_off)); fds[0] = sock_fanout_open(typeflags, 0); fds[1] = sock_fanout_open(typeflags, 0); From 222dbeca05fbc9d9b614b516ca0d65663d4c6c29 Mon Sep 17 00:00:00 2001 From: Tanner Love Date: Mon, 27 Jul 2020 12:25:30 -0400 Subject: [PATCH 50/99] selftests/net: so_txtime: fix clang issues for target arch PowerPC [ Upstream commit b4da96ffd30bd4a305045ba5c9b0de5d4aa20dc7 ] On powerpcle, int64_t maps to long long. Clang 9 threw: warning: absolute value function 'labs' given an argument of type \ 'long long' but has parameter of type 'long' which may cause \ truncation of value [-Wabsolute-value] if (labs(tstop - texpect) > cfg_variance_us) Tested: make -C tools/testing/selftests TARGETS="net" run_tests Fixes: af5136f95045 ("selftests/net: SO_TXTIME with ETF and FQ") Signed-off-by: Tanner Love Acked-by: Willem de Bruijn Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- tools/testing/selftests/net/so_txtime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/so_txtime.c b/tools/testing/selftests/net/so_txtime.c index ceaad78e9667..3155fbbf644b 100644 --- a/tools/testing/selftests/net/so_txtime.c +++ b/tools/testing/selftests/net/so_txtime.c @@ -121,7 +121,7 @@ static bool do_recv_one(int fdr, struct timed_send *ts) if (rbuf[0] != ts->data) error(1, 0, "payload mismatch. expected %c", ts->data); - if (labs(tstop - texpect) > cfg_variance_us) + if (llabs(tstop - texpect) > cfg_variance_us) error(1, 0, "exceeds variance (%d us)", cfg_variance_us); return false; From 2f2674997dfb9e427cdb11e771b272755cacf22d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 17 Jul 2020 13:10:07 +0200 Subject: [PATCH 51/99] sh/tlb: Fix PGTABLE_LEVELS > 2 [ Upstream commit c7bcbc8ab9cb20536b8f50c62a48cebda965fdba ] Geert reported that his SH7722-based Migo-R board failed to boot after commit: c5b27a889da9 ("sh/tlb: Convert SH to generic mmu_gather") That commit fell victim to copying the wrong pattern -- __pmd_free_tlb() used to be implemented with pmd_free(). Fixes: c5b27a889da9 ("sh/tlb: Convert SH to generic mmu_gather") Reported-by: Geert Uytterhoeven Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Geert Uytterhoeven Tested-by: Geert Uytterhoeven Signed-off-by: Rich Felker Signed-off-by: Sasha Levin --- arch/sh/include/asm/pgalloc.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/arch/sh/include/asm/pgalloc.h b/arch/sh/include/asm/pgalloc.h index 22d968bfe9bb..d770da3f8b6f 100644 --- a/arch/sh/include/asm/pgalloc.h +++ b/arch/sh/include/asm/pgalloc.h @@ -12,6 +12,7 @@ extern void pgd_free(struct mm_struct *mm, pgd_t *pgd); extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd); extern pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address); extern void pmd_free(struct mm_struct *mm, pmd_t *pmd); +#define __pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, (pmdp)) #endif static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, @@ -33,13 +34,4 @@ do { \ tlb_remove_page((tlb), (pte)); \ } while (0) -#if CONFIG_PGTABLE_LEVELS > 2 -#define __pmd_free_tlb(tlb, pmdp, addr) \ -do { \ - struct page *page = virt_to_page(pmdp); \ - pgtable_pmd_page_dtor(page); \ - tlb_remove_page((tlb), page); \ -} while (0); -#endif - #endif /* __ASM_SH_PGALLOC_H */ From 5fc02e8d1bfd2841a5f802a42c966b0830cbb2bb Mon Sep 17 00:00:00 2001 From: Michael Karcher Date: Thu, 23 Jul 2020 01:13:19 +0200 Subject: [PATCH 52/99] sh: Fix validation of system call number [ Upstream commit 04a8a3d0a73f51c7c2da84f494db7ec1df230e69 ] The slow path for traced system call entries accessed a wrong memory location to get the number of the maximum allowed system call number. Renumber the numbered "local" label for the correct location to avoid collisions with actual local labels. Signed-off-by: Michael Karcher Tested-by: John Paul Adrian Glaubitz Fixes: f3a8308864f920d2 ("sh: Add a few missing irqflags tracing markers.") Signed-off-by: Rich Felker Signed-off-by: Sasha Levin --- arch/sh/kernel/entry-common.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index d31f66e82ce5..4a8ec9e40cc2 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S @@ -199,7 +199,7 @@ syscall_trace_entry: mov.l @(OFF_R7,r15), r7 ! arg3 mov.l @(OFF_R3,r15), r3 ! syscall_nr ! - mov.l 2f, r10 ! Number of syscalls + mov.l 6f, r10 ! Number of syscalls cmp/hs r10, r3 bf syscall_call mov #-ENOSYS, r0 @@ -353,7 +353,7 @@ ENTRY(system_call) tst r9, r8 bf syscall_trace_entry ! - mov.l 2f, r8 ! Number of syscalls + mov.l 6f, r8 ! Number of syscalls cmp/hs r8, r3 bt syscall_badsys ! @@ -392,7 +392,7 @@ syscall_exit: #if !defined(CONFIG_CPU_SH2) 1: .long TRA #endif -2: .long NR_syscalls +6: .long NR_syscalls 3: .long sys_call_table 7: .long do_syscall_trace_enter 8: .long do_syscall_trace_leave From 475b8d619268df9d26f1ab4e98bbac1d61233a25 Mon Sep 17 00:00:00 2001 From: Yonglong Liu Date: Tue, 28 Jul 2020 10:16:49 +0800 Subject: [PATCH 53/99] net: hns3: fix a TX timeout issue [ Upstream commit a7e90ee5965fafc53d36e8b3205f08c88d7bc11f ] When the queue depth and queue parameters are modified, there is a low probability that TX timeout occurs. The two operations cause the link to be down or up when the watchdog is still working. All queues are stopped when the link is down. After the carrier is on, all queues are woken up. If the watchdog detects the link between the carrier on and wakeup queues, a false TX timeout occurs. So fix this issue by modifying the sequence of carrier on and queue wakeup, which is symmetrical to the link down action. Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC") Signed-off-by: Yonglong Liu Signed-off-by: Huazhong Tan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index 506381224559..a8ce6ca0f508 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -4014,8 +4014,8 @@ static void hns3_link_status_change(struct hnae3_handle *handle, bool linkup) return; if (linkup) { - netif_carrier_on(netdev); netif_tx_wake_all_queues(netdev); + netif_carrier_on(netdev); if (netif_msg_link(handle)) netdev_info(netdev, "link up\n"); } else { From d70f9a3cc32ca515de4048adb544c997af9f2250 Mon Sep 17 00:00:00 2001 From: Guojia Liao Date: Tue, 28 Jul 2020 10:16:51 +0800 Subject: [PATCH 54/99] net: hns3: fix aRFS FD rules leftover after add a user FD rule [ Upstream commit efe3fa45f770f1d66e2734ee7a3523c75694ff04 ] When user had created a FD rule, all the aRFS rules should be clear up. HNS3 process flow as below: 1.get spin lock of fd_ruls_list 2.clear up all aRFS rules 3.release lock 4.get spin lock of fd_ruls_list 5.creat a rules 6.release lock; There is a short period of time between step 3 and step 4, which would creatting some new aRFS FD rules if driver was receiving packet. So refactor the fd_rule_lock to fix it. Fixes: 441228875706 ("net: hns3: refine the flow director handle") Signed-off-by: Guojia Liao Signed-off-by: Huazhong Tan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- .../hisilicon/hns3/hns3pf/hclge_main.c | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index d4652dea4569..6c3d13110993 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -5627,9 +5627,9 @@ static int hclge_add_fd_entry(struct hnae3_handle *handle, /* to avoid rule conflict, when user configure rule by ethtool, * we need to clear all arfs rules */ + spin_lock_bh(&hdev->fd_rule_lock); hclge_clear_arfs_rules(handle); - spin_lock_bh(&hdev->fd_rule_lock); ret = hclge_fd_config_rule(hdev, rule); spin_unlock_bh(&hdev->fd_rule_lock); @@ -5672,6 +5672,7 @@ static int hclge_del_fd_entry(struct hnae3_handle *handle, return ret; } +/* make sure being called after lock up with fd_rule_lock */ static void hclge_del_all_fd_entries(struct hnae3_handle *handle, bool clear_list) { @@ -5684,7 +5685,6 @@ static void hclge_del_all_fd_entries(struct hnae3_handle *handle, if (!hnae3_dev_fd_supported(hdev)) return; - spin_lock_bh(&hdev->fd_rule_lock); for_each_set_bit(location, hdev->fd_bmap, hdev->fd_cfg.rule_num[HCLGE_FD_STAGE_1]) hclge_fd_tcam_config(hdev, HCLGE_FD_STAGE_1, true, location, @@ -5701,8 +5701,6 @@ static void hclge_del_all_fd_entries(struct hnae3_handle *handle, bitmap_zero(hdev->fd_bmap, hdev->fd_cfg.rule_num[HCLGE_FD_STAGE_1]); } - - spin_unlock_bh(&hdev->fd_rule_lock); } static int hclge_restore_fd_entries(struct hnae3_handle *handle) @@ -6069,7 +6067,7 @@ static int hclge_add_fd_entry_by_arfs(struct hnae3_handle *handle, u16 queue_id, u16 flow_id, struct flow_keys *fkeys) { struct hclge_vport *vport = hclge_get_vport(handle); - struct hclge_fd_rule_tuples new_tuples; + struct hclge_fd_rule_tuples new_tuples = {}; struct hclge_dev *hdev = vport->back; struct hclge_fd_rule *rule; u16 tmp_queue_id; @@ -6079,20 +6077,18 @@ static int hclge_add_fd_entry_by_arfs(struct hnae3_handle *handle, u16 queue_id, if (!hnae3_dev_fd_supported(hdev)) return -EOPNOTSUPP; - memset(&new_tuples, 0, sizeof(new_tuples)); - hclge_fd_get_flow_tuples(fkeys, &new_tuples); - - spin_lock_bh(&hdev->fd_rule_lock); - /* when there is already fd rule existed add by user, * arfs should not work */ + spin_lock_bh(&hdev->fd_rule_lock); if (hdev->fd_active_type == HCLGE_FD_EP_ACTIVE) { spin_unlock_bh(&hdev->fd_rule_lock); return -EOPNOTSUPP; } + hclge_fd_get_flow_tuples(fkeys, &new_tuples); + /* check is there flow director filter existed for this flow, * if not, create a new filter for it; * if filter exist with different queue id, modify the filter; @@ -6177,6 +6173,7 @@ static void hclge_rfs_filter_expire(struct hclge_dev *hdev) #endif } +/* make sure being called after lock up with fd_rule_lock */ static void hclge_clear_arfs_rules(struct hnae3_handle *handle) { #ifdef CONFIG_RFS_ACCEL @@ -6221,10 +6218,14 @@ static void hclge_enable_fd(struct hnae3_handle *handle, bool enable) hdev->fd_en = enable; clear = hdev->fd_active_type == HCLGE_FD_ARFS_ACTIVE; - if (!enable) + + if (!enable) { + spin_lock_bh(&hdev->fd_rule_lock); hclge_del_all_fd_entries(handle, clear); - else + spin_unlock_bh(&hdev->fd_rule_lock); + } else { hclge_restore_fd_entries(handle); + } } static void hclge_cfg_mac_mode(struct hclge_dev *hdev, bool enable) @@ -6678,8 +6679,9 @@ static void hclge_ae_stop(struct hnae3_handle *handle) int i; set_bit(HCLGE_STATE_DOWN, &hdev->state); - + spin_lock_bh(&hdev->fd_rule_lock); hclge_clear_arfs_rules(handle); + spin_unlock_bh(&hdev->fd_rule_lock); /* If it is not PF reset, the firmware will disable the MAC, * so it only need to stop phy here. From 00bedd730d1f038911c607c4e559078bf214d6b9 Mon Sep 17 00:00:00 2001 From: Parav Pandit Date: Sat, 27 Jun 2020 13:29:28 +0300 Subject: [PATCH 55/99] net/mlx5: E-switch, Destroy TSAR when fail to enable the mode [ Upstream commit 2b8e9c7c3fd0e31091edb1c66cc06ffe4988ca21 ] When either esw_legacy_enable() or esw_offloads_enable() fails, code missed to destroy the created TSAR. Hence, add the missing call to destroy the TSAR. Fixes: 610090ebce92 ("net/mlx5: E-switch, Initialize TSAR Qos hardware block before its user vports") Signed-off-by: Parav Pandit Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index c6ed4b7f4f97..422a57404407 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1919,7 +1919,7 @@ abort: mlx5_reload_interface(esw->dev, MLX5_INTERFACE_PROTOCOL_IB); mlx5_reload_interface(esw->dev, MLX5_INTERFACE_PROTOCOL_ETH); } - + esw_destroy_tsar(esw); return err; } From 8901896f69d4595952cbf43f3f61a4bd2ca198a6 Mon Sep 17 00:00:00 2001 From: Aya Levin Date: Wed, 1 Jul 2020 12:21:53 +0300 Subject: [PATCH 56/99] net/mlx5e: Fix error path of device attach [ Upstream commit 5cd39b6e9a420329a9a408894be7ba8aa7dd755e ] On failure to attach the netdev, fix the rollback by re-setting the device's state back to MLX5E_STATE_DESTROYING. Failing to attach doesn't stop statistics polling via .ndo_get_stats64. In this case, although the device is not attached, it falsely continues to query the firmware for counters. Setting the device's state back to MLX5E_STATE_DESTROYING prevents the firmware counters query. Fixes: 26e59d8077a3 ("net/mlx5e: Implement mlx5e interface attach/detach callbacks") Signed-off-by: Aya Levin Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index c133beb6a7a5..15db4a8746dd 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -5356,6 +5356,8 @@ err_cleanup_tx: profile->cleanup_tx(priv); out: + set_bit(MLX5E_STATE_DESTROYING, &priv->state); + cancel_work_sync(&priv->update_stats_work); return err; } From 43608372b84d7f0142ee8b2f56277a60f0f0a2a5 Mon Sep 17 00:00:00 2001 From: Eran Ben Elisha Date: Wed, 8 Jul 2020 11:10:01 +0300 Subject: [PATCH 57/99] net/mlx5: Verify Hardware supports requested ptp function on a given pin [ Upstream commit 071995c877a8646209d55ff8edddd2b054e7424c ] Fix a bug where driver did not verify Hardware pin capabilities for PTP functions. Fixes: ee7f12205abc ("net/mlx5e: Implement 1PPS support") Signed-off-by: Eran Ben Elisha Reviewed-by: Ariel Levkovich Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- .../ethernet/mellanox/mlx5/core/lib/clock.c | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c index 43f97601b500..75fc283cacc3 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -388,10 +388,31 @@ static int mlx5_ptp_enable(struct ptp_clock_info *ptp, return 0; } +enum { + MLX5_MTPPS_REG_CAP_PIN_X_MODE_SUPPORT_PPS_IN = BIT(0), + MLX5_MTPPS_REG_CAP_PIN_X_MODE_SUPPORT_PPS_OUT = BIT(1), +}; + static int mlx5_ptp_verify(struct ptp_clock_info *ptp, unsigned int pin, enum ptp_pin_function func, unsigned int chan) { - return (func == PTP_PF_PHYSYNC) ? -EOPNOTSUPP : 0; + struct mlx5_clock *clock = container_of(ptp, struct mlx5_clock, + ptp_info); + + switch (func) { + case PTP_PF_NONE: + return 0; + case PTP_PF_EXTTS: + return !(clock->pps_info.pin_caps[pin] & + MLX5_MTPPS_REG_CAP_PIN_X_MODE_SUPPORT_PPS_IN); + case PTP_PF_PEROUT: + return !(clock->pps_info.pin_caps[pin] & + MLX5_MTPPS_REG_CAP_PIN_X_MODE_SUPPORT_PPS_OUT); + default: + return -EOPNOTSUPP; + } + + return -EOPNOTSUPP; } static const struct ptp_clock_info mlx5_ptp_clock_info = { From 475cbcef491ace969e1ba7d30f4743f9840a5937 Mon Sep 17 00:00:00 2001 From: Ron Diskin Date: Sun, 5 Apr 2020 13:58:40 +0300 Subject: [PATCH 58/99] net/mlx5e: Modify uplink state on interface up/down [ Upstream commit 7d0314b11cdd92bca8b89684c06953bf114605fc ] When setting the PF interface up/down, notify the firmware to update uplink state via MODIFY_VPORT_STATE, when E-Switch is enabled. This behavior will prevent sending traffic out on uplink port when PF is down, such as sending traffic from a VF interface which is still up. Currently when calling mlx5e_open/close(), the driver only sends PAOS command to notify the firmware to set the physical port state to up/down, however, it is not sufficient. When VF is in "auto" state, it follows the uplink state, which was not updated on mlx5e_open/close() before this patch. When switchdev mode is enabled and uplink representor is first enabled, set the uplink port state value back to its FW default "AUTO". Fixes: 63bfd399de55 ("net/mlx5e: Send PAOS command on interface up/down") Signed-off-by: Ron Diskin Reviewed-by: Roi Dayan Reviewed-by: Moshe Shemesh Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- .../net/ethernet/mellanox/mlx5/core/en_main.c | 25 ++++++++++++++++--- .../net/ethernet/mellanox/mlx5/core/en_rep.c | 2 ++ .../net/ethernet/mellanox/mlx5/core/eswitch.c | 16 +++++++----- .../net/ethernet/mellanox/mlx5/core/eswitch.h | 2 ++ include/linux/mlx5/mlx5_ifc.h | 1 + 5 files changed, 37 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 15db4a8746dd..cb3dcfced89f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -3038,6 +3038,25 @@ void mlx5e_timestamp_init(struct mlx5e_priv *priv) priv->tstamp.rx_filter = HWTSTAMP_FILTER_NONE; } +static void mlx5e_modify_admin_state(struct mlx5_core_dev *mdev, + enum mlx5_port_status state) +{ + struct mlx5_eswitch *esw = mdev->priv.eswitch; + int vport_admin_state; + + mlx5_set_port_admin_status(mdev, state); + + if (!MLX5_ESWITCH_MANAGER(mdev) || mlx5_eswitch_mode(esw) == MLX5_ESWITCH_OFFLOADS) + return; + + if (state == MLX5_PORT_UP) + vport_admin_state = MLX5_VPORT_ADMIN_STATE_AUTO; + else + vport_admin_state = MLX5_VPORT_ADMIN_STATE_DOWN; + + mlx5_eswitch_set_vport_state(esw, MLX5_VPORT_UPLINK, vport_admin_state); +} + int mlx5e_open_locked(struct net_device *netdev) { struct mlx5e_priv *priv = netdev_priv(netdev); @@ -3070,7 +3089,7 @@ int mlx5e_open(struct net_device *netdev) mutex_lock(&priv->state_lock); err = mlx5e_open_locked(netdev); if (!err) - mlx5_set_port_admin_status(priv->mdev, MLX5_PORT_UP); + mlx5e_modify_admin_state(priv->mdev, MLX5_PORT_UP); mutex_unlock(&priv->state_lock); if (mlx5_vxlan_allowed(priv->mdev->vxlan)) @@ -3107,7 +3126,7 @@ int mlx5e_close(struct net_device *netdev) return -ENODEV; mutex_lock(&priv->state_lock); - mlx5_set_port_admin_status(priv->mdev, MLX5_PORT_DOWN); + mlx5e_modify_admin_state(priv->mdev, MLX5_PORT_DOWN); err = mlx5e_close_locked(netdev); mutex_unlock(&priv->state_lock); @@ -5172,7 +5191,7 @@ static void mlx5e_nic_enable(struct mlx5e_priv *priv) /* Marking the link as currently not needed by the Driver */ if (!netif_running(netdev)) - mlx5_set_port_admin_status(mdev, MLX5_PORT_DOWN); + mlx5e_modify_admin_state(mdev, MLX5_PORT_DOWN); mlx5e_set_netdev_mtu_boundaries(priv); mlx5e_set_dev_port_mtu(priv); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c index 9b232ef36d53..88b51f64a64e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c @@ -1736,6 +1736,8 @@ static void mlx5e_uplink_rep_enable(struct mlx5e_priv *priv) INIT_WORK(&rpriv->uplink_priv.reoffload_flows_work, mlx5e_tc_reoffload_flows_work); + mlx5_modify_vport_admin_state(mdev, MLX5_VPORT_STATE_OP_MOD_UPLINK, + 0, 0, MLX5_VPORT_ADMIN_STATE_AUTO); mlx5_lag_add(mdev, netdev); priv->events_nb.notifier_call = uplink_rep_async_event; mlx5_notifier_register(mdev, &priv->events_nb); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 422a57404407..6b711affb7da 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -2094,6 +2094,8 @@ int mlx5_eswitch_set_vport_state(struct mlx5_eswitch *esw, u16 vport, int link_state) { struct mlx5_vport *evport = mlx5_eswitch_get_vport(esw, vport); + int opmod = MLX5_VPORT_STATE_OP_MOD_ESW_VPORT; + int other_vport = 1; int err = 0; if (!ESW_ALLOWED(esw)) @@ -2101,15 +2103,17 @@ int mlx5_eswitch_set_vport_state(struct mlx5_eswitch *esw, if (IS_ERR(evport)) return PTR_ERR(evport); + if (vport == MLX5_VPORT_UPLINK) { + opmod = MLX5_VPORT_STATE_OP_MOD_UPLINK; + other_vport = 0; + vport = 0; + } mutex_lock(&esw->state_lock); - err = mlx5_modify_vport_admin_state(esw->dev, - MLX5_VPORT_STATE_OP_MOD_ESW_VPORT, - vport, 1, link_state); + err = mlx5_modify_vport_admin_state(esw->dev, opmod, vport, other_vport, link_state); if (err) { - mlx5_core_warn(esw->dev, - "Failed to set vport %d link state, err = %d", - vport, err); + mlx5_core_warn(esw->dev, "Failed to set vport %d link state, opmod = %d, err = %d", + vport, opmod, err); goto unlock; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h index 6bd6f5895244..0ddbae1e64fa 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -606,6 +606,8 @@ static inline int mlx5_eswitch_enable(struct mlx5_eswitch *esw, int mode) { ret static inline void mlx5_eswitch_disable(struct mlx5_eswitch *esw) {} static inline bool mlx5_esw_lag_prereq(struct mlx5_core_dev *dev0, struct mlx5_core_dev *dev1) { return true; } static inline bool mlx5_eswitch_is_funcs_handler(struct mlx5_core_dev *dev) { return false; } +static inline +int mlx5_eswitch_set_vport_state(struct mlx5_eswitch *esw, u16 vport, int link_state) { return 0; } static inline const u32 *mlx5_esw_query_functions(struct mlx5_core_dev *dev) { return ERR_PTR(-EOPNOTSUPP); diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h index acd859ea09d4..aba56077cfda 100644 --- a/include/linux/mlx5/mlx5_ifc.h +++ b/include/linux/mlx5/mlx5_ifc.h @@ -4177,6 +4177,7 @@ struct mlx5_ifc_query_vport_state_out_bits { enum { MLX5_VPORT_STATE_OP_MOD_VNIC_VPORT = 0x0, MLX5_VPORT_STATE_OP_MOD_ESW_VPORT = 0x1, + MLX5_VPORT_STATE_OP_MOD_UPLINK = 0x2, }; struct mlx5_ifc_arm_monitor_counter_in_bits { From 32ec4441cca199525b3f23b2d99e750329d25778 Mon Sep 17 00:00:00 2001 From: Alaa Hleihel Date: Wed, 15 Jul 2020 11:46:30 +0300 Subject: [PATCH 59/99] net/mlx5e: Fix kernel crash when setting vf VLANID on a VF dev [ Upstream commit 350a63249d270b1f5bd05c7e2a24cd8de0f9db20 ] After the cited commit, function 'mlx5_eswitch_set_vport_vlan' started to acquire esw->state_lock. However, esw is not defined for VF devices, hence attempting to set vf VLANID on a VF dev will cause a kernel panic. Fix it by moving up the (redundant) esw validation from function '__mlx5_eswitch_set_vport_vlan' since the rest of the callers now have and use a valid esw. For example with vf device eth4: # ip link set dev eth4 vf 0 vlan 0 Trace of the panic: [ 411.409842] BUG: unable to handle page fault for address: 00000000000011b8 [ 411.449745] #PF: supervisor read access in kernel mode [ 411.452348] #PF: error_code(0x0000) - not-present page [ 411.454938] PGD 80000004189c9067 P4D 80000004189c9067 PUD 41899a067 PMD 0 [ 411.458382] Oops: 0000 [#1] SMP PTI [ 411.460268] CPU: 4 PID: 5711 Comm: ip Not tainted 5.8.0-rc4_for_upstream_min_debug_2020_07_08_22_04 #1 [ 411.462447] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014 [ 411.464158] RIP: 0010:__mutex_lock+0x4e/0x940 [ 411.464928] Code: fd 41 54 49 89 f4 41 52 53 89 d3 48 83 ec 70 44 8b 1d ee 03 b0 01 65 48 8b 04 25 28 00 00 00 48 89 45 c8 31 c0 45 85 db 75 0a <48> 3b 7f 60 0f 85 7e 05 00 00 49 8d 45 68 41 56 41 b8 01 00 00 00 [ 411.467678] RSP: 0018:ffff88841fcd74b0 EFLAGS: 00010246 [ 411.468562] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 [ 411.469715] RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000001158 [ 411.470812] RBP: ffff88841fcd7550 R08: ffffffffa00fa1ce R09: 0000000000000000 [ 411.471835] R10: ffff88841fcd7570 R11: 0000000000000000 R12: 0000000000000002 [ 411.472862] R13: 0000000000001158 R14: ffffffffa00fa1ce R15: 0000000000000000 [ 411.474004] FS: 00007faee7ca6b80(0000) GS:ffff88846fc00000(0000) knlGS:0000000000000000 [ 411.475237] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 411.476129] CR2: 00000000000011b8 CR3: 000000041909c006 CR4: 0000000000360ea0 [ 411.477260] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 411.478340] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 411.479332] Call Trace: [ 411.479760] ? __nla_validate_parse.part.6+0x57/0x8f0 [ 411.482825] ? mlx5_eswitch_set_vport_vlan+0x3e/0xa0 [mlx5_core] [ 411.483804] mlx5_eswitch_set_vport_vlan+0x3e/0xa0 [mlx5_core] [ 411.484733] mlx5e_set_vf_vlan+0x41/0x50 [mlx5_core] [ 411.485545] do_setlink+0x613/0x1000 [ 411.486165] __rtnl_newlink+0x53d/0x8c0 [ 411.486791] ? mark_held_locks+0x49/0x70 [ 411.487429] ? __lock_acquire+0x8fe/0x1eb0 [ 411.488085] ? rcu_read_lock_sched_held+0x52/0x60 [ 411.488998] ? kmem_cache_alloc_trace+0x16d/0x2d0 [ 411.489759] rtnl_newlink+0x47/0x70 [ 411.490357] rtnetlink_rcv_msg+0x24e/0x450 [ 411.490978] ? netlink_deliver_tap+0x92/0x3d0 [ 411.491631] ? validate_linkmsg+0x330/0x330 [ 411.492262] netlink_rcv_skb+0x47/0x110 [ 411.492852] netlink_unicast+0x1ac/0x270 [ 411.493551] netlink_sendmsg+0x336/0x450 [ 411.494209] sock_sendmsg+0x30/0x40 [ 411.494779] ____sys_sendmsg+0x1dd/0x1f0 [ 411.495378] ? copy_msghdr_from_user+0x5c/0x90 [ 411.496082] ___sys_sendmsg+0x87/0xd0 [ 411.496683] ? lock_acquire+0xb9/0x3a0 [ 411.497322] ? lru_cache_add+0x5/0x170 [ 411.497944] ? find_held_lock+0x2d/0x90 [ 411.498568] ? handle_mm_fault+0xe46/0x18c0 [ 411.499205] ? __sys_sendmsg+0x51/0x90 [ 411.499784] __sys_sendmsg+0x51/0x90 [ 411.500341] do_syscall_64+0x59/0x2e0 [ 411.500938] ? asm_exc_page_fault+0x8/0x30 [ 411.501609] ? rcu_read_lock_sched_held+0x52/0x60 [ 411.502350] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 411.503093] RIP: 0033:0x7faee73b85a7 [ 411.503654] Code: Bad RIP value. Fixes: 0e18134f4f9f ("net/mlx5e: Eswitch, use state_lock to synchronize vlan change") Signed-off-by: Alaa Hleihel Reviewed-by: Roi Dayan Reviewed-by: Vlad Buslov Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 6b711affb7da..8e6ab8201939 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -2155,8 +2155,6 @@ int __mlx5_eswitch_set_vport_vlan(struct mlx5_eswitch *esw, struct mlx5_vport *evport = mlx5_eswitch_get_vport(esw, vport); int err = 0; - if (!ESW_ALLOWED(esw)) - return -EPERM; if (IS_ERR(evport)) return PTR_ERR(evport); if (vlan > 4095 || qos > 7) @@ -2184,6 +2182,9 @@ int mlx5_eswitch_set_vport_vlan(struct mlx5_eswitch *esw, u8 set_flags = 0; int err; + if (!ESW_ALLOWED(esw)) + return -EPERM; + if (vlan || qos) set_flags = SET_VLAN_STRIP | SET_VLAN_INSERT; From 9db3040eb952550538b1ec65d20eb99490e73352 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Tue, 28 Jul 2020 14:10:29 +0200 Subject: [PATCH 60/99] net: lan78xx: add missing endpoint sanity check [ Upstream commit 8d8e95fd6d69d774013f51e5f2ee10c6e6d1fc14 ] Add the missing endpoint sanity check to prevent a NULL-pointer dereference should a malicious device lack the expected endpoints. Note that the driver has a broken endpoint-lookup helper, lan78xx_get_endpoints(), which can end up accepting interfaces in an altsetting without endpoints as long as *some* altsetting has a bulk-in and a bulk-out endpoint. Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver") Cc: Woojung.Huh@microchip.com Signed-off-by: Johan Hovold Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/usb/lan78xx.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index 0170a441208a..54ce1ed1ea37 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -3767,6 +3767,11 @@ static int lan78xx_probe(struct usb_interface *intf, netdev->max_mtu = MAX_SINGLE_PACKET_SIZE; netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER); + if (intf->cur_altsetting->desc.bNumEndpoints < 3) { + ret = -ENODEV; + goto out3; + } + dev->ep_blkin = (intf->cur_altsetting)->endpoint + 0; dev->ep_blkout = (intf->cur_altsetting)->endpoint + 1; dev->ep_intr = (intf->cur_altsetting)->endpoint + 2; From b1d629d329107a499798037982156fd5457b3a44 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Tue, 28 Jul 2020 14:10:30 +0200 Subject: [PATCH 61/99] net: lan78xx: fix transfer-buffer memory leak [ Upstream commit 63634aa679ba8b5e306ad0727120309ae6ba8a8e ] The interrupt URB transfer-buffer was never freed on disconnect or after probe errors. Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver") Cc: Woojung.Huh@microchip.com Signed-off-by: Johan Hovold Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/usb/lan78xx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index 54ce1ed1ea37..1da99abc6ed1 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -3796,6 +3796,7 @@ static int lan78xx_probe(struct usb_interface *intf, usb_fill_int_urb(dev->urb_intr, dev->udev, dev->pipe_intr, buf, maxp, intr_complete, dev, period); + dev->urb_intr->transfer_flags |= URB_FREE_BUFFER; } } From c3883876d3f154d4eb3c9a4406c0489996806e0d Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Fri, 24 Jul 2020 20:12:53 +1000 Subject: [PATCH 62/99] rhashtable: Fix unprotected RCU dereference in __rht_ptr [ Upstream commit 1748f6a2cbc4694523f16da1c892b59861045b9d ] The rcu_dereference call in rht_ptr_rcu is completely bogus because we've already dereferenced the value in __rht_ptr and operated on it. This causes potential double readings which could be fatal. The RCU dereference must occur prior to the comparison in __rht_ptr. This patch changes the order of RCU dereference so that it is done first and the result is then fed to __rht_ptr. The RCU marking changes have been minimised using casts which will be removed in a follow-up patch. Fixes: ba6306e3f648 ("rhashtable: Remove RCU marking from...") Reported-by: "Gong, Sishuai" Signed-off-by: Herbert Xu Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- include/linux/rhashtable.h | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index beb9a9da1699..c5bf21261bb1 100644 --- a/include/linux/rhashtable.h +++ b/include/linux/rhashtable.h @@ -349,11 +349,11 @@ static inline void rht_unlock(struct bucket_table *tbl, local_bh_enable(); } -static inline struct rhash_head __rcu *__rht_ptr( - struct rhash_lock_head *const *bkt) +static inline struct rhash_head *__rht_ptr( + struct rhash_lock_head *p, struct rhash_lock_head __rcu *const *bkt) { - return (struct rhash_head __rcu *) - ((unsigned long)*bkt & ~BIT(0) ?: + return (struct rhash_head *) + ((unsigned long)p & ~BIT(0) ?: (unsigned long)RHT_NULLS_MARKER(bkt)); } @@ -365,25 +365,26 @@ static inline struct rhash_head __rcu *__rht_ptr( * access is guaranteed, such as when destroying the table. */ static inline struct rhash_head *rht_ptr_rcu( - struct rhash_lock_head *const *bkt) + struct rhash_lock_head *const *p) { - struct rhash_head __rcu *p = __rht_ptr(bkt); - - return rcu_dereference(p); + struct rhash_lock_head __rcu *const *bkt = (void *)p; + return __rht_ptr(rcu_dereference(*bkt), bkt); } static inline struct rhash_head *rht_ptr( - struct rhash_lock_head *const *bkt, + struct rhash_lock_head *const *p, struct bucket_table *tbl, unsigned int hash) { - return rht_dereference_bucket(__rht_ptr(bkt), tbl, hash); + struct rhash_lock_head __rcu *const *bkt = (void *)p; + return __rht_ptr(rht_dereference_bucket(*bkt, tbl, hash), bkt); } static inline struct rhash_head *rht_ptr_exclusive( - struct rhash_lock_head *const *bkt) + struct rhash_lock_head *const *p) { - return rcu_dereference_protected(__rht_ptr(bkt), 1); + struct rhash_lock_head __rcu *const *bkt = (void *)p; + return __rht_ptr(rcu_dereference_protected(*bkt, 1), bkt); } static inline void rht_assign_locked(struct rhash_lock_head **bkt, From 0f424eda470530a070fb0a4e9e868770022f3c86 Mon Sep 17 00:00:00 2001 From: Jakub Kicinski Date: Fri, 24 Jul 2020 16:15:43 -0700 Subject: [PATCH 63/99] mlx4: disable device on shutdown [ Upstream commit 3cab8c65525920f00d8f4997b3e9bb73aecb3a8e ] It appears that not disabling a PCI device on .shutdown may lead to a Hardware Error with particular (perhaps buggy) BIOS versions: mlx4_en: eth0: Close port called mlx4_en 0000:04:00.0: removed PHC reboot: Restarting system {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 1 {1}[Hardware Error]: event severity: fatal {1}[Hardware Error]: Error 0, type: fatal {1}[Hardware Error]: section_type: PCIe error {1}[Hardware Error]: port_type: 4, root port {1}[Hardware Error]: version: 1.16 {1}[Hardware Error]: command: 0x4010, status: 0x0143 {1}[Hardware Error]: device_id: 0000:00:02.2 {1}[Hardware Error]: slot: 0 {1}[Hardware Error]: secondary_bus: 0x04 {1}[Hardware Error]: vendor_id: 0x8086, device_id: 0x2f06 {1}[Hardware Error]: class_code: 000604 {1}[Hardware Error]: bridge: secondary_status: 0x2000, control: 0x0003 {1}[Hardware Error]: aer_uncor_status: 0x00100000, aer_uncor_mask: 0x00000000 {1}[Hardware Error]: aer_uncor_severity: 0x00062030 {1}[Hardware Error]: TLP Header: 40000018 040000ff 791f4080 00000000 [hw error repeats] Kernel panic - not syncing: Fatal hardware error! CPU: 0 PID: 2189 Comm: reboot Kdump: loaded Not tainted 5.6.x-blabla #1 Hardware name: HP ProLiant DL380 Gen9/ProLiant DL380 Gen9, BIOS P89 05/05/2017 Fix the mlx4 driver. This is a very similar problem to what had been fixed in: commit 0d98ba8d70b0 ("scsi: hpsa: disable device during shutdown") to address https://bugzilla.kernel.org/show_bug.cgi?id=199779. Fixes: 2ba5fbd62b25 ("net/mlx4_core: Handle AER flow properly") Reported-by: Jake Lawrence Signed-off-by: Jakub Kicinski Reviewed-by: Saeed Mahameed Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx4/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c index 87c2e8de6102..942646fb2256 100644 --- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c @@ -4354,12 +4354,14 @@ end: static void mlx4_shutdown(struct pci_dev *pdev) { struct mlx4_dev_persistent *persist = pci_get_drvdata(pdev); + struct mlx4_dev *dev = persist->dev; mlx4_info(persist->dev, "mlx4_shutdown was called\n"); mutex_lock(&persist->interface_state_mutex); if (persist->interface_state & MLX4_INTERFACE_STATE_UP) mlx4_unload_one(pdev); mutex_unlock(&persist->interface_state_mutex); + mlx4_pci_disable_device(dev); } static const struct pci_error_handlers mlx4_err_handler = { From 57f498ced73160972866120ce3b021218353e0d4 Mon Sep 17 00:00:00 2001 From: Ido Schimmel Date: Wed, 29 Jul 2020 12:26:45 +0300 Subject: [PATCH 64/99] mlxsw: core: Increase scope of RCU read-side critical section [ Upstream commit 7d8e8f3433dc8d1dc87c1aabe73a154978fb4c4d ] The lifetime of the Rx listener item ('rxl_item') is managed using RCU, but is dereferenced outside of RCU read-side critical section, which can lead to a use-after-free. Fix this by increasing the scope of the RCU read-side critical section. Fixes: 93c1edb27f9e ("mlxsw: Introduce Mellanox switch driver core") Signed-off-by: Ido Schimmel Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlxsw/core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c index 1b204ce30ee4..506bcdc32a8d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -1802,11 +1802,13 @@ void mlxsw_core_skb_receive(struct mlxsw_core *mlxsw_core, struct sk_buff *skb, break; } } - rcu_read_unlock(); - if (!found) + if (!found) { + rcu_read_unlock(); goto drop; + } rxl->func(skb, local_port, rxl_item->priv); + rcu_read_unlock(); return; drop: From ea559138b33151e9aa60142487f57d08dc2aede9 Mon Sep 17 00:00:00 2001 From: Ido Schimmel Date: Wed, 29 Jul 2020 12:26:46 +0300 Subject: [PATCH 65/99] mlxsw: core: Free EMAD transactions using kfree_rcu() [ Upstream commit 3c8ce24b037648a5a15b85888b259a74b05ff97d ] The lifetime of EMAD transactions (i.e., 'struct mlxsw_reg_trans') is managed using RCU. They are freed using kfree_rcu() once the transaction ends. However, in case the transaction failed it is freed immediately after being removed from the active transactions list. This is problematic because it is still possible for a different CPU to dereference the transaction from an RCU read-side critical section while traversing the active transaction list in mlxsw_emad_rx_listener_func(). In which case, a use-after-free is triggered [1]. Fix this by freeing the transaction after a grace period by calling kfree_rcu(). [1] BUG: KASAN: use-after-free in mlxsw_emad_rx_listener_func+0x969/0xac0 drivers/net/ethernet/mellanox/mlxsw/core.c:671 Read of size 8 at addr ffff88800b7964e8 by task syz-executor.2/2881 CPU: 0 PID: 2881 Comm: syz-executor.2 Not tainted 5.8.0-rc4+ #44 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0xf6/0x16e lib/dump_stack.c:118 print_address_description.constprop.0+0x1c/0x250 mm/kasan/report.c:383 __kasan_report mm/kasan/report.c:513 [inline] kasan_report.cold+0x1f/0x37 mm/kasan/report.c:530 mlxsw_emad_rx_listener_func+0x969/0xac0 drivers/net/ethernet/mellanox/mlxsw/core.c:671 mlxsw_core_skb_receive+0x571/0x700 drivers/net/ethernet/mellanox/mlxsw/core.c:2061 mlxsw_pci_cqe_rdq_handle drivers/net/ethernet/mellanox/mlxsw/pci.c:595 [inline] mlxsw_pci_cq_tasklet+0x12a6/0x2520 drivers/net/ethernet/mellanox/mlxsw/pci.c:651 tasklet_action_common.isra.0+0x13f/0x3e0 kernel/softirq.c:550 __do_softirq+0x223/0x964 kernel/softirq.c:292 asm_call_on_stack+0x12/0x20 arch/x86/entry/entry_64.S:711 __run_on_irqstack arch/x86/include/asm/irq_stack.h:22 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:48 [inline] do_softirq_own_stack+0x109/0x140 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:387 [inline] __irq_exit_rcu kernel/softirq.c:417 [inline] irq_exit_rcu+0x16f/0x1a0 kernel/softirq.c:429 sysvec_apic_timer_interrupt+0x4e/0xd0 arch/x86/kernel/apic/apic.c:1091 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:587 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/irqflags.h:85 [inline] RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0x3b/0x40 kernel/locking/spinlock.c:191 Code: e8 2a c3 f4 fc 48 89 ef e8 12 96 f5 fc f6 c7 02 75 11 53 9d e8 d6 db 11 fd 65 ff 0d 1f 21 b3 56 5b 5d c3 e8 a7 d7 11 fd 53 9d ed 0f 1f 00 55 48 89 fd 65 ff 05 05 21 b3 56 ff 74 24 08 48 8d RSP: 0018:ffff8880446ffd80 EFLAGS: 00000286 RAX: 0000000000000006 RBX: 0000000000000286 RCX: 0000000000000006 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa94ecea9 RBP: ffff888012934408 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000001 R11: fffffbfff57be301 R12: 1ffff110088dffc1 R13: ffff888037b817c0 R14: ffff88802442415a R15: ffff888024424000 __do_sys_perf_event_open+0x1b5d/0x2bd0 kernel/events/core.c:11874 do_syscall_64+0x56/0xa0 arch/x86/entry/common.c:384 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x473dbd Code: Bad RIP value. RSP: 002b:00007f21e5e9cc28 EFLAGS: 00000246 ORIG_RAX: 000000000000012a RAX: ffffffffffffffda RBX: 000000000057bf00 RCX: 0000000000473dbd RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020000040 RBP: 000000000057bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000003 R11: 0000000000000246 R12: 000000000057bf0c R13: 00007ffd0493503f R14: 00000000004d0f46 R15: 00007f21e5e9cd80 Allocated by task 871: save_stack+0x1b/0x40 mm/kasan/common.c:48 set_track mm/kasan/common.c:56 [inline] __kasan_kmalloc mm/kasan/common.c:494 [inline] __kasan_kmalloc.constprop.0+0xc2/0xd0 mm/kasan/common.c:467 kmalloc include/linux/slab.h:555 [inline] kzalloc include/linux/slab.h:669 [inline] mlxsw_core_reg_access_emad+0x70/0x1410 drivers/net/ethernet/mellanox/mlxsw/core.c:1812 mlxsw_core_reg_access+0xeb/0x540 drivers/net/ethernet/mellanox/mlxsw/core.c:1991 mlxsw_sp_port_get_hw_xstats+0x335/0x7e0 drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1130 update_stats_cache+0xf4/0x140 drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1173 process_one_work+0xa3e/0x17a0 kernel/workqueue.c:2269 worker_thread+0x9e/0x1050 kernel/workqueue.c:2415 kthread+0x355/0x470 kernel/kthread.c:291 ret_from_fork+0x22/0x30 arch/x86/entry/entry_64.S:293 Freed by task 871: save_stack+0x1b/0x40 mm/kasan/common.c:48 set_track mm/kasan/common.c:56 [inline] kasan_set_free_info mm/kasan/common.c:316 [inline] __kasan_slab_free+0x12c/0x170 mm/kasan/common.c:455 slab_free_hook mm/slub.c:1474 [inline] slab_free_freelist_hook mm/slub.c:1507 [inline] slab_free mm/slub.c:3072 [inline] kfree+0xe6/0x320 mm/slub.c:4052 mlxsw_core_reg_access_emad+0xd45/0x1410 drivers/net/ethernet/mellanox/mlxsw/core.c:1819 mlxsw_core_reg_access+0xeb/0x540 drivers/net/ethernet/mellanox/mlxsw/core.c:1991 mlxsw_sp_port_get_hw_xstats+0x335/0x7e0 drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1130 update_stats_cache+0xf4/0x140 drivers/net/ethernet/mellanox/mlxsw/spectrum.c:1173 process_one_work+0xa3e/0x17a0 kernel/workqueue.c:2269 worker_thread+0x9e/0x1050 kernel/workqueue.c:2415 kthread+0x355/0x470 kernel/kthread.c:291 ret_from_fork+0x22/0x30 arch/x86/entry/entry_64.S:293 The buggy address belongs to the object at ffff88800b796400 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 232 bytes inside of 512-byte region [ffff88800b796400, ffff88800b796600) The buggy address belongs to the page: page:ffffea00002de500 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 head:ffffea00002de500 order:2 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head) raw: 0100000000010200 dead000000000100 dead000000000122 ffff88806c402500 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88800b796380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff88800b796400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff88800b796480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff88800b796500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88800b796580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb Fixes: caf7297e7ab5 ("mlxsw: core: Introduce support for asynchronous EMAD register access") Signed-off-by: Ido Schimmel Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlxsw/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c index 506bcdc32a8d..c7c3fc7d1126 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -1577,7 +1577,7 @@ static int mlxsw_core_reg_access_emad(struct mlxsw_core *mlxsw_core, err = mlxsw_emad_reg_access(mlxsw_core, reg, payload, type, trans, bulk_list, cb, cb_priv, tid); if (err) { - kfree(trans); + kfree_rcu(trans, rcu); return err; } return 0; From 43c390b751ba49916c65308c582ae3f997148efe Mon Sep 17 00:00:00 2001 From: Thomas Falcon Date: Wed, 29 Jul 2020 16:36:32 -0500 Subject: [PATCH 66/99] ibmvnic: Fix IRQ mapping disposal in error path [ Upstream commit 27a2145d6f826d1fad9de06ac541b1016ced3427 ] RX queue IRQ mappings are disposed in both the TX IRQ and RX IRQ error paths. Fix this and dispose of TX IRQ mappings correctly in case of an error. Fixes: ea22d51a7831 ("ibmvnic: simplify and improve driver probe function") Signed-off-by: Thomas Falcon Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/ibm/ibmvnic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index d58597360699..2d20a48f0ba0 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@ -3086,7 +3086,7 @@ req_rx_irq_failed: req_tx_irq_failed: for (j = 0; j < i; j++) { free_irq(adapter->tx_scrq[j]->irq, adapter->tx_scrq[j]); - irq_dispose_mapping(adapter->rx_scrq[j]->irq); + irq_dispose_mapping(adapter->tx_scrq[j]->irq); } release_sub_crqs(adapter, 1); return rc; From fe58e3dd6e119c6d41fd535429b0f1e83b5433d2 Mon Sep 17 00:00:00 2001 From: Andrii Nakryiko Date: Tue, 28 Jul 2020 21:09:12 -0700 Subject: [PATCH 67/99] bpf: Fix map leak in HASH_OF_MAPS map [ Upstream commit 1d4e1eab456e1ee92a94987499b211db05f900ea ] Fix HASH_OF_MAPS bug of not putting inner map pointer on bpf_map_elem_update() operation. This is due to per-cpu extra_elems optimization, which bypassed free_htab_elem() logic doing proper clean ups. Make sure that inner map is put properly in optimized case as well. Fixes: 8c290e60fa2a ("bpf: fix hashmap extra_elems logic") Signed-off-by: Andrii Nakryiko Signed-off-by: Daniel Borkmann Acked-by: Song Liu Link: https://lore.kernel.org/bpf/20200729040913.2815687-1-andriin@fb.com Signed-off-by: Sasha Levin --- kernel/bpf/hashtab.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c index 22066a62c8c9..039d64b1bfb7 100644 --- a/kernel/bpf/hashtab.c +++ b/kernel/bpf/hashtab.c @@ -675,15 +675,20 @@ static void htab_elem_free_rcu(struct rcu_head *head) preempt_enable(); } -static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l) +static void htab_put_fd_value(struct bpf_htab *htab, struct htab_elem *l) { struct bpf_map *map = &htab->map; + void *ptr; if (map->ops->map_fd_put_ptr) { - void *ptr = fd_htab_map_get_ptr(map, l); - + ptr = fd_htab_map_get_ptr(map, l); map->ops->map_fd_put_ptr(ptr); } +} + +static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l) +{ + htab_put_fd_value(htab, l); if (htab_is_prealloc(htab)) { __pcpu_freelist_push(&htab->freelist, &l->fnode); @@ -735,6 +740,7 @@ static struct htab_elem *alloc_htab_elem(struct bpf_htab *htab, void *key, */ pl_new = this_cpu_ptr(htab->extra_elems); l_new = *pl_new; + htab_put_fd_value(htab, old_elem); *pl_new = old_elem; } else { struct pcpu_freelist_node *l; From 3f15e3e62c80e180282f0cbc5559264e11c328b7 Mon Sep 17 00:00:00 2001 From: Remi Pommarel Date: Sat, 4 Jul 2020 15:50:07 +0200 Subject: [PATCH 68/99] mac80211: mesh: Free ie data when leaving mesh [ Upstream commit 6a01afcf8468d3ca2bd8bbb27503f60dcf643b20 ] At ieee80211_join_mesh() some ie data could have been allocated (see copy_mesh_setup()) and need to be cleaned up when leaving the mesh. This fixes the following kmemleak report: unreferenced object 0xffff0000116bc600 (size 128): comm "wpa_supplicant", pid 608, jiffies 4294898983 (age 293.484s) hex dump (first 32 bytes): 30 14 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 0............... 00 0f ac 08 00 00 00 00 c4 65 40 00 00 00 00 00 .........e@..... backtrace: [<00000000bebe439d>] __kmalloc_track_caller+0x1c0/0x330 [<00000000a349dbe1>] kmemdup+0x28/0x50 [<0000000075d69baa>] ieee80211_join_mesh+0x6c/0x3b8 [mac80211] [<00000000683bb98b>] __cfg80211_join_mesh+0x1e8/0x4f0 [cfg80211] [<0000000072cb507f>] nl80211_join_mesh+0x520/0x6b8 [cfg80211] [<0000000077e9bcf9>] genl_family_rcv_msg+0x374/0x680 [<00000000b1bd936d>] genl_rcv_msg+0x78/0x108 [<0000000022c53788>] netlink_rcv_skb+0xb0/0x1c0 [<0000000011af8ec9>] genl_rcv+0x34/0x48 [<0000000069e41f53>] netlink_unicast+0x268/0x2e8 [<00000000a7517316>] netlink_sendmsg+0x320/0x4c0 [<0000000069cba205>] ____sys_sendmsg+0x354/0x3a0 [<00000000e06bab0f>] ___sys_sendmsg+0xd8/0x120 [<0000000037340728>] __sys_sendmsg+0xa4/0xf8 [<000000004fed9776>] __arm64_sys_sendmsg+0x44/0x58 [<000000001c1e5647>] el0_svc_handler+0xd0/0x1a0 Fixes: c80d545da3f7 (mac80211: Let userspace enable and configure vendor specific path selection.) Signed-off-by: Remi Pommarel Link: https://lore.kernel.org/r/20200704135007.27292-1-repk@triplefau.lt Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- net/mac80211/cfg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 0daaf7e37a21..a9dda5c228f6 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -2140,6 +2140,7 @@ static int ieee80211_leave_mesh(struct wiphy *wiphy, struct net_device *dev) ieee80211_stop_mesh(sdata); mutex_lock(&sdata->local->mtx); ieee80211_vif_release_channel(sdata); + kfree(sdata->u.mesh.ie); mutex_unlock(&sdata->local->mtx); return 0; From 4a50753aacb52631d3d5dc6d39b1aacaa66dc9c6 Mon Sep 17 00:00:00 2001 From: Remi Pommarel Date: Sat, 4 Jul 2020 15:54:19 +0200 Subject: [PATCH 69/99] mac80211: mesh: Free pending skb when destroying a mpath [ Upstream commit 5e43540c2af0a0c0a18e39579b1ad49541f87506 ] A mpath object can hold reference on a list of skb that are waiting for mpath resolution to be sent. When destroying a mpath this skb list should be cleaned up in order to not leak memory. Fixing that kind of leak: unreferenced object 0xffff0000181c9300 (size 1088): comm "openvpn", pid 1782, jiffies 4295071698 (age 80.416s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 f9 80 36 00 00 00 00 00 ..........6..... 02 00 07 40 00 00 00 00 00 00 00 00 00 00 00 00 ...@............ backtrace: [<000000004bc6a443>] kmem_cache_alloc+0x1a4/0x2f0 [<000000002caaef13>] sk_prot_alloc.isra.39+0x34/0x178 [<00000000ceeaa916>] sk_alloc+0x34/0x228 [<00000000ca1f1d04>] inet_create+0x198/0x518 [<0000000035626b1c>] __sock_create+0x134/0x328 [<00000000a12b3a87>] __sys_socket+0xb0/0x158 [<00000000ff859f23>] __arm64_sys_socket+0x40/0x58 [<00000000263486ec>] el0_svc_handler+0xd0/0x1a0 [<0000000005b5157d>] el0_svc+0x8/0xc unreferenced object 0xffff000012973a40 (size 216): comm "openvpn", pid 1782, jiffies 4295082137 (age 38.660s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 c0 06 16 00 00 ff ff 00 93 1c 18 00 00 ff ff ................ backtrace: [<000000004bc6a443>] kmem_cache_alloc+0x1a4/0x2f0 [<0000000023c8c8f9>] __alloc_skb+0xc0/0x2b8 [<000000007ad950bb>] alloc_skb_with_frags+0x60/0x320 [<00000000ef90023a>] sock_alloc_send_pskb+0x388/0x3c0 [<00000000104fb1a3>] sock_alloc_send_skb+0x1c/0x28 [<000000006919d2dd>] __ip_append_data+0xba4/0x11f0 [<0000000083477587>] ip_make_skb+0x14c/0x1a8 [<0000000024f3d592>] udp_sendmsg+0xaf0/0xcf0 [<000000005aabe255>] inet_sendmsg+0x5c/0x80 [<000000008651ea08>] __sys_sendto+0x15c/0x218 [<000000003505c99b>] __arm64_sys_sendto+0x74/0x90 [<00000000263486ec>] el0_svc_handler+0xd0/0x1a0 [<0000000005b5157d>] el0_svc+0x8/0xc Fixes: 2bdaf386f99c (mac80211: mesh: move path tables into if_mesh) Signed-off-by: Remi Pommarel Link: https://lore.kernel.org/r/20200704135419.27703-1-repk@triplefau.lt Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- net/mac80211/mesh_pathtbl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index 117519bf33d6..aca608ae313f 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c @@ -521,6 +521,7 @@ static void mesh_path_free_rcu(struct mesh_table *tbl, del_timer_sync(&mpath->timer); atomic_dec(&sdata->u.mesh.mpaths); atomic_dec(&tbl->entries); + mesh_path_flush_pending(mpath); kfree_rcu(mpath, rcu); } From 8a90b436a0c9b7cebf024c5bb52f99821e305605 Mon Sep 17 00:00:00 2001 From: Sami Tolvanen Date: Thu, 30 Jul 2020 08:37:01 -0700 Subject: [PATCH 70/99] arm64/alternatives: move length validation inside the subsection [ Upstream commit 966a0acce2fca776391823381dba95c40e03c339 ] Commit f7b93d42945c ("arm64/alternatives: use subsections for replacement sequences") breaks LLVM's integrated assembler, because due to its one-pass design, it cannot compute instruction sequence lengths before the layout for the subsection has been finalized. This change fixes the build by moving the .org directives inside the subsection, so they are processed after the subsection layout is known. Fixes: f7b93d42945c ("arm64/alternatives: use subsections for replacement sequences") Signed-off-by: Sami Tolvanen Link: https://github.com/ClangBuiltLinux/linux/issues/1078 Link: https://lore.kernel.org/r/20200730153701.3892953-1-samitolvanen@google.com Signed-off-by: Will Deacon Signed-off-by: Sasha Levin --- arch/arm64/include/asm/alternative.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/alternative.h b/arch/arm64/include/asm/alternative.h index 12f0eb56a1cc..619db9b4c9d5 100644 --- a/arch/arm64/include/asm/alternative.h +++ b/arch/arm64/include/asm/alternative.h @@ -77,9 +77,9 @@ static inline void apply_alternatives_module(void *start, size_t length) { } "663:\n\t" \ newinstr "\n" \ "664:\n\t" \ - ".previous\n\t" \ ".org . - (664b-663b) + (662b-661b)\n\t" \ - ".org . - (662b-661b) + (664b-663b)\n" \ + ".org . - (662b-661b) + (664b-663b)\n\t" \ + ".previous\n" \ ".endif\n" #define __ALTERNATIVE_CFG_CB(oldinstr, feature, cfg_enabled, cb) \ From 3bb2f52ad9e74f3de153ca2a51c3d6fbe4dcf160 Mon Sep 17 00:00:00 2001 From: Robin Murphy Date: Thu, 30 Jul 2020 10:56:49 +0100 Subject: [PATCH 71/99] arm64: csum: Fix handling of bad packets [ Upstream commit 05fb3dbda187bbd9cc1cd0e97e5d6595af570ac6 ] Although iph is expected to point to at least 20 bytes of valid memory, ihl may be bogus, for example on reception of a corrupt packet. If it happens to be less than 5, we really don't want to run away and dereference 16GB worth of memory until it wraps back to exactly zero... Fixes: 0e455d8e80aa ("arm64: Implement optimised IP checksum helpers") Reported-by: guodeqing Signed-off-by: Robin Murphy Signed-off-by: Will Deacon Signed-off-by: Sasha Levin --- arch/arm64/include/asm/checksum.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/checksum.h b/arch/arm64/include/asm/checksum.h index d064a50deb5f..5665a3fc14be 100644 --- a/arch/arm64/include/asm/checksum.h +++ b/arch/arm64/include/asm/checksum.h @@ -19,16 +19,17 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) { __uint128_t tmp; u64 sum; + int n = ihl; /* we want it signed */ tmp = *(const __uint128_t *)iph; iph += 16; - ihl -= 4; + n -= 4; tmp += ((tmp >> 64) | (tmp << 64)); sum = tmp >> 64; do { sum += *(const u32 *)iph; iph += 4; - } while (--ihl); + } while (--n > 0); sum += ((sum >> 32) | (sum << 32)); return csum_fold((__force u32)(sum >> 32)); From 9acd96f14a49f59401478eefe158aec489e0161f Mon Sep 17 00:00:00 2001 From: Alain Michaud Date: Mon, 27 Jul 2020 20:48:55 +0000 Subject: [PATCH 72/99] Bluetooth: fix kernel oops in store_pending_adv_report [ Upstream commit a2ec905d1e160a33b2e210e45ad30445ef26ce0e ] Fix kernel oops observed when an ext adv data is larger than 31 bytes. This can be reproduced by setting up an advertiser with advertisement larger than 31 bytes. The issue is not sensitive to the advertisement content. In particular, this was reproduced with an advertisement of 229 bytes filled with 'A'. See stack trace below. This is fixed by not catching ext_adv as legacy adv are only cached to be able to concatenate a scanable adv with its scan response before sending it up through mgmt. With ext_adv, this is no longer necessary. general protection fault: 0000 [#1] SMP PTI CPU: 6 PID: 205 Comm: kworker/u17:0 Not tainted 5.4.0-37-generic #41-Ubuntu Hardware name: Dell Inc. XPS 15 7590/0CF6RR, BIOS 1.7.0 05/11/2020 Workqueue: hci0 hci_rx_work [bluetooth] RIP: 0010:hci_bdaddr_list_lookup+0x1e/0x40 [bluetooth] Code: ff ff e9 26 ff ff ff 0f 1f 44 00 00 0f 1f 44 00 00 55 48 8b 07 48 89 e5 48 39 c7 75 0a eb 24 48 8b 00 48 39 f8 74 1c 44 8b 06 <44> 39 40 10 75 ef 44 0f b7 4e 04 66 44 39 48 14 75 e3 38 50 16 75 RSP: 0018:ffffbc6a40493c70 EFLAGS: 00010286 RAX: 4141414141414141 RBX: 000000000000001b RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffff9903e76c100f RDI: ffff9904289d4b28 RBP: ffffbc6a40493c70 R08: 0000000093570362 R09: 0000000000000000 R10: 0000000000000000 R11: ffff9904344eae38 R12: ffff9904289d4000 R13: 0000000000000000 R14: 00000000ffffffa3 R15: ffff9903e76c100f FS: 0000000000000000(0000) GS:ffff990434580000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007feed125a000 CR3: 00000001b860a003 CR4: 00000000003606e0 Call Trace: process_adv_report+0x12e/0x560 [bluetooth] hci_le_meta_evt+0x7b2/0xba0 [bluetooth] hci_event_packet+0x1c29/0x2a90 [bluetooth] hci_rx_work+0x19b/0x360 [bluetooth] process_one_work+0x1eb/0x3b0 worker_thread+0x4d/0x400 kthread+0x104/0x140 Fixes: c215e9397b00 ("Bluetooth: Process extended ADV report event") Reported-by: Andy Nguyen Reported-by: Linus Torvalds Reported-by: Balakrishna Godavarthi Signed-off-by: Alain Michaud Tested-by: Sonny Sasaka Acked-by: Marcel Holtmann Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- net/bluetooth/hci_event.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 88cd410e5728..44385252d7b6 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -1274,6 +1274,9 @@ static void store_pending_adv_report(struct hci_dev *hdev, bdaddr_t *bdaddr, { struct discovery_state *d = &hdev->discovery; + if (len > HCI_MAX_AD_LENGTH) + return; + bacpy(&d->last_adv_addr, bdaddr); d->last_adv_addr_type = bdaddr_type; d->last_adv_rssi = rssi; @@ -5231,7 +5234,8 @@ static struct hci_conn *check_pending_le_conn(struct hci_dev *hdev, static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr, u8 bdaddr_type, bdaddr_t *direct_addr, - u8 direct_addr_type, s8 rssi, u8 *data, u8 len) + u8 direct_addr_type, s8 rssi, u8 *data, u8 len, + bool ext_adv) { struct discovery_state *d = &hdev->discovery; struct smp_irk *irk; @@ -5253,6 +5257,11 @@ static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr, return; } + if (!ext_adv && len > HCI_MAX_AD_LENGTH) { + bt_dev_err_ratelimited(hdev, "legacy adv larger than 31 bytes"); + return; + } + /* Find the end of the data in case the report contains padded zero * bytes at the end causing an invalid length value. * @@ -5312,7 +5321,7 @@ static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr, */ conn = check_pending_le_conn(hdev, bdaddr, bdaddr_type, type, direct_addr); - if (conn && type == LE_ADV_IND) { + if (!ext_adv && conn && type == LE_ADV_IND && len <= HCI_MAX_AD_LENGTH) { /* Store report for later inclusion by * mgmt_device_connected */ @@ -5366,7 +5375,7 @@ static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr, * event or send an immediate device found event if the data * should not be stored for later. */ - if (!has_pending_adv_report(hdev)) { + if (!ext_adv && !has_pending_adv_report(hdev)) { /* If the report will trigger a SCAN_REQ store it for * later merging. */ @@ -5401,7 +5410,8 @@ static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr, /* If the new report will trigger a SCAN_REQ store it for * later merging. */ - if (type == LE_ADV_IND || type == LE_ADV_SCAN_IND) { + if (!ext_adv && (type == LE_ADV_IND || + type == LE_ADV_SCAN_IND)) { store_pending_adv_report(hdev, bdaddr, bdaddr_type, rssi, flags, data, len); return; @@ -5441,7 +5451,7 @@ static void hci_le_adv_report_evt(struct hci_dev *hdev, struct sk_buff *skb) rssi = ev->data[ev->length]; process_adv_report(hdev, ev->evt_type, &ev->bdaddr, ev->bdaddr_type, NULL, 0, rssi, - ev->data, ev->length); + ev->data, ev->length, false); } else { bt_dev_err(hdev, "Dropping invalid advertising data"); } @@ -5515,7 +5525,8 @@ static void hci_le_ext_adv_report_evt(struct hci_dev *hdev, struct sk_buff *skb) if (legacy_evt_type != LE_ADV_INVALID) { process_adv_report(hdev, legacy_evt_type, &ev->bdaddr, ev->bdaddr_type, NULL, 0, ev->rssi, - ev->data, ev->length); + ev->data, ev->length, + !(evt_type & LE_EXT_ADV_LEGACY_PDU)); } ptr += sizeof(*ev) + ev->length; @@ -5713,7 +5724,8 @@ static void hci_le_direct_adv_report_evt(struct hci_dev *hdev, process_adv_report(hdev, ev->evt_type, &ev->bdaddr, ev->bdaddr_type, &ev->direct_addr, - ev->direct_addr_type, ev->rssi, NULL, 0); + ev->direct_addr_type, ev->rssi, NULL, 0, + false); ptr += sizeof(*ev); } From 1158aa743a0b871ed2f827bbdf827a78855c5eb4 Mon Sep 17 00:00:00 2001 From: Lu Wei Date: Wed, 29 Jul 2020 11:50:05 +0800 Subject: [PATCH 73/99] net: nixge: fix potential memory leak in nixge_probe() [ Upstream commit 366228ed01f6882cc203e3d5b40010dfae0be1c3 ] If some processes in nixge_probe() fail, free_netdev(dev) needs to be called to aviod a memory leak. Fixes: 87ab207981ec ("net: nixge: Separate ctrl and dma resources") Fixes: abcd3d6fc640 ("net: nixge: Fix error path for obtaining mac address") Reported-by: Hulk Robot Signed-off-by: Lu Wei Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/ni/nixge.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/ni/nixge.c b/drivers/net/ethernet/ni/nixge.c index 2761f3a3ae50..56f285985b43 100644 --- a/drivers/net/ethernet/ni/nixge.c +++ b/drivers/net/ethernet/ni/nixge.c @@ -1318,19 +1318,21 @@ static int nixge_probe(struct platform_device *pdev) netif_napi_add(ndev, &priv->napi, nixge_poll, NAPI_POLL_WEIGHT); err = nixge_of_get_resources(pdev); if (err) - return err; + goto free_netdev; __nixge_hw_set_mac_address(ndev); priv->tx_irq = platform_get_irq_byname(pdev, "tx"); if (priv->tx_irq < 0) { netdev_err(ndev, "could not find 'tx' irq"); - return priv->tx_irq; + err = priv->tx_irq; + goto free_netdev; } priv->rx_irq = platform_get_irq_byname(pdev, "rx"); if (priv->rx_irq < 0) { netdev_err(ndev, "could not find 'rx' irq"); - return priv->rx_irq; + err = priv->rx_irq; + goto free_netdev; } priv->coalesce_count_rx = XAXIDMA_DFT_RX_THRESHOLD; From e68b7b9b03fb4a4a33abf830e50ec8a0e58e7f3c Mon Sep 17 00:00:00 2001 From: Wang Hai Date: Thu, 30 Jul 2020 15:30:00 +0800 Subject: [PATCH 74/99] net: gemini: Fix missing clk_disable_unprepare() in error path of gemini_ethernet_port_probe() [ Upstream commit 85496a29224188051b6135eb38da8afd4c584765 ] Fix the missing clk_disable_unprepare() before return from gemini_ethernet_port_probe() in the error handling case. Fixes: 4d5ae32f5e1e ("net: ethernet: Add a driver for Gemini gigabit ethernet") Reported-by: Hulk Robot Signed-off-by: Wang Hai Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/cortina/gemini.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cortina/gemini.c b/drivers/net/ethernet/cortina/gemini.c index 2814b96751b4..01ae113f122a 100644 --- a/drivers/net/ethernet/cortina/gemini.c +++ b/drivers/net/ethernet/cortina/gemini.c @@ -2445,6 +2445,7 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev) port->reset = devm_reset_control_get_exclusive(dev, NULL); if (IS_ERR(port->reset)) { dev_err(dev, "no reset\n"); + clk_disable_unprepare(port->pclk); return PTR_ERR(port->reset); } reset_control_reset(port->reset); @@ -2500,8 +2501,10 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev) IRQF_SHARED, port_names[port->id], port); - if (ret) + if (ret) { + clk_disable_unprepare(port->pclk); return ret; + } ret = register_netdev(netdev); if (!ret) { From 568995fb61e7f1d0484148c2475e9c4716c2abd5 Mon Sep 17 00:00:00 2001 From: Xin Xiong Date: Thu, 30 Jul 2020 18:29:41 +0800 Subject: [PATCH 75/99] net/mlx5e: fix bpf_prog reference count leaks in mlx5e_alloc_rq [ Upstream commit e692139e6af339a1495ef401b2d95f7f9d1c7a44 ] The function invokes bpf_prog_inc(), which increases the reference count of a bpf_prog object "rq->xdp_prog" if the object isn't NULL. The refcount leak issues take place in two error handling paths. When either mlx5_wq_ll_create() or mlx5_wq_cyc_create() fails, the function simply returns the error code and forgets to drop the reference count increased earlier, causing a reference count leak of "rq->xdp_prog". Fix this issue by jumping to the error handling path err_rq_wq_destroy while either function fails. Fixes: 422d4c401edd ("net/mlx5e: RX, Split WQ objects for different RQ types") Signed-off-by: Xin Xiong Signed-off-by: Xiyu Yang Signed-off-by: Xin Tan Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index cb3dcfced89f..ee0d78f801af 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -432,7 +432,7 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c, err = mlx5_wq_ll_create(mdev, &rqp->wq, rqc_wq, &rq->mpwqe.wq, &rq->wq_ctrl); if (err) - return err; + goto err_rq_wq_destroy; rq->mpwqe.wq.db = &rq->mpwqe.wq.db[MLX5_RCV_DBR]; @@ -485,7 +485,7 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c, err = mlx5_wq_cyc_create(mdev, &rqp->wq, rqc_wq, &rq->wqe.wq, &rq->wq_ctrl); if (err) - return err; + goto err_rq_wq_destroy; rq->wqe.wq.db = &rq->wqe.wq.db[MLX5_RCV_DBR]; From 1df0000b30cd25e23fdd1e0a6c5987cd0b3213c7 Mon Sep 17 00:00:00 2001 From: Wei Li Date: Fri, 24 Jul 2020 15:11:10 +0800 Subject: [PATCH 76/99] perf tools: Fix record failure when mixed with ARM SPE event [ Upstream commit bd3c628f8fafa6cbd6a1ca440034b841f0080160 ] When recording with cache-misses and arm_spe_x event, I found that it will just fail without showing any error info if i put cache-misses after 'arm_spe_x' event. [root@localhost 0620]# perf record -e cache-misses \ -e arm_spe_0/ts_enable=1,pct_enable=1,pa_enable=1,load_filter=1,jitter=1,store_filter=1,min_latency=0/ sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.067 MB perf.data ] [root@localhost 0620]# [root@localhost 0620]# perf record -e arm_spe_0/ts_enable=1,pct_enable=1,pa_enable=1,load_filter=1,jitter=1,store_filter=1,min_latency=0/ \ -e cache-misses sleep 1 [root@localhost 0620]# The current code can only work if the only event to be traced is an 'arm_spe_x', or if it is the last event to be specified. Otherwise the last event type will be checked against all the arm_spe_pmus[i]->types, none will match and an out of bound 'i' index will be used in arm_spe_recording_init(). We don't support concurrent multiple arm_spe_x events currently, that is checked in arm_spe_recording_options(), and it will show the relevant info. So add the check and record of the first found 'arm_spe_pmu' to fix this issue here. Fixes: ffd3d18c20b8 ("perf tools: Add ARM Statistical Profiling Extensions (SPE) support") Signed-off-by: Wei Li Reviewed-by: Mathieu Poirier Tested-by-by: Leo Yan Cc: Alexander Shishkin Cc: Hanjun Guo Cc: Jiri Olsa Cc: Kim Phillips Cc: Mark Rutland Cc: Mike Leach Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Suzuki Poulouse Cc: linux-arm-kernel@lists.infradead.org Link: http://lore.kernel.org/lkml/20200724071111.35593-2-liwei391@huawei.com Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Sasha Levin --- tools/perf/arch/arm/util/auxtrace.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/perf/arch/arm/util/auxtrace.c b/tools/perf/arch/arm/util/auxtrace.c index 0a6e75b8777a..28a5d0c18b1d 100644 --- a/tools/perf/arch/arm/util/auxtrace.c +++ b/tools/perf/arch/arm/util/auxtrace.c @@ -56,7 +56,7 @@ struct auxtrace_record struct perf_pmu *cs_etm_pmu; struct evsel *evsel; bool found_etm = false; - bool found_spe = false; + struct perf_pmu *found_spe = NULL; static struct perf_pmu **arm_spe_pmus = NULL; static int nr_spes = 0; int i = 0; @@ -74,12 +74,12 @@ struct auxtrace_record evsel->core.attr.type == cs_etm_pmu->type) found_etm = true; - if (!nr_spes) + if (!nr_spes || found_spe) continue; for (i = 0; i < nr_spes; i++) { if (evsel->core.attr.type == arm_spe_pmus[i]->type) { - found_spe = true; + found_spe = arm_spe_pmus[i]; break; } } @@ -96,7 +96,7 @@ struct auxtrace_record #if defined(__aarch64__) if (found_spe) - return arm_spe_recording_init(err, arm_spe_pmus[i]); + return arm_spe_recording_init(err, found_spe); #endif /* From cac2b7ad091562ab873642b4181c8457c1b39a15 Mon Sep 17 00:00:00 2001 From: Taehee Yoo Date: Sat, 1 Aug 2020 07:07:50 +0000 Subject: [PATCH 77/99] vxlan: fix memleak of fdb [ Upstream commit fda2ec62cf1aa7cbee52289dc8059cd3662795da ] When vxlan interface is deleted, all fdbs are deleted by vxlan_flush(). vxlan_flush() flushes fdbs but it doesn't delete fdb, which contains all-zeros-mac because it is deleted by vxlan_uninit(). But vxlan_uninit() deletes only the fdb, which contains both all-zeros-mac and default vni. So, the fdb, which contains both all-zeros-mac and non-default vni will not be deleted. Test commands: ip link add vxlan0 type vxlan dstport 4789 external ip link set vxlan0 up bridge fdb add to 00:00:00:00:00:00 dst 172.0.0.1 dev vxlan0 via lo \ src_vni 10000 self permanent ip link del vxlan0 kmemleak reports as follows: unreferenced object 0xffff9486b25ced88 (size 96): comm "bridge", pid 2151, jiffies 4294701712 (age 35506.901s) hex dump (first 32 bytes): 02 00 00 00 ac 00 00 01 40 00 09 b1 86 94 ff ff ........@....... 46 02 00 00 00 00 00 00 a7 03 00 00 12 b5 6a 6b F.............jk backtrace: [<00000000c10cf651>] vxlan_fdb_append.part.51+0x3c/0xf0 [vxlan] [<000000006b31a8d9>] vxlan_fdb_create+0x184/0x1a0 [vxlan] [<0000000049399045>] vxlan_fdb_update+0x12f/0x220 [vxlan] [<0000000090b1ef00>] vxlan_fdb_add+0x12a/0x1b0 [vxlan] [<0000000056633c2c>] rtnl_fdb_add+0x187/0x270 [<00000000dd5dfb6b>] rtnetlink_rcv_msg+0x264/0x490 [<00000000fc44dd54>] netlink_rcv_skb+0x4a/0x110 [<00000000dff433e7>] netlink_unicast+0x18e/0x250 [<00000000b87fb421>] netlink_sendmsg+0x2e9/0x400 [<000000002ed55153>] ____sys_sendmsg+0x237/0x260 [<00000000faa51c66>] ___sys_sendmsg+0x88/0xd0 [<000000006c3982f1>] __sys_sendmsg+0x4e/0x80 [<00000000a8f875d2>] do_syscall_64+0x56/0xe0 [<000000003610eefa>] entry_SYSCALL_64_after_hwframe+0x44/0xa9 unreferenced object 0xffff9486b1c40080 (size 128): comm "bridge", pid 2157, jiffies 4294701754 (age 35506.866s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 f8 dc 42 b2 86 94 ff ff ..........B..... 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk backtrace: [<00000000a2981b60>] vxlan_fdb_create+0x67/0x1a0 [vxlan] [<0000000049399045>] vxlan_fdb_update+0x12f/0x220 [vxlan] [<0000000090b1ef00>] vxlan_fdb_add+0x12a/0x1b0 [vxlan] [<0000000056633c2c>] rtnl_fdb_add+0x187/0x270 [<00000000dd5dfb6b>] rtnetlink_rcv_msg+0x264/0x490 [<00000000fc44dd54>] netlink_rcv_skb+0x4a/0x110 [<00000000dff433e7>] netlink_unicast+0x18e/0x250 [<00000000b87fb421>] netlink_sendmsg+0x2e9/0x400 [<000000002ed55153>] ____sys_sendmsg+0x237/0x260 [<00000000faa51c66>] ___sys_sendmsg+0x88/0xd0 [<000000006c3982f1>] __sys_sendmsg+0x4e/0x80 [<00000000a8f875d2>] do_syscall_64+0x56/0xe0 [<000000003610eefa>] entry_SYSCALL_64_after_hwframe+0x44/0xa9 Fixes: 3ad7a4b141eb ("vxlan: support fdb and learning in COLLECT_METADATA mode") Signed-off-by: Taehee Yoo Acked-by: Roopa Prabhu Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/vxlan.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 03434db36b5c..b49b6f0cee50 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -2863,8 +2863,10 @@ static void vxlan_flush(struct vxlan_dev *vxlan, bool do_all) if (!do_all && (f->state & (NUD_PERMANENT | NUD_NOARP))) continue; /* the all_zeros_mac entry is deleted at vxlan_uninit */ - if (!is_zero_ether_addr(f->eth_addr)) - vxlan_fdb_destroy(vxlan, f, true, true); + if (is_zero_ether_addr(f->eth_addr) && + f->vni == vxlan->cfg.vni) + continue; + vxlan_fdb_destroy(vxlan, f, true, true); } spin_unlock_bh(&vxlan->hash_lock[h]); } From 5b235c1d90225d1422911a7e4d97fa5be8f987d1 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 13 Jul 2020 13:05:13 +0200 Subject: [PATCH 78/99] usb: hso: Fix debug compile warning on sparc32 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ Upstream commit e0484010ec05191a8edf980413fc92f28050c1cc ] On sparc32, tcflag_t is "unsigned long", unlike on all other architectures, where it is "unsigned int": drivers/net/usb/hso.c: In function ‘hso_serial_set_termios’: include/linux/kern_levels.h:5:18: warning: format ‘%d’ expects argument of type ‘unsigned int’, but argument 4 has type ‘tcflag_t {aka long unsigned int}’ [-Wformat=] drivers/net/usb/hso.c:1393:3: note: in expansion of macro ‘hso_dbg’ hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n", ^~~~~~~ include/linux/kern_levels.h:5:18: warning: format ‘%d’ expects argument of type ‘unsigned int’, but argument 5 has type ‘tcflag_t {aka long unsigned int}’ [-Wformat=] drivers/net/usb/hso.c:1393:3: note: in expansion of macro ‘hso_dbg’ hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n", ^~~~~~~ As "unsigned long" is 32-bit on sparc32, fix this by casting all tcflag_t parameters to "unsigned int". While at it, use "%u" to format unsigned numbers. Signed-off-by: Geert Uytterhoeven Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/usb/hso.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 74849da031fa..66a8b835aa94 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c @@ -1389,8 +1389,9 @@ static void hso_serial_set_termios(struct tty_struct *tty, struct ktermios *old) unsigned long flags; if (old) - hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n", - tty->termios.c_cflag, old->c_cflag); + hso_dbg(0x16, "Termios called with: cflags new[%u] - old[%u]\n", + (unsigned int)tty->termios.c_cflag, + (unsigned int)old->c_cflag); /* the actual setup */ spin_lock_irqsave(&serial->serial_lock, flags); From 6e4620df9cbcd72c4faf24273fff417fc4ee3dfb Mon Sep 17 00:00:00 2001 From: Paolo Pisati Date: Tue, 14 Jul 2020 17:40:55 +0200 Subject: [PATCH 79/99] selftests: fib_nexthop_multiprefix: fix cleanup() netns deletion [ Upstream commit 651149f60376758a4759f761767965040f9e4464 ] During setup(): ... for ns in h0 r1 h1 h2 h3 do create_ns ${ns} done ... while in cleanup(): ... for n in h1 r1 h2 h3 h4 do ip netns del ${n} 2>/dev/null done ... and after removing the stderr redirection in cleanup(): $ sudo ./fib_nexthop_multiprefix.sh ... TEST: IPv4: host 0 to host 3, mtu 1400 [ OK ] TEST: IPv6: host 0 to host 3, mtu 1400 [ OK ] Cannot remove namespace file "/run/netns/h4": No such file or directory $ echo $? 1 and a non-zero return code, make kselftests fail (even if the test itself is fine): ... not ok 34 selftests: net: fib_nexthop_multiprefix.sh # exit=1 ... Signed-off-by: Paolo Pisati Reviewed-by: David Ahern Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- tools/testing/selftests/net/fib_nexthop_multiprefix.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/fib_nexthop_multiprefix.sh b/tools/testing/selftests/net/fib_nexthop_multiprefix.sh index 9dc35a16e415..51df5e305855 100755 --- a/tools/testing/selftests/net/fib_nexthop_multiprefix.sh +++ b/tools/testing/selftests/net/fib_nexthop_multiprefix.sh @@ -144,7 +144,7 @@ setup() cleanup() { - for n in h1 r1 h2 h3 h4 + for n in h0 r1 h1 h2 h3 do ip netns del ${n} 2>/dev/null done From 78c7532b80c6ca2d267cf0bf29d940a30b23e349 Mon Sep 17 00:00:00 2001 From: Laurence Oberman Date: Tue, 14 Jul 2020 18:08:05 -0400 Subject: [PATCH 80/99] qed: Disable "MFW indication via attention" SPAM every 5 minutes [ Upstream commit 1d61e21852d3161f234b9656797669fe185c251b ] This is likely firmware causing this but its starting to annoy customers. Change the message level to verbose to prevent the spam. Note that this seems to only show up with ISCSI enabled on the HBA via the qedi driver. Signed-off-by: Laurence Oberman Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/qlogic/qed/qed_int.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_int.c b/drivers/net/ethernet/qlogic/qed/qed_int.c index 8d106063e927..666e43748a5f 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_int.c +++ b/drivers/net/ethernet/qlogic/qed/qed_int.c @@ -1180,7 +1180,8 @@ static int qed_int_attentions(struct qed_hwfn *p_hwfn) index, attn_bits, attn_acks, asserted_bits, deasserted_bits, p_sb_attn_sw->known_attn); } else if (asserted_bits == 0x100) { - DP_INFO(p_hwfn, "MFW indication via attention\n"); + DP_VERBOSE(p_hwfn, NETIF_MSG_INTR, + "MFW indication via attention\n"); } else { DP_VERBOSE(p_hwfn, NETIF_MSG_INTR, "MFW indication [deassertion]\n"); From 50c5f89637bc1301c90eda92b748a1f84dbb3637 Mon Sep 17 00:00:00 2001 From: Paolo Pisati Date: Thu, 16 Jul 2020 17:51:14 +0200 Subject: [PATCH 81/99] selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support [ Upstream commit aba69d49fb49c9166596dd78926514173b7f9ab5 ] Fix ip_defrag.sh when CONFIG_NF_DEFRAG_IPV6=m: $ sudo ./ip_defrag.sh + set -e + mktemp -u XXXXXX + readonly NETNS=ns-rGlXcw + trap cleanup EXIT + setup + ip netns add ns-rGlXcw + ip -netns ns-rGlXcw link set lo up + ip netns exec ns-rGlXcw sysctl -w net.ipv4.ipfrag_high_thresh=9000000 + ip netns exec ns-rGlXcw sysctl -w net.ipv4.ipfrag_low_thresh=7000000 + ip netns exec ns-rGlXcw sysctl -w net.ipv4.ipfrag_time=1 + ip netns exec ns-rGlXcw sysctl -w net.ipv6.ip6frag_high_thresh=9000000 + ip netns exec ns-rGlXcw sysctl -w net.ipv6.ip6frag_low_thresh=7000000 + ip netns exec ns-rGlXcw sysctl -w net.ipv6.ip6frag_time=1 + ip netns exec ns-rGlXcw sysctl -w net.netfilter.nf_conntrack_frag6_high_thresh=9000000 + cleanup + ip netns del ns-rGlXcw $ ls -la /proc/sys/net/netfilter/nf_conntrack_frag6_high_thresh ls: cannot access '/proc/sys/net/netfilter/nf_conntrack_frag6_high_thresh': No such file or directory $ sudo modprobe nf_defrag_ipv6 $ ls -la /proc/sys/net/netfilter/nf_conntrack_frag6_high_thresh -rw-r--r-- 1 root root 0 Jul 14 12:34 /proc/sys/net/netfilter/nf_conntrack_frag6_high_thresh Signed-off-by: Paolo Pisati Reviewed-by: Jakub Kicinski Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- tools/testing/selftests/net/ip_defrag.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/net/ip_defrag.sh b/tools/testing/selftests/net/ip_defrag.sh index 15d3489ecd9c..ceb7ad4dbd94 100755 --- a/tools/testing/selftests/net/ip_defrag.sh +++ b/tools/testing/selftests/net/ip_defrag.sh @@ -6,6 +6,8 @@ set +x set -e +modprobe -q nf_defrag_ipv6 + readonly NETNS="ns-$(mktemp -u XXXXXX)" setup() { From 0ac155dcf048d97738cefbfbcff66dfb9c8e46d3 Mon Sep 17 00:00:00 2001 From: Navid Emamdoost Date: Sat, 18 Jul 2020 00:31:49 -0500 Subject: [PATCH 82/99] nfc: s3fwrn5: add missing release on skb in s3fwrn5_recv_frame [ Upstream commit 1e8fd3a97f2d83a7197876ceb4f37b4c2b00a0f3 ] The implementation of s3fwrn5_recv_frame() is supposed to consume skb on all execution paths. Release skb before returning -ENODEV. Signed-off-by: Navid Emamdoost Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/nfc/s3fwrn5/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/nfc/s3fwrn5/core.c b/drivers/nfc/s3fwrn5/core.c index 91d4d5b28a7d..ba6c486d6465 100644 --- a/drivers/nfc/s3fwrn5/core.c +++ b/drivers/nfc/s3fwrn5/core.c @@ -198,6 +198,7 @@ int s3fwrn5_recv_frame(struct nci_dev *ndev, struct sk_buff *skb, case S3FWRN5_MODE_FW: return s3fwrn5_fw_recv_frame(ndev, skb); default: + kfree_skb(skb); return -ENODEV; } } From a0ba41317c893ad29293a1503d7e5ea635d4a249 Mon Sep 17 00:00:00 2001 From: Ming Lei Date: Mon, 20 Jul 2020 10:54:35 +0800 Subject: [PATCH 83/99] scsi: core: Run queue in case of I/O resource contention failure [ Upstream commit 3f0dcfbcd2e162fc0a11c1f59b7acd42ee45f126 ] I/O requests may be held in scheduler queue because of resource contention. The starvation scenario was handled properly in the regular completion path but we failed to account for it during I/O submission. This lead to the hang captured below. Make sure we run the queue when resource contention is encountered in the submission path. [ 39.054963] scsi 13:0:0:0: rejecting I/O to dead device [ 39.058700] scsi 13:0:0:0: rejecting I/O to dead device [ 39.087855] sd 13:0:0:1: [sdd] Synchronizing SCSI cache [ 39.088909] scsi 13:0:0:1: rejecting I/O to dead device [ 39.095351] scsi 13:0:0:1: rejecting I/O to dead device [ 39.096962] scsi 13:0:0:1: rejecting I/O to dead device [ 247.021859] INFO: task scsi-stress-rem:813 blocked for more than 122 seconds. [ 247.023258] Not tainted 5.8.0-rc2 #8 [ 247.024069] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 247.025331] scsi-stress-rem D 0 813 802 0x00004000 [ 247.025334] Call Trace: [ 247.025354] __schedule+0x504/0x55f [ 247.027987] schedule+0x72/0xa8 [ 247.027991] blk_mq_freeze_queue_wait+0x63/0x8c [ 247.027994] ? do_wait_intr_irq+0x7a/0x7a [ 247.027996] blk_cleanup_queue+0x4b/0xc9 [ 247.028000] __scsi_remove_device+0xf6/0x14e [ 247.028002] scsi_remove_device+0x21/0x2b [ 247.029037] sdev_store_delete+0x58/0x7c [ 247.029041] kernfs_fop_write+0x10d/0x14f [ 247.031281] vfs_write+0xa2/0xdf [ 247.032670] ksys_write+0x6b/0xb3 [ 247.032673] do_syscall_64+0x56/0x82 [ 247.034053] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 247.034059] RIP: 0033:0x7f69f39e9008 [ 247.036330] Code: Bad RIP value. [ 247.036331] RSP: 002b:00007ffdd8116498 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 247.037613] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f69f39e9008 [ 247.039714] RDX: 0000000000000002 RSI: 000055cde92a0ab0 RDI: 0000000000000001 [ 247.039715] RBP: 000055cde92a0ab0 R08: 000000000000000a R09: 00007f69f3a79e80 [ 247.039716] R10: 000000000000000a R11: 0000000000000246 R12: 00007f69f3abb780 [ 247.039717] R13: 0000000000000002 R14: 00007f69f3ab6740 R15: 0000000000000002 Link: https://lore.kernel.org/r/20200720025435.812030-1-ming.lei@redhat.com Cc: linux-block@vger.kernel.org Cc: Christoph Hellwig Reviewed-by: Bart Van Assche Reviewed-by: Christoph Hellwig Signed-off-by: Ming Lei Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/scsi_lib.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 206c9f53e9e7..e6944e1cba2b 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -568,6 +568,15 @@ static void scsi_mq_uninit_cmd(struct scsi_cmnd *cmd) scsi_del_cmd_from_list(cmd); } +static void scsi_run_queue_async(struct scsi_device *sdev) +{ + if (scsi_target(sdev)->single_lun || + !list_empty(&sdev->host->starved_list)) + kblockd_schedule_work(&sdev->requeue_work); + else + blk_mq_run_hw_queues(sdev->request_queue, true); +} + /* Returns false when no more bytes to process, true if there are more */ static bool scsi_end_request(struct request *req, blk_status_t error, unsigned int bytes) @@ -612,11 +621,7 @@ static bool scsi_end_request(struct request *req, blk_status_t error, __blk_mq_end_request(req, error); - if (scsi_target(sdev)->single_lun || - !list_empty(&sdev->host->starved_list)) - kblockd_schedule_work(&sdev->requeue_work); - else - blk_mq_run_hw_queues(q, true); + scsi_run_queue_async(sdev); percpu_ref_put(&q->q_usage_counter); return false; @@ -1729,6 +1734,7 @@ out_put_budget: */ if (req->rq_flags & RQF_DONTPREP) scsi_mq_uninit_cmd(cmd); + scsi_run_queue_async(sdev); break; } return ret; From ac7c3b8f34ec6bad54f83ccb2ecf86a6f82d5fdc Mon Sep 17 00:00:00 2001 From: Liam Beguin Date: Sat, 18 Jul 2020 16:10:21 -0400 Subject: [PATCH 84/99] parisc: add support for cmpxchg on u8 pointers [ Upstream commit b344d6a83d01c52fddbefa6b3b4764da5b1022a0 ] The kernel test bot reported[1] that using set_mask_bits on a u8 causes the following issue on parisc: hppa-linux-ld: drivers/phy/ti/phy-tusb1210.o: in function `tusb1210_probe': >> (.text+0x2f4): undefined reference to `__cmpxchg_called_with_bad_pointer' >> hppa-linux-ld: (.text+0x324): undefined reference to `__cmpxchg_called_with_bad_pointer' hppa-linux-ld: (.text+0x354): undefined reference to `__cmpxchg_called_with_bad_pointer' Add support for cmpxchg on u8 pointers. [1] https://lore.kernel.org/patchwork/patch/1272617/#1468946 Reported-by: kernel test robot Signed-off-by: Liam Beguin Tested-by: Dave Anglin Signed-off-by: Helge Deller Signed-off-by: Sasha Levin --- arch/parisc/include/asm/cmpxchg.h | 2 ++ arch/parisc/lib/bitops.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/arch/parisc/include/asm/cmpxchg.h b/arch/parisc/include/asm/cmpxchg.h index ab5c215cf46c..068958575871 100644 --- a/arch/parisc/include/asm/cmpxchg.h +++ b/arch/parisc/include/asm/cmpxchg.h @@ -60,6 +60,7 @@ extern void __cmpxchg_called_with_bad_pointer(void); extern unsigned long __cmpxchg_u32(volatile unsigned int *m, unsigned int old, unsigned int new_); extern u64 __cmpxchg_u64(volatile u64 *ptr, u64 old, u64 new_); +extern u8 __cmpxchg_u8(volatile u8 *ptr, u8 old, u8 new_); /* don't worry...optimizer will get rid of most of this */ static inline unsigned long @@ -71,6 +72,7 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new_, int size) #endif case 4: return __cmpxchg_u32((unsigned int *)ptr, (unsigned int)old, (unsigned int)new_); + case 1: return __cmpxchg_u8((u8 *)ptr, (u8)old, (u8)new_); } __cmpxchg_called_with_bad_pointer(); return old; diff --git a/arch/parisc/lib/bitops.c b/arch/parisc/lib/bitops.c index 70ffbcf889b8..2e4d1f05a926 100644 --- a/arch/parisc/lib/bitops.c +++ b/arch/parisc/lib/bitops.c @@ -79,3 +79,15 @@ unsigned long __cmpxchg_u32(volatile unsigned int *ptr, unsigned int old, unsign _atomic_spin_unlock_irqrestore(ptr, flags); return (unsigned long)prev; } + +u8 __cmpxchg_u8(volatile u8 *ptr, u8 old, u8 new) +{ + unsigned long flags; + u8 prev; + + _atomic_spin_lock_irqsave(ptr, flags); + if ((prev = *ptr) == old) + *ptr = new; + _atomic_spin_unlock_irqrestore(ptr, flags); + return prev; +} From df366abb9c8f4c852b0bca9691810be9335fa153 Mon Sep 17 00:00:00 2001 From: Yoshihiro Shimoda Date: Tue, 21 Jul 2020 15:23:12 +0900 Subject: [PATCH 85/99] net: ethernet: ravb: exit if re-initialization fails in tx timeout [ Upstream commit 015c5d5e6aa3523c758a70eb87b291cece2dbbb4 ] According to the report of [1], this driver is possible to cause the following error in ravb_tx_timeout_work(). ravb e6800000.ethernet ethernet: failed to switch device to config mode This error means that the hardware could not change the state from "Operation" to "Configuration" while some tx and/or rx queue are operating. After that, ravb_config() in ravb_dmac_init() will fail, and then any descriptors will be not allocaled anymore so that NULL pointer dereference happens after that on ravb_start_xmit(). To fix the issue, the ravb_tx_timeout_work() should check the return values of ravb_stop_dma() and ravb_dmac_init(). If ravb_stop_dma() fails, ravb_tx_timeout_work() re-enables TX and RX and just exits. If ravb_dmac_init() fails, just exits. [1] https://lore.kernel.org/linux-renesas-soc/20200518045452.2390-1-dirk.behme@de.bosch.com/ Reported-by: Dirk Behme Signed-off-by: Yoshihiro Shimoda Reviewed-by: Sergei Shtylyov Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/renesas/ravb_main.c | 26 ++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index 3f165c137236..30cdabf64ccc 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -1444,6 +1444,7 @@ static void ravb_tx_timeout_work(struct work_struct *work) struct ravb_private *priv = container_of(work, struct ravb_private, work); struct net_device *ndev = priv->ndev; + int error; netif_tx_stop_all_queues(ndev); @@ -1452,15 +1453,36 @@ static void ravb_tx_timeout_work(struct work_struct *work) ravb_ptp_stop(ndev); /* Wait for DMA stopping */ - ravb_stop_dma(ndev); + if (ravb_stop_dma(ndev)) { + /* If ravb_stop_dma() fails, the hardware is still operating + * for TX and/or RX. So, this should not call the following + * functions because ravb_dmac_init() is possible to fail too. + * Also, this should not retry ravb_stop_dma() again and again + * here because it's possible to wait forever. So, this just + * re-enables the TX and RX and skip the following + * re-initialization procedure. + */ + ravb_rcv_snd_enable(ndev); + goto out; + } ravb_ring_free(ndev, RAVB_BE); ravb_ring_free(ndev, RAVB_NC); /* Device init */ - ravb_dmac_init(ndev); + error = ravb_dmac_init(ndev); + if (error) { + /* If ravb_dmac_init() fails, descriptors are freed. So, this + * should return here to avoid re-enabling the TX and RX in + * ravb_emac_init(). + */ + netdev_err(ndev, "%s: ravb_dmac_init() failed, error %d\n", + __func__, error); + return; + } ravb_emac_init(ndev); +out: /* Initialise PTP Clock driver */ if (priv->chip_id == RCAR_GEN2) ravb_ptp_init(ndev, priv->pdev); From a14d6a9ddf33c13bb58cda5fb0ad8edae628b9f8 Mon Sep 17 00:00:00 2001 From: Raviteja Narayanam Date: Fri, 3 Jul 2020 19:25:49 +0530 Subject: [PATCH 86/99] Revert "i2c: cadence: Fix the hold bit setting" [ Upstream commit 0db9254d6b896b587759e2c844c277fb1a6da5b9 ] This reverts commit d358def706880defa4c9e87381c5bf086a97d5f9. There are two issues with "i2c: cadence: Fix the hold bit setting" commit. 1. In case of combined message request from user space, when the HOLD bit is cleared in cdns_i2c_mrecv function, a STOP condition is sent on the bus even before the last message is started. This is because when the HOLD bit is cleared, the FIFOS are empty and there is no pending transfer. The STOP condition should occur only after the last message is completed. 2. The code added by the commit is redundant. Driver is handling the setting/clearing of HOLD bit in right way before the commit. The setting of HOLD bit based on 'bus_hold_flag' is taken care in cdns_i2c_master_xfer function even before cdns_i2c_msend/cdns_i2c_recv functions. The clearing of HOLD bit is taken care at the end of cdns_i2c_msend and cdns_i2c_recv functions based on bus_hold_flag and byte count. Since clearing of HOLD bit is done after the slave address is written to the register (writing to address register triggers the message transfer), it is ensured that STOP condition occurs at the right time after completion of the pending transfer (last message). Signed-off-by: Raviteja Narayanam Acked-by: Michal Simek Signed-off-by: Wolfram Sang Signed-off-by: Sasha Levin --- drivers/i2c/busses/i2c-cadence.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c index 9d71ce15db05..a51d3b795770 100644 --- a/drivers/i2c/busses/i2c-cadence.c +++ b/drivers/i2c/busses/i2c-cadence.c @@ -377,10 +377,8 @@ static void cdns_i2c_mrecv(struct cdns_i2c *id) * Check for the message size against FIFO depth and set the * 'hold bus' bit if it is greater than FIFO depth. */ - if ((id->recv_count > CDNS_I2C_FIFO_DEPTH) || id->bus_hold_flag) + if (id->recv_count > CDNS_I2C_FIFO_DEPTH) ctrl_reg |= CDNS_I2C_CR_HOLD; - else - ctrl_reg = ctrl_reg & ~CDNS_I2C_CR_HOLD; cdns_i2c_writereg(ctrl_reg, CDNS_I2C_CR_OFFSET); @@ -437,11 +435,8 @@ static void cdns_i2c_msend(struct cdns_i2c *id) * Check for the message size against FIFO depth and set the * 'hold bus' bit if it is greater than FIFO depth. */ - if ((id->send_count > CDNS_I2C_FIFO_DEPTH) || id->bus_hold_flag) + if (id->send_count > CDNS_I2C_FIFO_DEPTH) ctrl_reg |= CDNS_I2C_CR_HOLD; - else - ctrl_reg = ctrl_reg & ~CDNS_I2C_CR_HOLD; - cdns_i2c_writereg(ctrl_reg, CDNS_I2C_CR_OFFSET); /* Clear the interrupts in interrupt status register. */ From 32344d2993b0228e238dff163d7447dcf250f147 Mon Sep 17 00:00:00 2001 From: Josh Poimboeuf Date: Fri, 17 Jul 2020 09:04:25 -0500 Subject: [PATCH 87/99] x86/unwind/orc: Fix ORC for newly forked tasks [ Upstream commit 372a8eaa05998cd45b3417d0e0ffd3a70978211a ] The ORC unwinder fails to unwind newly forked tasks which haven't yet run on the CPU. It correctly reads the 'ret_from_fork' instruction pointer from the stack, but it incorrectly interprets that value as a call stack address rather than a "signal" one, so the address gets incorrectly decremented in the call to orc_find(), resulting in bad ORC data. Fix it by forcing 'ret_from_fork' frames to be signal frames. Reported-by: Wang ShaoBo Signed-off-by: Josh Poimboeuf Signed-off-by: Thomas Gleixner Tested-by: Wang ShaoBo Link: https://lkml.kernel.org/r/f91a8778dde8aae7f71884b5df2b16d552040441.1594994374.git.jpoimboe@redhat.com Signed-off-by: Sasha Levin --- arch/x86/kernel/unwind_orc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c index aa0f39dc8129..187a86e0e753 100644 --- a/arch/x86/kernel/unwind_orc.c +++ b/arch/x86/kernel/unwind_orc.c @@ -431,8 +431,11 @@ bool unwind_next_frame(struct unwind_state *state) /* * Find the orc_entry associated with the text address. * - * Decrement call return addresses by one so they work for sibling - * calls and calls to noreturn functions. + * For a call frame (as opposed to a signal frame), state->ip points to + * the instruction after the call. That instruction's stack layout + * could be different from the call instruction's layout, for example + * if the call was to a noreturn function. So get the ORC data for the + * call instruction itself. */ orc = orc_find(state->signal ? state->ip : state->ip - 1); if (!orc) { @@ -653,6 +656,7 @@ void __unwind_start(struct unwind_state *state, struct task_struct *task, state->sp = task->thread.sp; state->bp = READ_ONCE_NOCHECK(frame->bp); state->ip = READ_ONCE_NOCHECK(frame->ret_addr); + state->signal = (void *)state->ip == ret_from_fork; } if (get_stack_info((unsigned long *)state->sp, state->task, From 5f4e6b874b57a510ad38bd06b7f7ba1d209f57ad Mon Sep 17 00:00:00 2001 From: Josh Poimboeuf Date: Fri, 17 Jul 2020 09:04:26 -0500 Subject: [PATCH 88/99] x86/stacktrace: Fix reliable check for empty user task stacks [ Upstream commit 039a7a30ec102ec866d382a66f87f6f7654f8140 ] If a user task's stack is empty, or if it only has user regs, ORC reports it as a reliable empty stack. But arch_stack_walk_reliable() incorrectly treats it as unreliable. That happens because the only success path for user tasks is inside the loop, which only iterates on non-empty stacks. Generally, a user task must end in a user regs frame, but an empty stack is an exception to that rule. Thanks to commit 71c95825289f ("x86/unwind/orc: Fix error handling in __unwind_start()"), unwind_start() now sets state->error appropriately. So now for both ORC and FP unwinders, unwind_done() and !unwind_error() always means the end of the stack was successfully reached. So the success path for kthreads is no longer needed -- it can also be used for empty user tasks. Reported-by: Wang ShaoBo Signed-off-by: Josh Poimboeuf Signed-off-by: Thomas Gleixner Tested-by: Wang ShaoBo Link: https://lkml.kernel.org/r/f136a4e5f019219cbc4f4da33b30c2f44fa65b84.1594994374.git.jpoimboe@redhat.com Signed-off-by: Sasha Levin --- arch/x86/kernel/stacktrace.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/arch/x86/kernel/stacktrace.c b/arch/x86/kernel/stacktrace.c index 2d6898c2cb64..6d83b4b857e6 100644 --- a/arch/x86/kernel/stacktrace.c +++ b/arch/x86/kernel/stacktrace.c @@ -58,7 +58,6 @@ int arch_stack_walk_reliable(stack_trace_consume_fn consume_entry, * or a page fault), which can make frame pointers * unreliable. */ - if (IS_ENABLED(CONFIG_FRAME_POINTER)) return -EINVAL; } @@ -81,10 +80,6 @@ int arch_stack_walk_reliable(stack_trace_consume_fn consume_entry, if (unwind_error(&state)) return -EINVAL; - /* Success path for non-user tasks, i.e. kthreads and idle tasks */ - if (!(task->flags & (PF_KTHREAD | PF_IDLE))) - return -EINVAL; - return 0; } From a7b488d65d39d94ae66b93cca9fc655aaa2ea1bb Mon Sep 17 00:00:00 2001 From: Navid Emamdoost Date: Wed, 22 Jul 2020 21:58:39 -0500 Subject: [PATCH 89/99] cxgb4: add missing release on skb in uld_send() [ Upstream commit e6827d1abdc9b061a57d7b7d3019c4e99fabea2f ] In the implementation of uld_send(), the skb is consumed on all execution paths except one. Release skb when returning NET_XMIT_DROP. Signed-off-by: Navid Emamdoost Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/chelsio/cxgb4/sge.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c index 506170fe3a8b..049f1bbe27ab 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/sge.c +++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c @@ -2441,6 +2441,7 @@ static inline int uld_send(struct adapter *adap, struct sk_buff *skb, txq_info = adap->sge.uld_txq_info[tx_uld_type]; if (unlikely(!txq_info)) { WARN_ON(true); + kfree_skb(skb); return NET_XMIT_DROP; } From e3043abb5baad736d9255d06f8475666c8f7d649 Mon Sep 17 00:00:00 2001 From: Andrea Righi Date: Fri, 24 Jul 2020 10:59:10 +0200 Subject: [PATCH 90/99] xen-netfront: fix potential deadlock in xennet_remove() [ Upstream commit c2c633106453611be07821f53dff9e93a9d1c3f0 ] There's a potential race in xennet_remove(); this is what the driver is doing upon unregistering a network device: 1. state = read bus state 2. if state is not "Closed": 3. request to set state to "Closing" 4. wait for state to be set to "Closing" 5. request to set state to "Closed" 6. wait for state to be set to "Closed" If the state changes to "Closed" immediately after step 1 we are stuck forever in step 4, because the state will never go back from "Closed" to "Closing". Make sure to check also for state == "Closed" in step 4 to prevent the deadlock. Also add a 5 sec timeout any time we wait for the bus state to change, to avoid getting stuck forever in wait_event(). Signed-off-by: Andrea Righi Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/xen-netfront.c | 68 ++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index 482c6c8b0fb7..88280057e032 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -63,6 +63,8 @@ module_param_named(max_queues, xennet_max_queues, uint, 0644); MODULE_PARM_DESC(max_queues, "Maximum number of queues per virtual interface"); +#define XENNET_TIMEOUT (5 * HZ) + static const struct ethtool_ops xennet_ethtool_ops; struct netfront_cb { @@ -1334,12 +1336,15 @@ static struct net_device *xennet_create_dev(struct xenbus_device *dev) netif_carrier_off(netdev); - xenbus_switch_state(dev, XenbusStateInitialising); - wait_event(module_wq, - xenbus_read_driver_state(dev->otherend) != - XenbusStateClosed && - xenbus_read_driver_state(dev->otherend) != - XenbusStateUnknown); + do { + xenbus_switch_state(dev, XenbusStateInitialising); + err = wait_event_timeout(module_wq, + xenbus_read_driver_state(dev->otherend) != + XenbusStateClosed && + xenbus_read_driver_state(dev->otherend) != + XenbusStateUnknown, XENNET_TIMEOUT); + } while (!err); + return netdev; exit: @@ -2139,28 +2144,43 @@ static const struct attribute_group xennet_dev_group = { }; #endif /* CONFIG_SYSFS */ +static void xennet_bus_close(struct xenbus_device *dev) +{ + int ret; + + if (xenbus_read_driver_state(dev->otherend) == XenbusStateClosed) + return; + do { + xenbus_switch_state(dev, XenbusStateClosing); + ret = wait_event_timeout(module_wq, + xenbus_read_driver_state(dev->otherend) == + XenbusStateClosing || + xenbus_read_driver_state(dev->otherend) == + XenbusStateClosed || + xenbus_read_driver_state(dev->otherend) == + XenbusStateUnknown, + XENNET_TIMEOUT); + } while (!ret); + + if (xenbus_read_driver_state(dev->otherend) == XenbusStateClosed) + return; + + do { + xenbus_switch_state(dev, XenbusStateClosed); + ret = wait_event_timeout(module_wq, + xenbus_read_driver_state(dev->otherend) == + XenbusStateClosed || + xenbus_read_driver_state(dev->otherend) == + XenbusStateUnknown, + XENNET_TIMEOUT); + } while (!ret); +} + static int xennet_remove(struct xenbus_device *dev) { struct netfront_info *info = dev_get_drvdata(&dev->dev); - dev_dbg(&dev->dev, "%s\n", dev->nodename); - - if (xenbus_read_driver_state(dev->otherend) != XenbusStateClosed) { - xenbus_switch_state(dev, XenbusStateClosing); - wait_event(module_wq, - xenbus_read_driver_state(dev->otherend) == - XenbusStateClosing || - xenbus_read_driver_state(dev->otherend) == - XenbusStateUnknown); - - xenbus_switch_state(dev, XenbusStateClosed); - wait_event(module_wq, - xenbus_read_driver_state(dev->otherend) == - XenbusStateClosed || - xenbus_read_driver_state(dev->otherend) == - XenbusStateUnknown); - } - + xennet_bus_close(dev); xennet_disconnect_backend(info); if (info->netdev->reg_state == NETREG_REGISTERED) From f88c909dc28cf7a3160cd62bcc23aace5d4fbe3d Mon Sep 17 00:00:00 2001 From: Atish Patra Date: Wed, 15 Jul 2020 16:30:07 -0700 Subject: [PATCH 91/99] RISC-V: Set maximum number of mapped pages correctly [ Upstream commit d0d8aae64566b753c4330fbd5944b88af035f299 ] Currently, maximum number of mapper pages are set to the pfn calculated from the memblock size of the memblock containing kernel. This will work until that memblock spans the entire memory. However, it will be set to a wrong value if there are multiple memblocks defined in kernel (e.g. with efi runtime services). Set the the maximum value to the pfn calculated from dram size. Signed-off-by: Atish Patra Signed-off-by: Palmer Dabbelt Signed-off-by: Sasha Levin --- arch/riscv/mm/init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 319812923012..b1eb6a041118 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -115,9 +115,9 @@ void __init setup_bootmem(void) /* Reserve from the start of the kernel to the end of the kernel */ memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start); - set_max_mapnr(PFN_DOWN(mem_size)); max_pfn = PFN_DOWN(memblock_end_of_DRAM()); max_low_pfn = max_pfn; + set_max_mapnr(max_low_pfn); #ifdef CONFIG_BLK_DEV_INITRD setup_initrd(); From 1aff51292ee881f79b226915ef15bdcb87a95fe2 Mon Sep 17 00:00:00 2001 From: Xie He Date: Fri, 24 Jul 2020 09:33:47 -0700 Subject: [PATCH 92/99] drivers/net/wan: lapb: Corrected the usage of skb_cow [ Upstream commit 8754e1379e7089516a449821f88e1fe1ebbae5e1 ] This patch fixed 2 issues with the usage of skb_cow in LAPB drivers "lapbether" and "hdlc_x25": 1) After skb_cow fails, kfree_skb should be called to drop a reference to the skb. But in both drivers, kfree_skb is not called. 2) skb_cow should be called before skb_push so that is can ensure the safety of skb_push. But in "lapbether", it is incorrectly called after skb_push. More details about these 2 issues: 1) The behavior of calling kfree_skb on failure is also the behavior of netif_rx, which is called by this function with "return netif_rx(skb);". So this function should follow this behavior, too. 2) In "lapbether", skb_cow is called after skb_push. This results in 2 logical issues: a) skb_push is not protected by skb_cow; b) An extra headroom of 1 byte is ensured after skb_push. This extra headroom has no use in this function. It also has no use in the upper-layer function that this function passes the skb to (x25_lapb_receive_frame in net/x25/x25_dev.c). So logically skb_cow should instead be called before skb_push. Cc: Eric Dumazet Cc: Martin Schiller Signed-off-by: Xie He Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/wan/hdlc_x25.c | 4 +++- drivers/net/wan/lapbether.c | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/net/wan/hdlc_x25.c b/drivers/net/wan/hdlc_x25.c index bf78073ee7fd..e2a83f4cd3bb 100644 --- a/drivers/net/wan/hdlc_x25.c +++ b/drivers/net/wan/hdlc_x25.c @@ -62,8 +62,10 @@ static int x25_data_indication(struct net_device *dev, struct sk_buff *skb) { unsigned char *ptr; - if (skb_cow(skb, 1)) + if (skb_cow(skb, 1)) { + kfree_skb(skb); return NET_RX_DROP; + } skb_push(skb, 1); skb_reset_network_header(skb); diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c index 5a6f27298b90..134e4dd916c1 100644 --- a/drivers/net/wan/lapbether.c +++ b/drivers/net/wan/lapbether.c @@ -128,10 +128,12 @@ static int lapbeth_data_indication(struct net_device *dev, struct sk_buff *skb) { unsigned char *ptr; - skb_push(skb, 1); - - if (skb_cow(skb, 1)) + if (skb_cow(skb, 1)) { + kfree_skb(skb); return NET_RX_DROP; + } + + skb_push(skb, 1); ptr = skb->data; *ptr = X25_IFACE_DATA; From fd412846a6ecc0ed1876c04a6ed93c5205c9bdf9 Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Thu, 23 Jul 2020 11:17:14 +0100 Subject: [PATCH 93/99] KVM: arm64: Don't inherit exec permission across page-table levels commit b757b47a2fcba584d4a32fd7ee68faca510ab96f upstream. If a stage-2 page-table contains an executable, read-only mapping at the pte level (e.g. due to dirty logging being enabled), a subsequent write fault to the same page which tries to install a larger block mapping (e.g. due to dirty logging having been disabled) will erroneously inherit the exec permission and consequently skip I-cache invalidation for the rest of the block. Ensure that exec permission is only inherited by write faults when the new mapping is of the same size as the existing one. A subsequent instruction abort will result in I-cache invalidation for the entire block mapping. Signed-off-by: Will Deacon Signed-off-by: Marc Zyngier Tested-by: Quentin Perret Reviewed-by: Quentin Perret Cc: Marc Zyngier Cc: Link: https://lore.kernel.org/r/20200723101714.15873-1-will@kernel.org Signed-off-by: Greg Kroah-Hartman --- virt/kvm/arm/mmu.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/virt/kvm/arm/mmu.c b/virt/kvm/arm/mmu.c index ce7fa37987e1..767ac4eab4fe 100644 --- a/virt/kvm/arm/mmu.c +++ b/virt/kvm/arm/mmu.c @@ -1199,7 +1199,7 @@ static bool stage2_get_leaf_entry(struct kvm *kvm, phys_addr_t addr, return true; } -static bool stage2_is_exec(struct kvm *kvm, phys_addr_t addr) +static bool stage2_is_exec(struct kvm *kvm, phys_addr_t addr, unsigned long sz) { pud_t *pudp; pmd_t *pmdp; @@ -1211,11 +1211,11 @@ static bool stage2_is_exec(struct kvm *kvm, phys_addr_t addr) return false; if (pudp) - return kvm_s2pud_exec(pudp); + return sz <= PUD_SIZE && kvm_s2pud_exec(pudp); else if (pmdp) - return kvm_s2pmd_exec(pmdp); + return sz <= PMD_SIZE && kvm_s2pmd_exec(pmdp); else - return kvm_s2pte_exec(ptep); + return sz == PAGE_SIZE && kvm_s2pte_exec(ptep); } static int stage2_set_pte(struct kvm *kvm, struct kvm_mmu_memory_cache *cache, @@ -1805,7 +1805,8 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, * execute permissions, and we preserve whatever we have. */ needs_exec = exec_fault || - (fault_status == FSC_PERM && stage2_is_exec(kvm, fault_ipa)); + (fault_status == FSC_PERM && + stage2_is_exec(kvm, fault_ipa, vma_pagesize)); if (vma_pagesize == PUD_SIZE) { pud_t new_pud = kvm_pfn_pud(pfn, mem_type); From 01ac46c6baf0e3da71bb36255bc924acbc762662 Mon Sep 17 00:00:00 2001 From: Wanpeng Li Date: Fri, 31 Jul 2020 11:12:19 +0800 Subject: [PATCH 94/99] KVM: LAPIC: Prevent setting the tscdeadline timer if the lapic is hw disabled commit d2286ba7d574ba3103a421a2f9ec17cb5b0d87a1 upstream. Prevent setting the tscdeadline timer if the lapic is hw disabled. Fixes: bce87cce88 (KVM: x86: consolidate different ways to test for in-kernel LAPIC) Cc: Signed-off-by: Wanpeng Li Message-Id: <1596165141-28874-1-git-send-email-wanpengli@tencent.com> Signed-off-by: Paolo Bonzini Signed-off-by: Greg Kroah-Hartman --- arch/x86/kvm/lapic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 5d2587005d0e..6920f1d3b66f 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -2085,7 +2085,7 @@ void kvm_set_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu, u64 data) { struct kvm_lapic *apic = vcpu->arch.apic; - if (!lapic_in_kernel(vcpu) || apic_lvtt_oneshot(apic) || + if (!kvm_apic_present(vcpu) || apic_lvtt_oneshot(apic) || apic_lvtt_period(apic)) return; From 39568546706f3cb647c99b1f3e271c958aea3414 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jul 2020 10:53:28 +0200 Subject: [PATCH 95/99] x86/i8259: Use printk_deferred() to prevent deadlock commit bdd65589593edd79b6a12ce86b3b7a7c6dae5208 upstream. 0day reported a possible circular locking dependency: Chain exists of: &irq_desc_lock_class --> console_owner --> &port_lock_key Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&port_lock_key); lock(console_owner); lock(&port_lock_key); lock(&irq_desc_lock_class); The reason for this is a printk() in the i8259 interrupt chip driver which is invoked with the irq descriptor lock held, which reverses the lock operations vs. printk() from arbitrary contexts. Switch the printk() to printk_deferred() to avoid that. Reported-by: kernel test robot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/87365abt2v.fsf@nanos.tec.linutronix.de Signed-off-by: Greg Kroah-Hartman --- arch/x86/kernel/i8259.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c index 519649ddf100..fe522691ac71 100644 --- a/arch/x86/kernel/i8259.c +++ b/arch/x86/kernel/i8259.c @@ -207,7 +207,7 @@ spurious_8259A_irq: * lets ACK and report it. [once per IRQ] */ if (!(spurious_irq_mask & irqmask)) { - printk(KERN_DEBUG + printk_deferred(KERN_DEBUG "spurious 8259A interrupt: IRQ%d.\n", irq); spurious_irq_mask |= irqmask; } From 73d2d6b421dfdc66b4615452a94efcece27a3c21 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 2 Mar 2020 11:13:19 -0300 Subject: [PATCH 96/99] perf tests bp_account: Make global variable static commit cff20b3151ccab690715cb6cf0f5da5cccb32adf upstream. To fix the build with newer gccs, that without this patch exit with: LD /tmp/build/perf/tests/perf-in.o ld: /tmp/build/perf/tests/bp_account.o:/git/perf/tools/perf/tests/bp_account.c:22: multiple definition of `the_var'; /tmp/build/perf/tests/bp_signal.o:/git/perf/tools/perf/tests/bp_signal.c:38: first defined here make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/tests/perf-in.o] Error 1 First noticed in fedora:rawhide/32 with: [perfbuilder@a5ff49d6e6e4 ~]$ gcc --version gcc (GCC) 10.0.1 20200216 (Red Hat 10.0.1-0.8) Reported-by: Jiri Olsa Cc: Adrian Hunter Cc: Namhyung Kim Signed-off-by: Arnaldo Carvalho de Melo Cc: Ben Hutchings Signed-off-by: Greg Kroah-Hartman --- tools/perf/tests/bp_account.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/tests/bp_account.c b/tools/perf/tests/bp_account.c index 016bba2c142d..55a9de311d7b 100644 --- a/tools/perf/tests/bp_account.c +++ b/tools/perf/tests/bp_account.c @@ -23,7 +23,7 @@ #include "../perf-sys.h" #include "cloexec.h" -volatile long the_var; +static volatile long the_var; static noinline int test_function(void) { From 702d1b287fd24c5df4e25edf2896e72ec840f57a Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 2 Mar 2020 11:23:03 -0300 Subject: [PATCH 97/99] perf env: Do not return pointers to local variables commit ebcb9464a2ae3a547e97de476575c82ece0e93e2 upstream. It is possible to return a pointer to a local variable when looking up the architecture name for the running system and no normalization is done on that value, i.e. we may end up returning the uts.machine local variable. While this doesn't happen on most arches, as normalization takes place, lets fix this by making that a static variable and optimize it a bit by not always running uname(), only the first time. Noticed in fedora rawhide running with: [perfbuilder@a5ff49d6e6e4 ~]$ gcc --version gcc (GCC) 10.0.1 20200216 (Red Hat 10.0.1-0.8) Reported-by: Jiri Olsa Cc: Adrian Hunter Cc: Namhyung Kim Signed-off-by: Arnaldo Carvalho de Melo Cc: Ben Hutchings Signed-off-by: Greg Kroah-Hartman --- tools/perf/util/env.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c index 3baca06786fb..018ecf7b6da9 100644 --- a/tools/perf/util/env.c +++ b/tools/perf/util/env.c @@ -326,11 +326,11 @@ static const char *normalize_arch(char *arch) const char *perf_env__arch(struct perf_env *env) { - struct utsname uts; char *arch_name; if (!env || !env->arch) { /* Assume local operation */ - if (uname(&uts) < 0) + static struct utsname uts = { .machine[0] = '\0', }; + if (uts.machine[0] == '\0' && uname(&uts) < 0) return NULL; arch_name = uts.machine; } else From df35e878d0a51755fb500e2e8e29c7ebb0239756 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 2 Mar 2020 12:09:38 -0300 Subject: [PATCH 98/99] perf bench: Share some global variables to fix build with gcc 10 commit e4d9b04b973b2dbce7b42af95ea70d07da1c936d upstream. Noticed with gcc 10 (fedora rawhide) that those variables were not being declared as static, so end up with: ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/bench/perf-in.o] Error 1 Prefix those with bench__ and add them to bench/bench.h, so that we can share those on the tools needing to access those variables from signal handlers. Acked-by: Thomas Gleixner Cc: Adrian Hunter Cc: Davidlohr Bueso Cc: Jiri Olsa Cc: Namhyung Kim Link: http://lore.kernel.org/lkml/20200303155811.GD13702@kernel.org Signed-off-by: Arnaldo Carvalho de Melo Cc: Ben Hutchings Signed-off-by: Greg Kroah-Hartman --- tools/perf/bench/bench.h | 4 ++++ tools/perf/bench/epoll-ctl.c | 7 +++---- tools/perf/bench/epoll-wait.c | 11 +++++------ tools/perf/bench/futex-hash.c | 12 ++++++------ tools/perf/bench/futex-lock-pi.c | 11 +++++------ 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/tools/perf/bench/bench.h b/tools/perf/bench/bench.h index fddb3ced9db6..4aa6de1aa67d 100644 --- a/tools/perf/bench/bench.h +++ b/tools/perf/bench/bench.h @@ -2,6 +2,10 @@ #ifndef BENCH_H #define BENCH_H +#include + +extern struct timeval bench__start, bench__end, bench__runtime; + /* * The madvise transparent hugepage constants were added in glibc * 2.13. For compatibility with older versions of glibc, define these diff --git a/tools/perf/bench/epoll-ctl.c b/tools/perf/bench/epoll-ctl.c index bb617e568841..a7526c05df38 100644 --- a/tools/perf/bench/epoll-ctl.c +++ b/tools/perf/bench/epoll-ctl.c @@ -35,7 +35,6 @@ static unsigned int nthreads = 0; static unsigned int nsecs = 8; -struct timeval start, end, runtime; static bool done, __verbose, randomize; /* @@ -94,8 +93,8 @@ static void toggle_done(int sig __maybe_unused, { /* inform all threads that we're done for the day */ done = true; - gettimeofday(&end, NULL); - timersub(&end, &start, &runtime); + gettimeofday(&bench__end, NULL); + timersub(&bench__end, &bench__start, &bench__runtime); } static void nest_epollfd(void) @@ -361,7 +360,7 @@ int bench_epoll_ctl(int argc, const char **argv) threads_starting = nthreads; - gettimeofday(&start, NULL); + gettimeofday(&bench__start, NULL); do_threads(worker, cpu); diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c index 7af694437f4e..d1c5cb526b9f 100644 --- a/tools/perf/bench/epoll-wait.c +++ b/tools/perf/bench/epoll-wait.c @@ -90,7 +90,6 @@ static unsigned int nthreads = 0; static unsigned int nsecs = 8; -struct timeval start, end, runtime; static bool wdone, done, __verbose, randomize, nonblocking; /* @@ -276,8 +275,8 @@ static void toggle_done(int sig __maybe_unused, { /* inform all threads that we're done for the day */ done = true; - gettimeofday(&end, NULL); - timersub(&end, &start, &runtime); + gettimeofday(&bench__end, NULL); + timersub(&bench__end, &bench__start, &bench__runtime); } static void print_summary(void) @@ -287,7 +286,7 @@ static void print_summary(void) printf("\nAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n", avg, rel_stddev_stats(stddev, avg), - (int) runtime.tv_sec); + (int)bench__runtime.tv_sec); } static int do_threads(struct worker *worker, struct perf_cpu_map *cpu) @@ -479,7 +478,7 @@ int bench_epoll_wait(int argc, const char **argv) threads_starting = nthreads; - gettimeofday(&start, NULL); + gettimeofday(&bench__start, NULL); do_threads(worker, cpu); @@ -519,7 +518,7 @@ int bench_epoll_wait(int argc, const char **argv) qsort(worker, nthreads, sizeof(struct worker), cmpworker); for (i = 0; i < nthreads; i++) { - unsigned long t = worker[i].ops/runtime.tv_sec; + unsigned long t = worker[i].ops / bench__runtime.tv_sec; update_stats(&throughput_stats, t); diff --git a/tools/perf/bench/futex-hash.c b/tools/perf/bench/futex-hash.c index 8ba0c3330a9a..21776862e940 100644 --- a/tools/perf/bench/futex-hash.c +++ b/tools/perf/bench/futex-hash.c @@ -37,7 +37,7 @@ static unsigned int nfutexes = 1024; static bool fshared = false, done = false, silent = false; static int futex_flag = 0; -struct timeval start, end, runtime; +struct timeval bench__start, bench__end, bench__runtime; static pthread_mutex_t thread_lock; static unsigned int threads_starting; static struct stats throughput_stats; @@ -103,8 +103,8 @@ static void toggle_done(int sig __maybe_unused, { /* inform all threads that we're done for the day */ done = true; - gettimeofday(&end, NULL); - timersub(&end, &start, &runtime); + gettimeofday(&bench__end, NULL); + timersub(&bench__end, &bench__start, &bench__runtime); } static void print_summary(void) @@ -114,7 +114,7 @@ static void print_summary(void) printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n", !silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg), - (int) runtime.tv_sec); + (int)bench__runtime.tv_sec); } int bench_futex_hash(int argc, const char **argv) @@ -161,7 +161,7 @@ int bench_futex_hash(int argc, const char **argv) threads_starting = nthreads; pthread_attr_init(&thread_attr); - gettimeofday(&start, NULL); + gettimeofday(&bench__start, NULL); for (i = 0; i < nthreads; i++) { worker[i].tid = i; worker[i].futex = calloc(nfutexes, sizeof(*worker[i].futex)); @@ -204,7 +204,7 @@ int bench_futex_hash(int argc, const char **argv) pthread_mutex_destroy(&thread_lock); for (i = 0; i < nthreads; i++) { - unsigned long t = worker[i].ops/runtime.tv_sec; + unsigned long t = worker[i].ops / bench__runtime.tv_sec; update_stats(&throughput_stats, t); if (!silent) { if (nfutexes == 1) diff --git a/tools/perf/bench/futex-lock-pi.c b/tools/perf/bench/futex-lock-pi.c index d0cae8125423..30d97121dc4f 100644 --- a/tools/perf/bench/futex-lock-pi.c +++ b/tools/perf/bench/futex-lock-pi.c @@ -37,7 +37,6 @@ static bool silent = false, multi = false; static bool done = false, fshared = false; static unsigned int nthreads = 0; static int futex_flag = 0; -struct timeval start, end, runtime; static pthread_mutex_t thread_lock; static unsigned int threads_starting; static struct stats throughput_stats; @@ -64,7 +63,7 @@ static void print_summary(void) printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n", !silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg), - (int) runtime.tv_sec); + (int)bench__runtime.tv_sec); } static void toggle_done(int sig __maybe_unused, @@ -73,8 +72,8 @@ static void toggle_done(int sig __maybe_unused, { /* inform all threads that we're done for the day */ done = true; - gettimeofday(&end, NULL); - timersub(&end, &start, &runtime); + gettimeofday(&bench__end, NULL); + timersub(&bench__end, &bench__start, &bench__runtime); } static void *workerfn(void *arg) @@ -185,7 +184,7 @@ int bench_futex_lock_pi(int argc, const char **argv) threads_starting = nthreads; pthread_attr_init(&thread_attr); - gettimeofday(&start, NULL); + gettimeofday(&bench__start, NULL); create_threads(worker, thread_attr, cpu); pthread_attr_destroy(&thread_attr); @@ -211,7 +210,7 @@ int bench_futex_lock_pi(int argc, const char **argv) pthread_mutex_destroy(&thread_lock); for (i = 0; i < nthreads; i++) { - unsigned long t = worker[i].ops/runtime.tv_sec; + unsigned long t = worker[i].ops / bench__runtime.tv_sec; update_stats(&throughput_stats, t); if (!silent) From 1b940bbc5c55551a3420f403a2b10cb884cffb01 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 5 Aug 2020 09:59:52 +0200 Subject: [PATCH 99/99] Linux 5.4.56 Tested-by: Shuah Khan Signed-off-by: Greg Kroah-Hartman --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 072fe0eaa740..c33fb4eebd4d 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 4 -SUBLEVEL = 55 +SUBLEVEL = 56 EXTRAVERSION = NAME = Kleptomaniac Octopus