diff options
author | David P <megver83@parabola.nu> | 2018-04-26 23:03:59 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2018-04-26 23:03:59 -0300 |
commit | a4d68fc9ade9c1723d116092a2ada50be51fb8f1 (patch) | |
tree | 983f208550a0081182ca155379d9210e9c009c13 /libre | |
parent | 481fe845053d7502a966902fbe0d3b541248ee19 (diff) | |
download | abslibre-a4d68fc9ade9c1723d116092a2ada50be51fb8f1.tar.gz abslibre-a4d68fc9ade9c1723d116092a2ada50be51fb8f1.tar.bz2 abslibre-a4d68fc9ade9c1723d116092a2ada50be51fb8f1.zip |
upgpkg: libre/linux-libre-hardened 4.16.5_gnu.a-1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'libre')
6 files changed, 900 insertions, 145 deletions
diff --git a/libre/linux-libre-hardened/PKGBUILD b/libre/linux-libre-hardened/PKGBUILD index bd57b75e4..51ee63163 100644 --- a/libre/linux-libre-hardened/PKGBUILD +++ b/libre/linux-libre-hardened/PKGBUILD @@ -7,11 +7,9 @@ # Contributor: Luke Shumaker <lukeshu@sbcglobal.net> # Contributor: Luke R. <g4jc@openmailbox.org> -# Based on linux-hardened package - pkgbase=linux-libre-hardened -_pkgbasever=4.15-gnu -_pkgver=4.15.18-gnu +_pkgbasever=4.16-gnu +_pkgver=4.16.5-gnu _hardenedver=a _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname @@ -23,7 +21,7 @@ _archpkgver=${_pkgver%-*} pkgver=${_pkgver//-/_}.${_hardenedver} pkgrel=1 arch=('x86_64') -url="https://jxself.org/git/?p=linux-libre-hardened.git" +url="https://jxself.org/git/linux-libre-hardened.git" license=('GPL2') makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf') makedepends_armv7h=('git') @@ -31,7 +29,7 @@ options=('!strip') source=( "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz"{,.sign} "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz"{,.sign} - "https://github.com/copperhead/linux-hardened/releases/download/${_pkgver%-*}.${_hardenedver}/linux-hardened-${_pkgver%-*}.${_hardenedver}.patch"{,.sig} + "https://github.com/anthraxx/linux-hardened/releases/download/${_pkgver%-*}.${_hardenedver}/linux-hardened-${_pkgver%-*}.${_hardenedver}.patch"{,.sig} "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm"{,.sig} "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm"{,.sig} "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm"{,.sig} @@ -42,20 +40,25 @@ source=( # standard config files for mkinitcpio ramdisk 'linux.preset' # other patches + 'change-console-loglevel-motormouth.patch' '0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch' '0002-fix-Atmel-maXTouch-touchscreen-support.patch' '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' ) validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. + 'E240B57E2C4630BA768E2F26FC1B547C8D8172C8' # Levente Polyak ) -sha512sums=('a55cc663c6fb1e1cfa7905282b368b5d5888bc2398f0acf37e5bb9a232ded04fd566b1980e654da26aaec005332e458581495184d6bd4cec669181085d4d78a5' +sha512sums=('c6805b3649cd71cfef272384958b33da23a00908e795592470bf711dd67886ab7d7610e7d4ae8a2230fa7483466636465ed9744444464a078de37b41c3db23e0' 'SKIP' - '28e585a1da5933c9b117f7159ab6ac15ac509b07a86a870c9f722c26183cb0bbcd739a73ea31c5d0018e622d808dd2e39c9371014ebb627c3dc7be3096cff4b1' + '0696f81eccf4c47acd4074f50a6f7dcae38171bbe91d3df14ddaa9692192dfcd9bfa715dfea714460ed3dc59683c7a1fbf9eca0982fffc23537942ad76f0bf72' 'SKIP' - '2fcae37b56805c66f9cc69a77a70b58a7b8ea6ffa3a348faa23f10a0e38e2eb6581cfffb1d66673d9659960e1d8269d342293a25b766b6d713edae023b7220c7' + 'e6f8a00cffb758925cddd7f1f40616c72cf1dce8f25d484b444b891b5cb1f308b87e0eb31478a6cfcf4a2968569a80f0d908b46eccfc55777ef991138f03c14c' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -63,13 +66,17 @@ sha512sums=('a55cc663c6fb1e1cfa7905282b368b5d5888bc2398f0acf37e5bb9a232ded04fd56 'SKIP' '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' 'SKIP' - 'dc603826cb95bc6be3d590c53be5b77636fa116ea52c09742d890730f37cd33ed42f0064aa2d6d7a70636e4617224af687dddff762a411165002d3760905b65a' + '5643b3fc465a6f1e238cb32f037f04a8f4d11961a31962fac2c2f0a7e6c372575868d2491643076906de0fa4f51e4a8f051af19362cb2d7b8b1fd8209f18fe0a' '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a' '4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44' '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf' + '0a1a18aa8a6cbf1bab406d356786d2c35fe52608c25bef8beefe440b8a015ba59375106f8b04051ae2225e158420875a82ee07d5b88a2f2087afeb102e8966c0' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - '46f470d6f4df2b697db656e262d20c198e623da7332da5e35299834480a6f1ef9d3567b4827a4f3a3bd83ef4c3082d95045a437fea1f22f83a76e07bed508e2d') + '46f470d6f4df2b697db656e262d20c198e623da7332da5e35299834480a6f1ef9d3567b4827a4f3a3bd83ef4c3082d95045a437fea1f22f83a76e07bed508e2d' + 'f606cbdda4f7a6481d9eb7ffa47890aad8c813debb4bb26835c511aa9109604e45b511a73d0716da87e2bfe2f623ad4a7e8ff4aa9aa96eb40dcabd5313612d55' + '71408629596f01141ac45a9a8592dd91f4e3a6ed68c88cfe016fcc8128a3d770adedc4d0fe7f025d55afa67b8c0961d6d716256ef57e4aed473f788233244442' + '4905635c0d94dedcc098a902b731cbfb63b2cbcdf35404a769cb71f257aead0977a526887e8d55badf9fd029ed2d125c9b8c38b0980bda028a667be0ebc0821b') _kernelname=${pkgbase#linux-libre} _grsecname=-grsec @@ -99,7 +106,16 @@ prepare() { # https://bugs.archlinux.org/task/56711 patch -Np1 -i ../drm-i915-edp-Only-use-the-alternate-fixed-mode-if-its-asked-for.patch - + + # NVIDIA driver compat + patch -Np1 -i ../partially-revert-swiotlb-remove-various-exports.patch + + # https://bugs.archlinux.org/task/58153 + patch -Np1 -i ../fix-vboxguest-on-guests-with-more-than-4G-RAM.patch + + # https://bugs.archlinux.org/task/58174 + patch -Np1 -i ../net-aquantia-Regression-on-reset-with-1.x-firmware.patch + # maintain the TTY over USB disconnects # http://www.coreboot.org/EHCI_Gadget_Debug patch -p1 -i ../0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch @@ -109,6 +125,10 @@ prepare() { # http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html patch -p1 -i ../0002-fix-Atmel-maXTouch-touchscreen-support.patch + # set CONSOLE_LOGLEVEL_MOTORMOUTH to 1 + # https://labs.parabola.nu/issues/1754 + patch -p1 -i ../change-console-loglevel-motormouth.patch + cat ../config.${CARCH} - >.config <<END CONFIG_LOCALVERSION="${_kernelname}" CONFIG_LOCALVERSION_AUTO=n @@ -228,9 +248,6 @@ _package-headers() { 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 diff --git a/libre/linux-libre-hardened/change-console-loglevel-motormouth.patch b/libre/linux-libre-hardened/change-console-loglevel-motormouth.patch new file mode 100644 index 000000000..458ff2cab --- /dev/null +++ b/libre/linux-libre-hardened/change-console-loglevel-motormouth.patch @@ -0,0 +1,13 @@ +diff --git a/include/linux/printk.h b/include/linux/printk.h +index e9b603e..9049143 100644 +--- a/include/linux/printk.h ++++ b/include/linux/printk.h +@@ -52,7 +52,7 @@ static inline const char *printk_skip_headers(const char *buffer) + #define CONSOLE_LOGLEVEL_MIN 1 /* Minimum loglevel we let people use */ + #define CONSOLE_LOGLEVEL_QUIET 4 /* Shhh ..., when booted with "quiet" */ + #define CONSOLE_LOGLEVEL_DEBUG 10 /* issue debug messages */ +-#define CONSOLE_LOGLEVEL_MOTORMOUTH 15 /* You can't shut this one up */ ++#define CONSOLE_LOGLEVEL_MOTORMOUTH 1 /* You can't shut this one up */ + + /* + * Default used to be hard-coded at 7, we're now allowing it to be set from diff --git a/libre/linux-libre-hardened/config.x86_64 b/libre/linux-libre-hardened/config.x86_64 index 882b6cab3..604c31dcc 100644 --- a/libre/linux-libre-hardened/config.x86_64 +++ b/libre/linux-libre-hardened/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.15.18-gnu-1-hardened Kernel Configuration +# Linux/x86 4.16.5-gnu-1-hardened Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -42,7 +42,6 @@ CONFIG_X86_64_SMP=y 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=y 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_KALLSYMS_BASE_RELATIVE=y 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_TRACEPOINTS=y 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,12 +296,14 @@ CONFIG_HAVE_KPROBES=y 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 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_SECCOMP_FILTER=y 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_ARCH_HAS_STRICT_KERNEL_RWX=y 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_ARCH_USE_QUEUED_SPINLOCKS=y 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_GUEST=y # 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_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y 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_ZSMALLOC=y # 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_EFI_MIXED=y 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_HOTPLUG_CPU=y # 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_ACPI_LEGACY_TABLES_LOOKUP=y 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_ARCH_HAS_ACPI_TABLE_UPGRADE=y 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_WC_PMIC_OPREGION=y 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_CPCI_GENERIC=m 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,12 +1105,15 @@ CONFIG_BRIDGE_NETFILTER=m # 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 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_META=m 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_NF_DUP_NETDEV=m 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_REJECT_IPV4=m 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_CHAIN_ROUTE_IPV6=m 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_IPV6HEADER=m 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 @@ CONFIG_IP_DCCP_TFRC_LIB=y # 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_IGMP_SNOOPING=y 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_EDSA=y 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_VLAN_8021Q_MVRP=y # 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 @@ CONFIG_NET_FLOW_LIMIT=y # Network testing # CONFIG_NET_PKTGEN=m -CONFIG_NET_TCPPROBE=m CONFIG_NET_DROP_MONITOR=m CONFIG_HAMRADIO=y @@ -1753,6 +1771,7 @@ CONFIG_BT_BCM=m 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_DEVTMPFS_MOUNT=y 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_SPMI=m 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=y 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_USB_SWITCH_FSA9480=m 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_ECHO=m # 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 @@ CONFIG_SATA_PMP=y # 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_BUFIO=m # 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_B53_SRAB_DRIVER=m 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_PF=m 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_T4VF=m 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_EPIC100=m 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_MWIFIEX_USB=m 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_VMXNET3=m 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_MISDN_ISAR=m 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_MMA8450=m 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_INTEL=m 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=y 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_PCI=m 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_PINCONF=y 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_MAX77620=m 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_MAX730X=m 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_WM8994=m 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_VIA_CPUTEMP=m 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_WM831X_WATCHDOG=m 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_DEFAULT_GOV_PANIC=y 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_AXP20X_I2C=m 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_ADC=m 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_WM831X_SPI=y 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_NOTIFIER=y 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_GEN=m 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=m # 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_MEDIA_COMMON_OPTIONS=y 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_RJ54N1=m 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_TTM=m 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=y # 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_MXS=y 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_PARALLEL_OUT=m 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_ADAU1701=m 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_CS4265=m 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_ES7134=m 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,19 +6367,23 @@ CONFIG_SND_SOC_MAX98090=m 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 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_SIGMADSP_REGMAP=m 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_TAS2552=m 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_WM8737=m 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_WALTOP=m 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_WUSB_CBAF=m # 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_USHC=m 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_CPCAP=m 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_DEFAULT_ON=m 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_WM8350=m 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=m 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_ALI_FIR=m 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_R8712U=m 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 @@ CONFIG_VT6656=m # # 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_STAGING_MEDIA=y # 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_DGNC=m 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_SDIO=m 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_DRM_VBOXVIDEO=m 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_DELL_RBTN=m 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_SURFACE_3_BUTTON=m 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,6 +7931,14 @@ CONFIG_RPMSG_CHAR=m 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_RPMSG_VIRTIO=m # # 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_MEMORY=y 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_PALMAS_GPADC=m 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_OPT3001=m 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_US5182D=m CONFIG_VCNL4000=m CONFIG_VEML6070=m CONFIG_VL6180=m +CONFIG_ZOPT2201=m # # Magnetometer sensors @@ -8463,19 +8539,16 @@ CONFIG_INTEL_TH_MSU=m 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_FPGA_MGR_ALTERA_CVP=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_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_ADG792A=m 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=m 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=y # 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_RCU_CPU_STALL_TIMEOUT=60 # 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_PROBE_EVENTS=y 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_MMIOTRACE=y 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_LKDTM=m # 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_DEBUG_WX=y 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_SECURITY_PATH=y 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=y 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_QAT_C62XVF=m 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_VIRTUALIZATION=y 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_ASSOCIATIVE_ARRAY=y 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 diff --git a/libre/linux-libre-hardened/fix-vboxguest-on-guests-with-more-than-4G-RAM.patch b/libre/linux-libre-hardened/fix-vboxguest-on-guests-with-more-than-4G-RAM.patch new file mode 100644 index 000000000..2869ff829 --- /dev/null +++ b/libre/linux-libre-hardened/fix-vboxguest-on-guests-with-more-than-4G-RAM.patch @@ -0,0 +1,549 @@ +From a117a2995f291e765c5de06f42f02a1687ecb55e Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@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@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@redhat.com> + +commit e4111a6c617687f7cb414ddfa8176206910db76e +Author: Hans de Goede <hdegoede@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@vger.kernel.org + Reported-by: Eloy Coto Pereiro <eloy.coto@gmail.com> + Signed-off-by: Hans de Goede <hdegoede@redhat.com> + +commit 2cb20368ce32e7275a351eadadd4c8f3da742a28 +Author: Hans de Goede <hdegoede@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@vger.kernel.org + Signed-off-by: Hans de Goede <hdegoede@redhat.com> + +commit fa5c012bc9c3e1ada5cde0bfa3c6706be97b7cb0 +Author: Hans de Goede <hdegoede@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@vger.kernel.org + Signed-off-by: Hans de Goede <hdegoede@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 + diff --git a/libre/linux-libre-hardened/net-aquantia-Regression-on-reset-with-1.x-firmware.patch b/libre/linux-libre-hardened/net-aquantia-Regression-on-reset-with-1.x-firmware.patch new file mode 100644 index 000000000..7dda10abf --- /dev/null +++ b/libre/linux-libre-hardened/net-aquantia-Regression-on-reset-with-1.x-firmware.patch @@ -0,0 +1,68 @@ +From: Igor Russkikh <igor.russkikh@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@aquantia.com> +Signed-off-by: David S. Miller <davem@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 + diff --git a/libre/linux-libre-hardened/partially-revert-swiotlb-remove-various-exports.patch b/libre/linux-libre-hardened/partially-revert-swiotlb-remove-various-exports.patch new file mode 100644 index 000000000..3a0913527 --- /dev/null +++ b/libre/linux-libre-hardened/partially-revert-swiotlb-remove-various-exports.patch @@ -0,0 +1,26 @@ +From be536681bd2439bf8e95df124fa282cf4a2e7846 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@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 + |