[arch-commits] Commit in linux-hardened/trunk (5 files)

Levente Polyak anthraxx at archlinux.org
Thu Apr 26 20:38:09 UTC 2018


    Date: Thursday, April 26, 2018 @ 20:38:08
  Author: anthraxx
Revision: 323061

upgpkg: linux-hardened 4.16.5.a-1

Added:
  linux-hardened/trunk/fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
  linux-hardened/trunk/net-aquantia-Regression-on-reset-with-1.x-firmware.patch
  linux-hardened/trunk/partially-revert-swiotlb-remove-various-exports.patch
Modified:
  linux-hardened/trunk/PKGBUILD
  linux-hardened/trunk/config.x86_64

----------------------------------------------------------+
 PKGBUILD                                                 |   28 
 config.x86_64                                            |  342 +++++---
 fix-vboxguest-on-guests-with-more-than-4G-RAM.patch      |  549 +++++++++++++
 net-aquantia-Regression-on-reset-with-1.x-firmware.patch |   68 +
 partially-revert-swiotlb-remove-various-exports.patch    |   26 
 5 files changed, 871 insertions(+), 142 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-04-26 19:41:19 UTC (rev 323060)
+++ PKGBUILD	2018-04-26 20:38:08 UTC (rev 323061)
@@ -4,11 +4,11 @@
 # Contributor: Thomas Baechler <thomas at archlinux.org>
 
 pkgbase=linux-hardened
-_srcname=linux-4.15
-_pkgver=4.15.18
+_srcname=linux-4.16
+_pkgver=4.16.5
 pkgver=${_pkgver}.a
 pkgrel=1
-url='https://github.com/copperhead/linux-hardened'
+url='https://github.com/anthraxx/linux-hardened'
 arch=('x86_64')
 license=('GPL2')
 makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf')
@@ -17,7 +17,7 @@
         https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.sign
         https://www.kernel.org/pub/linux/kernel/v4.x/patch-${_pkgver}.xz
         https://www.kernel.org/pub/linux/kernel/v4.x/patch-${_pkgver}.sign
-        https://github.com/thestinger/${pkgbase}/releases/download/${pkgver}/${pkgbase}-${pkgver}.patch{,.sig}
+        https://github.com/anthraxx/${pkgbase}/releases/download/${pkgver}/${pkgbase}-${pkgver}.patch{,.sig}
         config.x86_64  # the main kernel config files
         60-linux.hook  # pacman hook for depmod
         90-linux.hook  # pacman hook for initramfs regeneration
@@ -25,23 +25,30 @@
 
         # https://bugs.archlinux.org/task/56711
         drm-i915-edp-Only-use-the-alternate-fixed-mode-if-its-asked-for.patch
+        net-aquantia-Regression-on-reset-with-1.x-firmware.patch
+        fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
+        partially-revert-swiotlb-remove-various-exports.patch
 )
 replaces=('linux-grsec')
-sha256sums=('5a26478906d5005f4f809402e981518d2b8844949199f60c4b6e1f986ca2a769'
+sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9'
             'SKIP'
-            'beac2c2aef09ea2aa4b97512071c1364dee14c0fbf291ea85cd4ab8bfb6bc5da'
+            '8c3bb050d11da6e91d3e169f76ee3ed6937e1ca64264e605ddba8108696ba011'
             'SKIP'
-            '72fee4dbfc40dd33f7c5e4241679e2d663043b0a2f6ecf7c9eb30dafb51555f4'
+            '65482af87d9bac91d67591bde20ab56162060ea05fad910dbfcb5e5e964c8804'
             'SKIP'
-            'b3208d1b3c215748369909a8448c4db27738edc049c2107ec82a26375ee60eda'
+            '6f296e865186eb6993e1494b595b56c8e56ec75327c982a846ca3d24686dc163'
             'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
             '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
             'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
-            'c08d12c699398ef88b764be1837b9ee11f2efd3188bd1bf4e8f85dfbeee58148')
+            'c08d12c699398ef88b764be1837b9ee11f2efd3188bd1bf4e8f85dfbeee58148'
+            'd7233371fe617895b600ad1939d8b818395276d07b8a7918b955c9590a5d1112'
+            'b1c1cf770b2baab046d52687ec3dd83c543e3f45b4abeae2686c814673e0a1c5'
+            '87a0849079db7bf1deefb687bcf43170f1b209d27af9950f98b049cdf233b447')
 validpgpkeys=(
               'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
               '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
               '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay
+              'E240B57E2C4630BA768E2F26FC1B547C8D8172C8' # Levente Polyak
              )
 _kernelname=${pkgbase#linux}
 : ${_kernelname:=-ARCH}
@@ -184,9 +191,6 @@
   install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
   install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h
 
-  # http://bugs.archlinux.org/task/9912
-  install -Dt "${_builddir}/drivers/media/dvb-core" -m644 drivers/media/dvb-core/*.h
-
   # http://bugs.archlinux.org/task/13146
   install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
 

Modified: config.x86_64
===================================================================
--- config.x86_64	2018-04-26 19:41:19 UTC (rev 323060)
+++ config.x86_64	2018-04-26 20:38:08 UTC (rev 323061)
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.15.16 Kernel Configuration
+# Linux/x86 4.16.5 Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -42,7 +42,6 @@
 CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_FIX_EARLYCON_MEM=y
 CONFIG_PGTABLE_LEVELS=4
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_EXTABLE_SORT=y
 CONFIG_THREAD_INFO_IN_TASK=y
@@ -97,7 +96,6 @@
 CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
 CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
 CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
 CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_SPARSE_IRQ=y
 # CONFIG_GENERIC_IRQ_DEBUGFS is not set
@@ -248,6 +246,7 @@
 CONFIG_BPF_SYSCALL=y
 CONFIG_BPF_JIT_ALWAYS_ON=y
 # CONFIG_USERFAULTFD is not set
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
 # CONFIG_EMBEDDED is not set
 CONFIG_HAVE_PERF_EVENTS=y
 # CONFIG_PC104 is not set
@@ -278,7 +277,7 @@
 CONFIG_CRASH_CORE=y
 CONFIG_KEXEC_CORE=y
 CONFIG_OPROFILE=m
-CONFIG_OPROFILE_EVENT_MULTIPLEX=y
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
 CONFIG_HAVE_OPROFILE=y
 CONFIG_OPROFILE_NMI_TIMER=y
 CONFIG_KPROBES=y
@@ -297,6 +296,7 @@
 CONFIG_HAVE_KRETPROBES=y
 CONFIG_HAVE_OPTPROBES=y
 CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
 CONFIG_HAVE_NMI=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
@@ -303,6 +303,7 @@
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
 CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
 CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_CLK=y
@@ -327,10 +328,10 @@
 CONFIG_HAVE_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGINS is not set
 CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
 # CONFIG_CC_STACKPROTECTOR_NONE is not set
 # CONFIG_CC_STACKPROTECTOR_REGULAR is not set
-CONFIG_CC_STACKPROTECTOR_STRONG=y
+# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_CC_STACKPROTECTOR_AUTO=y
 CONFIG_THIN_ARCHIVES=y
 CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
@@ -365,6 +366,7 @@
 CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
 CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_HAS_PHYS_TO_DMA=y
 CONFIG_ARCH_HAS_REFCOUNT=y
 CONFIG_REFCOUNT_FULL=y
 
@@ -458,6 +460,7 @@
 CONFIG_QUEUED_SPINLOCKS=y
 CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
 CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
 CONFIG_FREEZER=y
 
 #
@@ -498,6 +501,7 @@
 # CONFIG_KVM_DEBUG_FS is not set
 CONFIG_PARAVIRT_TIME_ACCOUNTING=y
 CONFIG_PARAVIRT_CLOCK=y
+CONFIG_JAILHOUSE_GUEST=y
 CONFIG_NO_BOOTMEM=y
 # CONFIG_MK8 is not set
 # CONFIG_MPSC is not set
@@ -524,6 +528,9 @@
 CONFIG_SWIOTLB=y
 CONFIG_IOMMU_HELPER=y
 # CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS_RANGE_BEGIN=2
+CONFIG_NR_CPUS_RANGE_END=512
+CONFIG_NR_CPUS_DEFAULT=64
 CONFIG_NR_CPUS=320
 CONFIG_SCHED_SMT=y
 CONFIG_SCHED_MC=y
@@ -631,7 +638,6 @@
 # CONFIG_PGTABLE_MAPPING is not set
 # CONFIG_ZSMALLOC_STAT is not set
 CONFIG_GENERIC_EARLY_IOREMAP=y
-CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
 # CONFIG_IDLE_PAGE_TRACKING is not set
 CONFIG_ARCH_HAS_ZONE_DEVICE=y
@@ -669,9 +675,9 @@
 CONFIG_SECCOMP=y
 # CONFIG_HZ_100 is not set
 # CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
 CONFIG_SCHED_HRTICK=y
 # CONFIG_KEXEC is not set
 CONFIG_KEXEC_FILE=y
@@ -688,7 +694,6 @@
 # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
 # CONFIG_DEBUG_HOTPLUG_CPU0 is not set
 # CONFIG_COMPAT_VDSO is not set
-# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
 # CONFIG_LEGACY_VSYSCALL_EMULATE is not set
 CONFIG_LEGACY_VSYSCALL_NONE=y
 CONFIG_CMDLINE_BOOL=y
@@ -734,6 +739,7 @@
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
 # CONFIG_ACPI_DEBUGGER is not set
+CONFIG_ACPI_SPCR_TABLE=y
 CONFIG_ACPI_LPIT=y
 CONFIG_ACPI_SLEEP=y
 # CONFIG_ACPI_PROCFS_POWER is not set
@@ -760,7 +766,6 @@
 CONFIG_ACPI_TABLE_UPGRADE=y
 # CONFIG_ACPI_DEBUG is not set
 CONFIG_ACPI_PCI_SLOT=y
-CONFIG_X86_PM_TIMER=y
 CONFIG_ACPI_CONTAINER=y
 CONFIG_ACPI_HOTPLUG_MEMORY=y
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
@@ -789,6 +794,7 @@
 CONFIG_CHT_DC_TI_PMIC_OPREGION=y
 CONFIG_ACPI_CONFIGFS=m
 CONFIG_TPS68470_PMIC_OPREGION=y
+CONFIG_X86_PM_TIMER=y
 CONFIG_SFI=y
 
 #
@@ -886,6 +892,13 @@
 CONFIG_HOTPLUG_PCI_SHPC=m
 
 #
+# Cadence PCIe controllers support
+#
+CONFIG_PCIE_CADENCE=y
+CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_EP=y
+
+#
 # DesignWare PCI Core Support
 #
 # CONFIG_PCIE_DW_PLAT is not set
@@ -1092,6 +1105,8 @@
 #
 CONFIG_NETFILTER_INGRESS=y
 CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
 CONFIG_NETFILTER_NETLINK_ACCT=m
 CONFIG_NETFILTER_NETLINK_QUEUE=m
 CONFIG_NETFILTER_NETLINK_LOG=m
@@ -1098,6 +1113,7 @@
 CONFIG_NF_CONNTRACK=m
 CONFIG_NF_LOG_COMMON=m
 CONFIG_NF_LOG_NETDEV=m
+CONFIG_NETFILTER_CONNCOUNT=m
 CONFIG_NF_CONNTRACK_MARK=y
 CONFIG_NF_CONNTRACK_SECMARK=y
 CONFIG_NF_CONNTRACK_ZONES=y
@@ -1145,6 +1161,7 @@
 CONFIG_NFT_RT=m
 CONFIG_NFT_NUMGEN=m
 CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
 CONFIG_NFT_SET_RBTREE=m
 CONFIG_NFT_SET_HASH=m
 CONFIG_NFT_SET_BITMAP=m
@@ -1167,6 +1184,8 @@
 CONFIG_NFT_DUP_NETDEV=m
 CONFIG_NFT_FWD_NETDEV=m
 CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
 CONFIG_NETFILTER_XTABLES=m
 
 #
@@ -1328,6 +1347,7 @@
 CONFIG_NFT_DUP_IPV4=m
 CONFIG_NFT_FIB_IPV4=m
 CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
 CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
@@ -1374,6 +1394,7 @@
 CONFIG_NFT_REJECT_IPV6=m
 CONFIG_NFT_DUP_IPV6=m
 CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
@@ -1392,6 +1413,7 @@
 CONFIG_IP6_NF_MATCH_MH=m
 CONFIG_IP6_NF_MATCH_RPFILTER=m
 CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
 CONFIG_IP6_NF_TARGET_HL=m
 CONFIG_IP6_NF_FILTER=m
 CONFIG_IP6_NF_TARGET_REJECT=m
@@ -1442,9 +1464,7 @@
 # DCCP Kernel Hacking
 #
 # CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_NET_DCCPPROBE=m
 CONFIG_IP_SCTP=m
-CONFIG_NET_SCTPPROBE=m
 # CONFIG_SCTP_DBG_OBJCNT is not set
 # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
@@ -1478,6 +1498,7 @@
 CONFIG_BRIDGE_VLAN_FILTERING=y
 CONFIG_HAVE_NET_DSA=y
 CONFIG_NET_DSA=m
+# CONFIG_NET_DSA_LEGACY is not set
 CONFIG_NET_DSA_TAG_BRCM=y
 CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
 CONFIG_NET_DSA_TAG_DSA=y
@@ -1485,7 +1506,6 @@
 CONFIG_NET_DSA_TAG_KSZ=y
 CONFIG_NET_DSA_TAG_LAN9303=y
 CONFIG_NET_DSA_TAG_MTK=y
-CONFIG_NET_DSA_TAG_TRAILER=y
 CONFIG_NET_DSA_TAG_QCA=y
 CONFIG_VLAN_8021Q=m
 # CONFIG_VLAN_8021Q_GVRP is not set
@@ -1493,7 +1513,6 @@
 # CONFIG_DECNET is not set
 CONFIG_LLC=m
 CONFIG_LLC2=m
-# CONFIG_IPX is not set
 # CONFIG_ATALK is not set
 # CONFIG_X25 is not set
 # CONFIG_LAPB is not set
@@ -1652,7 +1671,6 @@
 # Network testing
 #
 CONFIG_NET_PKTGEN=m
-CONFIG_NET_TCPPROBE=m
 CONFIG_NET_DROP_MONITOR=m
 CONFIG_HAMRADIO=y
 
@@ -1753,6 +1771,7 @@
 CONFIG_BT_RTL=m
 CONFIG_BT_QCA=m
 CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
 CONFIG_BT_HCIBTUSB_BCM=y
 CONFIG_BT_HCIBTUSB_RTL=y
 CONFIG_BT_HCIBTSDIO=m
@@ -1906,7 +1925,6 @@
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
 CONFIG_EXTRA_FIRMWARE=""
 CONFIG_FW_LOADER_USER_HELPER=y
 # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
@@ -1928,7 +1946,7 @@
 CONFIG_REGMAP_W1=m
 CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
-CONFIG_REGMAP_HWSPINLOCK=y
+CONFIG_REGMAP_SOUNDWIRE=m
 CONFIG_DMA_SHARED_BUFFER=y
 # CONFIG_DMA_FENCE_TRACE is not set
 
@@ -2092,12 +2110,9 @@
 CONFIG_OF_KOBJ=y
 CONFIG_OF_DYNAMIC=y
 CONFIG_OF_ADDRESS=y
-CONFIG_OF_ADDRESS_PCI=y
 CONFIG_OF_IRQ=y
 CONFIG_OF_NET=y
 CONFIG_OF_MDIO=m
-CONFIG_OF_PCI=y
-CONFIG_OF_PCI_IRQ=y
 CONFIG_OF_RESOLVE=y
 CONFIG_OF_OVERLAY=y
 CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
@@ -2195,6 +2210,7 @@
 CONFIG_LATTICE_ECP3_CONFIG=m
 # CONFIG_SRAM is not set
 CONFIG_PCI_ENDPOINT_TEST=m
+CONFIG_MISC_RTSX=m
 CONFIG_C2PORT=m
 CONFIG_C2PORT_DURAMAR_2150=m
 
@@ -2273,6 +2289,9 @@
 # CONFIG_CXL_BASE is not set
 # CONFIG_CXL_AFU_DRIVER_OPS is not set
 # CONFIG_CXL_LIB is not set
+# CONFIG_OCXL_BASE is not set
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -2443,6 +2462,7 @@
 # Controllers with non-SFF native interface
 #
 CONFIG_SATA_AHCI=m
+CONFIG_SATA_MOBILE_LPM_POLICY=3
 CONFIG_SATA_AHCI_PLATFORM=m
 CONFIG_AHCI_CEVA=m
 CONFIG_AHCI_QORIQ=m
@@ -2552,6 +2572,7 @@
 # CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
 CONFIG_DM_BIO_PRISON=m
 CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_UNSTRIPED=m
 CONFIG_DM_CRYPT=m
 CONFIG_DM_SNAPSHOT=m
 CONFIG_DM_THIN_PROVISIONING=m
@@ -2694,7 +2715,6 @@
 CONFIG_NET_DSA_BCM_SF2=m
 CONFIG_NET_DSA_LOOP=m
 CONFIG_NET_DSA_MT7530=m
-CONFIG_NET_DSA_MV88E6060=m
 CONFIG_MICROCHIP_KSZ=m
 CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m
 CONFIG_NET_DSA_MV88E6XXX=m
@@ -2768,6 +2788,7 @@
 CONFIG_THUNDER_NIC_VF=m
 CONFIG_THUNDER_NIC_BGX=m
 CONFIG_THUNDER_NIC_RGX=m
+CONFIG_CAVIUM_PTP=m
 CONFIG_LIQUIDIO=m
 CONFIG_LIQUIDIO_VF=m
 CONFIG_NET_VENDOR_CHELSIO=y
@@ -2781,6 +2802,8 @@
 CONFIG_CHELSIO_LIB=m
 CONFIG_NET_VENDOR_CISCO=y
 CONFIG_ENIC=m
+CONFIG_NET_VENDOR_CORTINA=y
+CONFIG_GEMINI_ETHERNET=m
 CONFIG_CX_ECAT=m
 CONFIG_DNET=m
 CONFIG_NET_VENDOR_DEC=y
@@ -2959,6 +2982,7 @@
 CONFIG_SMSC911X=m
 # CONFIG_SMSC911X_ARCH_HOOKS is not set
 CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_SOCIONEXT=y
 CONFIG_NET_VENDOR_STMICRO=y
 CONFIG_STMMAC_ETH=m
 CONFIG_STMMAC_PLATFORM=m
@@ -3289,6 +3313,8 @@
 CONFIG_MWL8K=m
 CONFIG_WLAN_VENDOR_MEDIATEK=y
 CONFIG_MT7601U=m
+CONFIG_MT76_CORE=m
+CONFIG_MT76x2E=m
 CONFIG_WLAN_VENDOR_RALINK=y
 CONFIG_RT2X00=m
 CONFIG_RT2400PCI=m
@@ -3395,6 +3421,7 @@
 CONFIG_FUJITSU_ES=m
 CONFIG_THUNDERBOLT_NET=m
 CONFIG_HYPERV_NET=m
+CONFIG_NETDEVSIM=m
 CONFIG_ISDN=y
 CONFIG_ISDN_I4L=m
 CONFIG_ISDN_PPP=y
@@ -3523,7 +3550,6 @@
 CONFIG_ISDN_HDLC=m
 CONFIG_NVM=y
 # CONFIG_NVM_DEBUG is not set
-CONFIG_NVM_RRPC=m
 CONFIG_NVM_PBLK=m
 
 #
@@ -3774,7 +3800,6 @@
 CONFIG_INPUT_APANEL=m
 CONFIG_INPUT_GP2A=m
 CONFIG_INPUT_GPIO_BEEPER=m
-CONFIG_INPUT_GPIO_TILT_POLLED=m
 CONFIG_INPUT_GPIO_DECODER=m
 CONFIG_INPUT_CPCAP_PWRBUTTON=m
 CONFIG_INPUT_ATLAS_BTNS=m
@@ -3970,7 +3995,6 @@
 CONFIG_HW_RANDOM_AMD=m
 CONFIG_HW_RANDOM_VIA=m
 CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM_TPM=m
 CONFIG_NVRAM=m
 CONFIG_R3964=m
 CONFIG_APPLICOM=m
@@ -3991,6 +4015,7 @@
 CONFIG_HPET_MMAP_DEFAULT=y
 CONFIG_HANGCHECK_TIMER=m
 CONFIG_TCG_TPM=m
+CONFIG_HW_RANDOM_TPM=y
 CONFIG_TCG_TIS_CORE=m
 CONFIG_TCG_TIS=m
 CONFIG_TCG_TIS_SPI=m
@@ -4082,6 +4107,7 @@
 CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
 CONFIG_I2C_EMEV2=m
 CONFIG_I2C_GPIO=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
 CONFIG_I2C_KEMPLD=m
 CONFIG_I2C_OCORES=m
 CONFIG_I2C_PCA_PLATFORM=m
@@ -4193,6 +4219,7 @@
 CONFIG_GENERIC_PINCONF=y
 # CONFIG_DEBUG_PINCTRL is not set
 CONFIG_PINCTRL_AS3722=m
+CONFIG_PINCTRL_AXP209=m
 CONFIG_PINCTRL_AMD=m
 CONFIG_PINCTRL_MCP23S08=m
 CONFIG_PINCTRL_SINGLE=m
@@ -4201,15 +4228,15 @@
 CONFIG_PINCTRL_PALMAS=m
 CONFIG_PINCTRL_RK805=m
 CONFIG_PINCTRL_BAYTRAIL=y
-CONFIG_PINCTRL_CHERRYVIEW=m
-CONFIG_PINCTRL_INTEL=m
-CONFIG_PINCTRL_BROXTON=m
-CONFIG_PINCTRL_CANNONLAKE=m
-CONFIG_PINCTRL_CEDARFORK=m
-CONFIG_PINCTRL_DENVERTON=m
-CONFIG_PINCTRL_GEMINILAKE=m
-CONFIG_PINCTRL_LEWISBURG=m
-CONFIG_PINCTRL_SUNRISEPOINT=m
+CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_INTEL=y
+CONFIG_PINCTRL_BROXTON=y
+CONFIG_PINCTRL_CANNONLAKE=y
+CONFIG_PINCTRL_CEDARFORK=y
+CONFIG_PINCTRL_DENVERTON=y
+CONFIG_PINCTRL_GEMINILAKE=y
+CONFIG_PINCTRL_LEWISBURG=y
+CONFIG_PINCTRL_SUNRISEPOINT=y
 CONFIG_GPIOLIB=y
 CONFIG_OF_GPIO=y
 CONFIG_GPIO_ACPI=y
@@ -4225,7 +4252,6 @@
 CONFIG_GPIO_74XX_MMIO=m
 CONFIG_GPIO_ALTERA=m
 CONFIG_GPIO_AMDPT=m
-CONFIG_GPIO_AXP209=m
 CONFIG_GPIO_DWAPB=m
 CONFIG_GPIO_EXAR=m
 CONFIG_GPIO_FTGPIO010=y
@@ -4299,6 +4325,7 @@
 CONFIG_GPIO_AMD8111=m
 CONFIG_GPIO_ML_IOH=m
 CONFIG_GPIO_PCI_IDIO_16=m
+CONFIG_GPIO_PCIE_IDIO_24=m
 CONFIG_GPIO_RDC321X=m
 CONFIG_GPIO_SODAVILLE=y
 
@@ -4588,6 +4615,7 @@
 CONFIG_SENSORS_VIA686A=m
 CONFIG_SENSORS_VT1211=m
 CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83773G=m
 CONFIG_SENSORS_W83781D=m
 CONFIG_SENSORS_W83791D=m
 CONFIG_SENSORS_W83792D=m
@@ -4665,6 +4693,7 @@
 CONFIG_WM8350_WATCHDOG=m
 CONFIG_XILINX_WATCHDOG=m
 CONFIG_ZIIRAVE_WATCHDOG=m
+CONFIG_RAVE_SP_WATCHDOG=m
 CONFIG_CADENCE_WATCHDOG=m
 CONFIG_DW_WATCHDOG=m
 CONFIG_RN5T618_WATCHDOG=m
@@ -4731,10 +4760,6 @@
 CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP=m
 CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=y
 CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
 CONFIG_SSB=m
 CONFIG_SSB_SPROM=y
 CONFIG_SSB_BLOCKIO=y
@@ -4779,6 +4804,7 @@
 CONFIG_MFD_CROS_EC=m
 CONFIG_MFD_CROS_EC_I2C=m
 CONFIG_MFD_CROS_EC_SPI=m
+CONFIG_MFD_CROS_EC_CHARDEV=m
 CONFIG_PMIC_DA903X=y
 CONFIG_PMIC_DA9052=y
 CONFIG_MFD_DA9052_SPI=y
@@ -4829,9 +4855,7 @@
 CONFIG_PCF50633_GPIO=m
 CONFIG_UCB1400_CORE=m
 CONFIG_MFD_RDC321X=m
-CONFIG_MFD_RTSX_PCI=m
 CONFIG_MFD_RT5033=m
-CONFIG_MFD_RTSX_USB=m
 CONFIG_MFD_RC5T583=y
 CONFIG_MFD_RK808=m
 CONFIG_MFD_RN5T618=m
@@ -4896,6 +4920,7 @@
 CONFIG_MFD_WM8350=y
 CONFIG_MFD_WM8350_I2C=y
 CONFIG_MFD_WM8994=m
+CONFIG_RAVE_SP_CORE=m
 CONFIG_REGULATOR=y
 # CONFIG_REGULATOR_DEBUG is not set
 CONFIG_REGULATOR_FIXED_VOLTAGE=m
@@ -5003,9 +5028,8 @@
 CONFIG_CEC_PIN=y
 CONFIG_RC_CORE=m
 CONFIG_RC_MAP=m
+CONFIG_LIRC=y
 CONFIG_RC_DECODERS=y
-CONFIG_LIRC=m
-CONFIG_IR_LIRC_CODEC=m
 CONFIG_IR_NEC_DECODER=m
 CONFIG_IR_RC5_DECODER=m
 CONFIG_IR_RC6_DECODER=m
@@ -5066,18 +5090,14 @@
 CONFIG_VIDEOBUF_DMA_SG=m
 CONFIG_VIDEOBUF_VMALLOC=m
 CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEOBUF2_DMA_SG=m
-CONFIG_VIDEOBUF2_DVB=m
 CONFIG_DVB_CORE=m
+CONFIG_DVB_MMAP=y
 CONFIG_DVB_NET=y
 CONFIG_TTPCI_EEPROM=m
 CONFIG_DVB_MAX_ADAPTERS=16
 # CONFIG_DVB_DYNAMIC_MINORS is not set
 # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
+# CONFIG_DVB_ULE_DEBUG is not set
 
 #
 # Media drivers
@@ -5333,6 +5353,7 @@
 # CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
 CONFIG_DVB_SMIPCIE=m
 CONFIG_DVB_NETUP_UNIDVB=m
+CONFIG_VIDEO_IPU3_CIO2=m
 CONFIG_V4L_PLATFORM_DRIVERS=y
 CONFIG_VIDEO_CAFE_CCIC=m
 CONFIG_VIDEO_MUX=m
@@ -5400,6 +5421,13 @@
 CONFIG_VIDEO_CX2341X=m
 CONFIG_VIDEO_TVEEPROM=m
 CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_V4L2=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEOBUF2_DVB=m
 CONFIG_DVB_B2C2_FLEXCOP=m
 CONFIG_VIDEO_SAA7146=m
 CONFIG_VIDEO_SAA7146_VV=m
@@ -5524,6 +5552,7 @@
 CONFIG_SOC_CAMERA_TW9910=m
 CONFIG_MEDIA_TUNER=m
 CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA18250=m
 CONFIG_MEDIA_TUNER_TDA8290=m
 CONFIG_MEDIA_TUNER_TDA827X=m
 CONFIG_MEDIA_TUNER_TDA18271=m
@@ -5738,6 +5767,7 @@
 CONFIG_DRM_GEM_CMA_HELPER=y
 CONFIG_DRM_KMS_CMA_HELPER=y
 CONFIG_DRM_VM=y
+CONFIG_DRM_SCHED=m
 
 #
 # I2C encoder or helper chips
@@ -5817,6 +5847,7 @@
 #
 CONFIG_DRM_PANEL_LVDS=m
 CONFIG_DRM_PANEL_SIMPLE=m
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
 CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m
 CONFIG_DRM_PANEL_JDI_LT070ME05000=m
 CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
@@ -5863,10 +5894,13 @@
 CONFIG_DRM_MXSFB=m
 CONFIG_DRM_TINYDRM=m
 CONFIG_TINYDRM_MIPI_DBI=m
+CONFIG_TINYDRM_ILI9225=m
 CONFIG_TINYDRM_MI0283QT=m
 CONFIG_TINYDRM_REPAPER=m
 CONFIG_TINYDRM_ST7586=m
+CONFIG_TINYDRM_ST7735R=m
 # CONFIG_DRM_LEGACY is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 # CONFIG_DRM_LIB_RANDOM is not set
 
 #
@@ -6235,22 +6269,26 @@
 CONFIG_SND_SOC_IMG_SPDIF_IN=m
 CONFIG_SND_SOC_IMG_SPDIF_OUT=m
 CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
 CONFIG_SND_SST_IPC=m
+CONFIG_SND_SST_IPC_PCI=m
 CONFIG_SND_SST_IPC_ACPI=m
-CONFIG_SND_SOC_INTEL_COMMON=m
+CONFIG_SND_SOC_INTEL_SST_ACPI=m
 CONFIG_SND_SOC_INTEL_SST=m
 CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m
-CONFIG_SND_SOC_INTEL_SST_ACPI=m
-CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
 CONFIG_SND_SOC_INTEL_HASWELL=m
 CONFIG_SND_SOC_INTEL_BAYTRAIL=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
 CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
 CONFIG_SND_SOC_INTEL_SKYLAKE=m
-CONFIG_SND_SOC_INTEL_MACH=m
+CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
+CONFIG_SND_SOC_INTEL_MACH=y
 CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
 CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
 CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
@@ -6283,9 +6321,9 @@
 CONFIG_SND_SOC_ADAU17X1=m
 CONFIG_SND_SOC_ADAU1761=m
 CONFIG_SND_SOC_ADAU1761_I2C=m
-# CONFIG_SND_SOC_ADAU1761_SPI is not set
+CONFIG_SND_SOC_ADAU1761_SPI=m
 CONFIG_SND_SOC_ADAU7002=m
-# CONFIG_SND_SOC_AK4104 is not set
+CONFIG_SND_SOC_AK4104=m
 CONFIG_SND_SOC_AK4554=m
 CONFIG_SND_SOC_AK4613=m
 CONFIG_SND_SOC_AK4642=m
@@ -6306,7 +6344,7 @@
 CONFIG_SND_SOC_CS4270=m
 CONFIG_SND_SOC_CS4271=m
 CONFIG_SND_SOC_CS4271_I2C=m
-# CONFIG_SND_SOC_CS4271_SPI is not set
+CONFIG_SND_SOC_CS4271_SPI=m
 CONFIG_SND_SOC_CS42XX8=m
 CONFIG_SND_SOC_CS42XX8_I2C=m
 CONFIG_SND_SOC_CS43130=m
@@ -6321,7 +6359,7 @@
 CONFIG_SND_SOC_ES8316=m
 CONFIG_SND_SOC_ES8328=m
 CONFIG_SND_SOC_ES8328_I2C=m
-# CONFIG_SND_SOC_ES8328_SPI is not set
+CONFIG_SND_SOC_ES8328_SPI=m
 CONFIG_SND_SOC_GTM601=m
 CONFIG_SND_SOC_HDAC_HDMI=m
 CONFIG_SND_SOC_INNO_RK3036=m
@@ -6329,6 +6367,7 @@
 CONFIG_SND_SOC_MAX98357A=m
 CONFIG_SND_SOC_MAX98504=m
 CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MAX98373=m
 CONFIG_SND_SOC_MAX9860=m
 CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
 CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
@@ -6335,13 +6374,16 @@
 CONFIG_SND_SOC_PCM1681=m
 CONFIG_SND_SOC_PCM179X=m
 CONFIG_SND_SOC_PCM179X_I2C=m
-# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM179X_SPI=m
+CONFIG_SND_SOC_PCM186X=m
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
 CONFIG_SND_SOC_PCM3168A=m
 CONFIG_SND_SOC_PCM3168A_I2C=m
-# CONFIG_SND_SOC_PCM3168A_SPI is not set
+CONFIG_SND_SOC_PCM3168A_SPI=m
 CONFIG_SND_SOC_PCM512x=m
 CONFIG_SND_SOC_PCM512x_I2C=m
-# CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_PCM512x_SPI=m
 CONFIG_SND_SOC_RL6231=m
 CONFIG_SND_SOC_RL6347A=m
 CONFIG_SND_SOC_RT286=m
@@ -6366,7 +6408,7 @@
 CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
 CONFIG_SND_SOC_SPDIF=m
 CONFIG_SND_SOC_SSM2602=m
-# CONFIG_SND_SOC_SSM2602_SPI is not set
+CONFIG_SND_SOC_SSM2602_SPI=m
 CONFIG_SND_SOC_SSM2602_I2C=m
 CONFIG_SND_SOC_SSM4567=m
 CONFIG_SND_SOC_STA32X=m
@@ -6376,13 +6418,18 @@
 CONFIG_SND_SOC_TAS5086=m
 CONFIG_SND_SOC_TAS571X=m
 CONFIG_SND_SOC_TAS5720=m
+CONFIG_SND_SOC_TAS6424=m
 CONFIG_SND_SOC_TFA9879=m
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
-# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+CONFIG_SND_SOC_TLV320AIC23_SPI=m
 CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC32X4=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
 CONFIG_SND_SOC_TLV320AIC3X=m
 CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
 CONFIG_SND_SOC_WM8510=m
 CONFIG_SND_SOC_WM8523=m
 CONFIG_SND_SOC_WM8524=m
@@ -6394,11 +6441,11 @@
 CONFIG_SND_SOC_WM8741=m
 CONFIG_SND_SOC_WM8750=m
 CONFIG_SND_SOC_WM8753=m
-# CONFIG_SND_SOC_WM8770 is not set
+CONFIG_SND_SOC_WM8770=m
 CONFIG_SND_SOC_WM8776=m
 CONFIG_SND_SOC_WM8804=m
 CONFIG_SND_SOC_WM8804_I2C=m
-# CONFIG_SND_SOC_WM8804_SPI is not set
+CONFIG_SND_SOC_WM8804_SPI=m
 CONFIG_SND_SOC_WM8903=m
 CONFIG_SND_SOC_WM8960=m
 CONFIG_SND_SOC_WM8962=m
@@ -6468,6 +6515,7 @@
 CONFIG_HID_GYRATION=m
 CONFIG_HID_ICADE=m
 CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
 CONFIG_HID_TWINHAN=m
 CONFIG_HID_KENSINGTON=m
 CONFIG_HID_LCPOWER=m
@@ -6580,6 +6628,7 @@
 #
 CONFIG_USB_C67X00_HCD=m
 CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_DBGCAP is not set
 CONFIG_USB_XHCI_PCI=m
 CONFIG_USB_XHCI_PLATFORM=m
 CONFIG_USB_EHCI_HCD=m
@@ -6960,6 +7009,7 @@
 CONFIG_MMC_USDHI6ROL0=m
 CONFIG_MMC_REALTEK_PCI=m
 CONFIG_MMC_REALTEK_USB=m
+CONFIG_MMC_CQHCI=m
 CONFIG_MMC_TOSHIBA_PCI=m
 CONFIG_MMC_MTK=m
 CONFIG_MMC_SDHCI_XENON=m
@@ -7000,6 +7050,7 @@
 CONFIG_LEDS_LM3530=m
 CONFIG_LEDS_LM3533=m
 CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_LM3692X=m
 CONFIG_LEDS_MT6323=m
 CONFIG_LEDS_PCA9532=m
 CONFIG_LEDS_PCA9532_GPIO=y
@@ -7068,6 +7119,7 @@
 CONFIG_LEDS_TRIGGER_TRANSIENT=m
 CONFIG_LEDS_TRIGGER_CAMERA=m
 CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
 CONFIG_ACCESSIBILITY=y
 CONFIG_A11Y_BRAILLE_CONSOLE=y
 CONFIG_INFINIBAND=m
@@ -7263,6 +7315,7 @@
 CONFIG_RTC_DRV_PCF50633=m
 CONFIG_RTC_DRV_AB3100=m
 CONFIG_RTC_DRV_ZYNQMP=m
+CONFIG_RTC_DRV_CROS_EC=m
 
 #
 # on-CPU RTC drivers
@@ -7352,11 +7405,9 @@
 CONFIG_VFIO_MDEV_DEVICE=m
 CONFIG_IRQ_BYPASS_MANAGER=m
 CONFIG_VIRT_DRIVERS=y
+CONFIG_VBOXGUEST=m
 CONFIG_VIRTIO=m
-
-#
-# Virtio drivers
-#
+CONFIG_VIRTIO_MENU=y
 CONFIG_VIRTIO_PCI=m
 CONFIG_VIRTIO_PCI_LEGACY=y
 CONFIG_VIRTIO_BALLOON=m
@@ -7460,6 +7511,8 @@
 CONFIG_VLSI_FIR=m
 CONFIG_VIA_FIR=m
 CONFIG_MCS_FIR=m
+# CONFIG_IPX is not set
+# CONFIG_NCP_FS is not set
 CONFIG_PRISM2_USB=m
 CONFIG_COMEDI=m
 # CONFIG_COMEDI_DEBUG is not set
@@ -7563,8 +7616,6 @@
 CONFIG_R8188EU=m
 CONFIG_88EU_AP_MODE=y
 CONFIG_R8822BE=m
-CONFIG_RTLHALMAC_ST=m
-CONFIG_RTLPHYDM_ST=m
 CONFIG_RTLWIFI_DEBUG_ST=y
 CONFIG_RTS5208=m
 CONFIG_VT6655=m
@@ -7577,68 +7628,74 @@
 #
 # Accelerometers
 #
-# CONFIG_ADIS16201 is not set
-# CONFIG_ADIS16203 is not set
-# CONFIG_ADIS16209 is not set
-# CONFIG_ADIS16240 is not set
+CONFIG_ADIS16201=m
+CONFIG_ADIS16203=m
+CONFIG_ADIS16209=m
+CONFIG_ADIS16240=m
 
 #
 # Analog to digital converters
 #
-# CONFIG_AD7606 is not set
-# CONFIG_AD7780 is not set
-# CONFIG_AD7816 is not set
-# CONFIG_AD7192 is not set
-# CONFIG_AD7280 is not set
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD7606_IFACE_SPI=m
+CONFIG_AD7780=m
+CONFIG_AD7816=m
+CONFIG_AD7192=m
+CONFIG_AD7280=m
 
 #
 # Analog digital bi-direction converters
 #
-# CONFIG_ADT7316 is not set
+CONFIG_ADT7316=m
+CONFIG_ADT7316_SPI=m
+CONFIG_ADT7316_I2C=m
 
 #
 # Capacitance to digital converters
 #
-# CONFIG_AD7150 is not set
-# CONFIG_AD7152 is not set
-# CONFIG_AD7746 is not set
+CONFIG_AD7150=m
+CONFIG_AD7152=m
+CONFIG_AD7746=m
 
 #
 # Direct Digital Synthesis
 #
-# CONFIG_AD9832 is not set
-# CONFIG_AD9834 is not set
+CONFIG_AD9832=m
+CONFIG_AD9834=m
 
 #
 # Digital gyroscope sensors
 #
-# CONFIG_ADIS16060 is not set
+CONFIG_ADIS16060=m
 
 #
 # Network Analyzer, Impedance Converters
 #
-# CONFIG_AD5933 is not set
+CONFIG_AD5933=m
 
 #
 # Light sensors
 #
-# CONFIG_TSL2x7x is not set
+CONFIG_TSL2x7x=m
 
 #
 # Active energy metering IC
 #
-# CONFIG_ADE7753 is not set
-# CONFIG_ADE7754 is not set
-# CONFIG_ADE7758 is not set
-# CONFIG_ADE7759 is not set
-# CONFIG_ADE7854 is not set
+CONFIG_ADE7753=m
+CONFIG_ADE7754=m
+CONFIG_ADE7758=m
+CONFIG_ADE7759=m
+CONFIG_ADE7854=m
+CONFIG_ADE7854_I2C=m
+CONFIG_ADE7854_SPI=m
 
 #
 # Resolver to digital converters
 #
-# CONFIG_AD2S90 is not set
-# CONFIG_AD2S1200 is not set
-# CONFIG_AD2S1210 is not set
+CONFIG_AD2S90=m
+CONFIG_AD2S1200=m
+CONFIG_AD2S1210=m
 
 #
 # Triggers - standalone
@@ -7665,8 +7722,6 @@
 # CONFIG_INTEL_ATOMISP is not set
 CONFIG_I2C_BCM2048=m
 CONFIG_DVB_CXD2099=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_ZILOG=m
 
 #
 # Android
@@ -7688,7 +7743,6 @@
 CONFIG_GS_FPGABOOT=m
 CONFIG_CRYPTO_SKEIN=m
 CONFIG_UNISYSSPAR=y
-# CONFIG_UNISYS_VISORBUS is not set
 CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
 # CONFIG_FB_TFT is not set
 CONFIG_WILC1000=m
@@ -7696,14 +7750,13 @@
 CONFIG_WILC1000_SPI=m
 # CONFIG_WILC1000_HW_OOB_INTR is not set
 CONFIG_MOST=m
-CONFIG_MOSTCORE=m
-CONFIG_AIM_CDEV=m
-CONFIG_AIM_NETWORK=m
-CONFIG_AIM_SOUND=m
-CONFIG_AIM_V4L2=m
-CONFIG_HDM_DIM2=m
-CONFIG_HDM_I2C=m
-CONFIG_HDM_USB=m
+CONFIG_MOST_CDEV=m
+CONFIG_MOST_NET=m
+CONFIG_MOST_SOUND=m
+CONFIG_MOST_VIDEO=m
+CONFIG_MOST_DIM2=m
+CONFIG_MOST_I2C=m
+CONFIG_MOST_USB=m
 CONFIG_KS7010=m
 # CONFIG_GREYBUS is not set
 CONFIG_CRYPTO_DEV_CCREE=m
@@ -7716,12 +7769,13 @@
 CONFIG_PI433=m
 CONFIG_X86_PLATFORM_DEVICES=y
 CONFIG_ACER_WMI=m
+CONFIG_ACER_WIRELESS=m
 CONFIG_ACERHDF=m
 CONFIG_ALIENWARE_WMI=m
 CONFIG_ASUS_LAPTOP=m
 CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_WMI=m
-CONFIG_DELL_SMBIOS_SMM=m
+CONFIG_DELL_SMBIOS_WMI=y
+CONFIG_DELL_SMBIOS_SMM=y
 CONFIG_DELL_LAPTOP=m
 CONFIG_DELL_WMI=m
 CONFIG_DELL_WMI_DESCRIPTOR=m
@@ -7732,6 +7786,7 @@
 CONFIG_FUJITSU_LAPTOP=m
 CONFIG_FUJITSU_TABLET=m
 CONFIG_AMILO_RFKILL=m
+CONFIG_GPD_POCKET_FAN=m
 CONFIG_HP_ACCEL=m
 CONFIG_HP_WIRELESS=m
 CONFIG_HP_WMI=m
@@ -7789,18 +7844,20 @@
 CONFIG_INTEL_PUNIT_IPC=m
 CONFIG_INTEL_TELEMETRY=m
 CONFIG_MLX_PLATFORM=m
-CONFIG_MLX_CPLD_PLATFORM=m
 CONFIG_INTEL_TURBO_MAX_3=y
 CONFIG_SILEAD_DMI=y
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
 CONFIG_PMC_ATOM=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_LAPTOP=m
 CONFIG_CHROMEOS_PSTORE=m
-CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_CTL=m
 CONFIG_CROS_EC_LPC=m
 CONFIG_CROS_EC_LPC_MEC=y
 CONFIG_CROS_EC_PROTO=y
 CONFIG_CROS_KBD_LED_BACKLIGHT=m
+CONFIG_MELLANOX_PLATFORM=y
+CONFIG_MLXREG_HOTPLUG=m
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
 CONFIG_COMMON_CLK=y
@@ -7874,8 +7931,16 @@
 CONFIG_RPMSG_QCOM_GLINK_NATIVE=m
 CONFIG_RPMSG_QCOM_GLINK_RPM=m
 CONFIG_RPMSG_VIRTIO=m
+CONFIG_SOUNDWIRE=y
 
 #
+# SoundWire Devices
+#
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE_INTEL=m
+
+#
 # SOC (System On Chip) specific Drivers
 #
 
@@ -7896,6 +7961,11 @@
 #
 # CONFIG_SUNXI_SRAM is not set
 CONFIG_SOC_TI=y
+
+#
+# Xilinx SoC drivers
+#
+CONFIG_XILINX_VCU=m
 CONFIG_PM_DEVFREQ=y
 
 #
@@ -7936,6 +8006,7 @@
 CONFIG_IIO=m
 CONFIG_IIO_BUFFER=y
 CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
 CONFIG_IIO_KFIFO_BUF=m
 CONFIG_IIO_TRIGGERED_BUFFER=m
 CONFIG_IIO_CONFIGFS=m
@@ -8023,6 +8094,7 @@
 CONFIG_QCOM_VADC_COMMON=m
 CONFIG_QCOM_SPMI_IADC=m
 CONFIG_QCOM_SPMI_VADC=m
+CONFIG_SD_ADC_MODULATOR=m
 CONFIG_TI_ADC081C=m
 CONFIG_TI_ADC0832=m
 CONFIG_TI_ADC084S021=m
@@ -8220,6 +8292,9 @@
 CONFIG_PA12203001=m
 CONFIG_SI1145=m
 CONFIG_STK3310=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25_SPI=m
 CONFIG_TCS3414=m
 CONFIG_TCS3472=m
 CONFIG_SENSORS_TSL2563=m
@@ -8229,6 +8304,7 @@
 CONFIG_VCNL4000=m
 CONFIG_VEML6070=m
 CONFIG_VL6180=m
+CONFIG_ZOPT2201=m
 
 #
 # Magnetometer sensors
@@ -8463,19 +8539,16 @@
 CONFIG_INTEL_TH_PTI=m
 # CONFIG_INTEL_TH_DEBUG is not set
 CONFIG_FPGA=m
-CONFIG_FPGA_REGION=m
-CONFIG_FPGA_MGR_ICE40_SPI=m
+CONFIG_ALTERA_PR_IP_CORE=m
+CONFIG_ALTERA_PR_IP_CORE_PLAT=m
+CONFIG_FPGA_MGR_ALTERA_PS_SPI=m
 CONFIG_FPGA_MGR_ALTERA_CVP=m
-CONFIG_FPGA_MGR_ALTERA_PS_SPI=m
 CONFIG_FPGA_MGR_XILINX_SPI=m
+CONFIG_FPGA_MGR_ICE40_SPI=m
 CONFIG_FPGA_BRIDGE=m
-CONFIG_ALTERA_PR_IP_CORE=m
-CONFIG_ALTERA_PR_IP_CORE_PLAT=m
 CONFIG_XILINX_PR_DECOUPLER=m
-
-#
-# FSI support
-#
+CONFIG_FPGA_REGION=m
+CONFIG_OF_FPGA_REGION=m
 CONFIG_FSI=m
 CONFIG_FSI_MASTER_GPIO=m
 CONFIG_FSI_MASTER_HUB=m
@@ -8489,6 +8562,11 @@
 CONFIG_MUX_GPIO=m
 CONFIG_MUX_MMIO=m
 CONFIG_PM_OPP=y
+# CONFIG_UNISYS_VISORBUS is not set
+CONFIG_SIOX=m
+CONFIG_SIOX_BUS_GPIO=m
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
 
 #
 # Firmware Drivers
@@ -8615,6 +8693,7 @@
 CONFIG_OVERLAY_FS_REDIRECT_DIR=y
 # CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
 CONFIG_OVERLAY_FS_INDEX=y
+# CONFIG_OVERLAY_FS_NFS_EXPORT is not set
 
 #
 # Caches
@@ -8801,8 +8880,8 @@
 # CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
 CONFIG_CIFS_DFS_UPCALL=y
 CONFIG_CIFS_SMB311=y
+# CONFIG_CIFS_SMB_DIRECT is not set
 CONFIG_CIFS_FSCACHE=y
-# CONFIG_NCP_FS is not set
 CONFIG_CODA_FS=m
 CONFIG_AFS_FS=m
 # CONFIG_AFS_DEBUG is not set
@@ -8994,6 +9073,7 @@
 # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
 # CONFIG_NOTIFIER_ERROR_INJECTION is not set
 # CONFIG_FAULT_INJECTION is not set
+CONFIG_FUNCTION_ERROR_INJECTION=y
 CONFIG_LATENCYTOP=y
 CONFIG_USER_STACKTRACE_SUPPORT=y
 CONFIG_NOP_TRACER=y
@@ -9036,6 +9116,7 @@
 CONFIG_DYNAMIC_FTRACE=y
 CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
 CONFIG_FUNCTION_PROFILER=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
 CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_FTRACE_STARTUP_TEST is not set
 CONFIG_MMIOTRACE=y
@@ -9048,10 +9129,7 @@
 CONFIG_TRACING_EVENTS_GPIO=y
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_DMA_API_DEBUG is not set
-
-#
-# Runtime Testing
-#
+CONFIG_RUNTIME_TESTING_MENU=y
 CONFIG_LKDTM=m
 # CONFIG_TEST_LIST_SORT is not set
 # CONFIG_TEST_SORT is not set
@@ -9074,7 +9152,7 @@
 # CONFIG_TEST_LKM is not set
 # CONFIG_TEST_USER_COPY is not set
 # CONFIG_TEST_BPF is not set
-# CONFIG_TEST_FIND_BIT is not set
+# CONFIG_FIND_BIT_BENCHMARK is not set
 # CONFIG_TEST_FIRMWARE is not set
 # CONFIG_TEST_SYSCTL is not set
 # CONFIG_TEST_UDELAY is not set
@@ -9101,7 +9179,6 @@
 CONFIG_DOUBLEFAULT=y
 # CONFIG_DEBUG_TLBFLUSH is not set
 # CONFIG_IOMMU_DEBUG is not set
-# CONFIG_IOMMU_STRESS is not set
 CONFIG_HAVE_MMIOTRACE_SUPPORT=y
 # CONFIG_X86_DECODER_SELFTEST is not set
 CONFIG_IO_DELAY_TYPE_0X80=0
@@ -9149,6 +9226,7 @@
 CONFIG_LSM_MMAP_MIN_ADDR=65536
 CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
 CONFIG_HARDENED_USERCOPY=y
+# CONFIG_HARDENED_USERCOPY_FALLBACK is not set
 # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
 CONFIG_FORTIFY_SOURCE=y
 # CONFIG_FORTIFY_SOURCE_STRICT_STRING is not set
@@ -9360,6 +9438,7 @@
 CONFIG_CRYPTO_DEV_CCP_DD=m
 CONFIG_CRYPTO_DEV_SP_CCP=y
 CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
+CONFIG_CRYPTO_DEV_SP_PSP=y
 CONFIG_CRYPTO_DEV_QAT=m
 CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
 CONFIG_CRYPTO_DEV_QAT_C3XXX=m
@@ -9370,6 +9449,7 @@
 CONFIG_CRYPTO_DEV_NITROX=m
 CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
 CONFIG_CRYPTO_DEV_CHELSIO=m
+CONFIG_CHELSIO_IPSEC_INLINE=y
 CONFIG_CRYPTO_DEV_VIRTIO=m
 CONFIG_ASYMMETRIC_KEY_TYPE=y
 CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
@@ -9404,6 +9484,7 @@
 CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
 CONFIG_KVM_AMD=m
+CONFIG_KVM_AMD_SEV=y
 CONFIG_KVM_MMU_AUDIT=y
 CONFIG_VHOST_NET=m
 CONFIG_VHOST_SCSI=m
@@ -9488,7 +9569,8 @@
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT_MAP=y
 CONFIG_HAS_DMA=y
-# CONFIG_DMA_NOOP_OPS is not set
+CONFIG_SGL_ALLOC=y
+# CONFIG_DMA_DIRECT_OPS is not set
 CONFIG_DMA_VIRT_OPS=y
 CONFIG_CHECK_SIGNATURE=y
 CONFIG_CPU_RMAP=y

Added: fix-vboxguest-on-guests-with-more-than-4G-RAM.patch
===================================================================
--- fix-vboxguest-on-guests-with-more-than-4G-RAM.patch	                        (rev 0)
+++ fix-vboxguest-on-guests-with-more-than-4G-RAM.patch	2018-04-26 20:38:08 UTC (rev 323061)
@@ -0,0 +1,549 @@
+From a117a2995f291e765c5de06f42f02a1687ecb55e Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Wed, 11 Apr 2018 21:27:44 +0200
+Subject: Fix vboxguest on guests with more than 4G RAM
+
+Squashed commit of the following:
+
+commit 042b191f6b98165d6bcca3ae09a0f9b289d6155e
+Author: Hans de Goede <hdegoede at redhat.com>
+Date:   Thu Mar 29 17:28:57 2018 +0200
+
+    virt: vbox: Log an error when we fail to get the host version
+
+    This was the only error path during probe without a message being logged
+    about what went wrong, this fixes this.
+
+    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+
+commit e4111a6c617687f7cb414ddfa8176206910db76e
+Author: Hans de Goede <hdegoede at redhat.com>
+Date:   Thu Mar 29 17:28:56 2018 +0200
+
+    virt: vbox: Use __get_free_pages instead of kmalloc for DMA32 memory
+
+    It is not possible to get DMA32 zone memory through kmalloc, causing
+    the vboxguest driver to malfunction due to getting memory above
+    4G which the PCI device cannot handle.
+
+    This commit changes the kmalloc calls where the 4G limit matters to
+    using __get_free_pages() fixing vboxguest not working on x86_64 guests
+    with more then 4G RAM.
+
+    Cc: stable at vger.kernel.org
+    Reported-by: Eloy Coto Pereiro <eloy.coto at gmail.com>
+    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+
+commit 2cb20368ce32e7275a351eadadd4c8f3da742a28
+Author: Hans de Goede <hdegoede at redhat.com>
+Date:   Thu Mar 29 17:28:55 2018 +0200
+
+    virt: vbox: Add vbg_req_free() helper function
+
+    This is a preparation patch for fixing issues on x86_64 virtual-machines
+    with more then 4G of RAM, atm we pass __GFP_DMA32 to kmalloc, but kmalloc
+    does not honor that, so we need to switch to get_pages, which means we
+    will not be able to use kfree to free memory allocated with vbg_alloc_req.
+
+    While at it also remove a comment on a vbg_alloc_req call which talks
+    about Windows (inherited from the vbox upstream cross-platform code).
+
+    Cc: stable at vger.kernel.org
+    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+
+commit fa5c012bc9c3e1ada5cde0bfa3c6706be97b7cb0
+Author: Hans de Goede <hdegoede at redhat.com>
+Date:   Thu Mar 29 17:28:54 2018 +0200
+
+    virt: vbox: Move declarations of vboxguest private functions to private header
+
+    Move the declarations of functions from vboxguest_utils.c which are only
+    meant for vboxguest internal use from include/linux/vbox_utils.h to
+    drivers/virt/vboxguest/vboxguest_core.h.
+
+    Cc: stable at vger.kernel.org
+    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ drivers/virt/vboxguest/vboxguest_core.c  | 70 +++++++++++++-----------
+ drivers/virt/vboxguest/vboxguest_core.h  |  9 +++
+ drivers/virt/vboxguest/vboxguest_linux.c | 19 ++++++-
+ drivers/virt/vboxguest/vboxguest_utils.c | 17 ++++--
+ include/linux/vbox_utils.h               | 23 --------
+ 5 files changed, 76 insertions(+), 62 deletions(-)
+
+diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
+index 190dbf8cfcb5..2f3856a95856 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.c
++++ b/drivers/virt/vboxguest/vboxguest_core.c
+@@ -114,7 +114,7 @@ static void vbg_guest_mappings_init(struct vbg_dev *gdev)
+ 	}
+ 
+ out:
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 	kfree(pages);
+ }
+ 
+@@ -144,7 +144,7 @@ static void vbg_guest_mappings_exit(struct vbg_dev *gdev)
+ 
+ 	rc = vbg_req_perform(gdev, req);
+ 
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 
+ 	if (rc < 0) {
+ 		vbg_err("%s error: %d\n", __func__, rc);
+@@ -214,8 +214,8 @@ static int vbg_report_guest_info(struct vbg_dev *gdev)
+ 	ret = vbg_status_code_to_errno(rc);
+ 
+ out_free:
+-	kfree(req2);
+-	kfree(req1);
++	vbg_req_free(req2, sizeof(*req2));
++	vbg_req_free(req1, sizeof(*req1));
+ 	return ret;
+ }
+ 
+@@ -245,7 +245,7 @@ static int vbg_report_driver_status(struct vbg_dev *gdev, bool active)
+ 	if (rc == VERR_NOT_IMPLEMENTED)	/* Compatibility with older hosts. */
+ 		rc = VINF_SUCCESS;
+ 
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 
+ 	return vbg_status_code_to_errno(rc);
+ }
+@@ -431,58 +431,52 @@ static int vbg_heartbeat_host_config(struct vbg_dev *gdev, bool enabled)
+ 	rc = vbg_req_perform(gdev, req);
+ 	do_div(req->interval_ns, 1000000); /* ns -> ms */
+ 	gdev->heartbeat_interval_ms = req->interval_ns;
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 
+ 	return vbg_status_code_to_errno(rc);
+ }
+ 
+ /**
+  * Initializes the heartbeat timer. This feature may be disabled by the host.
+  * Return: 0 or negative errno value.
+  * @gdev:		The Guest extension device.
+  */
+ static int vbg_heartbeat_init(struct vbg_dev *gdev)
+ {
+ 	int ret;
+ 
+ 	/* Make sure that heartbeat checking is disabled if we fail. */
+ 	ret = vbg_heartbeat_host_config(gdev, false);
+ 	if (ret < 0)
+ 		return ret;
+ 
+ 	ret = vbg_heartbeat_host_config(gdev, true);
+ 	if (ret < 0)
+ 		return ret;
+ 
+-	/*
+-	 * Preallocate the request to use it from the timer callback because:
+-	 *    1) on Windows vbg_req_alloc must be called at IRQL <= APC_LEVEL
+-	 *       and the timer callback runs at DISPATCH_LEVEL;
+-	 *    2) avoid repeated allocations.
+-	 */
+ 	gdev->guest_heartbeat_req = vbg_req_alloc(
+ 					sizeof(*gdev->guest_heartbeat_req),
+ 					VMMDEVREQ_GUEST_HEARTBEAT);
+ 	if (!gdev->guest_heartbeat_req)
+ 		return -ENOMEM;
+ 
+ 	vbg_info("%s: Setting up heartbeat to trigger every %d milliseconds\n",
+ 		 __func__, gdev->heartbeat_interval_ms);
+ 	mod_timer(&gdev->heartbeat_timer, 0);
+ 
+ 	return 0;
+ }
+ 
+ /**
+  * Cleanup hearbeat code, stop HB timer and disable host heartbeat checking.
+  * @gdev:		The Guest extension device.
+  */
+ static void vbg_heartbeat_exit(struct vbg_dev *gdev)
+ {
+ 	del_timer_sync(&gdev->heartbeat_timer);
+ 	vbg_heartbeat_host_config(gdev, false);
+-	kfree(gdev->guest_heartbeat_req);
+-
++	vbg_req_free(gdev->guest_heartbeat_req,
++		     sizeof(*gdev->guest_heartbeat_req));
+ }
+ 
+ /**
+@@ -543,7 +537,7 @@ static int vbg_reset_host_event_filter(struct vbg_dev *gdev,
+ 	if (rc < 0)
+ 		vbg_err("%s error, rc: %d\n", __func__, rc);
+ 
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 	return vbg_status_code_to_errno(rc);
+ }
+ 
+@@ -617,32 +611,32 @@ static int vbg_set_session_event_filter(struct vbg_dev *gdev,
+ 
+ out:
+ 	mutex_unlock(&gdev->session_mutex);
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 
+ 	return ret;
+ }
+ 
+ /**
+  * Init and termination worker for set guest capabilities to zero on the host.
+  * Return: 0 or negative errno value.
+  * @gdev:		The Guest extension device.
+  */
+ static int vbg_reset_host_capabilities(struct vbg_dev *gdev)
+ {
+ 	struct vmmdev_mask *req;
+ 	int rc;
+ 
+ 	req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES);
+ 	if (!req)
+ 		return -ENOMEM;
+ 
+ 	req->not_mask = U32_MAX;
+ 	req->or_mask = 0;
+ 	rc = vbg_req_perform(gdev, req);
+ 	if (rc < 0)
+ 		vbg_err("%s error, rc: %d\n", __func__, rc);
+ 
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 	return vbg_status_code_to_errno(rc);
+ }
+ 
+@@ -712,44 +706,46 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
+ 
+ out:
+ 	mutex_unlock(&gdev->session_mutex);
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 
+ 	return ret;
+ }
+ 
+ /**
+  * vbg_query_host_version get the host feature mask and version information.
+  * Return: 0 or negative errno value.
+  * @gdev:		The Guest extension device.
+  */
+ static int vbg_query_host_version(struct vbg_dev *gdev)
+ {
+ 	struct vmmdev_host_version *req;
+ 	int rc, ret;
+ 
+ 	req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_GET_HOST_VERSION);
+ 	if (!req)
+ 		return -ENOMEM;
+ 
+ 	rc = vbg_req_perform(gdev, req);
+ 	ret = vbg_status_code_to_errno(rc);
+-	if (ret)
++	if (ret) {
++		vbg_err("%s error: %d\n", __func__, rc);
+ 		goto out;
++	}
+ 
+ 	snprintf(gdev->host_version, sizeof(gdev->host_version), "%u.%u.%ur%u",
+ 		 req->major, req->minor, req->build, req->revision);
+ 	gdev->host_features = req->features;
+ 
+ 	vbg_info("vboxguest: host-version: %s %#x\n", gdev->host_version,
+ 		 gdev->host_features);
+ 
+ 	if (!(req->features & VMMDEV_HVF_HGCM_PHYS_PAGE_LIST)) {
+ 		vbg_err("vboxguest: Error host too old (does not support page-lists)\n");
+ 		ret = -ENODEV;
+ 	}
+ 
+ out:
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 	return ret;
+ }
+ 
+@@ -847,36 +843,46 @@ int vbg_core_init(struct vbg_dev *gdev, u32 fixed_events)
+ 	return 0;
+ 
+ err_free_reqs:
+-	kfree(gdev->mouse_status_req);
+-	kfree(gdev->ack_events_req);
+-	kfree(gdev->cancel_req);
+-	kfree(gdev->mem_balloon.change_req);
+-	kfree(gdev->mem_balloon.get_req);
++	vbg_req_free(gdev->mouse_status_req,
++		     sizeof(*gdev->mouse_status_req));
++	vbg_req_free(gdev->ack_events_req,
++		     sizeof(*gdev->ack_events_req));
++	vbg_req_free(gdev->cancel_req,
++		     sizeof(*gdev->cancel_req));
++	vbg_req_free(gdev->mem_balloon.change_req,
++		     sizeof(*gdev->mem_balloon.change_req));
++	vbg_req_free(gdev->mem_balloon.get_req,
++		     sizeof(*gdev->mem_balloon.get_req));
+ 	return ret;
+ }
+ 
+ /**
+  * Call this on exit to clean-up vboxguest-core managed resources.
+  *
+  * The native code should call this before the driver is loaded,
+  * but don't call this on shutdown.
+  * @gdev:		The Guest extension device.
+  */
+ void vbg_core_exit(struct vbg_dev *gdev)
+ {
+ 	vbg_heartbeat_exit(gdev);
+ 	vbg_guest_mappings_exit(gdev);
+ 
+ 	/* Clear the host flags (mouse status etc). */
+ 	vbg_reset_host_event_filter(gdev, 0);
+ 	vbg_reset_host_capabilities(gdev);
+ 	vbg_core_set_mouse_status(gdev, 0);
+ 
+-	kfree(gdev->mouse_status_req);
+-	kfree(gdev->ack_events_req);
+-	kfree(gdev->cancel_req);
+-	kfree(gdev->mem_balloon.change_req);
+-	kfree(gdev->mem_balloon.get_req);
++	vbg_req_free(gdev->mouse_status_req,
++		     sizeof(*gdev->mouse_status_req));
++	vbg_req_free(gdev->ack_events_req,
++		     sizeof(*gdev->ack_events_req));
++	vbg_req_free(gdev->cancel_req,
++		     sizeof(*gdev->cancel_req));
++	vbg_req_free(gdev->mem_balloon.change_req,
++		     sizeof(*gdev->mem_balloon.change_req));
++	vbg_req_free(gdev->mem_balloon.get_req,
++		     sizeof(*gdev->mem_balloon.get_req));
+ }
+ 
+ /**
+@@ -1415,7 +1421,7 @@ static int vbg_ioctl_write_core_dump(struct vbg_dev *gdev,
+ 	req->flags = dump->u.in.flags;
+ 	dump->hdr.rc = vbg_req_perform(gdev, req);
+ 
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 	return 0;
+ }
+ 
+@@ -1513,7 +1519,7 @@ int vbg_core_set_mouse_status(struct vbg_dev *gdev, u32 features)
+ 	if (rc < 0)
+ 		vbg_err("%s error, rc: %d\n", __func__, rc);
+ 
+-	kfree(req);
++	vbg_req_free(req, sizeof(*req));
+ 	return vbg_status_code_to_errno(rc);
+ }
+ 
+diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
+index 6c784bf4fa6d..7ad9ec45bfa9 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.h
++++ b/drivers/virt/vboxguest/vboxguest_core.h
+@@ -171,4 +171,13 @@ irqreturn_t vbg_core_isr(int irq, void *dev_id);
+ 
+ void vbg_linux_mouse_event(struct vbg_dev *gdev);
+ 
++/* Private (non exported) functions form vboxguest_utils.c */
++void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type);
++void vbg_req_free(void *req, size_t len);
++int vbg_req_perform(struct vbg_dev *gdev, void *req);
++int vbg_hgcm_call32(
++	struct vbg_dev *gdev, u32 client_id, u32 function, u32 timeout_ms,
++	struct vmmdev_hgcm_function_parameter32 *parm32, u32 parm_count,
++	int *vbox_status);
++
+ #endif
+diff --git a/drivers/virt/vboxguest/vboxguest_linux.c b/drivers/virt/vboxguest/vboxguest_linux.c
+index 82e280d38cc2..398d22693234 100644
+--- a/drivers/virt/vboxguest/vboxguest_linux.c
++++ b/drivers/virt/vboxguest/vboxguest_linux.c
+@@ -87,52 +87,65 @@ static long vbg_misc_device_ioctl(struct file *filp, unsigned int req,
+ 	struct vbg_session *session = filp->private_data;
+ 	size_t returned_size, size;
+ 	struct vbg_ioctl_hdr hdr;
++	bool is_vmmdev_req;
+ 	int ret = 0;
+ 	void *buf;
+ 
+ 	if (copy_from_user(&hdr, (void *)arg, sizeof(hdr)))
+ 		return -EFAULT;
+ 
+ 	if (hdr.version != VBG_IOCTL_HDR_VERSION)
+ 		return -EINVAL;
+ 
+ 	if (hdr.size_in < sizeof(hdr) ||
+ 	    (hdr.size_out && hdr.size_out < sizeof(hdr)))
+ 		return -EINVAL;
+ 
+ 	size = max(hdr.size_in, hdr.size_out);
+ 	if (_IOC_SIZE(req) && _IOC_SIZE(req) != size)
+ 		return -EINVAL;
+ 	if (size > SZ_16M)
+ 		return -E2BIG;
+ 
+-	/* __GFP_DMA32 because IOCTL_VMMDEV_REQUEST passes this to the host */
+-	buf = kmalloc(size, GFP_KERNEL | __GFP_DMA32);
++	/*
++	 * IOCTL_VMMDEV_REQUEST needs the buffer to be below 4G to avoid
++	 * the need for a bounce-buffer and another copy later on.
++	 */
++	is_vmmdev_req = (req & ~IOCSIZE_MASK) == VBG_IOCTL_VMMDEV_REQUEST(0) ||
++			 req == VBG_IOCTL_VMMDEV_REQUEST_BIG;
++
++	if (is_vmmdev_req)
++		buf = vbg_req_alloc(size, VBG_IOCTL_HDR_TYPE_DEFAULT);
++	else
++		buf = kmalloc(size, GFP_KERNEL);
+ 	if (!buf)
+ 		return -ENOMEM;
+ 
+ 	if (copy_from_user(buf, (void *)arg, hdr.size_in)) {
+ 		ret = -EFAULT;
+ 		goto out;
+ 	}
+ 	if (hdr.size_in < size)
+ 		memset(buf + hdr.size_in, 0, size -  hdr.size_in);
+ 
+ 	ret = vbg_core_ioctl(session, req, buf);
+ 	if (ret)
+ 		goto out;
+ 
+ 	returned_size = ((struct vbg_ioctl_hdr *)buf)->size_out;
+ 	if (returned_size > size) {
+ 		vbg_debug("%s: too much output data %zu > %zu\n",
+ 			  __func__, returned_size, size);
+ 		returned_size = size;
+ 	}
+ 	if (copy_to_user((void *)arg, buf, returned_size) != 0)
+ 		ret = -EFAULT;
+ 
+ out:
+-	kfree(buf);
++	if (is_vmmdev_req)
++		vbg_req_free(buf, size);
++	else
++		kfree(buf);
+ 
+ 	return ret;
+ }
+diff --git a/drivers/virt/vboxguest/vboxguest_utils.c b/drivers/virt/vboxguest/vboxguest_utils.c
+index 0f0dab8023cf..bf4474214b4d 100644
+--- a/drivers/virt/vboxguest/vboxguest_utils.c
++++ b/drivers/virt/vboxguest/vboxguest_utils.c
+@@ -65,23 +65,32 @@ VBG_LOG(vbg_debug, pr_debug);
+ void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type)
+ {
+ 	struct vmmdev_request_header *req;
++	int order = get_order(PAGE_ALIGN(len));
+ 
+-	req = kmalloc(len, GFP_KERNEL | __GFP_DMA32);
++	req = (void *)__get_free_pages(GFP_KERNEL | GFP_DMA32, order);
+ 	if (!req)
+ 		return NULL;
+ 
+ 	memset(req, 0xaa, len);
+ 
+ 	req->size = len;
+ 	req->version = VMMDEV_REQUEST_HEADER_VERSION;
+ 	req->request_type = req_type;
+ 	req->rc = VERR_GENERAL_FAILURE;
+ 	req->reserved1 = 0;
+ 	req->reserved2 = 0;
+ 
+ 	return req;
+ }
+ 
++void vbg_req_free(void *req, size_t len)
++{
++	if (!req)
++		return;
++
++	free_pages((unsigned long)req, get_order(PAGE_ALIGN(len)));
++}
++
+ /* Note this function returns a VBox status code, not a negative errno!! */
+ int vbg_req_perform(struct vbg_dev *gdev, void *req)
+ {
+@@ -137,7 +146,7 @@ int vbg_hgcm_connect(struct vbg_dev *gdev,
+ 		rc = hgcm_connect->header.result;
+ 	}
+ 
+-	kfree(hgcm_connect);
++	vbg_req_free(hgcm_connect, sizeof(*hgcm_connect));
+ 
+ 	*vbox_status = rc;
+ 	return 0;
+@@ -166,7 +175,7 @@ int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 client_id, int *vbox_status)
+ 	if (rc >= 0)
+ 		rc = hgcm_disconnect->header.result;
+ 
+-	kfree(hgcm_disconnect);
++	vbg_req_free(hgcm_disconnect, sizeof(*hgcm_disconnect));
+ 
+ 	*vbox_status = rc;
+ 	return 0;
+@@ -623,7 +632,7 @@ int vbg_hgcm_call(struct vbg_dev *gdev, u32 client_id, u32 function,
+ 	}
+ 
+ 	if (!leak_it)
+-		kfree(call);
++		vbg_req_free(call, size);
+ 
+ free_bounce_bufs:
+ 	if (bounce_bufs) {
+diff --git a/include/linux/vbox_utils.h b/include/linux/vbox_utils.h
+index c71def6b310f..a240ed2a0372 100644
+--- a/include/linux/vbox_utils.h
++++ b/include/linux/vbox_utils.h
+@@ -24,39 +24,16 @@ __printf(1, 2) void vbg_debug(const char *fmt, ...);
+ #define vbg_debug pr_debug
+ #endif
+ 
+-/**
+- * Allocate memory for generic request and initialize the request header.
+- *
+- * Return: the allocated memory
+- * @len:		Size of memory block required for the request.
+- * @req_type:		The generic request type.
+- */
+-void *vbg_req_alloc(size_t len, enum vmmdev_request_type req_type);
+-
+-/**
+- * Perform a generic request.
+- *
+- * Return: VBox status code
+- * @gdev:		The Guest extension device.
+- * @req:		Pointer to the request structure.
+- */
+-int vbg_req_perform(struct vbg_dev *gdev, void *req);
+-
+ int vbg_hgcm_connect(struct vbg_dev *gdev,
+ 		     struct vmmdev_hgcm_service_location *loc,
+ 		     u32 *client_id, int *vbox_status);
+ 
+ int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 client_id, int *vbox_status);
+ 
+ int vbg_hgcm_call(struct vbg_dev *gdev, u32 client_id, u32 function,
+ 		  u32 timeout_ms, struct vmmdev_hgcm_function_parameter *parms,
+ 		  u32 parm_count, int *vbox_status);
+ 
+-int vbg_hgcm_call32(
+-	struct vbg_dev *gdev, u32 client_id, u32 function, u32 timeout_ms,
+-	struct vmmdev_hgcm_function_parameter32 *parm32, u32 parm_count,
+-	int *vbox_status);
+-
+ /**
+  * Convert a VirtualBox status code to a standard Linux kernel return value.
+  * Return: 0 or negative errno value.
+-- 
+2.17.0
+

Added: net-aquantia-Regression-on-reset-with-1.x-firmware.patch
===================================================================
--- net-aquantia-Regression-on-reset-with-1.x-firmware.patch	                        (rev 0)
+++ net-aquantia-Regression-on-reset-with-1.x-firmware.patch	2018-04-26 20:38:08 UTC (rev 323061)
@@ -0,0 +1,68 @@
+From: Igor Russkikh <igor.russkikh at aquantia.com>
+Date: Wed, 11 Apr 2018 15:23:24 +0300
+Subject: net: aquantia: Regression on reset with 1.x firmware
+
+On ASUS XG-C100C with 1.5.44 firmware a special mode called "dirty wake"
+is active. With this mode when motherboard gets powered (but no poweron
+happens yet), NIC automatically enables powersave link and watches
+for WOL packet.
+This normally allows to powerup the PC after AC power failures.
+
+Not all motherboards or bios settings gives power to PCI slots,
+so this mode is not enabled on all the hardware.
+
+4.16 linux driver introduced full hardware reset sequence
+This is required since before that we had no NIC hardware
+reset implemented and there were side effects of "not clean start".
+
+But this full reset is incompatible with "dirty wake" WOL feature
+it keeps the PHY link in a special mode forever. As a consequence,
+driver sees no link and no traffic.
+
+To fix this we forcibly change FW state to idle state before doing
+the full reset. This makes FW to restore link state.
+
+Fixes: c8c82eb net: aquantia: Introduce global AQC hardware reset sequence
+Signed-off-by: Igor Russkikh <igor.russkikh at aquantia.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ .../aquantia/atlantic/hw_atl/hw_atl_utils.c      | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
+index d3b847ec7465..c58b2c227260 100644
+--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
++++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
+@@ -48,6 +48,8 @@
+ #define FORCE_FLASHLESS 0
+ 
+ static int hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual);
++static int hw_atl_utils_mpi_set_state(struct aq_hw_s *self,
++				      enum hal_atl_utils_fw_state_e state);
+ 
+ int hw_atl_utils_initfw(struct aq_hw_s *self, const struct aq_fw_ops **fw_ops)
+ {
+@@ -247,6 +249,20 @@ int hw_atl_utils_soft_reset(struct aq_hw_s *self)
+ 
+ 	self->rbl_enabled = (boot_exit_code != 0);
+ 
++	/* FW 1.x may bootup in an invalid POWER state (WOL feature).
++	 * We should work around this by forcing its state back to DEINIT
++	 */
++	if (!hw_atl_utils_ver_match(HW_ATL_FW_VER_1X,
++				    aq_hw_read_reg(self,
++						   HW_ATL_MPI_FW_VERSION))) {
++		int err = 0;
++
++		hw_atl_utils_mpi_set_state(self, MPI_DEINIT);
++		AQ_HW_WAIT_FOR((aq_hw_read_reg(self, HW_ATL_MPI_STATE_ADR) &
++			       HW_ATL_MPI_STATE_MSK) == MPI_DEINIT,
++			       10, 1000U);
++	}
++
+ 	if (self->rbl_enabled)
+ 		return hw_atl_utils_soft_reset_rbl(self);
+ 	else
+-- 
+2.17.0
+

Added: partially-revert-swiotlb-remove-various-exports.patch
===================================================================
--- partially-revert-swiotlb-remove-various-exports.patch	                        (rev 0)
+++ partially-revert-swiotlb-remove-various-exports.patch	2018-04-26 20:38:08 UTC (rev 323061)
@@ -0,0 +1,26 @@
+From be536681bd2439bf8e95df124fa282cf4a2e7846 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Fri, 6 Apr 2018 16:19:38 +0200
+Subject: [PATCH 3/5] Partially revert "swiotlb: remove various exports"
+
+This partially reverts commit 4bd89ed39b2ab8dc4ac4b6c59b07d420b0213bec.
+The proprietary NVIDIA driver needs one of the exports.
+---
+ lib/swiotlb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/swiotlb.c b/lib/swiotlb.c
+index 44f7eb408fdb..0bb1bb65ad6b 100644
+--- a/lib/swiotlb.c
++++ b/lib/swiotlb.c
+@@ -1016,6 +1016,7 @@ swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, int nelems,
+ 	}
+ 	return nelems;
+ }
++EXPORT_SYMBOL(swiotlb_map_sg_attrs);
+ 
+ /*
+  * Unmap a set of streaming mode DMA translations.  Again, cpu read rules
+-- 
+2.17.0
+



More information about the arch-commits mailing list